Files
@ 86d4f0313cf4
Branch filter:
Location: games/Awakening/first_city_outer_rim.lua
86d4f0313cf4
10.5 KiB
text/x-lua
Intro overhaul
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 | --dependencies
dofile "service_tunnels.lua";
dofile "hope.lua";
dofile "hope_cutscene.lua";
-- TODO (приватная бета-версия) добавить описания ворот открытых и закрытых
char_first_city_guardian = obj {
nam = "first_city_guardian";
disp = "Страж";
dsc = [[
Вы видите фигуру {Навьяра}, стоящего около ворот. Приглядевшись внимательнее, вы понимаете, что это автоматон.^
]];
act = function()
return [[
Автоматон выглядит намного совершеннее тех, что вам доводилось видеть на Атлантиде. Его тело покрыто чешуей, как и тело живых Навьяр. Его выдают лишь стеклянные немигающие глаза и полная неподвижность.
Головные плавники автоматона плавно меняют цвета, но даже если бы вы понимали, что это значит, вы не смогли бы ему ответить.
]];
end
};
first_city_entrance = room {
nam = "first_city_entrance";
disp = "Лсэрианотр, врата";
dsc = function(s)
if (not s.open) then
return [[
Вы находитесь на глубине нескольких километров под водой. Прожектор вашего скафандра с трудом пробивает непроглядную толщу воды.
Почти вплотную перед вами расположены огромные ворота из неизвестного материала.
]];
else
return [[
Вы находитесь на глубине нескольких километров под водой. Прожектор вашего скафандра с трудом пробивает непроглядную толщу воды.
Огромные ворота открыты и Левиафан легко пройдет в них.
]];
end;
end;
view = function(s)
if (not s.open) then
return [[
"Левиафан" находится на глубине нескольких километров под водой. Мощный прожектор субмарины с трудом пробивает непроглядную толщу воды.
Огромные ворота из неизвестного материала преграждают вам путь внутрь.
]];
else
return [[
"Левиафан" находится на глубине нескольких километров под водой. Мощный прожектор субмарины с трудом пробивает непроглядную толщу воды.
Огромные ворота открыты и Левиафан легко пройдет в них.
]];
end;
end;
obj = {
"char_first_city_guardian";
};
way = {
vroom("Левиафан", "leviathan_airlock");
};
};
first_city_outer_south = room {
nam = "first_city_outer_south";
disp = "Лсэрианотр, внешнее кольцо, юг";
gate = "first_city_entrance";
east = "first_city_outer_east";
west = "first_city_outer_west";
navigatable = true;
entered = function(s)
s.entered = nil;
-- Должно выполняться только один раз:
-- 1. Генерируем сервисные тоннели
-- 2. Генерируем табличку сервисных тоннелей для библиотеки
-- 3. Генерируем ссылки на документы на Надежде
end;
dsc = [[
Вы находитесь в южной части внешнего кольца Лсэрианотра. Это огромный коридор, опоясывающий город по периметру.
Высоко над головой виден прозрачный купол, не дающий проникнуть в город минуя ворота.
]];
view = [[
Вы находитесь в южной части внешнего кольца Лсэрианотра. Это огромный коридор, опоясывающий город по периметру.
Высоко над головой виден прозрачный купол, не дающий проникнуть в город минуя ворота.
]];
way = {
vroom("Левиафан", "leviathan_airlock");
};
};
first_city_outer_east = room {
nam = "first_city_outer_east";
disp = "Лсэрианотр, внешнее кольцо, восток";
south = "first_city_outer_south";
north = "first_city_outer_north";
navigatable = true;
dsc = [[
Вы находитесь в восточной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру. На востоке вы видите огромное здание с большим количеством труб, идущих до самого купола. Скорее всего, это какая-то древняя фабрика.
]];
view = [[
Вы находитесь в восточной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру.
]];
way = {
vroom("Левиафан", "leviathan_airlock");
vroom("В здание", "first_city_factory");
};
};
first_city_outer_west = room {
nam = "first_city_outer_west";
disp = "Лсэрианотр, внешнее кольцо, запад";
south = "first_city_outer_south";
north = "first_city_outer_north";
navigatable = true;
dsc = [[
Вы находитесь в западной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру.
]];
view = [[
Вы находитесь в западной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру.
]];
way = {
vroom("Левиафан", "leviathan_airlock");
vroom("В здание", "first_city_library");
};
};
first_city_outer_north = room {
nam = "first_city_outer_north";
disp = "Лсэрианотр, внешнее кольцо, север";
gate = "first_city_middle_north";
east = "first_city_outer_east";
west = "first_city_outer_west";
navigatable = true;
dsc = [[
Вы находитесь в северной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру.
]];
view = [[
Вы находитесь в северной части внешнего кольца Лсэрианотр. Это огромный коридор, опоясывающий город по периметру.
]];
obj = {
"submarine_hope"
};
way = {
vroom("Левиафан", "leviathan_airlock");
vroom("Надежда", "hope_airlock");
};
};
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 = [[
Помещение, в котором вы находитесь, очевидно, некогда было заводом. Конвейеры, странные механизмы, разбросанные инструменты, долгие тысячелетия лежавшие без движения.
]];
obj = {
"item_pickaxe",
"first_city_crack"
};
way = {
disable(path_first_city_tunnel);
};
};
first_city_crack = obj {
nam = "first_city_crack";
dsc = "В дальней стене вы видите {трещину}. Сквозь нее пробивается слабый свет, очевидно там какое-то помещение.";
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 {
nam = "first_city_library";
disp = "Лсэрианотр, внешнее кольцо, библиотека";
dsc = [[
В здании вы видите огромные стеллажи, заполненные табличками из неизвестного материала. Таблички исписаны письменами Навьяров и потускнели от времени.
]];
obj = {
'first_city_index',
'first_city_maintenance_info'
};
};
first_city_index = obj {
nam = "first_city_index";
dsc = "На стене возле входа висит большая {табличка}. ";
act = function(s)
end;
};
first_city_maintenance_info = obj {
nam = "first_city_index";
dsc = "Один из {стеллажей} рядом со входом содержит информацию об обслуживании Лсэрианотра. Вероятно, там вы найдете то, что поможет вам отключить охранную систему города. ";
act = function(s)
if (s.taken) then
return "Врядли вы найдете здесь что-то еще полезное. ";
else
take("item_service_info")
return "Вы просматриваете тысячи записей и уже почти теряете всякую надежду когда натыкаетесь на табличку, описывающую сервисные тоннели города. ";
end;
end;
};
|