您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GET_GAME_STATE函数代码示例

51自学网 2021-06-01 20:51:12
  C++
这篇教程C++ GET_GAME_STATE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GET_GAME_STATE函数的典型用法代码示例。如果您正苦于以下问题:C++ GET_GAME_STATE函数的具体用法?C++ GET_GAME_STATE怎么用?C++ GET_GAME_STATE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GET_GAME_STATE函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: Intro

static voidIntro (void){	BYTE NumVisits;	if (GET_GAME_STATE (PROBE_ILWRATH_ENCOUNTER))	{		NPCPhrase (SEND_MESSAGE);		Response (where_you_come_from, CombatIsInevitable);		Response (it_will_be_a_pleasure, CombatIsInevitable);		Response (surrender, CombatIsInevitable);		Response (be_reasonable, CombatIsInevitable);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))	{		IlwrathHome ((RESPONSE_REF)0);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 6))	{		NumVisits = GET_GAME_STATE (ILWRATH_CHMMR_VISITS);		switch (NumVisits++)		{			case 0:				NPCPhrase (INIT_CHMMR_HELLO);				break;			case 1:				NPCPhrase (SUBSEQUENT_CHMMR_HELLO);				--NumVisits;				break;		}		SET_GAME_STATE (ILWRATH_CHMMR_VISITS, NumVisits);		Response (whats_up, CombatIsInevitable);		Response (bye, CombatIsInevitable);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 5))	{		// Communicating with an Ilwrath ship using a HyperWave Broadcaster.		if (GET_GAME_STATE (ILWRATH_FIGHT_THRADDASH))			NPCPhrase (BIG_FUN);		else if (GET_GAME_STATE (ILWRATH_DECEIVED))			NPCPhrase (FAST_AS_CAN);		else			NPCPhrase (JUST_GRUNTS);		setSegue (Segue_peace);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 4))	{		// Communicating with the Ilwrath homeworld using a		// Hyperwave Broadcaster.		GodsSpeak ((RESPONSE_REF)0);	}	else	{		setSegue (Segue_peace);		if (GET_GAME_STATE (ILWRATH_FIGHT_THRADDASH))			NPCPhrase (HAPPY_FIGHTING_THRADDASH);		else if (GET_GAME_STATE (ILWRATH_DECEIVED))			NPCPhrase (ON_WAY_TO_THRADDASH);		else			IlwrathSpace ((RESPONSE_REF)0);	}}
开发者ID:Serosis,项目名称:UQM-MegaMod,代码行数:66,


示例2: OrzNeutral

static voidOrzNeutral (RESPONSE_REF R){	BYTE i, LastStack;	RESPONSE_REF pStr[3];	LastStack = 0;	pStr[0] = pStr[1] = pStr[2] = 0;	if (PLAYER_SAID (R, hostile_1))	{		NPCPhrase (HOSTILITY_IS_BAD_1);		DISABLE_PHRASE (hostile_1);		LastStack = 2;	}	else if (PLAYER_SAID (R, we_are_vindicator0))	{		NPCPhrase (NICE_TO_MEET_YOU);		SET_GAME_STATE (ORZ_STACK0, 1);		LastStack = 1;	}	else if (PLAYER_SAID (R, who_you))	{		NPCPhrase (WE_ARE_ORZ);		SET_GAME_STATE (ORZ_ANDRO_STATE, 1);	}	else if (PLAYER_SAID (R, why_here))	{		NPCPhrase (HERE_BECAUSE);		SET_GAME_STATE (ORZ_ANDRO_STATE, 2);	}	else if (PLAYER_SAID (R, no_alliance))	{		NPCPhrase (MAYBE_LATER);		DISABLE_PHRASE (talk_about_alliance);		SET_GAME_STATE (REFUSED_ORZ_ALLIANCE, 1);	}	else if (PLAYER_SAID (R, decide_later))	{		NPCPhrase (OK_LATER);		DISABLE_PHRASE (talk_about_alliance);		SET_GAME_STATE (REFUSED_ORZ_ALLIANCE, 1);	}	else if (PLAYER_SAID (R, dont_really_care))		NPCPhrase (YOU_ARE_OUR_FRIENDS);	else if (PLAYER_SAID (R, where_androsyn))	{		WhereAndrosyn (R);		return;	}	else if (PLAYER_SAID (R, talk_about_alliance)			|| PLAYER_SAID (R, seem_like_nice_guys))	{		OfferAlliance (R);		return;	}	else if (PLAYER_SAID (R, hostile_2))	{		ExitConversation (R);		return;	}	if (GET_GAME_STATE (ORZ_ANDRO_STATE) == 0)		pStr[0] = who_you;	else if (GET_GAME_STATE (ORZ_ANDRO_STATE) == 1)		pStr[0] = why_here;	else if (PHRASE_ENABLED (where_androsyn) && GET_GAME_STATE (ORZ_ANDRO_STATE) == 2)		pStr[0] = where_androsyn;	if (GET_GAME_STATE (REFUSED_ORZ_ALLIANCE))	{		if (PHRASE_ENABLED (talk_about_alliance))			pStr[1] = talk_about_alliance;	}	else if (GET_GAME_STATE (ORZ_STACK0) == 0)	{		construct_response (shared_phrase_buf,				we_are_vindicator0,				GLOBAL_SIS (CommanderName),				we_are_vindicator1,				GLOBAL_SIS (ShipName),				we_are_vindicator2,				(UNICODE*)NULL);		pStr[1] = we_are_vindicator0;	}	else		pStr[1] = seem_like_nice_guys;	if (PHRASE_ENABLED (hostile_1))		pStr[2] = hostile_1;	else		pStr[2] = hostile_2;	if (pStr[LastStack])	{		if (pStr[LastStack] != we_are_vindicator0)			Response (pStr[LastStack], OrzNeutral);//.........这里部分代码省略.........
开发者ID:SirDifferential,项目名称:Shiver-Balance-Mod,代码行数:101,


示例3: UseCaster

// Returns TRUE if the broadcaster has been successfully activated,// and FALSE otherwise.static BOOLEANUseCaster (void){	if (inHQSpace ())	{		if (GET_GAME_STATE (ARILOU_SPACE_SIDE) <= 1)		{			SET_GAME_STATE (USED_BROADCASTER, 1);			return TRUE;		}		return FALSE;	}	if (LOBYTE (GLOBAL (CurrentActivity)) != IN_INTERPLANETARY			|| !playerInSolarSystem ())		return FALSE;	if (playerInPlanetOrbit ()			&& matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc,				1, MATCH_PLANET)			&& CurStarDescPtr->Index == CHMMR_DEFINED			&& !GET_GAME_STATE (CHMMR_UNLEASHED))	{		// In orbit around the Chenjesu/Mmrnmhrm home planet.		NextActivity |= CHECK_LOAD;  /* fake a load game */		GLOBAL (CurrentActivity) |= START_ENCOUNTER;		EncounterGroup = 0;		PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);		ReinitQueue (&GLOBAL (ip_group_q));		assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);		SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 1 << 7);		SaveSolarSysLocation ();		return TRUE;	}	{		BOOLEAN FoundIlwrath;		HIPGROUP hGroup;		FoundIlwrath = (CurStarDescPtr->Index == ILWRATH_DEFINED)				&& StartSphereTracking (ILWRATH_SHIP);				// In the Ilwrath home system and they are alive?		if (!FoundIlwrath &&				(hGroup = GetHeadLink (&GLOBAL (ip_group_q))))		{			// Is an Ilwrath ship in the system?			IP_GROUP *GroupPtr;			GroupPtr = LockIpGroup (&GLOBAL (ip_group_q), hGroup);			FoundIlwrath = (GroupPtr->race_id == ILWRATH_SHIP);			UnlockIpGroup (&GLOBAL (ip_group_q), hGroup);		}		if (FoundIlwrath)		{			NextActivity |= CHECK_LOAD; /* fake a load game */			GLOBAL (CurrentActivity) |= START_ENCOUNTER;			EncounterGroup = 0;			PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);			ReinitQueue (&GLOBAL (ip_group_q));			assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);			if (CurStarDescPtr->Index == ILWRATH_DEFINED)			{				// Ilwrath home system.				SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 1 << 4);			}			else			{				// Ilwrath ship.				SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 1 << 5);			}						if (playerInPlanetOrbit ())				SaveSolarSysLocation ();			return TRUE;		}	}	return FALSE;}
开发者ID:smaass,项目名称:UQM-MegaMod,代码行数:87,


示例4: Intro

static voidIntro (void){	DWORD GrpOffs;	if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)	{		NPCPhrase (OUT_TAKES);		SET_GAME_STATE (BATTLE_SEGUE, 0);		return;	}	GrpOffs = GET_GAME_STATE_32 (URQUAN_PROBE_GRPOFFS0);	if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY			&& GLOBAL (BattleGroupRef)			&& GLOBAL (BattleGroupRef) == GrpOffs)	{		NPCPhrase (SEND_MESSAGE);		SET_GAME_STATE (PROBE_MESSAGE_DELIVERED, 1);	}	else if (GET_GAME_STATE (PLAYER_HYPNOTIZED))	{		SetCommIntroMode (CIM_FADE_IN_SCREEN, ONE_SECOND * 5);		UrquanHypno ((RESPONSE_REF)0);	}	else	{		BYTE NumVisits;		if (!GET_GAME_STATE (URQUAN_SENSES_EVIL)				&& GET_GAME_STATE (TALKING_PET_ON_SHIP))		{			NPCPhrase (SENSE_EVIL);			SET_GAME_STATE (URQUAN_SENSES_EVIL, 1);		}		GrpOffs = GET_GAME_STATE_32 (COLONY_GRPOFFS0);		if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY				&& GLOBAL (BattleGroupRef)				&& GLOBAL (BattleGroupRef) == GrpOffs)		{			NPCPhrase (CAUGHT_YA);			SET_GAME_STATE (BATTLE_SEGUE, 1);			return;		}		GrpOffs = GET_GAME_STATE_32 (SAMATRA_GRPOFFS0);		if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY				&& GLOBAL (BattleGroupRef)				&& GLOBAL (BattleGroupRef) == GrpOffs)		{			NPCPhrase (HELLO_SAMATRA);			SET_GAME_STATE (AWARE_OF_SAMATRA, 1);			SET_GAME_STATE (BATTLE_SEGUE, 1);		}		else		{			NumVisits = GET_GAME_STATE (URQUAN_VISITS);			if (!GET_GAME_STATE (KOHR_AH_FRENZY))			{				switch (NumVisits++)				{					case 0:						NPCPhrase (INIT_HELLO);						break;					case 1:						NPCPhrase (SUBSEQUENT_HELLO_1);						break;					case 2:						NPCPhrase (SUBSEQUENT_HELLO_2);						break;					case 3:						NPCPhrase (SUBSEQUENT_HELLO_3);						break;					case 4:						NPCPhrase (SUBSEQUENT_HELLO_4);						--NumVisits;						break;				}				NormalUrquan ((RESPONSE_REF)0);			}			else			{				switch (NumVisits++)				{					case 0:						NPCPhrase (INIT_FLEE_HUMAN);						LoserUrquan ((RESPONSE_REF)0);						break;					case 1:						NPCPhrase (SUBSEQUENT_FLEE_HUMAN);						SET_GAME_STATE (BATTLE_SEGUE, 0);						--NumVisits;						break;				}			}//.........这里部分代码省略.........
开发者ID:dczanik,项目名称:Hires-Shiver-Balance-Mod,代码行数:101,


示例5: TaaloWorld

static voidTaaloWorld (RESPONSE_REF R){	// We can only get here when ORZ_MANNER != HOSTILE (2)	BYTE Manner;	Manner = GET_GAME_STATE (ORZ_MANNER);	if (PLAYER_SAID (R, demand_to_land))	{		NPCPhrase (ASK_NICELY);		DISABLE_PHRASE (demand_to_land);	}	else if (PLAYER_SAID (R, why_you_here))	{		if (Manner != 1)			NPCPhrase (FRIENDLY_EXPLANATION);		else			NPCPhrase (ANGRY_EXPLANATION);		DISABLE_PHRASE (why_you_here);	}	else if (PLAYER_SAID (R, what_is_this_place))	{		if (Manner != 1)			NPCPhrase (FRIENDLY_PLACE);		else			NPCPhrase (ANGRY_PLACE);		DISABLE_PHRASE (what_is_this_place);	}	else if (PLAYER_SAID (R, may_we_land))	{		NPCPhrase (ALLIES_CAN_VISIT);		DISABLE_PHRASE (may_we_land);	}	else if (PLAYER_SAID (R, make_alliance))	{		NPCPhrase (CANT_ALLY_HERE);		DISABLE_PHRASE (make_alliance);	}	else if (PLAYER_SAID (R, why_busy))	{		NPCPhrase (BUSY_BECAUSE);		DISABLE_PHRASE (why_busy);	}	if (PHRASE_ENABLED (may_we_land))	{		if (Manner == 3 &&				ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) == GOOD_GUY)			Response (may_we_land, ExitConversation);		else			Response (may_we_land, TaaloWorld);	}	else if (PHRASE_ENABLED (make_alliance))		Response (make_alliance, TaaloWorld);	else if (PHRASE_ENABLED (why_busy))		Response (why_busy, TaaloWorld);	if (PHRASE_ENABLED (demand_to_land))	{		if (Manner == 1)			Response (demand_to_land, ExitConversation);		else			Response (demand_to_land, TaaloWorld);	}	if (PHRASE_ENABLED (why_you_here))		Response (why_you_here, TaaloWorld);	if (PHRASE_ENABLED (what_is_this_place))		Response (what_is_this_place, TaaloWorld);	Response (bye_taalo, ExitConversation);}
开发者ID:SirDifferential,项目名称:Shiver-Balance-Mod,代码行数:75,


示例6: TellMoonBase

static voidTellMoonBase (RESPONSE_REF R){	if (R == 0)	{		NPCPhrase (DEALT_WITH_BASE_YET);	}	else if (PLAYER_SAID (R, i_lost_my_lander))	{		NPCPhrase (HERE_IS_A_NEW_LANDER);		++GLOBAL_SIS (NumLanders);		LockMutex (GraphicsLock);		DrawLanders ();		DeltaSISGauges (4, 0, 0);		UnlockMutex (GraphicsLock);		SET_GAME_STATE (LANDERS_LOST, 1);	}	else if (PLAYER_SAID (R, i_lost_another_lander))	{		NPCPhrase (HERE_IS_ANOTHER_LANDER);		++GLOBAL_SIS (NumLanders);		LockMutex (GraphicsLock);		DrawLanders ();		DeltaSISGauges (4, 0, 0);		UnlockMutex (GraphicsLock);	}	else if (PLAYER_SAID (R, need_fuel_mercury) ||			PLAYER_SAID (R, need_fuel_luna))	{		NPCPhrase (GIVE_FUEL);		LockMutex (GraphicsLock);		DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);		UnlockMutex (GraphicsLock);		SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);	}	else if (PLAYER_SAID (R, need_fuel_again))	{		NPCPhrase (GIVE_FUEL_AGAIN);		LockMutex (GraphicsLock);		DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);		UnlockMutex (GraphicsLock);	}	else if (PLAYER_SAID (R, we_are_here_to_help))	{		NPCPhrase (BASE_ON_MOON);	}	else if (GET_GAME_STATE (STARBASE_YACK_STACK1) == 0)	{		NPCPhrase (ABOUT_BASE);		SET_GAME_STATE (STARBASE_YACK_STACK1, 1);	}	else	{		NPCPhrase (ABOUT_BASE_AGAIN);	}	if (GLOBAL_SIS (NumLanders) == 0			&& GET_GAME_STATE (CHMMR_BOMB_STATE) < 2)	{		if (GET_GAME_STATE (LANDERS_LOST))			Response (i_lost_another_lander, TellMoonBase);		else			Response (i_lost_my_lander, TellMoonBase);	}	if (GLOBAL_SIS (FuelOnBoard) < 2 * FUEL_TANK_SCALE)	{		if (GET_GAME_STATE (GIVEN_FUEL_BEFORE))			Response (need_fuel_again, TellMoonBase);		else			Response (need_fuel_luna, TellMoonBase);	}	if (GET_GAME_STATE (WILL_DESTROY_BASE) == 0)		Response (we_will_take_care_of_base, ByeBye);	else		Response (take_care_of_base_again, ByeBye);	if (GET_GAME_STATE (STARBASE_YACK_STACK1) == 0)		Response (tell_me_about_base, TellMoonBase);	else		Response (tell_me_again, TellMoonBase);}
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:83,


