コード例 #1
0
static void
FixBug (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, think_about_rep_priorities))
		NPCPhrase (UH_OH);
	else if (PLAYER_SAID (R, hunt_them_down))
	{
		NPCPhrase (GROW_TOO_FAST);

		DISABLE_PHRASE (hunt_them_down);
	}
	else if (PLAYER_SAID (R, sue_melnorme))
	{
		NPCPhrase (SIGNED_WAIVER);

		DISABLE_PHRASE (sue_melnorme);
	}
	else if (PLAYER_SAID (R, recall_signal))
	{
		NPCPhrase (NOT_THIS_MODEL);

		DISABLE_PHRASE (recall_signal);
	}

	if (PHRASE_ENABLED (hunt_them_down))
		Response (hunt_them_down, FixBug);
	if (PHRASE_ENABLED (sue_melnorme))
		Response (sue_melnorme, FixBug);
	if (PHRASE_ENABLED (recall_signal))
		Response (recall_signal, FixBug);
	Response (mega_self_destruct, HomeWorld);
}
コード例 #2
0
static void
OfferAlliance (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, we_are_vindicator0))
		NPCPhrase (WHY_YOU_HERE);
	else if (PLAYER_SAID (R, exploring_universe))
	{
		NPCPhrase (SENSE_DEEPER_CONFLICT);

		DISABLE_PHRASE (exploring_universe);
	}
	else if (PLAYER_SAID (R, fun_cruise))
	{
		NPCPhrase (REPRESS);

		DISABLE_PHRASE (fun_cruise);
	}

	Response (we_here_to_help, ExitConversation);
	Response (we_need_help, ExitConversation);
	if (PHRASE_ENABLED (exploring_universe))
		Response (exploring_universe, OfferAlliance);
	if (PHRASE_ENABLED (fun_cruise))
		Response (fun_cruise, OfferAlliance);
}
コード例 #3
0
static void
LoserUrquan (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, why_flee))
	{
		NPCPhrase (FLEE_BECAUSE);

		DISABLE_PHRASE (why_flee);
	}
	else if (PLAYER_SAID (R, what_happens_now))
	{
		NPCPhrase (HAPPENS_NOW);

		DISABLE_PHRASE (what_happens_now);
	}
	else if (PLAYER_SAID (R, what_about_you))
	{
		NPCPhrase (ABOUT_US);

		DISABLE_PHRASE (what_about_you);
	}

	if (PHRASE_ENABLED (why_flee))
		Response (why_flee, LoserUrquan);
	if (PHRASE_ENABLED (what_happens_now))
		Response (what_happens_now, LoserUrquan);
	if (PHRASE_ENABLED (what_about_you))
		Response (what_about_you, LoserUrquan);
	Response (bye_wars_over, CombatIsInevitable);
}
コード例 #4
0
ファイル: utwigc.c プロジェクト: njvack/uqm-ios
static void
AfterKohrAh (RESPONSE_REF R)
{
	BYTE NumVisits;

	if (PLAYER_SAID (R, whats_up_after_space))
	{
		NumVisits = GET_GAME_STATE (UTWIG_INFO);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (GENERAL_INFO_AFTER_SPACE_1);
				break;
			case 1:
				NPCPhrase (GENERAL_INFO_AFTER_SPACE_2);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (UTWIG_INFO, NumVisits);

		DISABLE_PHRASE (whats_up_after_space);
	}
	else if (PLAYER_SAID (R, what_now_after_space))
	{
		NPCPhrase (DO_THIS_AFTER_SPACE);

		DISABLE_PHRASE (what_now_after_space);
	}

	if (PHRASE_ENABLED (whats_up_after_space))
		Response (whats_up_after_space, AfterKohrAh);
	if (PHRASE_ENABLED (what_now_after_space))
		Response (what_now_after_space, AfterKohrAh);
	Response (bye_after_space, ExitConversation);
}
コード例 #5
0
ファイル: myconc.c プロジェクト: spippolatore/starcontrol2
static void
SunDevice (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, whats_up_sun_device))
	{
		NPCPhrase (GENERAL_INFO_SUN_DEVICE);

		DISABLE_PHRASE (whats_up_sun_device);
	}
	else if (PLAYER_SAID (R, how_goes_implanting))
	{
		NPCPhrase (UNFORSEEN_DELAYS);

		DISABLE_PHRASE (how_goes_implanting);
	}
	else if (PLAYER_SAID (R, i_have_a_cunning_plan))
	{
		NPCPhrase (DIE_LIAR /* WONT_FALL_FOR_TRICK */);

		SET_GAME_STATE (NO_TRICK_AT_SUN, 1);
	}

	if (PHRASE_ENABLED (whats_up_sun_device))
		Response (whats_up_sun_device, SunDevice);
	if (GET_GAME_STATE (MYCON_FELL_FOR_AMBUSH))
	{
		if (PHRASE_ENABLED (how_goes_implanting) && GET_GAME_STATE (MYCON_FELL_FOR_AMBUSH))
			Response (how_goes_implanting, SunDevice);
		Response (like_to_land, CombatIsInevitable);
	}
	else if (GET_GAME_STATE (MYCON_AMBUSH)
			&& !GET_GAME_STATE (NO_TRICK_AT_SUN))
		Response (i_have_a_cunning_plan, SunDevice);
	Response (bye_sun_device, CombatIsInevitable);
}
コード例 #6
0
ファイル: orzc.c プロジェクト: jurchik/project6014
static void
AllianceMatters (RESPONSE_REF R)
{	
	if (PLAYER_SAID (R, discuss_alliance_matters))
		NPCPhrase (HAPPY_TO_DISCUSS);
	
	if (PLAYER_SAID (R, alliance_question_1))
	{
		NPCPhrase (ALLIANCE_ANSWER_1);
		DISABLE_PHRASE (alliance_question_1);
	}
	else if (PLAYER_SAID (R, alliance_question_2))
	{
		NPCPhrase (ALLIANCE_ANSWER_2);  //TODO 2
		DISABLE_PHRASE (alliance_question_2);
	}
	
	if (PHRASE_ENABLED (alliance_question_1))
		Response (alliance_question_1, AllianceMatters);
	if (PHRASE_ENABLED (alliance_question_2))
		Response (alliance_question_2, AllianceMatters);
	//if (PHRASE_ENABLED (ask_know_fjorn))
	//	Response (ask_know_fjorn, AllianceMatters2); // JMS: Commented out for demo
	
	Response (enough_alliance, SmallTalk1); // JMS
	
	Response (goodbye_orz, ExitConversation);
}
コード例 #7
0
ファイル: umgahc.c プロジェクト: 0xDEC0DE/uqm-0.6.4-ee
static void
NormalUmgah (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, whats_up_pre_zombie))
	{
		NPCPhrase (GENERAL_INFO_PRE_ZOMBIE);

		DISABLE_PHRASE (whats_up_pre_zombie);
	}
	else if (PLAYER_SAID (R, want_to_defeat_urquan))
	{
		NPCPhrase (FINE_BY_US);

		DISABLE_PHRASE (want_to_defeat_urquan);
	}

	if (!GET_GAME_STATE (UMGAH_EVIL_BLOBBIES))
		Response (evil_blobbies_give_up, CombatIsInevitable);
	else
		Response (evil_blobbies_must_die, CombatIsInevitable);
	if (PHRASE_ENABLED (whats_up_pre_zombie))
		Response (whats_up_pre_zombie, NormalUmgah);
	if (PHRASE_ENABLED (want_to_defeat_urquan))
		Response (want_to_defeat_urquan, NormalUmgah);
	switch (GET_GAME_STATE (UMGAH_MENTIONED_TRICKS))
	{
		case 0:
			Response (can_we_be_friends, CombatIsInevitable);
			break;
	}
	Response (bye_pre_zombie, CombatIsInevitable);
}
コード例 #8
0
static void
MentionCompulsion (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, compulsion))
	{
		NPCPhrase (WHAT_COMPULSION);

		SET_GAME_STATE (MENTIONED_PET_COMPULSION, 1);
	}
	else if (PLAYER_SAID (R, possessed_by_devil))
	{
		NPCPhrase (STUPID_DEVIL);

		DISABLE_PHRASE (possessed_by_devil);
	}
	else if (PLAYER_SAID (R, why_explain))
	{
		NPCPhrase (MUST_EXPLAIN);

		DISABLE_PHRASE (why_explain);
	}

	Response (wascally_little_guy, DescribePet);
	Response (alien_mind_control, DescribeCompulsion);
	if (PHRASE_ENABLED (possessed_by_devil))
		Response (possessed_by_devil, MentionCompulsion);
	if (PHRASE_ENABLED (why_explain))
		Response (why_explain, MentionCompulsion);
}
コード例 #9
0
static void
AboutIlwrath (RESPONSE_REF R)
{
	BYTE InfoLeft;

	InfoLeft = FALSE;
	if (PLAYER_SAID (R, what_about_ilwrath))
		NPCPhrase (ABOUT_ILWRATH);
	else if (PLAYER_SAID (R, why_ilwrath_fight))
	{
		NPCPhrase (ILWRATH_FIGHT_BECAUSE);

		DISABLE_PHRASE (why_ilwrath_fight);
	}
	else if (PLAYER_SAID (R, when_fight_start))
	{
		NPCPhrase (FIGHT_START_WHEN);

		DISABLE_PHRASE (when_fight_start);
	}
	else if (PLAYER_SAID (R, how_goes_fight))
	{
		NPCPhrase (FIGHT_GOES);

		DISABLE_PHRASE (how_goes_fight);
	}
	else if (PLAYER_SAID (R, how_stop_fight))
	{
		NPCPhrase (STOP_FIGHT_LIKE_SO);

		DISABLE_PHRASE (how_stop_fight);
	}

	if (PHRASE_ENABLED (why_ilwrath_fight))
	{
		Response (why_ilwrath_fight, AboutIlwrath);
		InfoLeft = TRUE;
	}
	if (PHRASE_ENABLED (when_fight_start))
	{
		Response (when_fight_start, AboutIlwrath);
		InfoLeft = TRUE;
	}
	if (PHRASE_ENABLED (how_goes_fight))
	{
		Response (how_goes_fight, AboutIlwrath);
		InfoLeft = TRUE;
	}
	if (PHRASE_ENABLED (how_stop_fight))
	{
		Response (how_stop_fight, AboutIlwrath);
		InfoLeft = TRUE;
	}
	Response (enough_ilwrath, PkunkHome);

	if (!InfoLeft)
	{
		DISABLE_PHRASE (what_about_ilwrath);
	}
}
コード例 #10
0
static void
ProbeBug (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, probe_has_bug))
		NPCPhrase (NO_IT_DOESNT);
	else if (PLAYER_SAID (R, tell_me_about_rep_2))
	{
		NPCPhrase (REP_NO_PROBLEM);

		DISABLE_PHRASE (tell_me_about_rep_2);
	}
	else if (PLAYER_SAID (R, what_about_rep_priorities))
	{
		NPCPhrase (MAXIMUM_SO_WHAT);

		DISABLE_PHRASE (what_about_rep_priorities);
	}
	else if (PLAYER_SAID (R, tell_me_about_attack))
	{
		NPCPhrase (ATTACK_NO_PROBLEM);

		DISABLE_PHRASE (tell_me_about_attack);
	}

	if (PHRASE_ENABLED (tell_me_about_rep_2))
		Response (tell_me_about_rep_2, ProbeBug);
	else if (PHRASE_ENABLED (what_about_rep_priorities))
		Response (what_about_rep_priorities, ProbeBug);
	else
	{
		Response (think_about_rep_priorities, FixBug);
	}
	if (PHRASE_ENABLED (tell_me_about_attack))
		Response (tell_me_about_attack, ProbeBug);
}
コード例 #11
0
ファイル: ilwrathc.c プロジェクト: Serosis/UQM-MegaMod
static void
IlwrathGods (RESPONSE_REF R)
{
	BYTE GodsLeft;

	GodsLeft = FALSE;
	if (PLAYER_SAID (R, want_info_on_gods))
		NPCPhrase (SO_MUCH_TO_KNOW);
	else if (PLAYER_SAID (R, when_start_worship))
	{
		NPCPhrase (LONG_AGO);

		DISABLE_PHRASE (when_start_worship);
	}
	else if (PLAYER_SAID (R, any_good_gods))
	{
		NPCPhrase (KILLED_GOOD_GODS);

		DISABLE_PHRASE (any_good_gods);
	}
	else if (PLAYER_SAID (R, how_talk_with_gods))
	{
		NPCPhrase (CHANNEL_44);

		DISABLE_PHRASE (how_talk_with_gods);
	}
	else if (PLAYER_SAID (R, why_44))
	{
		NPCPhrase (BECAUSE_44);

		DISABLE_PHRASE (why_44);
	}

	if (PHRASE_ENABLED (when_start_worship))
	{
		Response (when_start_worship, IlwrathGods);
		GodsLeft = TRUE;
	}
	if (PHRASE_ENABLED (any_good_gods))
	{
		Response (any_good_gods, IlwrathGods);
		GodsLeft = TRUE;
	}
	if (PHRASE_ENABLED (how_talk_with_gods))
	{
		Response (how_talk_with_gods, IlwrathGods);
		GodsLeft = TRUE;
	}
	else if (PHRASE_ENABLED (why_44))
	{
		Response (why_44, IlwrathGods);
		GodsLeft = TRUE;
	}
	Response (enough_gods, IlwrathHome);

	if (!GodsLeft)
		DISABLE_PHRASE (want_info_on_gods);
}
コード例 #12
0
ファイル: ilwrathc.c プロジェクト: Serosis/UQM-MegaMod
static void
GodsOrder (RESPONSE_REF R)
{
	BYTE OrdersLeft;

	OrdersLeft = FALSE;
	if (PLAYER_SAID (R, other_divine_orders))
		NPCPhrase (WHAT_ORDERS);
	else if (PLAYER_SAID (R, say_warship))
	{
		NPCPhrase (OK_WARSHIP);

		DISABLE_PHRASE (say_warship);
	}
	else if (PLAYER_SAID (R, say_dwe))
	{
		NPCPhrase (OK_DWE);

		DISABLE_PHRASE (say_dwe);
	}
	else if (PLAYER_SAID (R, say_youboo))
	{
		NPCPhrase (OK_YOUBOO);

		DISABLE_PHRASE (say_youboo);
	}
	else if (PLAYER_SAID (R, say_dillrat))
	{
		NPCPhrase (OK_DILRAT);

		DISABLE_PHRASE (say_dillrat);
	}

	if (PHRASE_ENABLED (say_warship))
	{
		Response (say_warship, GodsOrder);
		OrdersLeft = TRUE;
	}
	if (PHRASE_ENABLED (say_dwe))
	{
		Response (say_dwe, GodsOrder);
		OrdersLeft = TRUE;
	}
	if (PHRASE_ENABLED (say_youboo))
	{
		Response (say_youboo, GodsOrder);
		OrdersLeft = TRUE;
	}
	if (PHRASE_ENABLED (say_dillrat))
	{
		Response (say_dillrat, GodsOrder);
		OrdersLeft = TRUE;
	}
	Response (enough_orders, GodsSpeak);

	if (!OrdersLeft)
		DISABLE_PHRASE (other_divine_orders);
}
コード例 #13
0
ファイル: zoqfotc.c プロジェクト: njvack/uqm-ios
static void
AquaintZoqFot (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, which_fot))
	{
		NPCPhrase_cb (HE_IS0, &SelectAlienZOQ);
		NPCPhrase_cb (HE_IS1, &SelectAlienPIK);
		NPCPhrase_cb (HE_IS2, &SelectAlienZOQ);
		NPCPhrase_cb (HE_IS3, &SelectAlienPIK);
		NPCPhrase_cb (HE_IS4, &SelectAlienZOQ);
		NPCPhrase_cb (HE_IS5, &SelectAlienPIK);
		NPCPhrase_cb (HE_IS6, &SelectAlienZOQ);
		NPCPhrase_cb (HE_IS7, &SelectAlienPIK);
		ZFPTalkSegue ((COUNT)~0);

		DISABLE_PHRASE (which_fot);
	}
	else if (PLAYER_SAID (R, quiet_toadies))
	{
		NPCPhrase_cb (TOLD_YOU0, &SelectAlienZOQ);
		NPCPhrase_cb (TOLD_YOU1, &SelectAlienPIK);
		NPCPhrase_cb (TOLD_YOU2, &SelectAlienZOQ);
		NPCPhrase_cb (TOLD_YOU3, &SelectAlienPIK);
		NPCPhrase_cb (TOLD_YOU4, &SelectAlienZOQ);
		NPCPhrase_cb (TOLD_YOU5, &SelectAlienPIK);
		NPCPhrase_cb (TOLD_YOU6, &SelectAlienZOQ);
		NPCPhrase_cb (TOLD_YOU7, &SelectAlienPIK);
		ZFPTalkSegue ((COUNT)~0);

		DISABLE_PHRASE (quiet_toadies);
	}

	if (PHRASE_ENABLED (we_are_vindicator0))
	{
		UNICODE buf[ALLIANCE_NAME_BUFSIZE];

		GetAllianceName (buf, name_1);
		construct_response (
				shared_phrase_buf,
				we_are_vindicator0,
				buf,
				we_are_vindicator1,
				GLOBAL_SIS (ShipName),
				we_are_vindicator2,
				(UNICODE*)NULL);
	}

	if (PHRASE_ENABLED (which_fot))
		Response (which_fot, AquaintZoqFot);
	if (PHRASE_ENABLED (we_are_vindicator0))
		DoResponsePhrase (we_are_vindicator0, ZoqFotIntro, shared_phrase_buf);
	if (PHRASE_ENABLED (quiet_toadies))
		Response (quiet_toadies, AquaintZoqFot);
	Response (all_very_interesting, ExitConversation);
	Response (valuable_info, ExitConversation);
}
コード例 #14
0
static void
SpathiAllies (RESPONSE_REF R)
{
	if (R == 0)
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (SPATHI_VISITS);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (INIT_ALLIED_HELLO_SPACE);
				break;
			case 1:
				NPCPhrase (SUBSEQUENT_ALLIED_HELLO_SPACE);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (SPATHI_VISITS, NumVisits);
	}
	else if (PLAYER_SAID (R, whats_up_space_2))
	{
		NPCPhrase (GENERAL_INFO_SPACE_2);

		DISABLE_PHRASE (whats_up_space_2);
	}
	else if (PLAYER_SAID (R, give_us_info_from_space))
	{
		NPCPhrase (GET_INFO_FROM_SPATHIWA);

		DISABLE_PHRASE (give_us_info_from_space);
	}
	else if (PLAYER_SAID (R, give_us_resources_space))
	{
		NPCPhrase (GET_RESOURCES_FROM_SPATHIWA);

		DISABLE_PHRASE (give_us_resources_space);
	}
	else if (PLAYER_SAID (R, what_do_for_fun))
	{
		NPCPhrase (DO_THIS_FOR_FUN);

		DISABLE_PHRASE (what_do_for_fun);
	}

	if (PHRASE_ENABLED (whats_up_space_2))
		Response (whats_up_space_2, SpathiAllies);
	if (PHRASE_ENABLED (give_us_info_from_space))
		Response (give_us_info_from_space, SpathiAllies);
	if (PHRASE_ENABLED (give_us_resources_space))
		Response (give_us_resources_space, SpathiAllies);
	if (PHRASE_ENABLED (what_do_for_fun))
		Response (what_do_for_fun, SpathiAllies);
	Response (bye_ally_space, ExitConversation);
}
コード例 #15
0
ファイル: spahome.c プロジェクト: 0xDEC0DE/uqm-0.6.4-ee
static void
SpathiQuest (RESPONSE_REF R)
{
	if (R == 0)
	{
		if (!GET_GAME_STATE (LIED_ABOUT_CREATURES))
			NPCPhrase (HOW_GO_EFFORTS);
		else
			NPCPhrase (YOU_LIED_1);
	}
	else if (PLAYER_SAID (R, little_mistake))
	{
		NPCPhrase (BIG_MISTAKE);

		DISABLE_PHRASE (little_mistake);
	}
	else if (PLAYER_SAID (R, talk_test))
	{
		NPCPhrase (TEST_AGAIN);

		DISABLE_PHRASE (talk_test);
	}
	else if (PLAYER_SAID (R, zapped_a_few))
	{
		NPCPhrase (YOU_FORTUNATE);

		DISABLE_PHRASE (zapped_a_few);
	}

	if (!GET_GAME_STATE (LIED_ABOUT_CREATURES))
		Response (killed_them_all_1, ExitConversation);
	else
	{
		if (PHRASE_ENABLED (little_mistake))
		{
			Response (little_mistake, SpathiQuest);
		}
		Response (killed_them_all_2, ExitConversation);
	}
	if (!GET_GAME_STATE (SPATHI_CREATURES_ELIMINATED))
	{
		if (PHRASE_ENABLED (talk_test))
		{
			Response (talk_test, SpathiQuest);
		}
		if (PHRASE_ENABLED (zapped_a_few)
				&& GET_GAME_STATE (SPATHI_CREATURES_EXAMINED))
		{
			Response (zapped_a_few, SpathiQuest);
		}
		Response (bye_before_party, ExitConversation);
	}
}
コード例 #16
0
static void
AfterAmbush (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, what_now_after_ambush))
	{
		NPCPhrase (DO_THIS_AFTER_AMBUSH);

		DISABLE_PHRASE (what_now_after_ambush);
	}
	else if (PLAYER_SAID (R, what_about_you))
	{
		NPCPhrase (ABOUT_ME);

		DISABLE_PHRASE (what_about_you);
	}
	else if (PLAYER_SAID (R, whats_up_after_ambush))
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (SYREEN_INFO);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (GENERAL_INFO_AFTER_AMBUSH_1);
				break;
			case 1:
				NPCPhrase (GENERAL_INFO_AFTER_AMBUSH_2);
				break;
			case 2:
				NPCPhrase (GENERAL_INFO_AFTER_AMBUSH_3);
				break;
			case 3:
				NPCPhrase (GENERAL_INFO_AFTER_AMBUSH_4);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (SYREEN_INFO, NumVisits);

		DISABLE_PHRASE (whats_up_after_ambush);
	}

	if (PHRASE_ENABLED (what_about_you))
		Response (what_about_you, AfterAmbush);
	else if (!GET_GAME_STATE (PLAYER_HAD_SEX))
	{
		Response (what_about_us, Foreplay);
	}
	if (PHRASE_ENABLED (what_now_after_ambush))
		Response (what_now_after_ambush, AfterAmbush);
	if (PHRASE_ENABLED (whats_up_after_ambush))
		Response (whats_up_after_ambush, AfterAmbush);
	Response (bye_after_ambush, FriendlyExit);
}
コード例 #17
0
static void
InitialSyreen (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, we_are_vice_squad))
	{
		NPCPhrase (OK_VICE);
		NPCPhrase (HOW_CAN_YOU_BE_HERE);
	}
	else if (PLAYER_SAID (R, we_are_the_one_for_you_baby))
	{
		NPCPhrase (MAYBE_CAPTAIN);
		NPCPhrase (HOW_CAN_YOU_BE_HERE);
	}
	else if (PLAYER_SAID (R, we_are_vindicator0))
	{
		NPCPhrase (WELCOME_VINDICATOR0);
		if (speechVolumeScale == 0.0f)
		{
			NPCPhrase (GLOBAL_PLAYER_NAME);
			NPCPhrase (WELCOME_VINDICATOR1);
			NPCPhrase (GLOBAL_SHIP_NAME);
			NPCPhrase (WELCOME_VINDICATOR2);
		}
		NPCPhrase (HOW_CAN_YOU_BE_HERE);
	}
	else if (PLAYER_SAID (R, we_are_impressed))
	{
		NPCPhrase (SO_AM_I_CAPTAIN);
		NPCPhrase (HOW_CAN_YOU_BE_HERE);
	}
	else if (PLAYER_SAID (R, i_need_you))
	{
		NPCPhrase (OK_NEED);

		DISABLE_PHRASE (i_need_you);
		DISABLE_PHRASE (i_need_touch_o_vision);
	}
	else if (PLAYER_SAID (R, i_need_touch_o_vision))
	{
		NPCPhrase (TOUCH_O_VISION);

		DISABLE_PHRASE (i_need_you);
		DISABLE_PHRASE (i_need_touch_o_vision);
	}

	Response (we_here_to_help, NormalSyreen);
	Response (we_need_help, NormalSyreen);
	if (PHRASE_ENABLED (i_need_you))
		Response (i_need_you, InitialSyreen);
	if (PHRASE_ENABLED (i_need_touch_o_vision))
		Response (i_need_touch_o_vision, InitialSyreen);
}
コード例 #18
0
ファイル: orzc.c プロジェクト: jurchik/project6014
void
SmallTalk1 (RESPONSE_REF R)
{	
	if (PLAYER_SAID (R, enough_alliance))
	{
		NPCPhrase (ENOUGH_ALLIANCE_OK);
	}
	if (PLAYER_SAID (R, how_are_things))
	{
		NPCPhrase (HAPPY_ORZ);
		DISABLE_PHRASE (how_are_things);
	}
	else if (PLAYER_SAID (R, any_news))
	{
		NPCPhrase (ORZ_NEWS);
		DISABLE_PHRASE (any_news);
	}
	else if (PLAYER_SAID (R, discuss_alliance_matters))
	{
		NPCPhrase (HAPPY_TO_DISCUSS);
		DISABLE_PHRASE (discuss_alliance_matters);
	}
	else if (PLAYER_SAID (R, tell_of_nature))
	{
		NPCPhrase (ORZ_TELL_1);
		DISABLE_PHRASE (tell_of_nature);
		SET_GAME_STATE(ORZ_STACK0, 1);
	}

	if (PHRASE_ENABLED (how_are_things))
		Response (how_are_things, SmallTalk1);
	if (PHRASE_ENABLED (any_news))
		Response (any_news, SmallTalk1);
	if (PHRASE_ENABLED (discuss_alliance_matters))
		Response (discuss_alliance_matters, AllianceMatters);
	
	switch (GET_GAME_STATE(ORZ_STACK0))
	{
		case 0:
			if (PHRASE_ENABLED (tell_of_nature))
				Response (tell_of_nature, SmallTalk1);
			break;
		case 1:
			if (PHRASE_ENABLED (tell_buddies))
				Response (tell_buddies, AnnoyOrz);
			break;
		default:
			break;
	}
	
	Response (goodbye_orz, ExitConversation);
}
コード例 #19
0
static void
DiscussConquer (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, we_conquer))
	{
		NPCPhrase (WHY_CONQUER);

		DISABLE_PHRASE (we_conquer);
	}
	else if (PLAYER_SAID (R, conquer_because_1))
	{
#if 0
		NPCPhrase (NOT_CONQUER_10);
		NPCPhrase (GLOBAL_ALLIANCE_NAME + name_1);
		NPCPhrase (NOT_CONQUER_11);
		NPCPhrase (GLOBAL_ALLIANCE_NAME + name_1);
		NPCPhrase (NOT_CONQUER_12);
#endif
		NPCPhrase (NOT_CONQUER_1);

		DISABLE_PHRASE (conquer_because_1);
	}
	else if (PLAYER_SAID (R, conquer_because_2))
	{
		NPCPhrase (NOT_CONQUER_2);

		DISABLE_PHRASE (conquer_because_2);
	}

	if (PHRASE_ENABLED (conquer_because_1))
	{
#if 0
		UNICODE buf[ALLIANCE_NAME_BUFSIZE];

		GetAllianceName (buf, name_1);
		construct_response (
				shared_phrase_buf,
				conquer_because_1,
				buf,
				(RESPONSE_REF)-1);
		DoResponsePhrase (conquer_because_1, DiscussConquer, shared_phrase_buf);
#endif
		Response(conquer_because_1, DiscussConquer);
	}
	if (PHRASE_ENABLED (conquer_because_2))
		Response (conquer_because_2, DiscussConquer);
	Response (must_conquer, ExitConversation);
	Response (no_conquest, PkunkHome);
}
コード例 #20
0
ファイル: druugec.c プロジェクト: intgr/sc2-uqm
static void
Space (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, whats_up_in_space))
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (DRUUGE_SPACE_INFO);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (GENERAL_INFO_IN_SPACE_1);
				break;
			case 1:
				NPCPhrase (GENERAL_INFO_IN_SPACE_2);
				break;
			case 2:
				NPCPhrase (GENERAL_INFO_IN_SPACE_3);
				break;
			case 3:
				NPCPhrase (GENERAL_INFO_IN_SPACE_4);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (DRUUGE_SPACE_INFO, NumVisits);

		DISABLE_PHRASE (whats_up_in_space);
	}

	if (PHRASE_ENABLED (whats_up_in_space))
	{
		Response (whats_up_in_space, Space);
	}
	Response (bye, ExitConversation);
}
コード例 #21
0
ファイル: orzc.c プロジェクト: ptaoussanis/urquan-masters
static void
OrzAngry (RESPONSE_REF R)
{
    if (PLAYER_SAID (R, whats_up_angry))
    {
        BYTE NumVisits;

        NumVisits = GET_GAME_STATE (ORZ_GENERAL_INFO);
        switch (NumVisits++)
        {
        case 0:
            NPCPhrase (GENERAL_INFO_ANGRY_1);
            break;
        case 1:
            NPCPhrase (GENERAL_INFO_ANGRY_2);
            --NumVisits;
            break;
        }
        SET_GAME_STATE (ORZ_GENERAL_INFO, NumVisits);

        DISABLE_PHRASE (whats_up_angry);
    }

    if (PHRASE_ENABLED (whats_up_angry))
    {
        Response (whats_up_angry, OrzAngry);
    }
    Response (were_sorry, ExitConversation);
    switch (GET_GAME_STATE (ORZ_PERSONAL_INFO))
    {
    case 0:
        Response (insult_1, ExitConversation);
        break;
    case 1:
        Response (insult_2, ExitConversation);
        break;
    case 2:
        Response (insult_3, ExitConversation);
        break;
    case 3:
        Response (insult_4, ExitConversation);
        break;
    case 4:
        Response (insult_5, ExitConversation);
        break;
    case 5:
        Response (insult_6, ExitConversation);
        break;
    case 6:
        Response (insult_7, ExitConversation);
        break;
    case 7:
        Response (insult_8, ExitConversation);
        break;
    }
    Response (bye_angry, ExitConversation);
}
コード例 #22
0
static void
SpathiAntagonize (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, prepare_to_die))
	{
		NPCPhrase (ALWAYS_PREPARED);

		SET_GAME_STATE (SPATHI_STACK2, 1);
	}
	else if (PLAYER_SAID (R, heard_youre_cowards))
	{
		NPCPhrase (DARN_TOOTIN);

		DISABLE_PHRASE (heard_youre_cowards);
	}
	else if (PLAYER_SAID (R, wanna_fight))
	{
		NPCPhrase (YES_WE_DO);

		DISABLE_PHRASE (wanna_fight);
	}
	else if (PLAYER_SAID (R, so_lets_fight))
	{
		NPCPhrase (OK_LETS_FIGHT);

		DISABLE_PHRASE (so_lets_fight);
	}
	else if (PLAYER_SAID (R, so_lets_fight_already))
	{
		NPCPhrase (DONT_REALLY_WANT_TO_FIGHT);

		DISABLE_PHRASE (so_lets_fight_already);
	}

	if (PHRASE_ENABLED (wanna_fight))
		Response (wanna_fight, SpathiAntagonize);
	else if (PHRASE_ENABLED (so_lets_fight))
		Response (so_lets_fight, SpathiAntagonize);
	else if (PHRASE_ENABLED (so_lets_fight_already))
		Response (so_lets_fight_already, SpathiAntagonize);
	if (PHRASE_ENABLED (heard_youre_cowards))
		Response (heard_youre_cowards, SpathiAntagonize);
	Response (attack_you_now, ExitConversation);
}
コード例 #23
0
ファイル: blackurc.c プロジェクト: 0xDEC0DE/uqm-0.6.4-ee
static void
KohrAhStory (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, key_phrase))
	{
		NPCPhrase (RESPONSE_TO_KEY_PHRASE);

		SET_GAME_STATE (KNOW_KOHR_AH_STORY, 2);
	}
	else if (PLAYER_SAID (R, why_do_you_destroy))
	{
		NPCPhrase (WE_WERE_SLAVES);

		DISABLE_PHRASE (why_do_you_destroy);
	}
	else if (PLAYER_SAID (R, relationship_with_urquan))
	{
		NPCPhrase (WE_ARE_URQUAN_TOO);

		DISABLE_PHRASE (relationship_with_urquan);
	}
	else if (PLAYER_SAID (R, what_about_culture))
	{
		NPCPhrase (BONE_GARDENS);

		DISABLE_PHRASE (what_about_culture);
	}
	else if (PLAYER_SAID (R, how_leave_me_alone))
	{
		NPCPhrase (YOU_DIE);

		DISABLE_PHRASE (how_leave_me_alone);
	}

	if (PHRASE_ENABLED (why_do_you_destroy))
		Response (why_do_you_destroy, KohrAhStory);
	if (PHRASE_ENABLED (relationship_with_urquan))
		Response (relationship_with_urquan, KohrAhStory);
	if (PHRASE_ENABLED (what_about_culture))
		Response (what_about_culture, KohrAhStory);
	if (PHRASE_ENABLED (how_leave_me_alone))
		Response (how_leave_me_alone, KohrAhStory);
	Response (guess_thats_all, CombatIsInevitable);
}
コード例 #24
0
static void
Foreplay (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, whats_my_reward)
			|| PLAYER_SAID (R, what_about_us))
	{
		if (PLAYER_SAID (R, whats_my_reward))
			NPCPhrase (HERES_REWARD);
		else
			NPCPhrase (ABOUT_US);
		NPCPhrase (MORE_COMFORTABLE);
		AlienTalkSegue (1);
		XFormColorMap (GetColorMapAddress (
				SetAbsColorMapIndex (CommData.AlienColorMap, 1)
				), ONE_SECOND);
		AlienTalkSegue ((COUNT)~0);

		SET_GAME_STATE (PLAYER_HAVING_SEX, 1);
	}
	else if (PLAYER_SAID (R, why_lights_off))
	{
		NPCPhrase (LIGHTS_OFF_BECAUSE);

		DISABLE_PHRASE (why_lights_off);
	}
	else if (PLAYER_SAID (R, evil_monster))
	{
		NPCPhrase (NOT_EVIL_MONSTER);

		DISABLE_PHRASE (evil_monster);
	}

	if (PHRASE_ENABLED (why_lights_off))
		Response (why_lights_off, Foreplay);
	else if (PHRASE_ENABLED (evil_monster))
		Response (evil_monster, Foreplay);
	else
		Response (disease, Sex);
	Response (in_the_spirit, Sex);
	Response (what_in_mind, Sex);
	Response (hands_off, FriendlyExit);
}
コード例 #25
0
ファイル: spahome.c プロジェクト: 0xDEC0DE/uqm-0.6.4-ee
static void
SpathiPassword (RESPONSE_REF R)
{
	if (R == 0)
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (SPATHI_HOME_VISITS);
		switch (NumVisits++)
		{
			default:
				NPCPhrase (WHAT_IS_PASSWORD);
				NumVisits = 1;
				break;
			case 1:
				NPCPhrase (WHAT_IS_PASSWORD_AGAIN);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (SPATHI_HOME_VISITS, NumVisits);
	}
	else if (PLAYER_SAID (R, what_do_i_get))
	{
		NPCPhrase (YOU_GET_TO_LIVE);

		DISABLE_PHRASE (what_do_i_get);
	}

	if (GET_GAME_STATE (FOUND_PLUTO_SPATHI)
			|| GET_GAME_STATE (KNOW_SPATHI_PASSWORD))
	{
		Response (good_password, SpathiCouncil);
		if (PHRASE_ENABLED (what_do_i_get))
		{
			Response (what_do_i_get, SpathiPassword);
		}
	}
	else
	{
		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, ExitConversation, shared_phrase_buf);
		Response (gort_merenga, ExitConversation);
		Response (guph_florp, ExitConversation);
		Response (wagngl_fthagn, ExitConversation);
		Response (pleeese, ExitConversation);
		Response (screw_password, ExitConversation);
	}
}
コード例 #26
0
ファイル: arilouc.c プロジェクト: 0xDEC0DE/uqm-0.6.4-ee
static void
AngryHomeArilou (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, invaders_from_mars))
	{
		NPCPhrase (HAD_OUR_REASONS);

		DISABLE_PHRASE (invaders_from_mars);
	}
	else if (PLAYER_SAID (R, why_should_i_trust))
	{
		NPCPhrase (TRUST_BECAUSE);

		DISABLE_PHRASE (why_should_i_trust);
	}
	else if (PLAYER_SAID (R, what_about_interference))
	{
		NPCPhrase (INTERFERENCE_NECESSARY);

		DISABLE_PHRASE (what_about_interference);
	}
	else if (PLAYER_SAID (R, i_just_like_to_leave))
	{
		NPCPhrase (SORRY_NO_LEAVE);

		DISABLE_PHRASE (i_just_like_to_leave);
	}

	if (PHRASE_ENABLED (invaders_from_mars))
		Response (invaders_from_mars, AngryHomeArilou);
	else
	{
		Response (bug_eyed_fruitcakes, ExitConversation);
	}
	if (PHRASE_ENABLED (why_should_i_trust))
		Response (why_should_i_trust, AngryHomeArilou);
	else if (PHRASE_ENABLED (what_about_interference))
		Response (what_about_interference, AngryHomeArilou);
	Response (ok_lets_be_friends, ArilouHome);
	Response (i_just_like_to_leave, AngryHomeArilou);
}
コード例 #27
0
static void
PkunkAngry (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, why_insults))
	{
		NPCPhrase (RELEASE_TENSION);

		DISABLE_PHRASE (why_insults);
	}
	else if (PLAYER_SAID (R, what_about_you))
	{
		NPCPhrase (ABOUT_US);

		DISABLE_PHRASE (what_about_you);
	}
	else if (PLAYER_SAID (R, should_be_friends))
	{
		NPCPhrase (YES_FRIENDS);

		DISABLE_PHRASE (should_be_friends);
	}

	if (PHRASE_ENABLED (should_be_friends))
	{
		Response (should_be_friends, PkunkAngry);
	}
	else
	{
		if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))
			Response (try_to_be_nicer, PkunkHome);
		else
			Response (try_to_be_nicer, ExitConversation);
	}
	Response (die_idiot_fools, ExitConversation);
	if (PHRASE_ENABLED (why_insults))
		Response (why_insults, PkunkAngry);
	if (PHRASE_ENABLED (what_about_you))
		Response (what_about_you, PkunkAngry);
	Response (bye_angry, ExitConversation);
}
コード例 #28
0
static void
SpathiFriendly (RESPONSE_REF R)
{
	if (R == 0)
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (SPATHI_VISITS);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (INIT_FRIENDLY_HELLO_SPACE);
				break;
			case 1:
				NPCPhrase (SUBSEQUENT_FRIENDLY_HELLO_SPACE);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (SPATHI_VISITS, NumVisits);
	}
	else if (PLAYER_SAID (R, since_friendly_give_stuff))
	{
		NPCPhrase (GIVE_ADVICE);

		DISABLE_PHRASE (since_friendly_give_stuff);
	}
	else if (PLAYER_SAID (R, whats_up_space_1))
	{
		NPCPhrase (GENERAL_INFO_SPACE_1);

		DISABLE_PHRASE (whats_up_space_1);
	}

	if (PHRASE_ENABLED (whats_up_space_1))
		Response (whats_up_space_1, SpathiFriendly);
	if (PHRASE_ENABLED (since_friendly_give_stuff))
		Response (since_friendly_give_stuff, SpathiFriendly);
	Response (bye_friendly_space, ExitConversation);
}
コード例 #29
0
static void
AmbushReady (RESPONSE_REF R)
{
	if (PLAYER_SAID (R, repeat_plan))
	{
		NPCPhrase (OK_REPEAT_PLAN);

		DISABLE_PHRASE (repeat_plan);
	}

	if (PHRASE_ENABLED (repeat_plan))
		Response (repeat_plan, AmbushReady);
	Response (bye_before_ambush, FriendlyExit);
}
コード例 #30
0
ファイル: ilwrathc.c プロジェクト: Serosis/UQM-MegaMod
static void
IlwrathHome (RESPONSE_REF R)
{
	if (R == 0)
	{
		BYTE NumVisits;

		NumVisits = GET_GAME_STATE (ILWRATH_HOME_VISITS);
		switch (NumVisits++)
		{
			case 0:
				NPCPhrase (INIT_HOME_HELLO);
				break;
			case 1:
				NPCPhrase (SUBSEQUENT_HOME_HELLO);
				--NumVisits;
				break;
		}
		SET_GAME_STATE (ILWRATH_HOME_VISITS, NumVisits);
	}
	else if (PLAYER_SAID (R, enough_gods))
		NPCPhrase (OK_ENOUGH_GODS);
	else if (PLAYER_SAID (R, enough_ilwrath))
		NPCPhrase (OK_ENOUGH_ILWRATH);

	if (PHRASE_ENABLED (want_info_on_gods))
	{
		Response (want_info_on_gods, IlwrathGods);
	}
	if (PHRASE_ENABLED (want_info_on_ilwrath))
	{
		Response (want_info_on_ilwrath, IlwrathInfo);
	}
	Response (want_peace, CombatIsInevitable);
	Response (want_alliance, CombatIsInevitable);
	Response (bye_homeworld, CombatIsInevitable);
}