Changeset - 72325c7fd525
[Not reviewed]
Merge snapshots
0 4 0
Silverwing - 5 years ago 2019-07-09 09:56:12

Merge
4 files changed with 70 insertions and 28 deletions:
0 comments (0 inline, 0 general)
atlantis_from_the_ashes.lua
Show inline comments
 
@@ -125,7 +125,7 @@ atl_fta_dlg_radio = dlg {
 
		{tag="what_i_see"};
 
		{"К юго-востоку от меня вижу огонь, скорее всего взрыв был там. Здесь жарко. ", [[Райт инструктирует вас: "Идите по западной стороне. Ваша задача -- попасть в центр секции с южной стороны. Вы увидите несколько вентилей. Просто перекройте тот, в котором давление слишком большое". ]], code [[ psub("clear"); ]]};
 
		{tag="next"};
 
		{always=true, "Что мне делать?", [[Райт инструктирует вас: "Идите по западной стороне. Ваша задача -- попасть в центр секции с южной стороны. Вы увидите несколько вентилей. Просто перекройте тот, в котором давление слишком большое". ]], code [[ psub("clear"); ]]};
 
		{always=true, "Что мне делать?", [[Райт инструктирует вас: "Идите по западной стороне. Ваша задача -- попасть в центр секции с южной стороны. Вы увидите несколько вентилей. Вам нужно будет скорректировать давление в системе. Инструкцию найдете на месте. Если давление в каких-то трубах будет завышено -- отключите только их". ]], code [[ psub("clear"); ]]};
 
        {"Конец связи. ", "", code [[ back(); ]]};
 
		{tag="more"};
 
		{"Тут еще что-то взорвалось", [[Райт подтверждает: "Я знаю. Поторопитесь. Если взорвется еще один котел, то станция обречена". ]], code [[ atl_fta_dlg_radio.state = 2; ]]};
 
@@ -157,7 +157,7 @@ atl_fta_solis_entry = room {
 
        if (atl_fta_solis_c2.broken_valve == 0) then
 
            atl_fta_solis_c2.broken_valve = rnd(5);
 
            atl_fta_valves[atl_fta_solis_c2.broken_valve].broken = true;
 
            atl_fta_solis_c2.broken_offset = rnd(9) + 10;
 
            atl_fta_solis_c2.broken_offset = rnd(26) + 24;
 
        end;
 
	end;
 
	way = {
 
@@ -283,19 +283,30 @@ atl_fta_solis_exit = room {
 
atl_fta_solis_c2 = room {
 
	var {
 
		valve_a = 2;
 
		valve_b = 90;
 
		valve_b = 1200;
 
		broken_valve = 0;
 
		broken_offset = 0;
 
		valves = {1,1,1,1,1};
 
	};
 
	solved = function(s)
 
		local count = 0;
 
		for i =1, #s.valves do
 
			if (s.valves[i] == 0 and i ~= s.broken_valve or 
 
			if (s.valves[i] == 0 and i ~= s.broken_valve or
 
				s.valves[i] == 1 and i == s.broken_valve) then
 
				return false;
 
			end;
 
			count = count + s.valves[i];
 
		end;
 
		
 
 
		local value;
 
		if count > 0 then
 
			value = math.floor(atl_fta_solis_c2.valve_b / atl_fta_solis_c2.valve_a * 5 / count);
 
		else
 
			value = 9000;
 
		end;
 
		if value > 255 or value < 245 then
 
			return false;
 
		end;
 
		return true;
 
	end;
 
	nam = "Атлантида, Солис, Центр";
 
@@ -321,13 +332,22 @@ atl_fta_solis_c2 = room {
 
		"atl_fta_solis_valve5",
 
		"atl_fta_solis_valvea",
 
		"atl_fta_solis_valveb",
 
		"atl_fta_help_text",
 
		"item_goldmans_clock"
 
	};
 
};
 
 
atl_fta_help_text = obj {
 
	nam = "atl_fta_help_text";
 
	dsc = "Над вентилями расположена латунная {табличка} с инструкцией. ";
 
	act = [[Табличка гласит: "Используйте вентили A и B для регулировки давления. Вентили 1-5 нужны для перекрытия подачи пара в отдельные трубы. Для оптимальной работы давление в трубе должно быть в диапазоне 245-255КПа. ^Внимание: Не перекрывайте вентили без необходимости -- это снижает производительность!". ]];
 
}
 
 
atl_fta_solis_valvea = obj {
 
	nam = "Вентиль";
 
	dsc = "Под ними расположены еще два вентиля. Тот, что {слева} отмечен буквой A,";
 
	dsc = function(s)
 
		return "Под ними расположены еще два вентиля. На каждом из них нанесены числовые обозначения, а над вентилями нанесена краской небольшая стрелочка. ^{Вентиль A} установлен в значение " .. tostring(atl_fta_solis_c2.valve_a) .. ".^";
 
	end;
 
	act = function(s)
 
		if (atl_fta_solis_c2.valve_a == 2) then
 
			atl_fta_solis_c2.valve_a = 3;
 
@@ -338,39 +358,59 @@ atl_fta_solis_valvea = obj {
 
		elseif (atl_fta_solis_c2.valve_a == 6) then
 
			atl_fta_solis_c2.valve_a = 2;
 
		end;
 
        return "Вы поворачиваете вентиль. Значения на манометрах изменились. ";
 
 
		if (atl_fta_solis_c2:solved()) then
 
			return "Шипение пара прекращается. Вы сделали все, что нужно. ";
 
		else
 
			return "Вы поворачиваете вентиль. Значения на манометрах изменились. ";
 
		end;
 
	end;
 
};
 
 
atl_fta_solis_valveb = obj {
 
	nam = "Вентиль";
 
	dsc = " а тот, что {справа} -- буквой B.";
 
	dsc = function(s)
 
		return "{Вентиль B} установлен в значение " .. tostring(atl_fta_solis_c2.valve_b) .. ".^";
 
	end;
 
	act = function(s)
 
		if (atl_fta_solis_c2.valve_b == 90) then
 
			atl_fta_solis_c2.valve_b = 60;
 
		elseif (atl_fta_solis_c2.valve_b == 60) then
 
			atl_fta_solis_c2.valve_b = 45;
 
		elseif (atl_fta_solis_c2.valve_b == 45) then
 
			atl_fta_solis_c2.valve_b = 30;
 
		elseif (atl_fta_solis_c2.valve_b == 30) then
 
			atl_fta_solis_c2.valve_b = 90;
 
		atl_fta_solis_c2.valve_b = atl_fta_solis_c2.valve_b + 200;
 
		if atl_fta_solis_c2.valve_b > 1200 then
 
			atl_fta_solis_c2.valve_b = 600;
 
		end;
 
        return "Вы поворачиваете вентиль. Значения на манометрах изменились. ";
 
 
		if (atl_fta_solis_c2:solved()) then
 
			return "Шипение пара прекращается. Вы сделали все, что нужно. ";
 
		else
 
			return "Вы поворачиваете вентиль. Значения на манометрах изменились. ";
 
		end;
 
	end;
 
};
 
 
atl_fta_solis_valve = function(index)
 
	local delta = rnd(11) - 6;
 
	return obj {
 
		nam = "Вентиль";
 
		delta = delta;
 
		dsc = function(s)
 
			local value = atl_fta_solis_c2.valve_a * index + math.floor(atl_fta_solis_c2.valve_b / index);
 
			local count = 0;
 
			for valve = 1, #atl_fta_solis_c2.valves do
 
				count = count + atl_fta_solis_c2.valves[valve];
 
			end;
 
 
			local value;
 
			if count > 0 then
 
				value = math.floor(atl_fta_solis_c2.valve_b / atl_fta_solis_c2.valve_a * 5 / count) + s.delta;
 
			else
 
				value = 9000;
 
			end;
 
 
			if (atl_fta_solis_c2.broken_valve == index) then
 
				value = value + atl_fta_solis_c2.broken_offset;
 
			end;
 
			if (atl_fta_solis_c2.valves[index] == 0) then
 
				value = 0;
 
			end;
 
			return "{Вентиль №"..tostring(index).."}. Манометр показывает " .. tostring(value) .. "^";
 
			return "{Вентиль №"..tostring(index).."}. Манометр показывает " .. tostring(value) .. ".^";
 
		end;
 
		act = function(s)
 
			if (atl_fta_solis_c2.valves[index] == 0) then
 
@@ -382,7 +422,7 @@ atl_fta_solis_valve = function(index)
 
			if (atl_fta_solis_c2:solved()) then
 
				return "Шипение пара прекращается. Вы сделали все, что нужно. ";
 
			else
 
				return "Вы поворачиваете вентиль. ";
 
				return "Вы поворачиваете вентиль. Значения на манометрах изменились. ";
 
			end;
 
		end;
 
	};
journey_temple.lua
Show inline comments
 
@@ -1109,10 +1109,6 @@ dt_fight = room {
 
        if (bl < 0) then
 
            bl = bl + 8;
 
        end;
 
--        for i = 1, #s.tentacles do
 
--            pr(s.tentacles[i].hp .. " ");
 
--        end;
 
--        pr("^");
 
        pr [[Щупальца кракена тянутся к Левиафану. ]];
 
        for i = 1, #s.tentacles do 
 
            if (s.tentacles[i].hp > 0 and s.tentacles[i].dir == s.dir and s.tentacles[i].away == 0) then
 
@@ -1271,9 +1267,15 @@ dt_fight = room {
 
            dt_f_torpedo:disable();
 
            dt_f_sonic:disable();
 
        end;
 
        
 
        if (submarine_leviathan.hull_integrity <= 0) then
 

	
 
        if submarine_leviathan.hull_integrity <= 0 then
 
            walk("game_over_kraken");
 
        elseif submarine_leviathan.hull_integrity <= 25 then
 
            pr [[Левиафан серьезно поврежден, целостность внешней обшивки нарушена. ]];
 
        elseif submarine_leviathan.hull_integrity <= 50 then
 
            pr [[Левиафан серьезно поврежден. ]];
 
        elseif submarine_leviathan.hull_integrity <= 75 then
 
            pr [[Левиафан получил незначительные повреждения. ]];
 
        end;
 
    end;
 
    obj = {
warehouse18.lua
Show inline comments
 
@@ -196,7 +196,7 @@ dlg_w18_mgr = dlg {
 
warehouse_18_inside = room {
 
	nam = "warehouse_18_inside";
 
	disp = "Склад 18, комната с хламом";
 
    dsc = [[Небольшая комната, выделенная под хранение вещей оставшихся от Вестхейвен Трансоушен. Судя по всему, новый владелец не слишком заботился о сохранности или осмотре приобретенных вместе со складом преметов. Все свалено в кучи и покрыто толстым слоем пыли. ]];
 
    dsc = [[Небольшая комната, выделенная под хранение вещей оставшихся от Вестхейвен Трансоушен. Судя по всему, новый владелец не слишком заботился о сохранности или осмотре приобретенных вместе со складом предметов. Все свалено в кучи и покрыто толстым слоем пыли. ]];
 
	obj = {
 
		'char_w18_sec_in';
 
		'w18_box1';
warehouse32.lua
Show inline comments
 
@@ -52,7 +52,7 @@ warehouse_32_alley = room {
 
	dsc = [[Темный переулок, между забором склада 32 и соседним строением завален мусором. ]];
 
	way = {
 
		vroom("К главному входу", "warehouse_32_entry");
 
		vroom("Пройти дальше", "warehouse_32_behind");
 
		vroom("За склад", "warehouse_32_behind");
 
	};
 
};
 
0 comments (0 inline, 0 general)