Changeset - 2a6cebe6e43e
[Not reviewed]
default
0 4 0
Silverwing - 7 years ago 2017-04-15 08:57:43

422
4 files changed with 57 insertions and 19 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -89,12 +89,20 @@ atl_aqua_corridor_b = room {
 
	obj = {
 
		"atl_illuminators",
 
		"atl_nih_tubes_aqua_b"
 
	};
 
};
 
 
atl_entry = lcutscene("atl_entry", "Левиафан, рубка", function(s)
 
    if (ArrayUtils.indexOf(pl.party, "wright") ~= 0) then
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к танственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. Хотя субмарина явно требует большего экипажа, вы неплохо справляетесь вдвое и добираетесь до места назначения. Здесь, на океанском дне вы видите несколько больших металлических и стеклянных куполов, освещенных электрическими огнями. Приблизившись, вы быстро находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, оставляя вас взаперти. ]];
 
    else
 
        return [[Несколько недель Левиафан полным ходом несется по направлению к танственной точке, отмеченной на карте. Путешествие происходит спокойно -- могучие машины субмарины уверенно двигают ее вперед. Управлять субмариной в одиночку нелегкая работа. Вы почти не спите, опасаясь оставлять движение корабль без внимания. К счатью, вы без проблем добираетесь до места назначения. Здесь, на океанском дне вы видите несколько больших металлических и стеклянных куполов, освещенных электрическими огнями. Приблизившись, вы быстро находите путь в одно из строений. Как только Левиафан проникает внутрь, массивные ворота закрываются, оставляя вас взаперти. ]];
 
    end;
 
