# HG changeset patch # User Silverwing # Date 2017-02-11 11:07:52 # Node ID 7fe15ad0527d59e8c6f759f3e31fd775881956fd # Parent 66ba1f615fee69d2a4a115ce23191eadfd82d2a1 Leviathan reworked(complete?) diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -362,7 +362,7 @@ leviathan_wardroom = darkroom { disp = "Левиафан, кают-компания"; leviathan = true; dsc_lit = [[В центре просторной кают-компании Левиафана укреплен массивный деревянный стол. Электрические лампы, укрепленные на потолке над столом и на стенах излучают яркий свет. ]]; - dsc_halflit = [[В слабом свете лампы, вы с трудом различаете очертания предметов. Судя по всему, вы находитесь в кают-компании. В центре установлен массивный стол, вокруг которого стоят несколько стульев. ]]; + dsc_halflit = [[В слабом свете лампы вы с трудом различаете очертания предметов. Судя по всему, вы находитесь в кают-компании. В центре установлен массивный стол, вокруг которого стоят несколько стульев. ]]; dsc_dark = [[Кают-компания погружена во мрак и вы совсем ничего не видите. ]]; way = { kh_vroom("В рубку", "leviathan_wheelhouse", 1); @@ -384,15 +384,15 @@ leviathan_engines = darkroom { end; disp = "Левиафан, машинное отделение"; leviathan = true; - dsc_lit = [[Вы находитесь в машинном отделении Левиафана. ]]; - dsc_halflit = [[Вы находитесь в машинном отделении Левиафана. ]]; - dsc_dark = [[Вы находитесь в машинном отделении Левиафана. В темноте вы ничего не можете разглядеть. ]]; + dsc_lit = [[Вы стоите на небольшой металлической платформе посреди достаточно большого помещения. Вверху и внизу тянутся какие-то трубы. Слева и справа от вас расположены механизмы, приводящие субмарину в движение. Единственная лампа, расположенная над входом, дает достаточно света, чтобы можно было осмотреться. ]]; + dsc_halflit = [[В слабом свете лампы вы с трудом различаете очертания предметов. Вы стоите на небольшой металлической платформе посреди достаточно большого помещения. Вверху и внизу тянутся какие-то трубы. Слева и справа от вас расположены механизмы, приводящие субмарину в движение. ]]; + dsc_dark = [[Машинный отсек Левиафана погружен во мрак и вы совсем ничего не видите. ]]; -- Равномерный гул электрических двигателей сообщает о полной готовности субмарины. way = { kh_vroom("В коридор", "leviathan_corridor", 1); }; obj = { - 'leviathan_battery'; + 'leviathan_battery'; 'leviathan_breaker'; 'leviathan_engineering_sensors'; 'leviathan_engineering_wiring'; @@ -401,7 +401,7 @@ leviathan_engines = darkroom { leviathan_engineering_sensors = obj { nam = "leviathan_engineering_sensors"; - dsc = [[На стене над батареей расположена {панель} со множеством лампочек. ]]; + dsc = [[Рядом с батареей расположена {панель} со множеством лампочек. ]]; act = function(s) if (submarine_leviathan.battery) then pr("На панели горят следующие лампочки: "); @@ -427,9 +427,9 @@ leviathan_battery = obj { nam = "leviathan_battery"; dsc = function(s) if (s.opened) then - return [[Значительную часть помещения занимает {блок аккумуляторных батарей}. Крышка блока открыта и вы видите, что электроды подверглись сильной коррозии за долгое время неиспользования. ]]; + return [[В дальнем конце помещения расположен {блок аккумуляторных батарей}. Крышка блока открыта и вы видите, что электроды подверглись сильной коррозии за долгое время неиспользования. ]]; else - return [[Значительную часть помещения занимает {блок аккумуляторных батарей}. Крышка блока закрыта. ]]; + return [[В дальнем конце помещения занимает {блок аккумуляторных батарей}. Крышка блока закрыта. ]]; end; end; act = function(s) @@ -507,9 +507,9 @@ leviathan_lower_deck = darkroom { end; disp = "Левиафан, нижняя палуба"; leviathan = true; - dsc_lit = [[Вы находитесь на нижней палубе Левиафана. Здесь нет иллюминаторов. Повсюду раскиданы обломки металла, неизвестно откуда взявшиеся. В передней части помещения вы видите несколько отверстий для зарядки торпедных аппаратов. ]]; - dsc_halflit = [[Вы находитесь на нижней палубе Левиафана. Здесь нет иллюминаторов. Повсюду раскиданы обломки металла, неизвестно откуда взявшиеся. В передней части помещения вы видите несколько отверстий для зарядки торпедных аппаратов. ]]; - dsc_dark = [[Вы находитесь на нижней палубе Левиафана. Здесь нет иллюминаторов. В темноте вы ничего не можете разглядеть. ]]; + dsc_lit = [[Большой отсек на нижней палубе Левиафана освещен электрическими лампами, укрепленными на стенах. Повсюду раскиданы неизвестно откуда взявшиеся обломки металла. В передней части помещения вы видите несколько отверстий для зарядки торпедных аппаратов. ]]; + dsc_halflit = [[Большой отсек на нижней палубе Левиафана слабо освещен вашей лампой. Повсюду раскиданы неизвестно откуда взявшиеся обломки металла. В передней части помещения вы видите несколько отверстий для зарядки торпедных аппаратов. ]]; + dsc_dark = [[На нижней палубе Левиафана темно и вы совсем ничего не видите. ]]; way = { kh_vroom("В коридор", "leviathan_corridor", 1); kh_vroom("К системе жизнеобеспечения", "leviathan_life_support", 1); @@ -526,10 +526,9 @@ leviathan_life_support = darkroom { end; disp = "Левиафан, система жизнеобеспечения"; leviathan = true; - --TODO прочитать, разобраться как подобный отсек мог бы выглядеть и описать его как подобает - dsc_lit = [[Вы находитесь в отсеке систем жизнеобеспечения "Левиафана". Это важнейший отсек корабля, в котором расположено все необходимое для обеспечения команды воздухом для дыхания в течение нескольких месяцев. ]]; - dsc_halflit = [[Вы находитесь в отсеке систем жизнеобеспечения "Левиафана". Это важнейший отсек корабля, в котором расположено все необходимое для обеспечения команды воздухом для дыхания в течение нескольких месяцев. ]]; - dsc_dark = [[Вы находитесь в отсеке систем жизнеобеспечения "Левиафана". В темноте вы ничего не можете разглядеть. ]]; + dsc_lit = [[Электрическая лампа освещает важнейший отсек корабля. Здесь расположено все необходимое для обеспечения команды воздухом для дыхания в течение нескольких месяцев. ]]; + dsc_halflit = [[Слабый свет лампы освещает важнейший отсек корабля. Здесь расположено все необходимое для обеспечения команды воздухом для дыхания в течение нескольких месяцев. ]]; + dsc_dark = [[Отсек погружен во мрак и вы не видите совсем ничего. ]]; way = { kh_vroom("Назад", "leviathan_lower_deck", 1); }; @@ -545,9 +544,9 @@ leviathan_airtanks = obj { dsc = function(s) local percent = submarine_leviathan.air_level / 432000 * 100; if (percent < 1) then - return [[Большую часть помещения занимают огромные {кислородные баллоны}. Толстые стенки из прочного сплава способны выдержать огромное давление. Судя по показаниям приборов, баллоны пусты. ]] + return [[Большую часть помещения занимают {кислородные баллоны}. Толстые стенки из прочного сплава способны выдержать огромное давление. Судя по показаниям приборов, баллоны пусты. ]] else - return [[Большую часть помещения занимают огромные {кислородные баллоны}. Толстые стенки из прочного сплава способны выдержать огромное давление. Судя по показаниям приборов, баллоны заполнены на ]] .. tostring(math.floor(percent + 0.5)) .. "%. "; + return [[Большую часть помещения занимают {кислородные баллоны}. Толстые стенки из прочного сплава способны выдержать огромное давление. Судя по показаниям приборов, баллоны заполнены на ]] .. tostring(math.floor(percent + 0.5)) .. "%. "; end; end; seen_level = 1; @@ -574,7 +573,7 @@ leviathan_wheelhouse = darkroom { view = where(submarine_leviathan).view; end; - return [[Вы находитесь в рулевой рубке Левиафана. Три огромных иллюминатора дают превосходный обзор. ]] .. (view); + return [[Небольшое помещение в передней части субмарины освещено ярким светом электрических ламп. Через три огромных иллюминатора вы можете увидеть происходящее снаружи субмарины. ]] .. (view); end; dsc_halflit = function(s) local view = ""; @@ -584,7 +583,7 @@ leviathan_wheelhouse = darkroom { view = where(submarine_leviathan).view; end; - return [[Вы находитесь в рулевой рубке Левиафана. Три огромных иллюминатора дают превосходный обзор. ]] .. (view); + return [[Небольшое помещение в передней части субмарины освещено слабым светом вашей лампы. Через три огромных иллюминатора вы можете увидеть происходящее снаружи субмарины. ]] .. (view); end; dsc_dark = function(s) local view = ""; @@ -594,7 +593,7 @@ leviathan_wheelhouse = darkroom { view = where(submarine_leviathan).view; end; - return [[Вы находитесь в рулевой рубке Левиафана. В темноте вы ничего не можете разглядеть, кроме трех огромных иллюминаторов. ]] .. (view); + return [[Небольшое помещение в передней части субмарины не освещено. В темноте вы ничего не можете разглядеть. Через три огромных иллюминатора вы можете увидеть происходящее снаружи субмарины. ]] .. (view); end; way = { kh_vroom("В кают-компанию", "leviathan_wardroom", 2); @@ -904,7 +903,13 @@ phone_wheelhouse = obj { disp = "Телефон"; dsc = [[Рядом со штурвалом установлен {телефонный аппарат} для связи в пределах субмарины. ]]; act = function(s) - walkin(phone_dlg); + if (not submarine_leviathan.power_on or not submarine_leviathan.battery) then + return [[Без электричества телефон не заработает. ]]; + elseif (#pl.party < 1) then + return [[Здесь никого нет. ]]; + else + walkin(phone_dlg); + end; end; seen_level = 1; }; @@ -914,7 +919,13 @@ phone_cabin = obj { disp = "Телефон"; dsc = [[На столе установлен {телефонный аппарат} для связи в пределах субмарины. ]]; act = function(s) - walkin(phone_dlg); + if (not submarine_leviathan.power_on or not submarine_leviathan.battery) then + return [[Без электричества телефон не заработает. ]]; + elseif (#pl.party < 1) then + return [[Здесь никого нет. ]]; + else + walkin(phone_dlg); + end; end; seen_level = 1; }; @@ -924,7 +935,13 @@ phone_wardroom = obj { disp = "Телефон"; dsc = [[На столе, рядом с креслом командира установлен {телефонный аппарат} для связи в пределах субмарины. ]]; act = function(s) - walkin(phone_dlg); + if (not submarine_leviathan.power_on or not submarine_leviathan.battery) then + return [[Без электричества телефон не заработает. ]]; + elseif (#pl.party < 1) then + return [[Здесь никого нет. ]]; + else + walkin(phone_dlg); + end; end; seen_level = 1; };