示例7: CombatIsInevitable

static voidCombatIsInevitable (RESPONSE_REF R){	SET_GAME_STATE (BATTLE_SEGUE, 1);	if (PLAYER_SAID (R, you_must_surrender))		NPCPhrase (NOPE);	else if (PLAYER_SAID (R, whats_up_1)			|| PLAYER_SAID (R, whats_up_2)			|| PLAYER_SAID (R, whats_up_3)			|| PLAYER_SAID (R, whats_up_4))	{		BYTE NumVisits;		NumVisits = GET_GAME_STATE (URQUAN_INFO);		switch (NumVisits++)		{			case 0:				NPCPhrase (GENERAL_INFO_1);				break;			case 1:				NPCPhrase (GENERAL_INFO_2);				break;			case 2:				NPCPhrase (GENERAL_INFO_3);				break;			case 3:				NPCPhrase (GENERAL_INFO_4);				--NumVisits;				break;		}		SET_GAME_STATE (URQUAN_INFO, NumVisits);	}	else if (PLAYER_SAID (R, i_wont_surrender))		NPCPhrase (BAD_CHOICE);	else if (PLAYER_SAID (R, i_will_surrender))	{		NPCPhrase (GOOD_CHOICE);		SET_GAME_STATE (BATTLE_SEGUE, 0);		GLOBAL_SIS (CrewEnlisted) = (COUNT)~0;		GLOBAL (CurrentActivity) |= CHECK_RESTART;	}	else if (PLAYER_SAID (R, like_to_leave))		NPCPhrase (INDEPENDENCE_IS_BAD);	else if (PLAYER_SAID (R, bye_wars_over))	{		NPCPhrase (GOODBYE_WARS_OVER);		SET_GAME_STATE (BATTLE_SEGUE, 0);	}	else if (PLAYER_SAID (R, bye_sub_hypno))		NPCPhrase (GOODBYE_AND_DIE_SUB_HYPNO);	else if (PLAYER_SAID (R, bye_init_hypno))	{		NPCPhrase (GOODBYE_AND_DIE_INIT_HYPNO);		SET_GAME_STATE (URQUAN_HYPNO_VISITS, 1);	}	else if (PLAYER_SAID (R, terran_amphibian)			|| PLAYER_SAID (R, talking_pet_on_steroids))	{		NPCPhrase (BAD_NEWS);		SET_GAME_STATE (BATTLE_SEGUE, 0);		SET_GAME_STATE (URQUAN_HYPNO_VISITS, 1);	}	else if (PLAYER_SAID (R, falling_asleep)			|| PLAYER_SAID (R, someone_else_controlled))	{		NPCPhrase (SOUNDS_FAMILIAR);		SET_GAME_STATE (BATTLE_SEGUE, 0);		SET_GAME_STATE (URQUAN_HYPNO_VISITS, 1);	}}
开发者ID:dczanik,项目名称:Hires-Shiver-Balance-Mod,代码行数:76,


示例8: GenerateBurvixese_generateEnergy

static boolGenerateBurvixese_generateEnergy (SOLARSYS_STATE *solarSys, PLANET_DESC *world,		COUNT *whichNode){	DWORD rand_val;	DWORD old_rand;	if (matchWorld (solarSys, world, 0, MATCH_PLANET))	{		COUNT nodeI;		COUNT i;		old_rand = TFB_SeedRandom (				solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]);		nodeI = 0;		i = 0;		do		{			rand_val = TFB_Random ();			solarSys->SysInfo.PlanetInfo.CurPt.x =					(LOBYTE (LOWORD (rand_val)) % (MAP_WIDTH - (8 << 1))) + 8;			solarSys->SysInfo.PlanetInfo.CurPt.y =					(HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8;			solarSys->SysInfo.PlanetInfo.CurType = 1;			solarSys->SysInfo.PlanetInfo.CurDensity = 0;			if (nodeI >= *whichNode					&& !(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]					& (1L << i)))				break;			++nodeI;		} while (++i < 16);		*whichNode = nodeI;		TFB_SeedRandom (old_rand);		return true;	}	if (matchWorld (solarSys, world, 0, 0)			&& !GET_GAME_STATE (BURVIXESE_BROADCASTERS))	{		old_rand = TFB_SeedRandom (				solarSys->SysInfo.PlanetInfo.ScanSeed[ENERGY_SCAN]);		rand_val = TFB_Random ();		solarSys->SysInfo.PlanetInfo.CurPt.x =				(LOBYTE (LOWORD (rand_val)) % (MAP_WIDTH - (8 << 1))) + 8;		solarSys->SysInfo.PlanetInfo.CurPt.y =				(HIBYTE (LOWORD (rand_val)) % (MAP_HEIGHT - (8 << 1))) + 8;		solarSys->SysInfo.PlanetInfo.CurDensity = 0;		solarSys->SysInfo.PlanetInfo.CurType = 0;		if (!(solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]				& (1L << 0))				&& *whichNode == (COUNT)~0)			*whichNode = 1;		else		{			*whichNode = 0;			if (solarSys->SysInfo.PlanetInfo.ScanRetrieveMask[ENERGY_SCAN]					& (1L << 0))			{				SET_GAME_STATE (BURVIXESE_BROADCASTERS, 1);				SET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP, 1);			}		}		TFB_SeedRandom (old_rand);		return true;	}	*whichNode = 0;	return true;}
开发者ID:jurchik,项目名称:project6014,代码行数:73,


