summaryrefslogtreecommitdiff
path: root/src/uqm/comm/pkunk
diff options
context:
space:
mode:
Diffstat (limited to 'src/uqm/comm/pkunk')
-rw-r--r--src/uqm/comm/pkunk/Makeinfo2
-rw-r--r--src/uqm/comm/pkunk/pkunkc.c1148
-rw-r--r--src/uqm/comm/pkunk/resinst.h9
-rw-r--r--src/uqm/comm/pkunk/strings.h214
4 files changed, 1373 insertions, 0 deletions
diff --git a/src/uqm/comm/pkunk/Makeinfo b/src/uqm/comm/pkunk/Makeinfo
new file mode 100644
index 0000000..67dc511
--- /dev/null
+++ b/src/uqm/comm/pkunk/Makeinfo
@@ -0,0 +1,2 @@
+uqm_CFILES="pkunkc.c"
+uqm_HFILES="resinst.h strings.h"
diff --git a/src/uqm/comm/pkunk/pkunkc.c b/src/uqm/comm/pkunk/pkunkc.c
new file mode 100644
index 0000000..5db575d
--- /dev/null
+++ b/src/uqm/comm/pkunk/pkunkc.c
@@ -0,0 +1,1148 @@
+//Copyright Paul Reiche, Fred Ford. 1992-2002
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "../commall.h"
+#include "resinst.h"
+#include "strings.h"
+
+#include "uqm/build.h"
+#include "uqm/gameev.h"
+
+
+static LOCDATA pkunk_desc =
+{
+ NULL, /* init_encounter_func */
+ NULL, /* post_encounter_func */
+ NULL, /* uninit_encounter_func */
+ PKUNK_PMAP_ANIM, /* AlienFrame */
+ PKUNK_FONT, /* AlienFont */
+ WHITE_COLOR_INIT, /* AlienTextFColor */
+ BLACK_COLOR_INIT, /* AlienTextBColor */
+ {0, 0}, /* AlienTextBaseline */
+ 0, /* SIS_TEXT_WIDTH - 16, */ /* AlienTextWidth */
+ ALIGN_CENTER, /* AlienTextAlign */
+ VALIGN_TOP, /* AlienTextValign */
+ PKUNK_COLOR_MAP, /* AlienColorMap */
+ PKUNK_MUSIC, /* AlienSong */
+ NULL_RESOURCE, /* AlienAltSong */
+ 0, /* AlienSongFlags */
+ PKUNK_CONVERSATION_PHRASES, /* PlayerPhrases */
+ 3, /* NumAnimations */
+ { /* AlienAmbientArray (ambient animations) */
+ {
+ 3, /* StartIndex */
+ 4, /* NumFrames */
+ CIRCULAR_ANIM
+ | WAIT_TALKING, /* AnimFlags */
+ ONE_SECOND / 30, 0, /* FrameRate */
+ ONE_SECOND, ONE_SECOND * 3, /* RestartRate */
+ 0, /* BlockMask */
+ },
+ {
+ 7, /* StartIndex */
+ 4, /* NumFrames */
+ YOYO_ANIM
+ | WAIT_TALKING, /* AnimFlags */
+ ONE_SECOND / 10, 0, /* FrameRate */
+ ONE_SECOND, ONE_SECOND * 3, /* RestartRate */
+ (1 << 2), /* BlockMask */
+ },
+ {
+ 11, /* StartIndex */
+ 3, /* NumFrames */
+ YOYO_ANIM
+ | WAIT_TALKING, /* AnimFlags */
+ ONE_SECOND / 30, 0, /* FrameRate */
+ ONE_SECOND, ONE_SECOND * 3, /* RestartRate */
+ (1 << 1), /* BlockMask */
+ },
+ },
+ { /* AlienTransitionDesc */
+ 0, /* StartIndex */
+ 0, /* NumFrames */
+ 0, /* AnimFlags */
+ 0, 0, /* FrameRate */
+ 0, 0, /* RestartRate */
+ 0, /* BlockMask */
+ },
+ { /* AlienTalkDesc */
+ 1, /* StartIndex */
+ 2, /* NumFrames */
+ 0, /* AnimFlags */
+ ONE_SECOND / 15, ONE_SECOND / 6, /* FrameRate */
+ ONE_SECOND / 12, ONE_SECOND / 2, /* RestartRate */
+ 0, /* BlockMask */
+ },
+ NULL, /* AlienNumberSpeech - none */
+ /* Filler for loaded resources */
+ NULL, NULL, NULL,
+ NULL,
+ NULL,
+};
+
+static BOOLEAN
+ShipsReady (void)
+{
+ SIZE i;
+
+ return (GET_GAME_STATE (PKUNK_MANNER) == 3
+ && !((i = (GLOBAL (GameClock.year_index) - START_YEAR) - GET_GAME_STATE (PKUNK_SHIP_YEAR)) < 0
+ || ((i == 0 && (i = GLOBAL (GameClock.month_index) - GET_GAME_STATE (PKUNK_SHIP_MONTH)) < 0)
+ || (i == 0 && GLOBAL (GameClock.day_index) < GET_GAME_STATE (PKUNK_SHIP_DAY)))));
+}
+
+static void
+PrepareShip (void)
+{
+#define MAX_PKUNK_SHIPS 4
+ if (AddEscortShips (PKUNK_SHIP, MAX_PKUNK_SHIPS))
+ {
+ BYTE mi, di, yi;
+
+ mi = GLOBAL (GameClock.month_index);
+ SET_GAME_STATE (PKUNK_SHIP_MONTH, mi);
+ if ((di = GLOBAL (GameClock.day_index)) > 28)
+ di = 28;
+ SET_GAME_STATE (PKUNK_SHIP_DAY, di);
+ yi = (BYTE)(GLOBAL (GameClock.year_index) - START_YEAR) + 1;
+ SET_GAME_STATE (PKUNK_SHIP_YEAR, yi);
+ }
+}
+
+#define GOOD_REASON_1 (1 << 0)
+#define GOOD_REASON_2 (1 << 1)
+#define BAD_REASON_1 (1 << 2)
+#define BAD_REASON_2 (1 << 3)
+
+static void
+ExitConversation (RESPONSE_REF R)
+{
+ setSegue (Segue_peace);
+
+ if (PLAYER_SAID (R, friendly_bye_space))
+ NPCPhrase (FRIENDLY_GOODBYE_SPACE);
+ else if (PLAYER_SAID (R, neutral_bye_space))
+ NPCPhrase (NEUTRAL_GOODBYE_SPACE);
+ else if (PLAYER_SAID (R, bye_angry))
+ NPCPhrase (GOODBYE_ANGRY);
+ else if (PLAYER_SAID (R, bye_friendly))
+ NPCPhrase (GOODBYE_FRIENDLY);
+ else if (PLAYER_SAID (R, we_here_to_help)
+ || PLAYER_SAID (R, we_need_help))
+ {
+ if (PLAYER_SAID (R, we_here_to_help))
+ NPCPhrase (NEED_HELP);
+ else
+ NPCPhrase (GIVE_HELP);
+ NPCPhrase (ALMOST_ALLIANCE);
+
+ SET_GAME_STATE (PKUNK_MANNER, 3);
+ SET_GAME_STATE (PKUNK_VISITS, 0);
+ SET_GAME_STATE (PKUNK_HOME_VISITS, 0);
+ SET_GAME_STATE (PKUNK_INFO, 0);
+
+ AddEvent (RELATIVE_EVENT, 6, 0, 0, ADVANCE_PKUNK_MISSION);
+ if (EscortFeasibilityStudy (PKUNK_SHIP) == 0)
+ NPCPhrase (INIT_NO_ROOM);
+ else
+ {
+ NPCPhrase (INIT_SHIP_GIFT);
+ AlienTalkSegue ((COUNT)~0);
+ PrepareShip ();
+ }
+ }
+ else if (PLAYER_SAID (R, try_to_be_nicer))
+ {
+ NPCPhrase (CANT_ASK_FOR_MORE);
+ NPCPhrase (VISIT_OUR_HOMEWORLD);
+
+ SET_GAME_STATE (PKUNK_MANNER, 3);
+ SET_GAME_STATE (PKUNK_VISITS, 0);
+ SET_GAME_STATE (PKUNK_HOME_VISITS, 0);
+ SET_GAME_STATE (PKUNK_INFO, 0);
+ }
+ else if (PLAYER_SAID (R, must_conquer)
+ || PLAYER_SAID (R, obey))
+ {
+ if (PLAYER_SAID (R, obey))
+ NPCPhrase (NO_OBEY);
+ else
+ {
+ NPCPhrase (BAD_IDEA);
+
+ SET_GAME_STATE (PKUNK_MANNER, 2);
+ }
+ setSegue (Segue_hostile);
+ }
+ else if (PLAYER_SAID (R, die_idiot_fools))
+ {
+ NPCPhrase (VERY_WELL);
+
+ setSegue (Segue_hostile);
+ }
+ else if (PLAYER_SAID (R, suit_yourself))
+ NPCPhrase (GOODBYE_MIGRATION);
+ else
+ {
+ BYTE ReasonMask;
+
+ ReasonMask = GET_GAME_STATE (PKUNK_REASONS);
+ if (PLAYER_SAID (R, good_reason_1))
+ {
+ NPCPhrase (WE_GO_HOME_1);
+ ReasonMask |= GOOD_REASON_1;
+ AddEvent (RELATIVE_EVENT, 0, 0, 0, ADVANCE_PKUNK_MISSION);
+ }
+ else if (PLAYER_SAID (R, good_reason_2))
+ {
+ NPCPhrase (WE_GO_HOME_2);
+ ReasonMask |= GOOD_REASON_2;
+ AddEvent (RELATIVE_EVENT, 0, 0, 0, ADVANCE_PKUNK_MISSION);
+ }
+ else if (PLAYER_SAID (R, bad_reason_1))
+ {
+ NPCPhrase (NO_GO_HOME_1);
+ ReasonMask |= BAD_REASON_1;
+ }
+ else if (PLAYER_SAID (R, bad_reason_2))
+ {
+ NPCPhrase (NO_GO_HOME_2);
+ ReasonMask |= BAD_REASON_2;
+ }
+ SET_GAME_STATE (PKUNK_REASONS, ReasonMask);
+ }
+}
+
+static void PkunkHome (RESPONSE_REF R);
+
+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
+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
+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
+AboutPkunk (RESPONSE_REF R)
+{
+ BYTE InfoLeft;
+
+ InfoLeft = FALSE;
+ if (PLAYER_SAID (R, what_about_you))
+ NPCPhrase (ABOUT_US);
+ else if (PLAYER_SAID (R, what_about_history))
+ {
+ NPCPhrase (ABOUT_HISTORY);
+
+ DISABLE_PHRASE (what_about_history);
+ }
+ else if (PLAYER_SAID (R, what_about_yehat))
+ {
+ NPCPhrase (ABOUT_YEHAT);
+
+ DISABLE_PHRASE (what_about_yehat);
+ }
+ else if (PLAYER_SAID (R, what_about_culture))
+ {
+ NPCPhrase (ABOUT_CULTURE);
+
+ DISABLE_PHRASE (what_about_culture);
+ }
+ else if (PLAYER_SAID (R, elaborate_culture))
+ {
+ NPCPhrase (OK_ELABORATE_CULTURE);
+
+ DISABLE_PHRASE (elaborate_culture);
+ }
+ else if (PLAYER_SAID (R, what_about_future))
+ {
+ NPCPhrase (ABOUT_FUTURE);
+
+ DISABLE_PHRASE (what_about_future);
+ }
+
+ if (PHRASE_ENABLED (what_about_history))
+ {
+ Response (what_about_history, AboutPkunk);
+ InfoLeft = TRUE;
+ }
+ else if (PHRASE_ENABLED (what_about_yehat))
+ {
+ Response (what_about_yehat, AboutPkunk);
+ InfoLeft = TRUE;
+ }
+ if (PHRASE_ENABLED (what_about_culture))
+ {
+ Response (what_about_culture, AboutPkunk);
+ InfoLeft = TRUE;
+ }
+ else if (PHRASE_ENABLED (elaborate_culture))
+ {
+ Response (elaborate_culture, AboutPkunk);
+ InfoLeft = TRUE;
+ }
+ if (PHRASE_ENABLED (what_about_future))
+ {
+ Response (what_about_future, AboutPkunk);
+ InfoLeft = TRUE;
+ }
+ Response (enough_about_you, PkunkHome);
+
+ if (!InfoLeft)
+ {
+ DISABLE_PHRASE (what_about_you);
+ }
+}
+
+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
+PkunkHome (RESPONSE_REF R)
+{
+ BYTE NumVisits;
+
+ if (PLAYER_SAID (R, no_conquest))
+ NPCPhrase (GOOD_IDEA);
+ else if (PLAYER_SAID (R, enough_ilwrath))
+ NPCPhrase (OK_ENOUGH_ILWRATH);
+ else if (PLAYER_SAID (R, enough_about_you))
+ NPCPhrase (OK_ENOUGH_ABOUT_US);
+ else if (PLAYER_SAID (R, where_fleet_1)
+ || PLAYER_SAID (R, where_fleet_2)
+ || PLAYER_SAID (R, where_fleet_3))
+ {
+ SET_GAME_STATE (PKUNK_SWITCH, 1);
+ if (!(GET_GAME_STATE (PKUNK_MISSION) & 1))
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_RETURN);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (RETURNING_FROM_YEHAT_1);
+ break;
+ case 1:
+ NPCPhrase (RETURNING_FROM_YEHAT_2);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_RETURN, NumVisits);
+ }
+ else
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_MIGRATE);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (MIGRATING_HOMEWORLD_1);
+ break;
+ case 1:
+ NPCPhrase (MIGRATING_HOMEWORLD_2);
+ break;
+ case 2:
+ NPCPhrase (MIGRATING_HOMEWORLD_3);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_MIGRATE, NumVisits);
+ }
+
+ NumVisits = GET_GAME_STATE (PKUNK_FLEET) + 1;
+ SET_GAME_STATE (PKUNK_FLEET, NumVisits);
+
+ DISABLE_PHRASE (where_fleet_1);
+ }
+ else if (PLAYER_SAID (R, am_worried_1)
+ || PLAYER_SAID (R, am_worried_2)
+ || PLAYER_SAID (R, am_worried_3))
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_WORRY);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (DONT_WORRY_1);
+ break;
+ case 1:
+ NPCPhrase (DONT_WORRY_2);
+ break;
+ case 2:
+ NPCPhrase (DONT_WORRY_3);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_WORRY, NumVisits);
+
+ DISABLE_PHRASE (am_worried_1);
+ }
+ else if (PLAYER_SAID (R, try_to_be_nicer))
+ {
+ NPCPhrase (CANT_ASK_FOR_MORE);
+ if (!GET_GAME_STATE (CLEAR_SPINDLE))
+ {
+ NPCPhrase (GIVE_SPINDLE);
+
+ SET_GAME_STATE (CLEAR_SPINDLE, 1);
+ SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1);
+ }
+ NPCPhrase (CAN_BE_FRIENDS);
+
+ SET_GAME_STATE (PKUNK_MANNER, 3);
+ SET_GAME_STATE (PKUNK_VISITS, 0);
+ SET_GAME_STATE (PKUNK_HOME_VISITS, 0);
+ }
+ else if (PLAYER_SAID (R, what_about_ilwrath))
+ {
+ NPCPhrase (ABOUT_ILWRATH /* ILWRATH_GONE */);
+
+ DISABLE_PHRASE (what_about_ilwrath);
+ }
+
+ if (PHRASE_ENABLED (we_conquer) && GET_GAME_STATE (PKUNK_MANNER) == 0)
+ {
+ Response (we_conquer, DiscussConquer);
+ }
+ if (GET_GAME_STATE (PKUNK_ON_THE_MOVE))
+ {
+ if (PHRASE_ENABLED (where_fleet_1) && !GET_GAME_STATE (PKUNK_SWITCH))
+ {
+ switch (GET_GAME_STATE (PKUNK_FLEET))
+ {
+ case 0:
+ Response (where_fleet_1, PkunkHome);
+ break;
+ case 1:
+ Response (where_fleet_2, PkunkHome);
+ break;
+ case 2:
+ Response (where_fleet_3, PkunkHome);
+ break;
+ }
+ }
+ else if (!PHRASE_ENABLED (where_fleet_1)
+ && PHRASE_ENABLED (am_worried_1)
+ && (GET_GAME_STATE (PKUNK_MISSION) & 1))
+ {
+ switch (GET_GAME_STATE (PKUNK_WORRY))
+ {
+ case 0:
+ Response (am_worried_1, PkunkHome);
+ break;
+ case 1:
+ Response (am_worried_2, PkunkHome);
+ break;
+ case 2:
+ Response (am_worried_3, PkunkHome);
+ break;
+ }
+ }
+ }
+ if (!GET_GAME_STATE (PKUNK_SHIP_MONTH))
+ {
+ 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, OfferAlliance, shared_phrase_buf);
+ }
+ if (PHRASE_ENABLED (what_about_you))
+ {
+ Response (what_about_you, AboutPkunk);
+ }
+ if (PHRASE_ENABLED (what_about_ilwrath))
+ {
+ if (!GET_GAME_STATE (ILWRATH_DECEIVED))
+ {
+ Response (what_about_ilwrath, AboutIlwrath);
+ }
+ else
+ {
+ Response (what_about_ilwrath, PkunkHome);
+ }
+ }
+ Response (bye_friendly, ExitConversation);
+}
+
+static void
+PkunkFriendlySpace (RESPONSE_REF R)
+{
+ BYTE NumVisits;
+
+ if (PLAYER_SAID (R, whats_up_space))
+ {
+ if (ShipsReady ())
+ NPCPhrase (SHIPS_AT_HOME);
+ else
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_INFO);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (GENERAL_INFO_SPACE_1);
+ break;
+ case 1:
+ NPCPhrase (GENERAL_INFO_SPACE_2);
+ break;
+ case 2:
+ NPCPhrase (GENERAL_INFO_SPACE_3);
+ break;
+ case 3:
+ NPCPhrase (GENERAL_INFO_SPACE_4);
+ break;
+ case 4:
+ NPCPhrase (GENERAL_INFO_SPACE_5);
+ break;
+ case 5:
+ NPCPhrase (GENERAL_INFO_SPACE_6);
+ break;
+ case 6:
+ NPCPhrase (GENERAL_INFO_SPACE_7);
+ break;
+ case 7:
+ NPCPhrase (GENERAL_INFO_SPACE_8);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_INFO, NumVisits);
+ }
+
+ DISABLE_PHRASE (whats_up_space);
+ }
+ else if (PLAYER_SAID (R, how_goes_war))
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_WAR);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (WAR_GOES_1);
+ SET_GAME_STATE (KNOW_URQUAN_STORY, 1);
+ SET_GAME_STATE (KNOW_KOHR_AH_STORY, 1);
+ break;
+ case 1:
+ NPCPhrase (WAR_GOES_2);
+ break;
+ case 2:
+ NPCPhrase (WAR_GOES_3);
+ break;
+ case 3:
+ NPCPhrase (WAR_GOES_4);
+ SET_GAME_STATE (PKUNK_DONE_WAR, 1);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_WAR, NumVisits);
+
+ DISABLE_PHRASE (how_goes_war);
+ }
+ else if (PLAYER_SAID (R, tell_my_fortune))
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_FORTUNE);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (FORTUNE_IS_1);
+ break;
+ case 1:
+ NPCPhrase (FORTUNE_IS_2);
+ break;
+ case 2:
+ NPCPhrase (FORTUNE_IS_3);
+ break;
+ case 3:
+ NPCPhrase (FORTUNE_IS_4);
+ break;
+ case 4:
+ NPCPhrase (FORTUNE_IS_5);
+ break;
+ case 5:
+ NPCPhrase (FORTUNE_IS_6);
+ break;
+ case 6:
+ NPCPhrase (FORTUNE_IS_7);
+ break;
+ case 7:
+ NPCPhrase (FORTUNE_IS_8);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_FORTUNE, NumVisits);
+
+ DISABLE_PHRASE (tell_my_fortune);
+ }
+
+ if (PHRASE_ENABLED (whats_up_space))
+ Response (whats_up_space, PkunkFriendlySpace);
+ if (!GET_GAME_STATE (PKUNK_DONE_WAR) && PHRASE_ENABLED (how_goes_war))
+ Response (how_goes_war, PkunkFriendlySpace);
+ if (PHRASE_ENABLED (tell_my_fortune))
+ Response (tell_my_fortune, PkunkFriendlySpace);
+ Response (friendly_bye_space, ExitConversation);
+}
+
+static void
+PkunkNeutralSpace (RESPONSE_REF R)
+{
+ BYTE NumVisits;
+
+ if (PLAYER_SAID (R, form_alliance))
+ {
+ NPCPhrase (GO_TO_HOMEWORLD);
+
+ DISABLE_PHRASE (form_alliance);
+ }
+ else if (PLAYER_SAID (R, can_you_help))
+ {
+ NPCPhrase (GO_TO_HOMEWORLD_AGAIN);
+
+ DISABLE_PHRASE (can_you_help);
+ }
+ else if (PLAYER_SAID (R, hostile_greeting))
+ {
+ NPCPhrase (DONT_BE_HOSTILE);
+
+ DISABLE_PHRASE (hostile_greeting);
+ }
+ else if (PLAYER_SAID (R, whats_up_neutral))
+ {
+ NumVisits = GET_GAME_STATE (PKUNK_INFO);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (GENERAL_INFO_SPACE_1);
+ break;
+ case 1:
+ NPCPhrase (GENERAL_INFO_SPACE_2);
+ break;
+ case 2:
+ NPCPhrase (GENERAL_INFO_SPACE_6 /* was 3 */);
+ break;
+ case 3:
+ NPCPhrase (GENERAL_INFO_SPACE_7 /* was 4 */);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_INFO, NumVisits);
+
+ DISABLE_PHRASE (whats_up_neutral);
+ }
+
+ if (PHRASE_ENABLED (form_alliance))
+ Response (form_alliance, PkunkNeutralSpace);
+ else if (PHRASE_ENABLED (can_you_help))
+ Response (can_you_help, PkunkNeutralSpace);
+ if (PHRASE_ENABLED (hostile_greeting))
+ Response (hostile_greeting, PkunkNeutralSpace);
+ else
+ {
+ Response (obey, ExitConversation);
+ }
+ if (PHRASE_ENABLED (whats_up_neutral))
+ Response (whats_up_neutral, PkunkNeutralSpace);
+ Response (neutral_bye_space, ExitConversation);
+}
+
+static void
+PkunkMigrate (RESPONSE_REF R)
+{
+ BYTE ReasonMask;
+ (void) R; // ignored
+
+ ReasonMask = GET_GAME_STATE (PKUNK_REASONS);
+ if (!(ReasonMask & GOOD_REASON_1))
+ Response (good_reason_1, ExitConversation);
+ if (!(ReasonMask & BAD_REASON_1))
+ Response (bad_reason_1, ExitConversation);
+ if (!(ReasonMask & GOOD_REASON_2))
+ Response (good_reason_2, ExitConversation);
+ if (!(ReasonMask & BAD_REASON_2))
+ Response (bad_reason_2, ExitConversation);
+ Response (suit_yourself, ExitConversation);
+}
+
+static void
+Intro (void)
+{
+ BYTE NumVisits, Manner;
+
+ if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)
+ {
+ NPCPhrase (OUT_TAKES);
+
+ setSegue (Segue_peace);
+ return;
+ }
+
+ Manner = GET_GAME_STATE (PKUNK_MANNER);
+ if (Manner == 2)
+ {
+ // Irreparably Pissed off the Pkunk.
+ NumVisits = GET_GAME_STATE (PKUNK_VISITS);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (HATE_YOU_FOREVER_1);
+ break;
+ case 1:
+ NPCPhrase (HATE_YOU_FOREVER_2);
+ break;
+ case 2:
+ NPCPhrase (HATE_YOU_FOREVER_3);
+ break;
+ case 3:
+ NPCPhrase (HATE_YOU_FOREVER_4);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_VISITS, NumVisits);
+
+ setSegue (Segue_hostile);
+ }
+ else if (Manner == 1)
+ {
+ // Bad relations with the Pkunk, but not irreparably.
+ NumVisits = GET_GAME_STATE (PKUNK_VISITS);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (SPIRITUAL_PROBLEMS_1);
+ break;
+ case 1:
+ NPCPhrase (SPIRITUAL_PROBLEMS_2);
+ break;
+ case 2:
+ NPCPhrase (SPIRITUAL_PROBLEMS_3);
+ break;
+ case 3:
+ NPCPhrase (SPIRITUAL_PROBLEMS_4);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_VISITS, NumVisits);
+
+ PkunkAngry ((RESPONSE_REF)0);
+ }
+ else if (GET_GAME_STATE (GLOBAL_FLAGS_AND_DATA) & (1 << 7))
+ {
+ // Encountering the Pkunk at their home world.
+ if (!GET_GAME_STATE (CLEAR_SPINDLE))
+ {
+ NPCPhrase (GIVE_SPINDLE);
+
+ SET_GAME_STATE (CLEAR_SPINDLE, 1);
+ SET_GAME_STATE (CLEAR_SPINDLE_ON_SHIP, 1);
+ }
+ else if (!GET_GAME_STATE (PKUNK_SENSE_VICTOR)
+ && GLOBAL (GameClock.year_index) > START_YEAR
+ && !GET_GAME_STATE (KOHR_AH_FRENZY))
+ {
+ NPCPhrase (SENSE_KOHRAH_VICTORY);
+
+ SET_GAME_STATE (PKUNK_SENSE_VICTOR, 1);
+ }
+
+ NumVisits = GET_GAME_STATE (PKUNK_HOME_VISITS);
+ if (Manner == 0)
+ {
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (NEUTRAL_HOMEWORLD_HELLO_1);
+ break;
+ case 1:
+ NPCPhrase (NEUTRAL_HOMEWORLD_HELLO_2);
+ break;
+ case 2:
+ NPCPhrase (NEUTRAL_HOMEWORLD_HELLO_3);
+ break;
+ case 3:
+ NPCPhrase (NEUTRAL_HOMEWORLD_HELLO_4);
+ --NumVisits;
+ break;
+ }
+ }
+ else
+ {
+ if (NumVisits && ShipsReady ())
+ {
+ if (EscortFeasibilityStudy (PKUNK_SHIP) == 0)
+ NPCPhrase (NO_ROOM);
+ else
+ {
+ NPCPhrase (SHIP_GIFT);
+ PrepareShip ();
+ }
+ }
+ else switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_1);
+ break;
+ case 1:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_2);
+ break;
+ case 2:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_3);
+ break;
+ case 3:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_4);
+ break;
+ case 4:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_5);
+ break;
+ case 5:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_6);
+ break;
+ case 6:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_7);
+ break;
+ case 7:
+ NPCPhrase (FRIENDLY_HOMEWORLD_HELLO_8);
+ --NumVisits;
+ break;
+ }
+ }
+ SET_GAME_STATE (PKUNK_HOME_VISITS, NumVisits);
+
+ PkunkHome ((RESPONSE_REF)0);
+ }
+ else if ((NumVisits = GET_GAME_STATE (PKUNK_MISSION)) == 0
+ || !(NumVisits & 1))
+ {
+ // Encountering a Pkunk ship in space, while they are not
+ // migrating.
+ NumVisits = GET_GAME_STATE (PKUNK_VISITS);
+ if (Manner == 3)
+ {
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_1);
+ break;
+ case 1:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_2);
+ break;
+ case 2:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_3);
+ break;
+ case 3:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_4);
+ break;
+ case 4:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_5);
+ break;
+ case 5:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_6);
+ break;
+ case 6:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_7);
+ break;
+ case 7:
+ NPCPhrase (FRIENDLY_SPACE_HELLO_8);
+ --NumVisits;
+ break;
+ }
+
+ PkunkFriendlySpace ((RESPONSE_REF)0);
+ }
+ else
+ {
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (NEUTRAL_SPACE_HELLO_1);
+ break;
+ case 1:
+ NPCPhrase (NEUTRAL_SPACE_HELLO_2);
+ break;
+ case 2:
+ NPCPhrase (NEUTRAL_SPACE_HELLO_3);
+ break;
+ case 3:
+ NPCPhrase (NEUTRAL_SPACE_HELLO_4);
+ --NumVisits;
+ break;
+ }
+
+ PkunkNeutralSpace ((RESPONSE_REF)0);
+ }
+ SET_GAME_STATE (PKUNK_VISITS, NumVisits);
+
+ }
+ else
+ {
+ // Encountering a Pkunk ship in space, while they are
+ // migrating.
+ NumVisits = GET_GAME_STATE (PKUNK_MIGRATE_VISITS);
+ switch (NumVisits++)
+ {
+ case 0:
+ NPCPhrase (MIGRATING_SPACE_1);
+ break;
+ case 1:
+ NPCPhrase (MIGRATING_SPACE_2);
+ break;
+ case 2:
+ NPCPhrase (MIGRATING_SPACE_3);
+ break;
+ case 3:
+ NPCPhrase (MIGRATING_SPACE_4);
+ break;
+ case 4:
+ NPCPhrase (MIGRATING_SPACE_5);
+ break;
+ case 5:
+ NPCPhrase (MIGRATING_SPACE_6);
+ break;
+ case 6:
+ NPCPhrase (MIGRATING_SPACE_7);
+ break;
+ case 7:
+ NPCPhrase (MIGRATING_SPACE_8);
+ --NumVisits;
+ break;
+ }
+ SET_GAME_STATE (PKUNK_MIGRATE_VISITS, NumVisits);
+
+ PkunkMigrate ((RESPONSE_REF)0);
+ }
+}
+
+// Called after combat or communications
+static COUNT
+uninit_pkunk (void)
+{
+ return (0);
+}
+
+static void
+post_pkunk_enc (void)
+{
+ BYTE Manner;
+
+ if (getSegue () == Segue_hostile
+ && (Manner = GET_GAME_STATE (PKUNK_MANNER)) != 2)
+ {
+ SET_GAME_STATE (PKUNK_MANNER, 1);
+ if (Manner != 1)
+ {
+ SET_GAME_STATE (PKUNK_VISITS, 0);
+ SET_GAME_STATE (PKUNK_HOME_VISITS, 0);
+ }
+ }
+}
+
+LOCDATA*
+init_pkunk_comm (void)
+{
+ LOCDATA *retval;
+
+ pkunk_desc.init_encounter_func = Intro;
+ pkunk_desc.post_encounter_func = post_pkunk_enc;
+ pkunk_desc.uninit_encounter_func = uninit_pkunk;
+
+ pkunk_desc.AlienTextBaseline.x = TEXT_X_OFFS + (SIS_TEXT_WIDTH >> 1);
+ pkunk_desc.AlienTextBaseline.y = 0;
+ pkunk_desc.AlienTextWidth = SIS_TEXT_WIDTH - 16;
+
+ if (GET_GAME_STATE (PKUNK_MANNER) == 3
+ || LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE)
+ {
+ // Enter communications immediately.
+ setSegue (Segue_peace);
+ }
+ else
+ {
+ // Ask the player whether to attack or talk.
+ setSegue (Segue_hostile);
+ }
+ retval = &pkunk_desc;
+
+ return (retval);
+}
+
+
diff --git a/src/uqm/comm/pkunk/resinst.h b/src/uqm/comm/pkunk/resinst.h
new file mode 100644
index 0000000..8f9ab7a
--- /dev/null
+++ b/src/uqm/comm/pkunk/resinst.h
@@ -0,0 +1,9 @@
+/* This file was auto-generated by the gen_resfiles utility and
+ should not be edited directly. Modify the master resource list
+ instead and regenerate. */
+
+#define PKUNK_COLOR_MAP "comm.pkunk.colortable"
+#define PKUNK_CONVERSATION_PHRASES "comm.pkunk.dialogue"
+#define PKUNK_FONT "comm.pkunk.font"
+#define PKUNK_MUSIC "comm.pkunk.music"
+#define PKUNK_PMAP_ANIM "comm.pkunk.graphics"
diff --git a/src/uqm/comm/pkunk/strings.h b/src/uqm/comm/pkunk/strings.h
new file mode 100644
index 0000000..beb8b86
--- /dev/null
+++ b/src/uqm/comm/pkunk/strings.h
@@ -0,0 +1,214 @@
+//Copyright Paul Reiche, Fred Ford. 1992-2002
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef PKUNK_STRINGS_H
+#define PKUNK_STRINGS_H
+
+enum
+{
+ NULL_PHRASE,
+ GIVE_SPINDLE,
+ name_1,
+ name_2,
+ name_3,
+ name_40,
+ name_41,
+ NEUTRAL_SPACE_HELLO_1,
+ NEUTRAL_SPACE_HELLO_3,
+ NEUTRAL_SPACE_HELLO_2,
+ NEUTRAL_SPACE_HELLO_4,
+ FRIENDLY_SPACE_HELLO_1,
+ FRIENDLY_SPACE_HELLO_2,
+ FRIENDLY_SPACE_HELLO_3,
+ FRIENDLY_SPACE_HELLO_4,
+ FRIENDLY_SPACE_HELLO_5,
+ FRIENDLY_SPACE_HELLO_6,
+ FRIENDLY_SPACE_HELLO_7,
+ FRIENDLY_SPACE_HELLO_8,
+ NEUTRAL_HOMEWORLD_HELLO_1,
+ NEUTRAL_HOMEWORLD_HELLO_2,
+ NEUTRAL_HOMEWORLD_HELLO_3,
+ NEUTRAL_HOMEWORLD_HELLO_4,
+ FRIENDLY_HOMEWORLD_HELLO_1,
+ FRIENDLY_HOMEWORLD_HELLO_2,
+ FRIENDLY_HOMEWORLD_HELLO_3,
+ FRIENDLY_HOMEWORLD_HELLO_4,
+ FRIENDLY_HOMEWORLD_HELLO_5,
+ FRIENDLY_HOMEWORLD_HELLO_6,
+ FRIENDLY_HOMEWORLD_HELLO_7,
+ FRIENDLY_HOMEWORLD_HELLO_8,
+ whats_up_neutral,
+ GENERAL_INFO_NEUTRAL_1,
+ GENERAL_INFO_NEUTRAL_2,
+ GENERAL_INFO_NEUTRAL_3,
+ GENERAL_INFO_NEUTRAL_4,
+ good_reason_1,
+ WE_GO_HOME_1,
+ good_reason_2,
+ WE_GO_HOME_2,
+ bad_reason_1,
+ NO_GO_HOME_1,
+ bad_reason_2,
+ NO_GO_HOME_2,
+ SENSE_KOHRAH_VICTORY,
+ SPIRITUAL_PROBLEMS_1,
+ SPIRITUAL_PROBLEMS_2,
+ SPIRITUAL_PROBLEMS_3,
+ SPIRITUAL_PROBLEMS_4,
+ HATE_YOU_FOREVER_1,
+ HATE_YOU_FOREVER_2,
+ HATE_YOU_FOREVER_3,
+ HATE_YOU_FOREVER_4,
+ MIGRATING_SPACE_1,
+ MIGRATING_SPACE_2,
+ MIGRATING_SPACE_3,
+ MIGRATING_SPACE_4,
+ MIGRATING_SPACE_5,
+ MIGRATING_SPACE_6,
+ MIGRATING_SPACE_7,
+ MIGRATING_SPACE_8,
+ die_idiot_fools,
+ VERY_WELL,
+ why_insults,
+ RELEASE_TENSION,
+ what_about_you_angry,
+ ABOUT_US_ANGRY,
+ what_about_you,
+ should_be_friends,
+ YES_FRIENDS,
+ try_to_be_nicer,
+ CANT_ASK_FOR_MORE,
+ VISIT_OUR_HOMEWORLD,
+ CAN_BE_FRIENDS,
+ bye_angry,
+ GOODBYE_ANGRY,
+ we_conquer,
+ WHY_CONQUER,
+ conquer_because_1,
+#if 0
+ NOT_CONQUER_10,
+ NOT_CONQUER_11,
+ NOT_CONQUER_12,
+#endif
+ NOT_CONQUER_1,
+ conquer_because_2,
+ NOT_CONQUER_2,
+ must_conquer,
+ BAD_IDEA,
+ no_conquest,
+ GOOD_IDEA,
+ we_are_vindicator0,
+ we_are_vindicator1,
+ we_are_vindicator2,
+ WHY_YOU_HERE,
+ we_here_to_help,
+ NEED_HELP,
+ we_need_help,
+ GIVE_HELP,
+ exploring_universe,
+ SENSE_DEEPER_CONFLICT,
+ fun_cruise,
+ REPRESS,
+ why_ilwrath_fight,
+ ILWRATH_FIGHT_BECAUSE,
+ when_fight_start,
+ FIGHT_START_WHEN,
+ how_goes_fight,
+ FIGHT_GOES,
+ how_goes_war,
+ WAR_GOES_1,
+ WAR_GOES_2,
+ WAR_GOES_3,
+ WAR_GOES_4,
+ how_stop_fight,
+ STOP_FIGHT_LIKE_SO,
+ enough_ilwrath,
+ OK_ENOUGH_ILWRATH,
+ what_about_history,
+ ABOUT_HISTORY,
+ what_about_yehat,
+ ABOUT_YEHAT,
+ what_about_culture,
+ ABOUT_CULTURE,
+ elaborate_culture,
+ OK_ELABORATE_CULTURE,
+ what_about_future,
+ ABOUT_FUTURE,
+ enough_about_you,
+ OK_ENOUGH_ABOUT_US,
+ ABOUT_US,
+ where_fleet_1,
+ where_fleet_2,
+ where_fleet_3,
+ MIGRATING_HOMEWORLD_1,
+ MIGRATING_HOMEWORLD_2,
+ MIGRATING_HOMEWORLD_3,
+ RETURNING_FROM_YEHAT_1,
+ RETURNING_FROM_YEHAT_2,
+ am_worried_1,
+ am_worried_2,
+ am_worried_3,
+ DONT_WORRY_1,
+ DONT_WORRY_2,
+ DONT_WORRY_3,
+ form_alliance,
+ GO_TO_HOMEWORLD,
+ can_you_help,
+ GO_TO_HOMEWORLD_AGAIN,
+ hostile_greeting,
+ DONT_BE_HOSTILE,
+ obey,
+ NO_OBEY,
+ neutral_bye_space,
+ NEUTRAL_GOODBYE_SPACE,
+ SHIP_GIFT,
+ NO_ROOM,
+ friendly_bye_space,
+ FRIENDLY_GOODBYE_SPACE,
+ bye_friendly,
+ GOODBYE_FRIENDLY,
+ ALMOST_ALLIANCE,
+ INIT_NO_ROOM,
+ INIT_SHIP_GIFT,
+ suit_yourself,
+ GOODBYE_MIGRATION,
+ what_about_ilwrath,
+ ABOUT_ILWRATH,
+ whats_up_space,
+ SHIPS_AT_HOME,
+ GENERAL_INFO_SPACE_1,
+ GENERAL_INFO_SPACE_2,
+ GENERAL_INFO_SPACE_3,
+ GENERAL_INFO_SPACE_4,
+ GENERAL_INFO_SPACE_5,
+ GENERAL_INFO_SPACE_6,
+ GENERAL_INFO_SPACE_7,
+ GENERAL_INFO_SPACE_8,
+ tell_my_fortune,
+ FORTUNE_IS_1,
+ FORTUNE_IS_2,
+ FORTUNE_IS_3,
+ FORTUNE_IS_4,
+ FORTUNE_IS_5,
+ FORTUNE_IS_6,
+ FORTUNE_IS_7,
+ FORTUNE_IS_8,
+ OUT_TAKES,
+};
+
+#endif /* _STRINGS_H */