From 3084dfc463f4e4628824b8e81f121885dcb19ac8 Mon Sep 17 00:00:00 2001 From: avolkov Date: Wed, 27 Apr 2011 08:01:47 +0000 Subject: [PATCH] Disable the Talking Pet exchanges regarding the Taalo shield which make no sense when the player has none; bug #822 git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3593 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/uqm/comm/talkpet/talkpet.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sc2/src/uqm/comm/talkpet/talkpet.c b/sc2/src/uqm/comm/talkpet/talkpet.c index aa34eefb7..1bcbd49d0 100644 --- a/sc2/src/uqm/comm/talkpet/talkpet.c +++ b/sc2/src/uqm/comm/talkpet/talkpet.c @@ -697,6 +697,14 @@ Intro (void) else if (GET_GAME_STATE (TALKING_PET_ON_SHIP)) { NumVisits = GET_GAME_STATE (TALKING_PET_VISITS); + + // You can acquire the Talking Pet without having Taalo Shield after + // the Kohr-Ah wipe out the Umgah. In that case, the Pet will join + // you willingly, but his complaints about the Taalo shield as in + // HELLO_AS_DEVICE_1 do not make any sense. + if (!GET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP) && NumVisits == 0) + ++NumVisits; // skip HELLO_AS_DEVICE_1 + switch (NumVisits++) { case 0: @@ -773,10 +781,22 @@ Intro (void) else { if (ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING)) + { NPCPhrase (LETS_MAKE_A_DEAL); + } else + { NPCPhrase (UMGAH_ALL_GONE); + if (GET_GAME_STATE (TALKING_PET_HOME_VISITS) == 0 + || !GET_GAME_STATE (TAALO_PROTECTOR_ON_SHIP)) + { // The how_trust-TRUST exchange only makes sense when the + // player visited the Talking Pet before so he tried to + // kill the player *and* the player has the Taalo shield. + DISABLE_PHRASE (how_trust); + } + } + PetDeal ((RESPONSE_REF)0); } }