示例9: BombWorld

static voidBombWorld (RESPONSE_REF R){	BYTE LastStack;	RESPONSE_REF pStr[2];	LastStack = 0;	pStr[0] = pStr[1] = 0;	if (PLAYER_SAID (R, why_you_here))	{		NPCPhrase (WE_GUARD_BOMB);		SET_GAME_STATE (BOMB_STACK1, 1);	}	else if (PLAYER_SAID (R, what_about_bomb))	{		NPCPhrase (ABOUT_BOMB);		SET_GAME_STATE (BOMB_STACK1, 2);	}	else if (PLAYER_SAID (R, give_us_bomb_or_die))	{		NPCPhrase (GUARDS_WARN);		SET_GAME_STATE (BOMB_STACK1, 3);	}	else if (PLAYER_SAID (R, demand_bomb))	{		NPCPhrase (GUARDS_FIGHT);		setSegue (Segue_hostile);		SET_GAME_STATE (UTWIG_HOSTILE, 1);		SET_GAME_STATE (UTWIG_INFO, 0);		SET_GAME_STATE (UTWIG_HOME_VISITS, 0);		SET_GAME_STATE (UTWIG_VISITS, 0);		SET_GAME_STATE (BOMB_VISITS, 0);		return;	}	else if (PLAYER_SAID (R, may_we_have_bomb))	{		NPCPhrase (NO_BOMB);		LastStack = 1;		SET_GAME_STATE (BOMB_STACK2, 1);	}	else if (PLAYER_SAID (R, please))	{		NPCPhrase (SORRY_NO_BOMB);		SET_GAME_STATE (BOMB_STACK2, 2);	}	else if (PLAYER_SAID (R, whats_up_bomb))	{		if (GET_GAME_STATE (BOMB_INFO))			NPCPhrase (GENERAL_INFO_BOMB_2);		else		{			NPCPhrase (GENERAL_INFO_BOMB_1);			SET_GAME_STATE (BOMB_INFO, 1);		}		DISABLE_PHRASE (whats_up_bomb);	}	switch (GET_GAME_STATE (BOMB_STACK2))	{		case 0:			pStr[1] = may_we_have_bomb;			break;		case 1:			pStr[1] = please;			break;	}	switch (GET_GAME_STATE (BOMB_STACK1))	{		case 0:			pStr[0] = why_you_here;			pStr[1] = 0;			break;		case 1:			pStr[0] = what_about_bomb;			pStr[1] = 0;			break;		case 2:			pStr[0] = give_us_bomb_or_die;			break;		case 3:			pStr[0] = demand_bomb;			break;	}	if (pStr[LastStack])		Response (pStr[LastStack], BombWorld);	LastStack ^= 1;	if (pStr[LastStack])		Response (pStr[LastStack], BombWorld);	if (PHRASE_ENABLED (whats_up_bomb) && (GET_GAME_STATE (BOMB_STACK1) > 1))		Response (whats_up_bomb, BombWorld);//.........这里部分代码省略.........
开发者ID:njvack,项目名称:uqm-ios,代码行数:101,


示例10: Intro

static voidIntro (void){	BYTE NumVisits;	if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)	{		NPCPhrase (OUT_TAKES);		setSegue (Segue_peace);		return;	}	if (GET_GAME_STATE (UTWIG_HOSTILE))	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 6))		{			NumVisits = GET_GAME_STATE (BOMB_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (HOSTILE_BOMB_HELLO_1);					break;				case 1:					NPCPhrase (HOSTILE_BOMB_HELLO_2);					--NumVisits;					break;			}			SET_GAME_STATE (BOMB_VISITS, NumVisits);		}		else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))		{			NumVisits = GET_GAME_STATE (UTWIG_HOME_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (HOSTILE_HOMEWORLD_HELLO_1);					break;				case 1:					NPCPhrase (HOSTILE_HOMEWORLD_HELLO_2);					--NumVisits;					break;			}			SET_GAME_STATE (UTWIG_HOME_VISITS, NumVisits);		}		else		{			NumVisits = GET_GAME_STATE (UTWIG_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (HOSTILE_SPACE_HELLO_1);					break;				case 1:					NPCPhrase (HOSTILE_SPACE_HELLO_2);					--NumVisits;					break;			}			SET_GAME_STATE (UTWIG_VISITS, NumVisits);		}		if (!GET_GAME_STATE (ULTRON_CONDITION)				|| (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 6)))		{			setSegue (Segue_hostile);		}		else		{			Response (hey_wait_got_ultron, ExitConversation);		}	}	else if (CheckAlliance (UTWIG_SHIP) == GOOD_GUY)	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))		{			NumVisits = GET_GAME_STATE (UTWIG_HOME_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_1);					break;				case 1:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_2);					break;				case 2:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_3);					break;				case 3:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_4);					--NumVisits;					break;			}			SET_GAME_STATE (UTWIG_HOME_VISITS, NumVisits);			AlliedHome ((RESPONSE_REF)0);		}		else		{			NumVisits = GET_GAME_STATE (UTWIG_SUPOX_MISSION);			if (NumVisits == 1)//.........这里部分代码省略.........
开发者ID:njvack,项目名称:uqm-ios,代码行数:101,


示例11: NeutralUtwig

static voidNeutralUtwig (RESPONSE_REF R){	BYTE i, LastStack;	RESPONSE_REF pStr[4];	LastStack = 0;	pStr[0] = pStr[1] = pStr[2] = pStr[3] = 0;	if (PLAYER_SAID (R, we_are_vindicator0))	{		NPCPhrase (WOULD_BE_HAPPY_BUT);		SET_GAME_STATE (UTWIG_STACK1, 1);	}	else if (PLAYER_SAID (R, why_sad))	{		NPCPhrase (ULTRON_BROKE);		SET_GAME_STATE (UTWIG_STACK1, 2);	}	else if (PLAYER_SAID (R, what_ultron))	{		NPCPhrase (GLORIOUS_ULTRON);		SET_GAME_STATE (UTWIG_STACK1, 3);	}	else if (PLAYER_SAID (R, dont_be_babies))	{		NPCPhrase (MOCK_OUR_PAIN);		setSegue (Segue_hostile);		SET_GAME_STATE (UTWIG_STACK1, 4);		SET_GAME_STATE (UTWIG_HOSTILE, 1);		SET_GAME_STATE (UTWIG_INFO, 0);		SET_GAME_STATE (UTWIG_HOME_VISITS, 0);		SET_GAME_STATE (UTWIG_VISITS, 0);		SET_GAME_STATE (BOMB_VISITS, 0);		return;	}	else if (PLAYER_SAID (R, real_sorry_about_ultron))	{		NPCPhrase (APPRECIATE_SYMPATHY);		SET_GAME_STATE (UTWIG_STACK1, 4);		return;	}	else if (PLAYER_SAID (R, what_about_you_1))	{		NPCPhrase (ABOUT_US_1);		LastStack = 2;		SET_GAME_STATE (UTWIG_WAR_NEWS, 1);	}	else if (PLAYER_SAID (R, what_about_you_2))	{		NPCPhrase (ABOUT_US_2);		LastStack = 2;		StartSphereTracking (SUPOX_SHIP);		SET_GAME_STATE (UTWIG_WAR_NEWS, 2);	}	else if (PLAYER_SAID (R, what_about_you_3))	{		NPCPhrase (ABOUT_US_3);				SET_GAME_STATE (UTWIG_WAR_NEWS, 3);	}	else if (PLAYER_SAID (R, what_about_urquan_1))	{		NPCPhrase (ABOUT_URQUAN_1);		LastStack = 3;		SET_GAME_STATE (UTWIG_STACK2, 1);	}	else if (PLAYER_SAID (R, what_about_urquan_2))	{		NPCPhrase (ABOUT_URQUAN_2);		SET_GAME_STATE (UTWIG_STACK2, 2);	}	switch (GET_GAME_STATE (UTWIG_STACK1))	{		case 0:			{				UNICODE buf[ALLIANCE_NAME_BUFSIZE];				GetAllianceName (buf, name_1);				construct_response (						shared_phrase_buf,						we_are_vindicator0,						GLOBAL_SIS (CommanderName),						we_are_vindicator1,						buf,						we_are_vindicator2,						(UNICODE*)NULL);			}			pStr[0] = we_are_vindicator0;			break;		case 1://.........这里部分代码省略.........
开发者ID:njvack,项目名称:uqm-ios,代码行数:101,


示例12: AlliedHome

static voidAlliedHome (RESPONSE_REF R){	BYTE NumVisits, News;	News = GET_GAME_STATE (UTWIG_WAR_NEWS);	NumVisits = GET_GAME_STATE (UTWIG_SUPOX_MISSION);	if (PLAYER_SAID (R, how_went_war))	{		NPCPhrase (ABOUT_BATTLE);		News |= (1 << 0);	}	else if (PLAYER_SAID (R, how_goes_war))	{		if (NumVisits == 1)		{			NPCPhrase (FLEET_ON_WAY);			SET_GAME_STATE (UTWIG_WAR_NEWS, 1);		}		else switch (GET_GAME_STATE (UTWIG_WAR_NEWS))		{			case 0:				NPCPhrase (BATTLE_HAPPENS_1);				News = 1;				break;			case 1:				NPCPhrase (BATTLE_HAPPENS_2);				News = 2;				break;		}		DISABLE_PHRASE (how_goes_war);	}	else if (PLAYER_SAID (R, learn_new_info))	{		if (NumVisits < 5)			NPCPhrase (NO_NEW_INFO);		else		{			NPCPhrase (SAMATRA);			News |= (1 << 1);		}		DISABLE_PHRASE (learn_new_info);	}	else if (PLAYER_SAID (R, what_now_homeworld))	{		if (NumVisits < 5)			NPCPhrase (UP_TO_YOU);		else			NPCPhrase (HOPE_KILL_EACH_OTHER);		DISABLE_PHRASE (what_now_homeworld);	}	else if (PLAYER_SAID (R, how_is_ultron))	{		NPCPhrase (ULTRON_IS_GREAT);		DISABLE_PHRASE (how_is_ultron);	}	SET_GAME_STATE (UTWIG_WAR_NEWS, News);	if (NumVisits >= 5)	{		if (!(News & (1 << 0)))			Response (how_went_war, AlliedHome);	}	else if (PHRASE_ENABLED (how_goes_war)			&& ((NumVisits == 1 && News == 0)			|| (NumVisits && News < 2)))		Response (how_goes_war, AlliedHome);	if (PHRASE_ENABLED (learn_new_info))		Response (learn_new_info, AlliedHome);	if (PHRASE_ENABLED (what_now_homeworld))		Response (what_now_homeworld, AlliedHome);	if (PHRASE_ENABLED (how_is_ultron))		Response (how_is_ultron, AlliedHome);	if (NumVisits == 0 && EscortFeasibilityStudy (UTWIG_SHIP) != 0)		Response (can_you_help, ExitConversation);	Response (bye_allied_homeworld, ExitConversation);}
开发者ID:njvack,项目名称:uqm-ios,代码行数:84,


示例13: ExitConversation

static voidExitConversation (RESPONSE_REF R){	setSegue (Segue_peace);	if (PLAYER_SAID (R, bye_neutral))		NPCPhrase (GOODBYE_NEUTRAL);	else if (PLAYER_SAID (R, bye_after_space))		NPCPhrase (GOODBYE_AFTER_SPACE);	else if (PLAYER_SAID (R, bye_before_space))		NPCPhrase (GOODBYE_BEFORE_SPACE);	else if (PLAYER_SAID (R, bye_allied_homeworld))		NPCPhrase (GOODBYE_ALLIED_HOMEWORLD);	else if (PLAYER_SAID (R, bye_bomb))		NPCPhrase (GOODBYE_BOMB);	else if (PLAYER_SAID (R, demand_bomb))	{		NPCPhrase (GUARDS_FIGHT);		setSegue (Segue_hostile);	}	else if (PLAYER_SAID (R, got_ultron)			|| PLAYER_SAID (R, hey_wait_got_ultron))	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 6))		{			NPCPhrase (NO_ULTRON_AT_BOMB);			SET_GAME_STATE (REFUSED_ULTRON_AT_BOMB, 1);		}		else		{			if (PLAYER_SAID (R, got_ultron))				NPCPhrase (DONT_WANT_TO_LOOK);			else				NPCPhrase (TAUNT_US_BUT_WE_LOOK);			if (GET_GAME_STATE (ULTRON_CONDITION) < 4)			{				switch (GET_GAME_STATE (UTWIG_INFO))				{					case 0:						if (PLAYER_SAID (R, got_ultron))							NPCPhrase (SICK_TRICK_1);						else						{							NPCPhrase (TRICKED_US_1);							setSegue (Segue_hostile);						}						break;					case 1:						if (PLAYER_SAID (R, got_ultron))							NPCPhrase (SICK_TRICK_2);						else						{							NPCPhrase (TRICKED_US_2);							setSegue (Segue_hostile);						}						break;				}				SET_GAME_STATE (UTWIG_INFO, 1);			}			else			{				NPCPhrase (HAPPY_DAYS);				if (GET_GAME_STATE (KOHR_AH_FRENZY))					NPCPhrase (TOO_LATE);				else				{					NPCPhrase (OK_ATTACK_KOHRAH);					AddEvent (RELATIVE_EVENT, 0, 0, 0, ADVANCE_UTWIG_SUPOX_MISSION);				}				SET_GAME_STATE (UTWIG_HAVE_ULTRON, 1);				SET_GAME_STATE (ULTRON_CONDITION, 5);				SET_GAME_STATE (UTWIG_VISITS, 0);				SET_GAME_STATE (SUPOX_VISITS, 0);				SET_GAME_STATE (UTWIG_HOME_VISITS, 0);				SET_GAME_STATE (SUPOX_HOME_VISITS, 0);				SET_GAME_STATE (BOMB_VISITS, 0);				SET_GAME_STATE (SUPOX_INFO, 0);				SET_GAME_STATE (UTWIG_INFO, 0);				SET_GAME_STATE (SUPOX_WAR_NEWS, 0);				SET_GAME_STATE (UTWIG_WAR_NEWS, 0);				SET_GAME_STATE (SUPOX_HOSTILE, 0);				SET_GAME_STATE (UTWIG_HOSTILE, 0);				SetRaceAllied (UTWIG_SHIP, TRUE);				SetRaceAllied (SUPOX_SHIP, TRUE);			}		}	}	else if (PLAYER_SAID (R, can_you_help))	{		NPCPhrase (HOW_HELP);		if (EscortFeasibilityStudy (UTWIG_SHIP) == 0)//.........这里部分代码省略.........
开发者ID:njvack,项目名称:uqm-ios,代码行数:101,


示例14: NoRadioactives

static voidNoRadioactives (RESPONSE_REF R){	if (PLAYER_SAID (R, yes_this_is_supply_ship))	{		NPCPhrase (ABOUT_TIME);		if (GLOBAL_SIS (ElementAmounts[RADIOACTIVE]))			GiveRadios (0);		else		{			Response (i_lied, NoRadioactives);			Response (plumb_out, NoRadioactives);		}	}	else	{		if (PLAYER_SAID (R, where_can_i_get_radios))		{			NPCPhrase (RADIOS_ON_MERCURY);			DISABLE_PHRASE (where_can_i_get_radios);		}		else if (PLAYER_SAID (R, no_but_well_help0))			NPCPhrase (THE_WHAT_FROM_WHERE);		else if (PLAYER_SAID (R, what_slave_planet)				|| PLAYER_SAID (R, i_lied))			NPCPhrase (DONT_KNOW_WHO_YOU_ARE);		else if (PLAYER_SAID (R, plumb_out))			NPCPhrase (WHAT_KIND_OF_IDIOT);		else if (PLAYER_SAID (R, i_lost_my_lander))		{			NPCPhrase (HERE_IS_A_NEW_LANDER);			++GLOBAL_SIS (NumLanders);			LockMutex (GraphicsLock);			DrawLanders ();			DeltaSISGauges (4, 0, 0);			UnlockMutex (GraphicsLock);			SET_GAME_STATE (LANDERS_LOST, 1);		}		else if (PLAYER_SAID (R, i_lost_another_lander))		{			NPCPhrase (HERE_IS_ANOTHER_LANDER);			++GLOBAL_SIS (NumLanders);			LockMutex (GraphicsLock);			DrawLanders ();			DeltaSISGauges (4, 0, 0);			UnlockMutex (GraphicsLock);		}		else if (PLAYER_SAID (R, need_fuel_mercury) ||				PLAYER_SAID (R, need_fuel_luna))		{			NPCPhrase (GIVE_FUEL);			LockMutex (GraphicsLock);			DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);			UnlockMutex (GraphicsLock);			SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);		}		else if (PLAYER_SAID (R, need_fuel_again))		{			NPCPhrase (GIVE_FUEL_AGAIN);			LockMutex (GraphicsLock);			DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);			UnlockMutex (GraphicsLock);		}		if (GLOBAL_SIS (ElementAmounts[RADIOACTIVE]))			GiveRadios (0);		else		{			if (GLOBAL_SIS (NumLanders) == 0					&& GET_GAME_STATE (CHMMR_BOMB_STATE) < 2)			{				if (GET_GAME_STATE (LANDERS_LOST))					Response (i_lost_another_lander, NoRadioactives);				else					Response (i_lost_my_lander, NoRadioactives);			}			if (GLOBAL_SIS (FuelOnBoard) < 2 * FUEL_TANK_SCALE)			{				if (GET_GAME_STATE (GIVEN_FUEL_BEFORE))					Response (need_fuel_again, NoRadioactives);				else					Response (need_fuel_mercury, NoRadioactives);			}				Response (ok_i_will_get_radios, ByeBye);			if (PHRASE_ENABLED (where_can_i_get_radios))			{				Response (where_can_i_get_radios, NoRadioactives);			}		}	}}
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:96,


