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
This commit is contained in:
avolkov
2011-04-27 08:01:47 +00:00
parent e4700f7ca8
commit 3084dfc463
+20
View File
@@ -697,6 +697,14 @@ Intro (void)
else if (GET_GAME_STATE (TALKING_PET_ON_SHIP)) else if (GET_GAME_STATE (TALKING_PET_ON_SHIP))
{ {
NumVisits = GET_GAME_STATE (TALKING_PET_VISITS); 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++) switch (NumVisits++)
{ {
case 0: case 0:
@@ -773,10 +781,22 @@ Intro (void)
else else
{ {
if (ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING)) if (ActivateStarShip (UMGAH_SHIP, SPHERE_TRACKING))
{
NPCPhrase (LETS_MAKE_A_DEAL); NPCPhrase (LETS_MAKE_A_DEAL);
}
else else
{
NPCPhrase (UMGAH_ALL_GONE); 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); PetDeal ((RESPONSE_REF)0);
} }
} }