diff --git a/first_city_outer_rim.lua b/first_city_outer_rim.lua --- a/first_city_outer_rim.lua +++ b/first_city_outer_rim.lua @@ -1,3 +1,10 @@ +--dependencies +dofile "service_tunnels.lua"; +dofile "hope.lua"; +dofile "hope_cutscene.lua"; + +-- TODO (приватная бета-версия) добавить описания ворот открытых и закрытых + char_first_city_guardian = obj { nam = "first_city_guardian"; disp = "Страж"; @@ -46,7 +53,6 @@ first_city_entrance = room { }; way = { vroom("Левиафан", "leviathan_airlock"); - vroom("В здание", "first_city_library"); }; }; @@ -109,6 +115,7 @@ first_city_outer_west = room { ]]; way = { vroom("Левиафан", "leviathan_airlock"); + vroom("В здание", "first_city_library"); }; }; @@ -134,9 +141,14 @@ first_city_outer_north = room { }; }; +path_first_city_tunnel = vroom("В сервисный тоннель", "service_tunnels"); + first_city_factory = room { nam = "first_city_factory"; disp = "Лсэрианотр, внешнее кольцо, завод"; + entered = function(s) + service_tunnels.position = "3"; + end; dsc = [[ Помещение, в котором вы находитесь, очевидно, некогда было заводом. Конвейеры, странные механизмы, разбросанные инструменты, долгие тысячелетия лежавшие без движения. ]]; @@ -144,23 +156,36 @@ first_city_factory = room { "item_pickaxe", "first_city_crack" }; + way = { + disable(path_first_city_tunnel); + }; }; first_city_crack = obj { nam = "first_city_crack"; dsc = "В дальней стене вы видите {трещину}. Сквозь нее пробивается слабый свет, очевидно там какое-то помещение."; - act = [[ - Нужно чем-то расширить эту щель, если вы хотите туда попасть - ]]; + act = function(s) + if (s.wide) then + return [[ + Вы видите за щелью какие-то тоннели. Вы сможете пролезть туда. + ]]; + else + return [[ + Нужно чем-то расширить эту щель, если вы хотите туда попасть + ]]; + end; + end; canhit = true; onhit = function(s) if (s.wide) then return "Трещина уже достаточно большая для вас, нет смысла еще что-то с ней делать." else s.wide = true; + enable(path_first_city_tunnel); return "Несколькими осторожными ударами кирки вы расширяете трещину достаточно, чтобы пролезть внутрь." end; end; + }; first_city_library = room {