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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); } }
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); }
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); }
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); }
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); }
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); }