diff --git a/sc2/ChangeLog b/sc2/ChangeLog index 4068e6265..112c70c0b 100644 --- a/sc2/ChangeLog +++ b/sc2/ChangeLog @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Druuge no longer turn hostile after attempting a salvage (bug #1013) - Alex - Process subtitles correctly with no timestamp file (bug #1060) - Alex - Lander will no longer hang when killed on planets with a lot of natural disasters (bug #584) - Alex diff --git a/sc2/src/sc2code/comm/druuge/druugec.c b/sc2/src/sc2code/comm/druuge/druugec.c index e85d5a482..60d9a3bd7 100644 --- a/sc2/src/sc2code/comm/druuge/druugec.c +++ b/sc2/src/sc2code/comm/druuge/druugec.c @@ -157,6 +157,7 @@ static LOCDATA druuge_desc = }; static COUNT SlaveryCount = 0; +static BOOLEAN AttemptedSalvage = FALSE; static void ExitConversation (RESPONSE_REF R) @@ -688,8 +689,6 @@ Intro (void) { BYTE NumVisits; - SlaveryCount = 0; - if (LOBYTE (GLOBAL (CurrentActivity)) == WON_LAST_BATTLE) { NPCPhrase (OUT_TAKES); @@ -761,7 +760,9 @@ Intro (void) if (GET_GAME_STATE (ATTACKED_DRUUGE) && !GET_GAME_STATE (DRUUGE_DISCLAIMER)) { -// NPCPhrase (HOSTILE_TRADE); + // There is no HOSTILE_TRADE voice track that we know of + // so this is currently disabled + //NPCPhrase (HOSTILE_TRADE); SET_GAME_STATE (DRUUGE_DISCLAIMER, 1); } if (GET_GAME_STATE (MAIDENS_ON_SHIP) @@ -860,6 +861,7 @@ Intro (void) SET_GAME_STATE (DRUUGE_SALVAGE, NumVisits); SET_GAME_STATE (BATTLE_SEGUE, 1); + AttemptedSalvage = TRUE; } else { @@ -891,6 +893,7 @@ static void post_druuge_enc (void) { if (GET_GAME_STATE (BATTLE_SEGUE) == 1 + && !AttemptedSalvage && !GET_GAME_STATE (DRUUGE_MANNER)) { if (!GET_GAME_STATE (ATTACKED_DRUUGE)) @@ -906,6 +909,9 @@ init_druuge_comm (void) { LOCDATA *retval; + SlaveryCount = 0; + AttemptedSalvage = FALSE; + druuge_desc.init_encounter_func = Intro; druuge_desc.post_encounter_func = post_druuge_enc; druuge_desc.uninit_encounter_func = uninit_druuge;