diff --git a/sc2/ChangeLog b/sc2/ChangeLog index c19fe89a1..f855d5d73 100644 --- a/sc2/ChangeLog +++ b/sc2/ChangeLog @@ -1,4 +1,5 @@ Changes towards version 0.7: +- Fixed 'caster comm with Ilwrath after they die off (bug #850) - Alex - Fixed Syreen Vault lander report infinite loop (bug #1118) - Alex - Same captain names are used on both net sides (bug #989) - Alex - Fixed sync loss in netplay games having duplicate ships (bug #1081) - Alex diff --git a/sc2/src/uqm/planets/devices.c b/sc2/src/uqm/planets/devices.c index 6504847ac..927c4ca25 100644 --- a/sc2/src/uqm/planets/devices.c +++ b/sc2/src/uqm/planets/devices.c @@ -231,8 +231,9 @@ UseCaster (void) || !playerInSolarSystem ()) return FALSE; - if (pSolarSysState->pOrbitalDesc == &pSolarSysState->PlanetDesc[1] - && playerInPlanetOrbit () + if (playerInPlanetOrbit () + && matchWorld (pSolarSysState, pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET) && CurStarDescPtr->Index == CHMMR_DEFINED && !GET_GAME_STATE (CHMMR_UNLEASHED)) { @@ -254,8 +255,9 @@ UseCaster (void) BOOLEAN FoundIlwrath; HIPGROUP hGroup; - FoundIlwrath = (BOOLEAN)(CurStarDescPtr->Index == ILWRATH_DEFINED); - // In the Ilwrath home system? + FoundIlwrath = (CurStarDescPtr->Index == ILWRATH_DEFINED) + && ActivateStarShip (ILWRATH_SHIP, SPHERE_TRACKING); + // In the Ilwrath home system and they are alive? if (!FoundIlwrath && (hGroup = GetHeadLink (&GLOBAL (ip_group_q)))) @@ -328,8 +330,9 @@ InvokeDevice (BYTE which_device) SleepThreadUntil (FadeScreen (FadeAllToWhite, ONE_SECOND * 1) + (ONE_SECOND * 2)); if (CurStarDescPtr->Index != CHMMR_DEFINED - || pSolarSysState->pOrbitalDesc != - &pSolarSysState->PlanetDesc[1]) + || !matchWorld (pSolarSysState, + pSolarSysState->pOrbitalDesc, + 1, MATCH_PLANET)) { FadeScreen (FadeAllToColor, ONE_SECOND * 2); }