diff --git a/Strategic/mapscreen.cpp b/Strategic/mapscreen.cpp index 279b0e91..e9fdb63d 100644 --- a/Strategic/mapscreen.cpp +++ b/Strategic/mapscreen.cpp @@ -15495,6 +15495,16 @@ void ExplainWhySkyriderCantFly( void ) return; } + // travelled too far? + if ( gGameExternalOptions.fAlternativeHelicopterFuelSystem ) + { + if ( iTotalHeliDistanceSinceRefuel > gHelicopterSettings.ubHelicopterDistanceWithoutRefuel ) + { + DoMapMessageBox( MSG_BOX_BASIC_STYLE, pHelicopterRepairRefuelStrings[STR_HELI_TOOFAR_ERROR], MAP_SCREEN, MSG_BOX_FLAG_OK, MapScreenDefaultOkBoxCallback ); + return; + } + } + // no explainable reason } diff --git a/Utils/Text.h b/Utils/Text.h index 8ef79e5e..2230cd79 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -690,6 +690,8 @@ enum STR_HELI_RR_REPAIR_FINISHED, STR_HELI_RR_REFUEL_FINISHED, + STR_HELI_TOOFAR_ERROR, + TEXT_NUM_STR_HELI_REPAIRS, }; diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index 72015d09..660f319b 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -4114,6 +4114,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"直升机已经拆卸。请等到修理完成。", L"修理完成。直升机已可使用。", L"直升机已加满油。", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index 34f1054e..847f9a2d 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -4113,6 +4113,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Helicopter is currently disassembled. Wait until repairs are finished.", L"Repairs completed. Helicopter is available again.", L"Helicopter is fully refueled.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 858f83a0..65ed555d 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -4111,6 +4111,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Helicopter is currently disassembled. Wait until repairs are finished.", L"Repairs completed. Helicopter is available again.", L"Helicopter is fully refueled.", + + L"Helicopter has exceeded maximum range!", }; STR16 sMapLevelString[] = diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 5f61ccf5..c38b34ce 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -4117,6 +4117,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"L'hélicoptère est actuellement démonté. Attendez jusqu'à ce que les réparations soient terminées.", L"Les réparations sont terminées. L'hélicoptère est à nouveau disponible.", L"L'hélicoptère est complètement ravitaillé.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 976532da..53de67bb 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -4116,6 +4116,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Helicopter is currently disassembled. Wait until repairs are finished.", L"Repairs completed. Helicopter is available again.", L"Helicopter is fully refueled.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index d2bea90d..d32ce54e 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -4107,6 +4107,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Helicopter is currently disassembled. Wait until repairs are finished.", L"Repairs completed. Helicopter is available again.", L"Helicopter is fully refueled.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index a683c328..de49f284 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -4118,6 +4118,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Helikopter jest obecnie rozmontowany. Zaczekaj aż naprawa zostanie ukończona.", L"Helikopter jest znów dostępny do lotu.", L"Helicopter jest zatankowany do pełna.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] = diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 4301d1e5..add4275c 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -4111,6 +4111,8 @@ STR16 pHelicopterRepairRefuelStrings[]= L"Вертолет разобран. Подождите, пока не закончится его ремонт.", L"Ремонт закончен. Вертолет снова доступен.", L"Вертолет полностью заправлен.", + + L"Helicopter has exceeded maximum range!", // TODO.Translate }; STR16 sMapLevelString[] =