示例15: equipShip

// NB: Ship maximum speed and turning rate aren't updated in// HyperSpace/QuasiSpace or in melee.voidequipShip (void){	int i;	// Don't do anything unless in the full game.	if (LOBYTE (GLOBAL (CurrentActivity)) == SUPER_MELEE)		return;	// Thrusters:	for (i = 0; i < NUM_DRIVE_SLOTS; i++)		GLOBAL_SIS (DriveSlots[i]) = FUSION_THRUSTER;	// Turning jets:	for (i = 0; i < NUM_JET_SLOTS; i++)		GLOBAL_SIS (JetSlots[i]) = TURNING_JETS;	// Shields:	SET_GAME_STATE (LANDER_SHIELDS,			(1 << EARTHQUAKE_DISASTER) |			(1 << BIOLOGICAL_DISASTER) |			(1 << LIGHTNING_DISASTER) |			(1 << LAVASPOT_DISASTER));	// Lander upgrades:	SET_GAME_STATE (IMPROVED_LANDER_SPEED, 1);	SET_GAME_STATE (IMPROVED_LANDER_CARGO, 1);	SET_GAME_STATE (IMPROVED_LANDER_SHOT, 1);	// Modules:	if (GET_GAME_STATE (CHMMR_BOMB_STATE) < 2)	{		// The Precursor bomb has not been installed.		// This is the original TFB testing layout.		i = 0;		GLOBAL_SIS (ModuleSlots[i++]) = HIGHEFF_FUELSYS;		GLOBAL_SIS (ModuleSlots[i++]) = HIGHEFF_FUELSYS;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = STORAGE_BAY;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;		GLOBAL_SIS (ModuleSlots[i++]) = DYNAMO_UNIT;		GLOBAL_SIS (ModuleSlots[i++]) = TRACKING_SYSTEM;		GLOBAL_SIS (ModuleSlots[i++]) = TRACKING_SYSTEM;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;		GLOBAL_SIS (ModuleSlots[i++]) = CANNON_WEAPON;		GLOBAL_SIS (ModuleSlots[i++]) = CANNON_WEAPON;				// Landers:		GLOBAL_SIS (NumLanders) = MAX_LANDERS;	}	else	{		// The Precursor bomb has been installed.		i = NUM_BOMB_MODULES;		GLOBAL_SIS (ModuleSlots[i++]) = HIGHEFF_FUELSYS;		GLOBAL_SIS (ModuleSlots[i++]) = CREW_POD;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;		GLOBAL_SIS (ModuleSlots[i++]) = CANNON_WEAPON;		GLOBAL_SIS (ModuleSlots[i++]) = SHIVA_FURNACE;	}	assert (i <= NUM_MODULE_SLOTS);	// Fill the fuel and crew compartments to the maximum.	GLOBAL_SIS (FuelOnBoard) = FUEL_RESERVE;	GLOBAL_SIS (CrewEnlisted) = 0;	for (i = 0; i < NUM_MODULE_SLOTS; i++)	{		switch (GLOBAL_SIS (ModuleSlots[i])) {			case CREW_POD:				GLOBAL_SIS (CrewEnlisted) += CREW_POD_CAPACITY;				break;			case FUEL_TANK:				GLOBAL_SIS (FuelOnBoard) += FUEL_TANK_CAPACITY;				break;			case HIGHEFF_FUELSYS:				GLOBAL_SIS (FuelOnBoard) += HEFUEL_TANK_CAPACITY;				break;		}	}	// Update the maximum speed and turning rate when in interplanetary.	if (pSolarSysState != NULL)	{		// Thrusters:		pSolarSysState->max_ship_speed = 5 * IP_SHIP_THRUST_INCREMENT;		for (i = 0; i < NUM_DRIVE_SLOTS; i++)			if (GLOBAL_SIS (DriveSlots[i] == FUSION_THRUSTER))				pSolarSysState->max_ship_speed += IP_SHIP_THRUST_INCREMENT;		// Turning jets:		pSolarSysState->turn_wait = IP_SHIP_TURN_WAIT;		for (i = 0; i < NUM_JET_SLOTS; i++)//.........这里部分代码省略.........
开发者ID:intgr,项目名称:sc2-uqm,代码行数:101,


