# HG changeset patch # User Silverwing # Date 2017-11-26 08:40:23 # Node ID 8dc2102a9c7855d4b83cee6ebce6e1ea893b691b # Parent 257f0b23a44be58ec424a1803414c2f101f9b3b9 Further LFC diff --git a/atlantis.lua b/atlantis.lua --- a/atlantis.lua +++ b/atlantis.lua @@ -523,7 +523,14 @@ atl_arctos_main_corridor = room { nam = "Атлантида, Арктос, главный коридор"; dsc = [[Узкий длинный коридор c дверьми, ведущими в комнаты персонала, по сторонам. Яркий свет электрических ламп заполняет помещение. ]]; way = { - kh_vroom("В комнату Голдмана", "atl_arctos_goldmans_room"); + kh_vroom("В комнату Голдмана", function(s) + if goldman_state == 0 then + return "atl_arctos_goldmans_room"; + else + p([[Заперто. ]]); + return false; + end; + ); kh_vroom("В комнату Джонса", "atl_arctos_jones_room"); kh_vroom("В общую комнату", "atl_arctos_common_room"); kh_vroom("В секцию \"Доминус\"", "atl_intersection_arctos_dom"); diff --git a/atlantis_dlg.lua b/atlantis_dlg.lua --- a/atlantis_dlg.lua +++ b/atlantis_dlg.lua @@ -116,6 +116,7 @@ char_darkstar_dlg = dlg { {tag="leroy_and_goldman", false, always = true, "Какое наказание ждет подсудимых?", [[Даркстар отвечает: "Я бы расстрелял их на месте, но я не могу принимать решения единолично". ]]}; {tag="leroy_only", false, always = true, "Какое наказание ждет подсудимого?", [[Даркстар отвечает: "Я бы расстрелял его на месте, но я не могу принимать решения единолично". ]]}; {always = true, "Я готов.", function(s) + atl_lfc_state = 5; walk("atl_lfc_court"); if atl_lfc_goldman_exposed then return [[Даркстар поднимает трубку, поворачивает наборный диск, ждет немного и сообщает: "Моро, Светлова, Райт. Жду вас в своем кабинете". ]]; @@ -384,6 +385,37 @@ char_moreau_dlg = dlg { return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Даркстар сказал, что вы зайдете. Я не буду с вами ничего обсуждать, хоть совет и решил, что вы примете участие в суде". ]]; end; end; + elseif (atl_lfc_state == 5) then + atl_lfc_state = 6; + atl_lev_state = 1; + --[[local reputation = 0; + if (atl_rep_darkstar > 0) then + reputation = reputation + 1; + end; + if (atl_rep_moreau > 0) then + reputation = reputation + 1; + end; + if (atl_rep_svetlova > 0) then + reputation = reputation + 1; + end; + if (atl_rep_wright > 0) then + reputation = reputation + 1; + end; + + if (reputation > 2 and atl_rep_moreau >= 0) then + psub("lfc_debrief_good"); + return [ [Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы заслужили наше доверие и мы приняли решение позволить вам использовать Левиафан. Удачи в ваших поисках". ] ]; + elseif (reputation > 2) then + psub("lfc_debrief_good"); + return [ [Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Мы приняли решение позволить вам использовать Левиафан -- вы можете покинуть станцию прямо сейчас". ] ]; + elseif (atl_rep_moreau >= 0) then + psub("lfc_debrief_bad"); + return [ [Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Мы приняли решение позволить вам использовать Левиафан. Сейчас, пока у вас остались дела со Светловой, мы разрешаем вам остаться, но как только вы закончите". ] ]; + else + psub("lfc_debrief_bad"); + return [ [Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы очень помогли нам в поимке саботажника. Посовещавшись, мы решили вернуть вам Левиафан. Убирайтесь и больше не возвращайтесь сюда". ] ]; + end;]] + return [[Фредерик Моро приветствует вас: "Месье Дрейк, добрый день. Вы помогли нам с поимкой саботажника и мы приняли решение дать вам доступ к Левиафану". ]]; end; if (atl_lfc_state == 1 and not s.lfc_dialog) then