end, "Вы прибыли на Атлантиду", leviathan_wheelhouse);
 
 
atl_aqua_leviathan_dock = room {
 
	var {
 
		visited = false;
 
	};
 
	nam = "Атлантида, Аква, гостевой док A";
 
	enter = function(s)
leviathan.lua
Show inline comments
 
@@ -561,13 +561,12 @@ leviathan_airregen = obj {
 
        if (submarine_leviathan.refit) then
 
            return [[{Установка регенерации воздуха} расположена в углу и, судя по показаниям приборов, отлично работает. ]];
 
        else
 
            return [[{Установка регенерации воздуха} сейчас находится в плачевном состоянии - часть деталей отсутствуют, еще некоторые поломаны. ]];
 
        end;
 
    end;
 
    end;
 
	seen_level = 1;
 
};
 
 
leviathan_wheelhouse = darkroom {
 
	nam = "leviathan_wheelhouse";
 
    has_light = function(s)
 
@@ -834,13 +833,13 @@ leviathan_dlg = dlg {
 
			view = where(submarine_leviathan).view;
 
		end;
 
		
 
		return [[Вы находитесь в рубке Левиафана перед штурвалом. Отсюда вы можете направиться куда-нибудь. Яркий свет электрических ламп освещает помещение. ]] .. (view);
 
	end;
 
	update_options = function()
 
		leviathan_dlg:poff("atlantis", "old_temple", "iraaphaanotrr", "iraaphaanotrr_temple", "dypatreanotrr", "dypatreanotrr_temple");
 
		leviathan_dlg:poff("atlantis", "old_temple", "iraaphaanotrr", "iraaphaanotrr_temple", "dypatreanotrr", "dypatreanotrr_temple");     
 
		if (atlantis_found and where(submarine_leviathan) ~= atl_aqua_leviathan_dock) then
 
			leviathan_dlg:pon("atlantis");
 
		end;
 
		if (temple_found and where(submarine_leviathan) ~= iyh_far_from_entrance_foot) then
 
			leviathan_dlg:pon("old_temple");
 
		end;
 
@@ -860,17 +859,16 @@ leviathan_dlg = dlg {
 
		end;
 
	end;
 
	enter = function(s)
 
		s.update_options();
 
	end;
 
	phr = {
 
		{tag="atlantis", always = "true", "Атлантида", function()
 
			return "Вы прибыли в Атлантиду";
 
		end, function()
 
		{tag="atlantis", always = "true", "Атлантида", nil, function()
 
			move(submarine_leviathan, "atl_aqua_leviathan_dock");
 
			leviathan_dlg:update_options();
 
            walk(atl_entry);         
 
		end},
 
		{tag="old_temple", always = "true", "Старый храм", function()
 
			return "Вы прибыли в старый храм";
 
		end, function()
 
			move(submarine_leviathan, "iyh_far_from_entrance_foot");
 
			leviathan_dlg:update_options();
main.lua
Show inline comments
 
@@ -181,26 +181,35 @@ function init()
 
    --pl.where = "atlantis_intro_dock";
 
    
 
    ---leviathan
 
    --pl.where = "leviathan_airlock";
 
    --submarine_leviathan.airpump = false;
 
    
 
    --leviathan_airlock.has_light = true;
 
    --leviathan_wardroom.has_light = true;
 
    --leviathan_wheelhouse.has_light = true;
 
    --leviathan_corridor.has_light = true;
 
    --leviathan_cabin_1.has_light = true;
 
    --leviathan_cabin_2.has_light = true;
 
    --leviathan_cabin_3.has_light = true;
 
    --leviathan_cabin_4.has_light = true;
 
    --leviathan_cabin_5.has_light = true;
 
    --leviathan_captains_cabin.has_light = true;
 
    --leviathan_cargo_hold.has_light = true;
 
    --leviathan_engines.has_light = true;
 
    --leviathan_lower_deck.has_light = true;
 
    --leviathan_life_support.has_light = true;
 
    leviathan_airlock.has_light = true;
 
    leviathan_wardroom.has_light = true;
 
    leviathan_wheelhouse.has_light = true;
 
    leviathan_corridor.has_light = true;
 
    leviathan_cabin_1.has_light = true;
 
    leviathan_cabin_2.has_light = true;
 
    leviathan_cabin_3.has_light = true;
 
    leviathan_cabin_4.has_light = true;
 
    leviathan_cabin_5.has_light = true;
 
    leviathan_captains_cabin.has_light = true;
 
    leviathan_cargo_hold.has_light = true;
 
    leviathan_engines.has_light = true;
 
    leviathan_lower_deck.has_light = true;
 
    leviathan_life_support.has_light = true;
 
    submarine_leviathan.air_level = 432000;
 
    submarine_leviathan.battery = true; 
 
    submarine_leviathan.battery_charge = 100;
 
    submarine_leviathan.circuit_breaks = 0;
 
    submarine_leviathan.valves_to_replace = 0;
 
    submarine_leviathan.power_on = true
 
    pl.party = {'wright'};
 
    atlantis_found = true;
 
    pl.where = leviathan_wheelhouse;
 
	--[[
 
	---IYH
 
	lifeon(char_learr);
 
	lifeon(char_wright);
 
	lifeon(char_radcliffe);
 
	lifeon(char_anna);
utils.lua
Show inline comments
 
@@ -292,12 +292,35 @@ function cutscene(nam, disp, dsc, nxt, e
 
        obj = {
 
            vway("continue", "{Продолжить}", nxt);
 
        };
 
    };
 
end;
 
 
function lcutscene(nam, disp, dsc, msg, nxt)
 
    return room {
 
        var {
 
            state = 0;
 
        };
 
        nam = nam;
 
        disp = disp;
 
        enter = function(s)
 
            if (s.state == 1) then
 
                walk(nxt);
 
                pn(msg);
 
            end;
 
            s.state = 1;
 
        end;
 
        dsc = dsc;
 
        obj = {
 
            kh_vobj("continue", "{Продолжить}", function(s)
 
                walk(nxt);
 
            end);
 
        };
 
    };
 
end;
 
 
--[[
 
	Создает комнату с полем для ввода числа длиной не более tab.maxlen
 
	По нажатии enter вызывает метод tab.сheck
 
	Приглашение для ввода: tab.label
 
	Вводимый текст: tab.input
 
]]
0 comments (0 inline, 0 general)