示例16: AskAfterRadios

static voidAskAfterRadios (RESPONSE_REF R){	if (PLAYER_SAID (R, i_lost_my_lander))	{		NPCPhrase (HERE_IS_A_NEW_LANDER);		++GLOBAL_SIS (NumLanders);		LockMutex (GraphicsLock);		DrawLanders ();		DeltaSISGauges (4, 0, 0);		UnlockMutex (GraphicsLock);		SET_GAME_STATE (LANDERS_LOST, 1);	}	else if (PLAYER_SAID (R, i_lost_another_lander))	{		NPCPhrase (HERE_IS_ANOTHER_LANDER);		++GLOBAL_SIS (NumLanders);		LockMutex (GraphicsLock);		DrawLanders ();		DeltaSISGauges (4, 0, 0);		UnlockMutex (GraphicsLock);	}	else if (PLAYER_SAID (R, need_fuel_mercury) ||			PLAYER_SAID (R, need_fuel_luna))	{		NPCPhrase (GIVE_FUEL);		LockMutex (GraphicsLock);		DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);		UnlockMutex (GraphicsLock);		SET_GAME_STATE (GIVEN_FUEL_BEFORE, 1);	}	else if (PLAYER_SAID (R, need_fuel_again))	{		NPCPhrase (GIVE_FUEL_AGAIN);		LockMutex (GraphicsLock);		DeltaSISGauges (0, 5 * FUEL_TANK_SCALE, 0);		UnlockMutex (GraphicsLock);	}	else if (PLAYER_SAID (R, where_get_radios))	{		NPCPhrase (RADIOS_ON_MERCURY);		DISABLE_PHRASE (where_get_radios);	}	{		if (GLOBAL_SIS (NumLanders) == 0				&& GET_GAME_STATE (CHMMR_BOMB_STATE) < 2)		{			if (GET_GAME_STATE (LANDERS_LOST))				Response (i_lost_another_lander, AskAfterRadios);			else				Response (i_lost_my_lander, AskAfterRadios);		}		if (GLOBAL_SIS (FuelOnBoard) < 2 * FUEL_TANK_SCALE)		{			if (GET_GAME_STATE (GIVEN_FUEL_BEFORE))				Response (need_fuel_again, AskAfterRadios);			else				Response (need_fuel_mercury, AskAfterRadios);		}		Response (well_go_get_them_now, ByeBye);		if (PHRASE_ENABLED (where_get_radios))		{			Response (where_get_radios, AskAfterRadios);		}	}}
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:70,


示例17: Buy

static voidBuy (RESPONSE_REF R){	if (PLAYER_SAID (R, want_to_buy)			|| PLAYER_SAID (R, im_ready_to_buy))	{		NPCPhrase (READY_TO_SELL);		if (!GET_GAME_STATE (ROSY_SPHERE))			NPCPhrase (HAVE_SPHERE);		if (!GET_GAME_STATE (ARTIFACT_2_ON_SHIP))			NPCPhrase (HAVE_ART_1);		if (!GET_GAME_STATE (ARTIFACT_3_ON_SHIP))			NPCPhrase (HAVE_ART_2);		NPCPhrase (SHIPS_AND_FUEL);		SET_GAME_STATE (KNOW_DRUUGE_SLAVERS, 3);	}	else if (PLAYER_SAID (R, buy_druuge_ship))	{#define SHIP_CREW_COST 100		if (GLOBAL_SIS (CrewEnlisted) < SHIP_CREW_COST)			NPCPhrase (NOT_ENOUGH_CREW);		else if (ActivateStarShip (DRUUGE_SHIP, FEASIBILITY_STUDY) == 0)			NPCPhrase (NOT_ENOUGH_ROOM);		else		{			LockMutex (GraphicsLock);			DeltaSISGauges (-SHIP_CREW_COST, 0, 0);			UnlockMutex (GraphicsLock);			SlaveryCount += SHIP_CREW_COST;			ActivateStarShip (DRUUGE_SHIP, 1);			NPCPhrase (BOUGHT_SHIP);		}	}#define ARTIFACT_CREW_COST 100	else if (PLAYER_SAID (R, buy_rosy_sphere))	{		if (GLOBAL_SIS (CrewEnlisted) < ARTIFACT_CREW_COST)			NPCPhrase (NOT_ENOUGH_CREW);		else		{			LockMutex (GraphicsLock);			DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);			UnlockMutex (GraphicsLock);			SlaveryCount += ARTIFACT_CREW_COST;			SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 1);			SET_GAME_STATE (ROSY_SPHERE, 1);			NPCPhrase (BOUGHT_SPHERE);		}	}	else if (PLAYER_SAID (R, buy_art_1))	{		if (GLOBAL_SIS (CrewEnlisted) < ARTIFACT_CREW_COST)			NPCPhrase (NOT_ENOUGH_CREW);		else		{			LockMutex (GraphicsLock);			DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);			UnlockMutex (GraphicsLock);			SlaveryCount += ARTIFACT_CREW_COST;			SET_GAME_STATE (ARTIFACT_2_ON_SHIP, 1);			NPCPhrase (BOUGHT_ART_1);		}	}	else if (PLAYER_SAID (R, buy_art_2))	{		if (GLOBAL_SIS (CrewEnlisted) < ARTIFACT_CREW_COST)			NPCPhrase (NOT_ENOUGH_CREW);		else		{			LockMutex (GraphicsLock);			DeltaSISGauges (-ARTIFACT_CREW_COST, 0, 0);			UnlockMutex (GraphicsLock);			SlaveryCount += ARTIFACT_CREW_COST;			SET_GAME_STATE (ARTIFACT_3_ON_SHIP, 1);			NPCPhrase (BOUGHT_ART_2);		}	}	else if (PLAYER_SAID (R, buy_fuel))	{#define FUEL_CREW_COST 10		if (GLOBAL_SIS (CrewEnlisted) < FUEL_CREW_COST)			NPCPhrase (NOT_ENOUGH_CREW);		else		{			LockMutex (GraphicsLock);			DeltaSISGauges (-FUEL_CREW_COST,					FUEL_CREW_COST * FUEL_TANK_SCALE, 0);			UnlockMutex (GraphicsLock);			SlaveryCount += FUEL_CREW_COST;			NPCPhrase (BOUGHT_FUEL);		}	}	Response (buy_druuge_ship, Buy);//.........这里部分代码省略.........
开发者ID:jurchik,项目名称:project6014,代码行数:101,


示例18: RevealSelf

static voidRevealSelf (RESPONSE_REF R){	BYTE i, stack;	stack = 0;	if (PLAYER_SAID (R, we_are_vindicator0))	{		NPCPhrase (THATS_IMPOSSIBLE);		DISABLE_PHRASE (we_are_vindicator0);	}	else if (PLAYER_SAID (R, our_mission_was_secret))	{		NPCPhrase (ACKNOWLEDGE_SECRET);		DISABLE_PHRASE (our_mission_was_secret);	}	else if (PLAYER_SAID (R, first_give_info))	{		NPCPhrase (ASK_AWAY);		stack = 1;		DISABLE_PHRASE (first_give_info);	}	else if (PLAYER_SAID (R, whats_this_starbase))	{		NPCPhrase (STARBASE_IS);		stack = 1;		DISABLE_PHRASE (whats_this_starbase);	}	else if (PLAYER_SAID (R, what_about_earth))	{		NPCPhrase (HAPPENED_TO_EARTH);		stack = 1;		DISABLE_PHRASE (what_about_earth);	}	else if (PLAYER_SAID (R, where_are_urquan))	{		NPCPhrase (URQUAN_LEFT);		stack = 1;		DISABLE_PHRASE (where_are_urquan);	}	else if (PLAYER_SAID (R, it_went_away))		NPCPhrase (DEEP_TROUBLE);	else if (PLAYER_SAID (R, we_destroyed_it))		NPCPhrase (GOOD_NEWS);	else if (PLAYER_SAID (R, what_probe))		NPCPhrase (SURE_HOPE);	for (i = 0; i < 2; ++i, stack ^= 1)	{		if (stack == 1)		{			if (PHRASE_ENABLED (first_give_info))				Response (first_give_info, RevealSelf);			else if (PHRASE_ENABLED (whats_this_starbase))				Response (whats_this_starbase, RevealSelf);			else if (PHRASE_ENABLED (what_about_earth))				Response (what_about_earth, RevealSelf);			else if (PHRASE_ENABLED (where_are_urquan))				Response (where_are_urquan, RevealSelf);			else if (PHRASE_ENABLED (what_was_red_thing))			{				Response (what_was_red_thing, TellProbe);			}		}		else		{			if (PHRASE_ENABLED (we_are_vindicator0))			{				construct_response (shared_phrase_buf,						we_are_vindicator0,						GLOBAL_SIS (CommanderName),						we_are_vindicator1,						GLOBAL_SIS (ShipName),						we_are_vindicator2,						(UNICODE*)NULL);				DoResponsePhrase (we_are_vindicator0, RevealSelf, shared_phrase_buf);			}			else if (PHRASE_ENABLED (our_mission_was_secret))				Response (our_mission_was_secret, RevealSelf);			else			{				if (GET_GAME_STATE (MOONBASE_DESTROYED) == 0)					Response (we_are_here_to_help, TellMoonBase);				else					Response (we_are_here_to_help, BaseDestroyed);			}		}	}}
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:95,


示例19: DoTransaction

static voidDoTransaction (RESPONSE_REF R){	if (PLAYER_SAID (R, sell_maidens))	{		SET_GAME_STATE (MAIDENS_ON_SHIP, 0);	}	else if (PLAYER_SAID (R, sell_fragments))	{		BYTE num_frags;		if (GET_GAME_STATE (EGG_CASE0_ON_SHIP))		{			SET_GAME_STATE (EGG_CASE0_ON_SHIP, 0);		}		else if (GET_GAME_STATE (EGG_CASE1_ON_SHIP))		{			SET_GAME_STATE (EGG_CASE1_ON_SHIP, 0);		}		else if (GET_GAME_STATE (EGG_CASE2_ON_SHIP))		{			SET_GAME_STATE (EGG_CASE2_ON_SHIP, 0);		}		num_frags = GET_GAME_STATE (FRAGMENTS_BOUGHT) + 1;		SET_GAME_STATE (FRAGMENTS_BOUGHT, num_frags);	}	else if (PLAYER_SAID (R, sell_caster))	{		SET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP, 0);	}	else if (PLAYER_SAID (R, sell_spawner))	{		SET_GAME_STATE (PORTAL_SPAWNER_ON_SHIP, 0);	}	if (!GET_GAME_STATE (ROSY_SPHERE)			&& GET_GAME_STATE (ROSY_SPHERE_ON_SHIP))	{		SET_GAME_STATE (ROSY_SPHERE, 1);	}	else	{		BYTE trade_gas;		BYTE ship_slots, ships_to_trade;		trade_gas = 0;		ships_to_trade = 0;		ship_slots = ActivateStarShip (DRUUGE_SHIP, FEASIBILITY_STUDY);		if (PLAYER_SAID (R, sell_maidens))		{			NPCPhrase (BOUGHT_MAIDENS);			ships_to_trade = 6;		}		else if (PLAYER_SAID (R, sell_fragments))		{			NPCPhrase (BOUGHT_FRAGMENTS);			ships_to_trade = 1;		}		else if (PLAYER_SAID (R, sell_caster))		{			NPCPhrase (BOUGHT_CASTER);			ships_to_trade = 0;			trade_gas = 1;		}		else if (PLAYER_SAID (R, sell_spawner))		{			NPCPhrase (BOUGHT_SPAWNER);			ships_to_trade = 3;			trade_gas = 1;		}		NPCPhrase (YOU_GET);		if (ships_to_trade)		{			ActivateStarShip (DRUUGE_SHIP, ships_to_trade);			if (ship_slots >= ships_to_trade)				NPCPhrase (DEAL_FOR_STATED_SHIPS);			else if (ship_slots == 0)				NPCPhrase (DEAL_FOR_NO_SHIPS);			else				NPCPhrase (DEAL_FOR_LESS_SHIPS);			if (trade_gas)				NPCPhrase (YOU_ALSO_GET);		}		if (trade_gas)		{			BYTE slot;			COUNT f;			DWORD capacity;			capacity = FUEL_RESERVE;			slot = NUM_MODULE_SLOTS - 1;			do			{				if (GLOBAL_SIS (ModuleSlots[slot]) == FUEL_TANK						|| GLOBAL_SIS (ModuleSlots[slot]) == HIGHEFF_FUELSYS)//.........这里部分代码省略.........
开发者ID:jurchik,项目名称:project6014,代码行数:101,


示例20: UrquanHypno

static voidUrquanHypno (RESPONSE_REF R){	if (GET_GAME_STATE (URQUAN_HYPNO_VISITS) == 0)	{		if (R == 0)			NPCPhrase (INIT_URQUAN_WAKE_UP);		else if (PLAYER_SAID (R, where_am_i))		{			NPCPhrase (YOU_ARE_HERE);			DISABLE_PHRASE (where_am_i);		}		else if (PLAYER_SAID (R, why_does_my_head_hurt))		{			NPCPhrase (HURTS_BECAUSE);			DISABLE_PHRASE (why_does_my_head_hurt);		}		else if (PLAYER_SAID (R, what_about_2_weeks))		{			NPCPhrase (ABOUT_2_WEEKS);			DISABLE_PHRASE (what_about_2_weeks);		}		if (PHRASE_ENABLED (where_am_i))			Response (where_am_i, UrquanHypno);		if (PHRASE_ENABLED (why_does_my_head_hurt))			Response (why_does_my_head_hurt, UrquanHypno);		if (PHRASE_ENABLED (what_about_2_weeks))			Response (what_about_2_weeks, UrquanHypno);		Response (compulsion, MentionCompulsion);		Response (bye_init_hypno, CombatIsInevitable);	}	else	{		if (R == 0)			NPCPhrase (SUBSEQUENT_URQUAN_WAKE_UP);		else if (PLAYER_SAID (R, uh_oh))		{			NPCPhrase (NO_UH_OH);			DISABLE_PHRASE (uh_oh);		}		else if (PLAYER_SAID (R, stop_meeting))		{			NPCPhrase (NO_STOP_MEETING);			DISABLE_PHRASE (stop_meeting);		}		if (PHRASE_ENABLED (uh_oh))			Response (uh_oh, UrquanHypno);		if (PHRASE_ENABLED (stop_meeting))			Response (stop_meeting, UrquanHypno);		if (!GET_GAME_STATE (MENTIONED_PET_COMPULSION))		{			Response (compulsion, MentionCompulsion);		}		Response (bye_sub_hypno, CombatIsInevitable);	}}
开发者ID:dczanik,项目名称:Hires-Shiver-Balance-Mod,代码行数:63,


示例21: Intro

static voidIntro (void){	BYTE NumVisits;	if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)	{		NPCPhrase (OUT_TAKES);		SET_GAME_STATE (BATTLE_SEGUE, 0);		return;	}	if (GET_GAME_STATE (DRUUGE_MANNER))	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))		{			NumVisits = GET_GAME_STATE (DRUUGE_HOME_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (HSTL_TRADE_WORLD_HELLO_1);					break;				case 1:					NPCPhrase (HSTL_TRADE_WORLD_HELLO_2);					--NumVisits;					break;			}			SET_GAME_STATE (DRUUGE_HOME_VISITS, NumVisits);		}		else		{			NumVisits = GET_GAME_STATE (DRUUGE_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (HOSTILE_SPACE_HELLO_1);					break;				case 1:					NPCPhrase (HOSTILE_SPACE_HELLO_2);					--NumVisits;					break;			}			SET_GAME_STATE (DRUUGE_VISITS, NumVisits);		}		SET_GAME_STATE (BATTLE_SEGUE, 1);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))	{		{			NumVisits = GET_GAME_STATE (DRUUGE_HOME_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (INITIAL_TRADE_WORLD_HELLO);					break;				case 1:					NPCPhrase (SSQ_TRADE_WORLD_HELLO_1);					break;				case 2:					NPCPhrase (SSQ_TRADE_WORLD_HELLO_2);					break;				case 3:					NPCPhrase (SSQ_TRADE_WORLD_HELLO_3);					break;				case 4:					NPCPhrase (SSQ_TRADE_WORLD_HELLO_4);					--NumVisits;					break;			}			SET_GAME_STATE (DRUUGE_HOME_VISITS, NumVisits);		}		if (GET_GAME_STATE (ATTACKED_DRUUGE)				&& !GET_GAME_STATE (DRUUGE_DISCLAIMER))		{			// There is no HOSTILE_TRADE voice track that we know of			// so this is currently disabled			//NPCPhrase (HOSTILE_TRADE);			SET_GAME_STATE (DRUUGE_DISCLAIMER, 1);		}		if (GET_GAME_STATE (MAIDENS_ON_SHIP)				&& !GET_GAME_STATE (SCANNED_MAIDENS))		{			NPCPhrase (SCAN_MAIDENS);			SET_GAME_STATE (SCANNED_MAIDENS, 1);		}		if ((GET_GAME_STATE (EGG_CASE0_ON_SHIP)				|| GET_GAME_STATE (EGG_CASE1_ON_SHIP)				|| GET_GAME_STATE (EGG_CASE2_ON_SHIP))				&& !GET_GAME_STATE (SCANNED_FRAGMENTS))		{			if (GET_GAME_STATE (FRAGMENTS_BOUGHT) < 2)				NPCPhrase (SCAN_FRAGMENTS);			else				NPCPhrase (ENOUGH_FRAGMENTS);			SET_GAME_STATE (SCANNED_FRAGMENTS, 1);		}		if (GET_GAME_STATE (BURV_BROADCASTERS_ON_SHIP)				&& !GET_GAME_STATE (SCANNED_CASTER))//.........这里部分代码省略.........
开发者ID:jurchik,项目名称:project6014,代码行数:101,


示例22: ExitConversation

static voidExitConversation (RESPONSE_REF R){	SET_GAME_STATE (BATTLE_SEGUE, 0);	if (PLAYER_SAID (R, bye_ally))		NPCPhrase (GOODBYE_ALLY);	else if (PLAYER_SAID (R, bye_neutral))		NPCPhrase (GOODBYE_NEUTRAL);	else if (PLAYER_SAID (R, bye_angry))		NPCPhrase (GOODBYE_ANGRY);	else if (PLAYER_SAID (R, bye_taalo))	{		if (GET_GAME_STATE (ORZ_MANNER) == 1)			NPCPhrase (ANGRY_TAALO_GOODBYE);		else			NPCPhrase (FRIENDLY_TAALO_GOODBYE);	}	else if (PLAYER_SAID (R, hostile_2))	{		NPCPhrase (HOSTILITY_IS_BAD_2);				SET_GAME_STATE (BATTLE_SEGUE, 1);	}	else if (PLAYER_SAID (R, may_we_land))	{		NPCPhrase (SURE_LAND);		SET_GAME_STATE (TAALO_UNPROTECTED, 1);	}	else if (PLAYER_SAID (R, yes_alliance)			|| PLAYER_SAID (R, were_sorry))	{		if (PLAYER_SAID (R, yes_alliance))			NPCPhrase (GREAT);		else			NPCPhrase (APOLOGY_ACCEPTED);		SET_GAME_STATE (ORZ_ANDRO_STATE, 0);		SET_GAME_STATE (ORZ_GENERAL_INFO, 0);		SET_GAME_STATE (ORZ_PERSONAL_INFO, 0);		SET_GAME_STATE (ORZ_MANNER, 3);		ActivateStarShip (ORZ_SHIP, SET_ALLIED);	}	else if (PLAYER_SAID (R, demand_to_land))	{		NPCPhrase (NO_DEMAND);		SET_GAME_STATE (BATTLE_SEGUE, 1);	}	else if (PLAYER_SAID (R, about_andro_3)			|| PLAYER_SAID (R, must_know_about_androsyn))	{		if (PLAYER_SAID (R, about_andro_3))			NPCPhrase (BLEW_IT);		else			NPCPhrase (KNOW_TOO_MUCH);		SET_GAME_STATE (ORZ_VISITS, 0);		SET_GAME_STATE (ORZ_MANNER, 2);		SET_GAME_STATE (BATTLE_SEGUE, 1);		if (PLAYER_SAID (R, about_andro_3))		{			ActivateStarShip (ORZ_SHIP, SET_NOT_ALLIED);			ActivateStarShip (ORZ_SHIP, REMOVE_BUILT);		}		XFormColorMap (GetColorMapAddress (				SetAbsColorMapIndex (CommData.AlienColorMap, 1)				), ONE_SECOND / 2);	}	else /* insults */	{		BYTE NumVisits;		NumVisits = GET_GAME_STATE (ORZ_PERSONAL_INFO);		switch (NumVisits++)		{			case 0:				NPCPhrase (INSULTED_1);				break;			case 1:				NPCPhrase (INSULTED_2);				break;			case 2:				NPCPhrase (INSULTED_3);				SET_GAME_STATE (BATTLE_SEGUE, 1);				break;			case 7:				--NumVisits;			default:				NPCPhrase (INSULTED_4);				SET_GAME_STATE (BATTLE_SEGUE, 1);				break;		}		SET_GAME_STATE (ORZ_PERSONAL_INFO, NumVisits);	}}
开发者ID:SirDifferential,项目名称:Shiver-Balance-Mod,代码行数:98,


示例23: Zombies

static voidZombies (RESPONSE_REF R){	if (GET_GAME_STATE (MET_NORMAL_UMGAH))	{		if (PLAYER_SAID (R, whats_up_zombies))		{			NPCPhrase (GENERAL_INFO_ZOMBIE);			DISABLE_PHRASE (whats_up_zombies);		}		else if (PLAYER_SAID (R, how_goes_tpet))		{			NPCPhrase (WHAT_TPET);			DISABLE_PHRASE (how_goes_tpet);		}		else if (PLAYER_SAID (R, you_told_us))		{			NPCPhrase (SADLY_IT_DIED);			DISABLE_PHRASE (you_told_us);		}		if (PHRASE_ENABLED (whats_up_zombies) && PHRASE_ENABLED (how_goes_tpet))			Response (whats_up_zombies, Zombies);		if (PHRASE_ENABLED (how_goes_tpet))			Response (how_goes_tpet, Zombies);		else if (PHRASE_ENABLED (you_told_us))			Response (you_told_us, Zombies);		else		{			Response (dont_believe, CombatIsInevitable);		}		if (PHRASE_ENABLED (whats_up_zombies) && !PHRASE_ENABLED (how_goes_tpet))			Response (whats_up_zombies, Zombies);		Response (threat, CombatIsInevitable);		Response (bye_unknown, CombatIsInevitable);	}	else	{		BYTE i, LastStack;		RESPONSE_REF pStr[4];		LastStack = 0;		pStr[0] = pStr[1] = pStr[2] = pStr[3] = 0;		if (PLAYER_SAID (R, evil_blobbies))		{			NPCPhrase (YES_VERY_EVIL);			DISABLE_PHRASE (evil_blobbies);			LastStack = 0;		}		else if (PLAYER_SAID (R, we_vindicator0))		{			NPCPhrase (GOOD_FOR_YOU_1);			DISABLE_PHRASE (we_vindicator0);			LastStack = 1;		}		else if (PLAYER_SAID (R, come_in_peace))		{			NPCPhrase (GOOD_FOR_YOU_2);			DISABLE_PHRASE (come_in_peace);			LastStack = 1;		}		else if (PLAYER_SAID (R, know_any_jokes))		{			NPCPhrase (JOKE_1);			DISABLE_PHRASE (know_any_jokes);			LastStack = 2;		}		else if (PLAYER_SAID (R, better_joke))		{			NPCPhrase (JOKE_2);			DISABLE_PHRASE (better_joke);			LastStack = 2;		}		else if (PLAYER_SAID (R, not_very_funny))		{			NPCPhrase (YES_WE_ARE);			DISABLE_PHRASE (not_very_funny);			LastStack = 2;		}		else if (PLAYER_SAID (R, what_about_tpet))		{			NPCPhrase (WHAT_TPET);			DISABLE_PHRASE (what_about_tpet);			LastStack = 3;		}		else if (PLAYER_SAID (R, give_up_or_die))		{			NPCPhrase (NOT_GIVE_UP);			SET_GAME_STATE (BATTLE_SEGUE, 1);//.........这里部分代码省略.........
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:101,


示例24: OrzAllied

static voidOrzAllied (RESPONSE_REF R){	BYTE NumVisits;	if (PLAYER_SAID (R, whats_up_ally))	{		NumVisits = GET_GAME_STATE (ORZ_GENERAL_INFO);		switch (NumVisits++)		{			case 0:				NPCPhrase (GENERAL_INFO_ALLY_1);				break;			case 1:				NPCPhrase (GENERAL_INFO_ALLY_2);				break;			case 2:				NPCPhrase (GENERAL_INFO_ALLY_3);				break;			case 3:				NPCPhrase (GENERAL_INFO_ALLY_4);				--NumVisits;				break;		}		SET_GAME_STATE (ORZ_GENERAL_INFO, NumVisits);		DISABLE_PHRASE (whats_up_ally);	}	else if (PLAYER_SAID (R, more_about_you))	{		NumVisits = GET_GAME_STATE (ORZ_PERSONAL_INFO);		switch (NumVisits++)		{			case 0:				NPCPhrase (ABOUT_US_1);				break;			case 1:				NPCPhrase (ABOUT_US_2);				break;			case 2:				NPCPhrase (ABOUT_US_3);				break;			case 3:				NPCPhrase (ABOUT_US_4);				--NumVisits;				break;		}		SET_GAME_STATE (ORZ_PERSONAL_INFO, NumVisits);		DISABLE_PHRASE (more_about_you);	}	else if (PLAYER_SAID (R, about_andro_1))	{		NPCPhrase (FORGET_ANDRO_1);		SET_GAME_STATE (ORZ_ANDRO_STATE, 1);	}	else if (PLAYER_SAID (R, about_andro_2))	{		NPCPhrase (FORGET_ANDRO_2);		SET_GAME_STATE (ORZ_ANDRO_STATE, 2);	}	if (GET_GAME_STATE (ORZ_ANDRO_STATE) == 0)		Response (about_andro_1, OrzAllied);	else if (GET_GAME_STATE (ORZ_ANDRO_STATE) == 1)		Response (about_andro_2, OrzAllied);	else	{		Response (about_andro_3, ExitConversation);	}	if (PHRASE_ENABLED (whats_up_ally))		Response (whats_up_ally, OrzAllied);	if (PHRASE_ENABLED (more_about_you))		Response (more_about_you, OrzAllied);	Response (bye_ally, ExitConversation);}
开发者ID:SirDifferential,项目名称:Shiver-Balance-Mod,代码行数:78,


示例25: UmgahReward

static voidUmgahReward (RESPONSE_REF R){	if (PLAYER_SAID (R, what_before_tpet))	{		NPCPhrase (TRKD_SPATHI_AND_ILWRATH);		DISABLE_PHRASE (what_before_tpet);	}	else if (PLAYER_SAID (R, where_caster))	{		NPCPhrase (SPATHI_TOOK_THEM);		DISABLE_PHRASE (where_caster);	}	else if (PLAYER_SAID (R, owe_me_big_time))	{		NPCPhrase (THANKS);		GLOBAL_SIS (TotalBioMass) += 1000 / BIO_CREDIT_VALUE;		DISABLE_PHRASE (owe_me_big_time);		DISABLE_PHRASE (our_largesse);	}	else if (PLAYER_SAID (R, our_largesse))	{		NPCPhrase (GIVE_LIFEDATA);		GLOBAL_SIS (TotalBioMass) += 1000 / BIO_CREDIT_VALUE;		DISABLE_PHRASE (our_largesse);		DISABLE_PHRASE (owe_me_big_time);	}	else if (PLAYER_SAID (R, what_do_with_tpet))	{		NPCPhrase (TRICK_URQUAN);		DISABLE_PHRASE (what_do_with_tpet);	}	else if (PLAYER_SAID (R, any_jokes))	{		NPCPhrase (SURE);		DISABLE_PHRASE (any_jokes);	}	else if (PLAYER_SAID (R, so_what_for_now))	{		NPCPhrase (DO_THIS_NOW);		DISABLE_PHRASE (so_what_for_now);	}	if (!GET_GAME_STATE (MET_NORMAL_UMGAH))	{		if (PHRASE_ENABLED (what_before_tpet))			Response (what_before_tpet, UmgahReward);		else if (PHRASE_ENABLED (where_caster))			Response (where_caster, UmgahReward);	}	if (PHRASE_ENABLED (owe_me_big_time))	{		Response (owe_me_big_time, UmgahReward);		Response (our_largesse, UmgahReward);	}	if (PHRASE_ENABLED (what_do_with_tpet))		Response (what_do_with_tpet, UmgahReward);	else if (PHRASE_ENABLED (any_jokes) && GET_GAME_STATE (UMGAH_MENTIONED_TRICKS) < 2)		Response (any_jokes, UmgahReward);	if (PHRASE_ENABLED (so_what_for_now))		Response (so_what_for_now, UmgahReward);	Response (bye_post_zombie, CombatIsInevitable);}
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:70,


示例26: Intro

static voidIntro (void){	BYTE NumVisits, Manner;	if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)	{		NPCPhrase (OUT_TAKES);		SET_GAME_STATE (BATTLE_SEGUE, 0);		return;	}	if (!GET_GAME_STATE (MET_ORZ_BEFORE))		NPCPhrase (INIT_HELLO);	Manner = GET_GAME_STATE (ORZ_MANNER);	if (Manner == 2)	{		CommData.AlienColorMap =				SetAbsColorMapIndex (CommData.AlienColorMap, 1);		NumVisits = GET_GAME_STATE (ORZ_VISITS);		switch (NumVisits++)		{			case 0:				NPCPhrase (HOSTILE_HELLO_1);				break;			case 1:				NPCPhrase (HOSTILE_HELLO_2);				--NumVisits;				break;		}		SET_GAME_STATE (ORZ_VISITS, NumVisits);		SET_GAME_STATE (BATTLE_SEGUE, 1);	}	else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 6))	{		NumVisits = GET_GAME_STATE (TAALO_VISITS);		if (Manner != 1)		{			switch (NumVisits++)			{				case 0:					NPCPhrase (FRIENDLY_ALLIED_TAALO_HELLO_1);					break;				case 1:					NPCPhrase (FRIENDLY_ALLIED_TAALO_HELLO_2);					--NumVisits;					break;			}		}		else		{			switch (NumVisits++)			{				case 0:					NPCPhrase (ANGRY_TAALO_HELLO_1);					break;				case 1:					NPCPhrase (ANGRY_TAALO_HELLO_2);					--NumVisits;					break;			}		}		SET_GAME_STATE (TAALO_VISITS, NumVisits);		TaaloWorld ((RESPONSE_REF)0);	}	else if (Manner == 3 &&			ActivateStarShip (ORZ_SHIP, CHECK_ALLIANCE) == GOOD_GUY)	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))		{			NumVisits = GET_GAME_STATE (ORZ_HOME_VISITS);			switch (NumVisits++)			{				case 0:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_1);					break;				case 1:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_2);					break;				case 2:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_3);					break;				case 3:					NPCPhrase (ALLIED_HOMEWORLD_HELLO_4);					--NumVisits;					break;			}			SET_GAME_STATE (ORZ_HOME_VISITS, NumVisits);		}		else		{			NumVisits = GET_GAME_STATE (ORZ_VISITS);			switch (NumVisits++)			{				case 0://.........这里部分代码省略.........
开发者ID:SirDifferential,项目名称:Shiver-Balance-Mod,代码行数:101,


示例27: Intro

static voidIntro (void){	BYTE NumVisits;	if (GET_GAME_STATE (UMGAH_HOSTILE))	{		NumVisits = GET_GAME_STATE (UMGAH_VISITS);		switch (NumVisits++)		{			case 0:				NPCPhrase (HOSTILE_HELLO_1);				break;			case 1:				NPCPhrase (HOSTILE_HELLO_2);				break;			case 2:				NPCPhrase (HOSTILE_HELLO_3);				break;			case 3:				NPCPhrase (HOSTILE_HELLO_4);				--NumVisits;				break;		}		SET_GAME_STATE (UMGAH_VISITS, NumVisits);		SET_GAME_STATE (BATTLE_SEGUE, 1);	}	else if (GET_GAME_STATE (UMGAH_ZOMBIE_BLOBBIES))	{		NumVisits = GET_GAME_STATE (UMGAH_VISITS);		if (GET_GAME_STATE (TALKING_PET_VISITS))		{			switch (NumVisits++)			{				case 0:					NPCPhrase (DESTROY_INTERFERER_1);					break;				case 1:					NPCPhrase (DESTROY_INTERFERER_2);					break;				case 2:					NPCPhrase (DESTROY_INTERFERER_3);					break;				case 3:					NPCPhrase (DESTROY_INTERFERER_4);					--NumVisits;					break;			}			SET_GAME_STATE (BATTLE_SEGUE, 1);		}		else if (GET_GAME_STATE (KNOW_UMGAH_ZOMBIES))		{			switch (NumVisits++)			{				case 0:					NPCPhrase (REVEALED_ZOMBIE_HELLO_1);					break;				case 1:					NPCPhrase (REVEALED_ZOMBIE_HELLO_2);					break;				case 2:					NPCPhrase (REVEALED_ZOMBIE_HELLO_3);					break;				case 3:					NPCPhrase (REVEALED_ZOMBIE_HELLO_4);					--NumVisits;					break;			}			SET_GAME_STATE (BATTLE_SEGUE, 1);		}		else		{			switch (NumVisits++)			{				case 0:					NPCPhrase (UNKNOWN_ZOMBIE_HELLO_1);					break;				case 1:					NPCPhrase (UNKNOWN_ZOMBIE_HELLO_2);					break;				case 2:					NPCPhrase (UNKNOWN_ZOMBIE_HELLO_3);					break;				case 3:					NPCPhrase (UNKNOWN_ZOMBIE_HELLO_4);					--NumVisits;					break;			}			Zombies ((RESPONSE_REF)0);		}		SET_GAME_STATE (UMGAH_VISITS, NumVisits);	}	else if (!GET_GAME_STATE (TALKING_PET))	{		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))		{//.........这里部分代码省略.........
开发者ID:0xDEC0DE,项目名称:uqm-0.6.4-ee,代码行数:101,


示例28: InvokeDevice

static DeviceStatusInvokeDevice (BYTE which_device){	BYTE val;	switch (which_device)	{		case ROSY_SPHERE_DEVICE:			val = GET_GAME_STATE (ULTRON_CONDITION);			if (val)			{				SET_GAME_STATE (ULTRON_CONDITION, val + 1);				SET_GAME_STATE (ROSY_SPHERE_ON_SHIP, 0);				SET_GAME_STATE (DISCUSSED_ULTRON, 0);				SET_GAME_STATE (SUPOX_ULTRON_HELP, 0);				return DEVICE_SUCCESS;			}			break;		case ARTIFACT_2_DEVICE:			break;		case ARTIFACT_3_DEVICE:			break;		case SUN_EFFICIENCY_DEVICE:			if (LOBYTE (GLOBAL (CurrentActivity)) == IN_INTERPLANETARY					&& playerInPlanetOrbit ())			{				PlayMenuSound (MENU_SOUND_INVOKED);				SleepThreadUntil (FadeScreen (FadeAllToWhite, ONE_SECOND * 1)						+ (ONE_SECOND * 2));				if (CurStarDescPtr->Index != CHMMR_DEFINED						|| !matchWorld (pSolarSysState,								pSolarSysState->pOrbitalDesc,								1, MATCH_PLANET))				{					FadeScreen (FadeAllToColor, ONE_SECOND * 2);				}				else				{					SET_GAME_STATE (CHMMR_EMERGING, 1);					EncounterGroup = 0;					GLOBAL (CurrentActivity) |= START_ENCOUNTER;					PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);					ReinitQueue (&GLOBAL (ip_group_q));					assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);					CloneShipFragment (CHMMR_SHIP,							&GLOBAL (npc_built_ship_q), 0);				}				return DEVICE_SUCCESS_NO_SOUND;			}			break;		case UTWIG_BOMB_DEVICE:			SET_GAME_STATE (UTWIG_BOMB, 0);			GLOBAL (CurrentActivity) &= ~IN_BATTLE;			GLOBAL_SIS (CrewEnlisted) = (COUNT)~0;			return DEVICE_SUCCESS;		case ULTRON_0_DEVICE:			break;		case ULTRON_1_DEVICE:			break;		case ULTRON_2_DEVICE:			break;		case ULTRON_3_DEVICE:			break;		case MAIDENS_DEVICE:			break;		case TALKING_PET_DEVICE:			NextActivity |= CHECK_LOAD; /* fake a load game */			GLOBAL (CurrentActivity) |= START_ENCOUNTER;			SET_GAME_STATE (GLOBAL_FLAGS_AND_DATA, 0);			if (inHQSpace ())			{				if (GetHeadEncounter ())				{					SET_GAME_STATE (SHIP_TO_COMPEL, 1);				}				GLOBAL (CurrentActivity) &= ~IN_BATTLE;				SaveSisHyperState ();			}			else			{				EncounterGroup = 0;				if (GetHeadLink (&GLOBAL (ip_group_q)))				{					SET_GAME_STATE (SHIP_TO_COMPEL, 1);					PutGroupInfo (GROUPS_RANDOM, GROUP_SAVE_IP);					ReinitQueue (&GLOBAL (ip_group_q));					assert (CountLinks (&GLOBAL (npc_built_ship_q)) == 0);				}				if (CurStarDescPtr->Index == SAMATRA_DEFINED)				{					SET_GAME_STATE (READY_TO_CONFUSE_URQUAN, 1);				}				if (playerInPlanetOrbit ())					SaveSolarSysLocation ();//.........这里部分代码省略.........
开发者ID:smaass,项目名称:UQM-MegaMod,代码行数:101,


示例29: GodsSpeak

static voidGodsSpeak (RESPONSE_REF R){	BYTE NumVisits;	if (R == 0)	{		if (GET_GAME_STATE (ILWRATH_FIGHT_THRADDASH))			NPCPhrase (GLORIOUS_WORSHIP);		else if (GET_GAME_STATE (ILWRATH_DECEIVED))			NPCPhrase (ON_WAY);		else		{			NumVisits = GET_GAME_STATE (ILWRATH_GODS_SPOKEN);			switch (NumVisits++)			{				case 0:					NPCPhrase (ILWRATH_BELIEVE);					break;				case 1:					NPCPhrase (GODS_RETURN_1);					break;				case 2:					NPCPhrase (GODS_RETURN_2);					break;				case 3:					NPCPhrase (GODS_RETURN_3);					--NumVisits;					break;			}			SET_GAME_STATE (ILWRATH_GODS_SPOKEN, NumVisits);		}	}	else if (PLAYER_SAID (R, go_kill_thraddash))	{		NPCPhrase (OK_KILL_THRADDASH);		SET_GAME_STATE (ILWRATH_DECEIVED, 1);		AddEvent (RELATIVE_EVENT, 0, 0, 0, ADVANCE_ILWRATH_MISSION);	}	else if (PLAYER_SAID (R, worship_us))	{		NumVisits = GET_GAME_STATE (ILWRATH_WORSHIP);		switch (NumVisits++)		{			case 0:				NPCPhrase (WE_WORSHIP_1);				break;			case 1:				NPCPhrase (WE_WORSHIP_2);				break;			case 2:				NPCPhrase (WE_WORSHIP_3);				--NumVisits;				break;		}		SET_GAME_STATE (ILWRATH_WORSHIP, NumVisits);		DISABLE_PHRASE (worship_us);	}	else if (PLAYER_SAID (R, enough_orders))		NPCPhrase (NEVER_ENOUGH);	if (!GET_GAME_STATE (ILWRATH_DECEIVED))		Response (go_kill_thraddash, GodsSpeak);	if (PHRASE_ENABLED (worship_us))		Response (worship_us, GodsSpeak);	if (PHRASE_ENABLED (other_divine_orders))	{		Response (other_divine_orders, GodsOrder);	}	Response (bye_gods, CombatIsInevitable);}
开发者ID:Serosis,项目名称:UQM-MegaMod,代码行数:73,



注:本文中的GET_GAME_STATE函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GET_GLOBAL函数代码示例
C++ GET_FLOAT_WORD函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。