Changeset - e048695c32b8
[Not reviewed]
default
0 1 0
Silverwing - 7 years ago 2017-12-02 17:42:34

lfc saboteur fix
1 file changed with 9 insertions and 3 deletions:
0 comments (0 inline, 0 general)
atlantis_looking_for_clues.lua
Show inline comments
 
@@ -175,807 +175,813 @@ atl_lfc_darkstar_dlg = dlg {
 
			atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1;
 
			walk('atl_lfc_non_coop');
 
		]]};
 
		{always=true,tag="random_lie", "Я случайно наткнулся.", [[Даркстар угрожающе поднимается, опирается на стол и недовольно говорит: "Я думаю вам стоит еще подумать". ]], code = [[
 
			atl_lfc_darkstar_dlg.total_limit = atl_lfc_darkstar_dlg.total_limit - 1;
 
			walk('atl_lfc_non_coop');
 
		]]};
 
		{always=true,tag="random_true", "Я случайно наткнулся.", [["Хорошо. Больше у меня вопросов нет. Но я хочу вам кое-что рассказать". ]], code = [[
 
			walk("atl_lfc_darkstar_interlude");
 
		]]};
 
		
 
	};
 
};
 
 
atl_lfc_darkstar_interlude = room {
 
	nam = "Винсент Даркстар";
 
	dsc = [[Винсент раскрывает папку лежающую на столе и раскладывает перед собой несколько бумаг: _"У нас есть основания полагать, что события в Игнисе -- следствие саботажа. Мы считаем, что саботажник не рассчитывал, что в секции в момент пожара будет кто-либо -- обычно в это время в Игнисе никого нет. Должен сказать, на станции уже давно некоторые выступают за сворачивание проекта и возвращение на поверхность. Вы прекрасно понимаете, что мы не можем просто так отправить их на поверхность -- их слишком много, и если они начнут болтать -- существование станции будет раскрыто. А нам этого не хотелось бы"_. Внезапно раздается звонок. Даркстар поднимает трубку телефона и отрывисто бросает туда: "Сейчас буду". Он встает и направляется к выходу, при этом просит вас: "Ждите здесь, я ненадолго". ]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_lfc_darkstar_office");
 
	};
 
};
 
 
atl_lfc_darkstar_office = room {
 
    var {
 
        timer = 4;
 
    };
 
	nam = "Атлантида, Доминус, кабинет начальника СБ";
 
	dsc = [[Кабинет начальника службы безопасности почти пуст -- здесь нет ничего кроме массивного металлического стола(судя по всему, бронированного) в центре и кресла перед ним. ]];
 
	entered = function(s)
 
        lifeon(s);   
 
	end;
 
    left = function(s)
 
        lifeoff(s);
 
    end;   
 
	life = function(s)
 
        s.timer = s.timer - 1;
 
        if s.timer <= 0 then
 
            walk("atl_lfc_darkstar_interlude_2")
 
        end;
 
	end;
 
	way = {
 
		kh_vroom("В коридор", function()
 
			pr("Дверь заперта");
 
			return false;
 
		end);
 
	};
 
	obj = {
 
		'atl_darkstar_papers'
 
	};
 
};
 
 
atl_darkstar_papers = obj {
 
	nam = "atl_darkstar_papers";
 
	dsc = [[
 
		На столе лежит оставленная Винсентом {папка с бумагами}.
 
	]];
 
	act = function(s)
 
		walk("atl_lfc_darkstar_interlude_2")
 
		return [[Вы просматриваете бумаги. Это список подозреваемых в саботаже. Здесь присутствует большая часть обитателей Атлантиды. На отдельном листе записаны несколько моментов: во-первых, Даркстар не подозревает никого из руководства, поскольку каждый из них напрямую заинтересован в развитии станции. Во-вторых, к вашему удивлению, он не подозревает вас, поскольку саботажник, судя по всему, был хорошо знаком с устройством системы электроснабжения Игниса. Основными подозреваемыми он считает Мишеля Леруа, Леонарда Голдмана и Чарльза Джонса. Все они сторонники закрытия проекта и обладают достаточными знаниями, чтобы устроить подобный саботаж. ^Вы слышите звук открывающегося замка и поспешно возвращаете папку в ее изначальное положение. ]];
 
	end;
 
};
 
 
atl_lfc_darkstar_interlude_2 = room {
 
	nam = "Винсент Даркстар";
 
	dsc = [[В комнату входит Винсент Даркстар и садится на свое место. Вам он говорит: "С учетом цели саботажника, я предполагаю, что следующая атака будет направлена на вывод из строя субмарин. В любом случае, я прошу вас никому не говорить о том, что я вам тут рассказал. В случае необходимости я вас вызову. Вы свободны". ]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_dom_security_office");
 
	};
 
};
 
 
atl_lfc_non_coop = room {
 
	nam = "Винсент Даркстар";
 
	dsc = [[После этого он снимает телефонную трубку и отдает туда приказ: "Заберите его". ^В комнату входят два стражника и сопровождают вас в вашу комнату. ]];
 
	obj = {
 
		kh_vway("Продолжить", "{Продолжить}", function()
 
			if (atl_lfc_darkstar_dlg.total_limit < 1) then
 
				return "atl_lfc_game_over";
 
			else
 
				return "atl_lfc_waiting";
 
			end;
 
		end);
 
	};
 
};
 
 
atl_lfc_game_over = room {
 
	nam = "Игра окончена";
 
	disp = "Игра окончена";
 
	dsc = [[Охранники уходят и запирают за собой дверь. Вы остаетесь один, запертый в собственной каюте. Через некоторое время вы слышите голос Даркстара по радио: "Вы останетесь под стражей до тех пор, пока мы не найдем саботажника. После этого, мы решим, что делать с вами". ^Вам ничего не остается, кроме как ждать. Через несколько дней стражники сопровождают вас на Левиафан. Там вас запирают в одной из кают. Несколько недель Левиафан полным ходом движется в неизвестном направлении. Наконец, вас выпускают из каюты. Один из охранников сообщает вам: "В нескольких милях к северу вдоль побережья находится небольшой городок. Оттуда вы сможете добраться куда вам будет угодно. Мы дадим вам немного еды и достаточно денег, чтобы вы могли добраться домой". ^Вы забираете переданные вам вещи и через несколько мгновений Левиафан скрывается под поверхностью воды. Никаких средств для возвращения на Атлантиду у вас не остается и, скорее всего, вы никогда не узнаете что стало с вашим отцом. ]];
 
};
 
 
atl_lfc_waiting = room {
 
	nam = "Атлантида, Луна, ваша комната";
 
	dsc = [[Охранники уходят и запирают за собой дверь. Вы остаетесь один, запертый в собственной каюте. Через некоторое время вы слышите голос Даркстара по радио: "Отдохните. Завтра мы попробуем поговорить еще раз". ]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_lfc_waiting");
 
	};
 
};
 
 
atl_nd_crane = obj {
 
	var {
 
		px = 2;
 
		py = 2;
 
	};
 
	nam = "Кран";
 
	dsc = function(s)
 
		local r = [[Под потолком расположен {кран}, прикрепленный к балкам, служащим направляющими для его движения. ]];      
 
        if px == 1 and py == 1 then
 
            r = r .. "Сейчас кран висит в северо-западной части комнаты. ";
 
        elseif px == 1 and py == 2 then
 
            r = r .. "Сейчас кран висит в северной части комнаты. ";
 
        elseif px == 1 and py == 3 then
 
            r = r .. "Сейчас кран висит в северо-восточной части комнаты. ";
 
        elseif px == 1 and py == 2 then
 
            r = r .. "Сейчас кран висит над мостиком в западной части комнаты. ";
 
		elseif px == 2 and py == 2 then
 
			r = r .. "Сейчас кран висит в центре комнаты над Наутилусом. ";
 
        elseif px == 3 and py == 2 then
 
            r = r .. "Сейчас кран висит над мостиком в восточной части комнаты. ";
 
        elseif px == 1 and py == 3 then
 
            r = r .. "Сейчас кран висит в юго-западной части комнаты. ";
 
        elseif px == 2 and py == 3 then
 
            r = r .. "Сейчас кран висит над мостиком в южной части комнаты. ";
 
        elseif px == 3 and py == 3 then
 
            r = r .. "Сейчас кран висит в юго-восточной части комнаты. ";
 
		end;
 
		
 
		return r;
 
	end;
 
	act = [[Скорее всего, вы можете управлять краном с пульта управления в этой комнате. ]];
 
};
 
 
atl_lfc_crane_control_obj = obj {
 
    nam = "atl_lfc_crane_control_obj";
 
    dsc = "Рядом с вами расположен пульт управления краном. ";
 
    act = function(s)
 
        walkin("atl_lfc_crane_control_obj");
 
    end;
 
};
 
 
atl_lfc_crane_control = room {
 
    nam = "atl_lfc_crane_control";
 
    hideinv = true;
 
    way = {
 
        kh_vroom("Отойти от пульта", "atl_lfc_dock_w");
 
    };
 
    dsc = [[Вы стоите у панели управления краном. Перед вами три рычага: два из них, отмеченные как в<->з и c<->ю установлены в среднее положение, третий, отмеченный как "верх-низ", установлен в верхнее положение. ]];
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
        "atl_lfc_crane_ew_dec";
 
        "atl_lfc_crane_ew_inc";
 
        "atl_lfc_crane_ns_dec";
 
        "atl_lfc_crane_ns_inc";
 
        "atl_lfc_crane_ud_tgl";
 
    };
 
};
 
 
atl_lfc_crane_ew_dec = obj {
 
    nam = "atl_lfc_crane_ew_dec";
 
    dsc = "^^{Сдвинуть рычаг \"в<->з\" влево}^";
 
    act = function(s)
 
        if atl_nd_crane.px == 1 then
 
            return [[Рычаг заклинило. ]];
 
        end;
 
        atl_nd_crane.px = atl_nd_crane.px - 1;
 
        return "Кран сдвигается на запад. ";
 
    end;
 
};
 
 
atl_lfc_crane_ew_inc = obj {
 
    nam = "atl_lfc_crane_ew_inc";
 
    dsc = "{Сдвинуть рычаг \"в<->з\" вправо}^";
 
    act = function(s)
 
        if atl_nd_crane.px == 3 then
 
            return [[Рычаг заклинило. ]];
 
        end;
 
        atl_nd_crane.px = atl_nd_crane.px + 1;
 
        return "Кран сдвигается на восток. ";
 
    end;
 
};
 
 
atl_lfc_crane_ns_dec = obj {
 
    nam = "atl_lfc_crane_ns_dec";
 
    dsc = "^^{Сдвинуть рычаг \"с<->ю\" влево}^";
 
    act = function(s)
 
        if atl_nd_crane.px == 1 then
 
            return [[Рычаг заклинило. ]];
 
        end;
 
        atl_nd_crane.py = atl_nd_crane.py - 1;
 
        return "Кран сдвигается на север. ";
 
    end;
 
};
 
 
atl_lfc_crane_ns_inc = obj {
 
    nam = "atl_lfc_crane_ns_inc";
 
    dsc = "{Сдвинуть рычаг \"с<->ю\" вправо}^";
 
    act = function(s)
 
        if atl_nd_crane.px == 3 then
 
            return [[Рычаг заклинило. ]];
 
        end;
 
        atl_nd_crane.py = atl_nd_crane.py + 1;
 
        return "Кран сдвигается на юг. ";
 
    end;
 
};
 
 
atl_lfc_crane_ud_tgl = obj {
 
    nam = "atl_lfc_crane_ud_tgl";
 
    dsc = "{Повернуть рычаг \"Верх-низ\"}";
 
    act = "Вам это сейчас не нужно. ";
 
};
 
 
atl_nd_barrel = obj {
 
	nam = "Бочка";
 
	dsc = [[На крюке крана висит {бочка}, судя по всему -- пустая. ]];
 
	canshoot = function(s)
 
		return where(atl_lfc_sab) == atl_lfc_bridge_w and atl_nd_crane.px == 1 and atl_nd_crane.py == 2;
 
	end;
 
	onshoot = function(s)
 
		remove(atl_nd_barrel);
 
		remove(char_leroy, where('char_leroy'));
 
		remove(char_goldman, where('char_goldman'));
 
		walkin(atl_lfc_dock_end_barreled);
 
	end;
 
};
 
 
atl_lfc_dock_s = room {
 
    nam = "Атлантида, Аква, док Наутилуса, южная часть, у входа";
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. У западной стены вы видите пульт управления краном. У северной стены составлены какие-то ящики. ]];
 
    way = {
 
        kh_vroom("В коридор A", "atl_aqua_corridor_a");
 
        kh_vroom("К западной стене", "atl_lfc_dock_w");
 
        kh_vroom("К восточной стене", "atl_lfc_dock_e");
 
        kh_vroom("На мостик", "atl_lfc_bridge_s");
 
        
 
    };
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };
 
};
 
 
atl_lfc_dock_w = room {
 
	nam = "Атлантида, Аква, док Наутилуса, западная часть";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь у западной стороны. На небольшом расстоянии от вас вы видите пульт управления краном. У северной стены дока составлено несколько ящиков. ]];
 
	way = {
 
		kh_vroom("К северной стене", "atl_lfc_dock_n");
 
		kh_vroom("К южной стене", "atl_lfc_dock_s");
 
		kh_vroom("На мостик", "atl_lfc_bridge_w");
 
		kh_vroom("К пульту управления", "atl_lfc_control");
 
	};
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };
 
};
 
 
atl_lfc_dock_n = room {
 
	nam = "Атлантида, Аква, док Наутилуса, северная часть";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь в северной части помещения. У западной стены вы видите пульт управления краном. ]];
 
	way = {
 
		kh_vroom("К восточной стене", "atl_lfc_dock_e");
 
		kh_vroom("К западной стене", "atl_lfc_dock_w");
 
	};
 
	obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
		"atl_lfc_boxes";
 
	};
 
};
 
 
atl_lfc_dock_e = room {
 
    nam = "Атлантида, Аква, док Наутилуса, восточная стена";
 
    dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь в восточной части помещения. ]];
 
    way = {
 
        kh_vroom("К южной стене", "atl_lfc_dock_s");
 
        kh_vroom("К северной стене", "atl_lfc_dock_n");
 
        kh_vroom("На мостик", "atl_lfc_bridge_s");
 
    };
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };
 
};
 
 
atl_lfc_behind_boxes = room {
 
    nam = "Ящики";
 
    nosave = true;
 
    noautosave = true;
 
    dsc = function(s)
 
        local f = [[Док хорошо просматривается из вашего укрытия. ]];
 
        
 
    end;
 
    way = {
 
        kh_vroom("Выйти из укрытия", function(s)
 
             if (where(atl_lfc_sab) == atl_lfc_dock_s) or (where(atl_lfc_sab) == atl_lfc_dock_w) then
 
                return 'game_over_lfc_shot';
 
             else
 
                return 'atl_lfc_dock_n';
 
             end;
 
        end);
 
    };
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };
 
};
 
 
atl_lfc_boxes = obj {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Ящики";
 
	dsc = function(s)
 
		if (s.state == 0) then
 
			return [[У стены составлено несколько {ящиков}. ]];
 
		elseif (s.state == 1) then
 
			return [[У стены составлено несколько {ящиков}, за которыми вы сможете спрятаться, поджидая саботажника. ]];
 
		elseif (s.state == 2) then
 
			return [[У стены составлено несколько {ящиков}. ]];
 
		end;
 
	end;
 
	act = function(s)
 
		if (s.state == 0) then
 
			s.state = 1;
 
			return [[За этими ящиками можно спрятаться! ]];
 
		elseif (s.state == 1) then
 
			s.state = 2;
 
			walk("atl_lfc_behind_boxes");
 
            move("atl_lfc_sab", "atl_lfc_dock_s");
 
            lifeon("atl_lfc_sab");
 
			return [[Вы прячетесь за ящиками. Через некоторое время дверь дока открывается и кто-то входит. В полумраке издалека вы не можете разглядеть кто это, но скорее всего, это саботажник. ]];
 
		else
 
			return [[Вам это больше не нужно. ]];
 
		end;
 
	end;
 
};
 
 
atl_lfc_bridge_s = room {
 
	nam = "Атлантида, Аква, док Наутилуса, южная часть, мостик";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в южной части дока. ]];
 
	way = {
 
		kh_vroom("Ко входу", "atl_lfc_dock_s");
 
		kh_vroom("На соседний мостик", "atl_lfc_bridge_e");
 
	};
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };   
 
};
 
 
atl_lfc_bridge_e = room {
 
	nam = "Атлантида, Аква, док Наутилуса, восточная часть, мостик";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в восточной части дока. ]];
 
	way = {
 
		kh_vroom("К стене", "atl_lfc_dock_e");
 
		kh_vroom("На соседний мостик", "atl_lfc_bridge_s");
 
	};
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };   
 
};
 
 
atl_lfc_bridge_w = room {
 
	nam = "Атлантида, Аква, док Наутилуса, западная часть, мостик";
 
	dsc = [[Просторное помещение, предназнавенное для размещения субмарин, прибывающих на станцию. В настоящий момент в этом доке расположен Наутилус.  Снизу, под водой, расположен огромный люк, закрывающий доступ внутрь дока. Несколько легких мостиков сконструированы таким образом, чтобы их расположение легко можно было изменить для удобства работы и обслуживания субмарин. Вы находитесь на одном из этих мостиков, в западной части дока. ]];
 
	way = {
 
		kh_vroom("К стене", "atl_lfc_dock_w");
 
		kh_vroom("К субмарине", function(s)
 
			pr [[Вам там нечего делать. ]];
 
			return false;
 
		end);
 
	};
 
    obj = {
 
        "atl_nd_crane";
 
        "atl_nd_barrel";
 
    };   
 
};
 
 
atl_lfc_sab = obj {
 
	var {
 
		tick = 3;
 
	};
 
	nam = "Мишель Леруа";
 
    disp2 = "Мишеля Леруа";
 
	canshoot = true;
 
	dsc = function(s)
 
        if (where(s) == where(pl)) then
 
            return [[В нескольких метрах от вас стоит {Мишель Леруа}. Он обращен к вам спиной и не видит вас. ]];
 
        else
 
            return [[Мишель Леруа стоит около Наутилуса. ]];
 
            return [[{Мишель Леруа} стоит около Наутилуса. ]];
 
        end;
 
    end;
 
    onshoot = function(s)
 
        remove(char_leroy, where('char_leroy'));
 
        walk("atl_lfc_dock_end_shot");
 
        return [[Вы стреляете в Мишеля Леруа, и убиваете его. Тело падает в воду. ]];
 
    end;
 
	act = function(s)
 
		walkin("atl_lfc_sab_dlg");
 
	end;
 
	life = function(s)
 
        print(where(s).nam);   
 
        if (where(atl_lfc_sab_vis) ~= where(pl)) then
 
        if where(atl_lfc_sab_vis) ~= where(pl) and where(pl) ~= where(s) then
 
            move(atl_lfc_sab_vis, where(pl));
 
        end;   
 
		if (s.tick > 0) then
 
			s.tick = s.tick - 1;
 
		else
 
			s.tick = 3;
 
			pr("Вы видите, как Мишель медленно крадется по доку ");
 
			if (where(s) == atl_lfc_dock_s) then
 
                pr("вдоль западной стены. ");
 
				move(s, atl_lfc_dock_w);
 
			elseif (where(s) == atl_lfc_dock_w) then
 
                pr("и поднимается на мостик в его западной части. Он не смотрит в вашу сторону. ");         
 
				move(s, atl_lfc_bridge_w);
 
			elseif (where(s) == atl_lfc_bridge_w) then
 
				pr("Леруа что-то делает рядом с субмариной. ");
 
			end;
 
		end;
 
	end;
 
};
 
 
atl_lfc_sab_vis = obj {
 
	var {
 
		shot = 0;
 
	};
 
	nam = "Мишель Леруа";
 
    disp2 = "Мишеля Леруа";
 
	canshoot = true;
 
	onshoot = function(s)
 
		if (s.shot == 0) then
 
			s.shot = 1;
 
			return [[Вы стреляете в силуэт, но промахиваетесь. Через мгновение, где-то рядом пролетает пуля. ]];
 
		else
 
			remove(char_leroy, where('char_leroy'));
 
			walk("atl_lfc_dock_end_shot");
 
			return [[Вы повторно стреляете в саботажника и, судя по всему, попадаете. Леруа хватается за грудь и медленно оседает на пол. ]];
 
		end;
 
	end;
 
	dsc = function(s)
 
		if (where(pl) == atl_lfc_behind_boxes and where(atl_lfc_sab) == atl_lfc_bridge_w) then
 
			return [[Вы видите {Мишеля Леруа}, идущего по мостику, ведущему к Наутилусу. ]];
 
		elseif (where(pl) == atl_lfc_behind_boxes and where(atl_lfc_sab) == atl_lfc_dock_w) then
 
			return [[Вы видите {Мишеля Леруа}, идущего вдоль западной стены дока. ]];
 
        elseif (where(pl) == atl_lfc_behind_boxes and where(atl_lfc_sab) == atl_lfc_dock_s) then
 
            return [[Вы видите {Мишеля Леруа}, идущего вдоль южной стены дока. ]];
 
		elseif (where(atl_lfc_sab) == atl_lfc_bridge_w) then
 
			return [[Вы видите {Мишеля Леруа}, идущего по мостику в западной части дока. Он не видит вас. ]];
 
		end;
 
	end;
 
};
 
 
atl_lfc_sab_dlg = dlg {
 
	nam = "Мишель Леруа";
 
	dsc = [[Мишель Леруа стоит спиной к вам и не видит вашего приближения. Вы можете воспользоваться этим. ]];
 
	phr = {
 
		{"Застрелить его", [[Вы стреляете саботажнику в спину и, не успев понять, что произошло, он падает в воду, пронзенный пулей. ]], code [[ 
 
			remove(char_leroy, where('char_leroy'));
 
			walk("atl_lfc_dock_end_shot");
 
		]]};
 
		{"Попытаться оглушить его", [[Вы оглушаете саботажника. ]], code [[ 
 
			walk("atl_lfc_dock_end_ko");
 
		]]};
 
	};
 
};
 
 
atl_lfc_dock_end_shot = room {
 
	nam = "Атлантида, Аква, док Наутилуса";
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_luna_drake_room");
 
	};
 
	entered = function(s)
 
		leroy_state = 4;
 
        remove(char_leroy, where('char_leroy'));
 
        if (atl_lfc_goldman_exposed) then
 
            atl_lfc_state = 3;
 
            remove(char_goldman, where('char_goldman'));
 
            return [[Через несколько минут в помещение входит охрана станции во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам унести тело, а сам обращается к вам: "Хорошая работа. Вскоре мы сообщим о том, когда вы сможете забрать Левиафан". ^Вы возвращаетесь в свою комнату, чтобы отдохнуть после тяжелой ночи.^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]];
 
        else
 
            atl_lfc_state = 5;
 
            return [[Через несколько минут в помещение входит охрана станции во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам унести тело, а сам обращается к вам: "Хорошая работа. Вскоре мы сообщим о том, когда вы сможете забрать Левиафан". ^Вы возвращаетесь в свою комнату, чтобы отдохнуть после тяжелой ночи.^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Моро: "Дрейк, жду вас в моем кабинете". ]];
 
        end;
 
	end;
 
};
 
 
atl_lfc_dock_end_barreled = room {
 
	nam = "Атлантида, Аква, док Наутилуса";
 
	dsc = [[Вы попадаете в один из тросов, на который крепилась бочка и она с грохотом катится вниз, сбивая с ног саботажника. Тот падает в воду. Он не успевает придти в себя, как в помещение входит охрана станции, привлеченная шумом, во главе с Винсентом Даркстаром. Винсент отдает приказ охранникам увести Мишеля, а сам обращается к вам: "Хорошая работа. Нам надо будет немного поработать с ним". ^Вы возвращаетесь в свою комнату и сразу же засыпаете. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_luna_drake_room");
 
	};
 
	entered = function(s)
 
		atl_lfc_state = 3;
 
        atl_lfc_leroy_goldman = true;      
 
        atl_lfc_goldman_exposed = true;      
 
        remove(char_leroy, where('char_leroy'));
 
        remove(char_goldman, where('char_goldman'));
 
	end;
 
};
 
 
atl_lfc_dock_end_ko = room {
 
	nam = "Атлантида, Аква, док Наутилуса";
 
	dsc = [[Вы оглушаете саботажника и ждете, когда в помещение придут охранники. ^Они приходят через несколько минут вместе с Винсентом Даркстаром. Охранники уносят неподвижного Леруа, а Даркстар обращается к вам: "Хорошая работа. Нам надо будет немного поработать с ним". ^Вы возвращаетесь в свою комнату и сразу же засыпаете. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]];
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_luna_drake_room");
 
	};
 
	entered = function(s)
 
		atl_lfc_state = 3;
 
        atl_lfc_goldman_exposed = true;
 
        atl_lfc_leroy_goldman = true;
 
        remove(char_leroy, where('char_leroy'));
 
        remove(char_goldman, where('char_goldman'));
 
	end;
 
};
 
 
atl_lfc_outro_expose = cutscene("Атлантида", "Атлантида", [[Даркстар поднимает трубку телефона и отдает приказ: "Приведите ко мне Леруа и Голдмана". Вас он просит отойти в угол комнаты и ждать там. ^Допрос продолжался недолго. Сперва Леруа упирался, но подельник сдал его с потрохами и в итоге ему осталось только признать свою вину. ^Подозреваемых заперли в их комнатах, а вас Даркстар отпустил отдыхать. Придя в свою комнату, вы тут же ложитесь спать. ^Вы просыпаетесь от телефонного звонка. Подняв трубку вы слышите голос Даркстара: "Дрейк, зайдите ко мне". ]], "atl_luna_drake_room", function(s)
 
    atl_lfc_state = 3;
 
    atl_rep_moreau = atl_rep_moreau + 1;
 
    atl_rep_darkstar = atl_rep_darkstar + 1;
 
    rel_walter = rel_walter + 1;
 
    remove(char_leroy, where('char_leroy'));
 
    remove(char_goldman, where('char_goldman'));
 
end);
 
 
atl_lfc_court = dlg {
 
    var {
 
        goldman = 0;
 
        leroy = 0;
 
    };
 
    nam = "Атлантида";
 
    entered = function(s)
 
        if atl_lfc_goldman_exposed then
 
            p([[В комнату входят руководители станции. Даркстар встает из-за стола и сообщает: "Дорогие друзья, сегодня мы обсуждаем важный вопрос. Как вы все знаете, мы поймали саботажников -- ими оказались Леонард Голдман и Мишель Леруа. Мы будем следовать обычной процедуры, однако, решено, что в этом заседании будет участвовать Дэвид Дрейк, оказавший неоценимую помощь в поимке преступников. ]]);
 
        else
 
            p([[В комнату входят руководители станции. Даркстар встает из-за стола и сообщает: "Дорогие друзья, сегодня мы обсуждаем важный вопрос. Как вы все знаете, мы поймали саботажника -- им оказался Мишель Леруа. Мы будем следовать обычной процедуры, однако, решено, что в этом заседании будет участвовать Дэвид Дрейк, оказавший неоценимую помощь в поимке преступников. ]]);
 
        end;
 
        p([[Фредерик Моро, вам слово". ^Фредерик Моро начинает говорить: "Ситуация экстраординарная и требует экстраординарных мер]]);
 
        --[[
 
            lfc_goldman_execute = 0;
 
            lfc_goldman_imprison = 0;
 
            lfc_goldman_banish = 1;
 
            lfc_leroy_execute = 0;
 
            lfc_leroy_imprison = 0;
 
            lfc_leroy_banish = 1;
 
        ]]
 
        if atl_lfc_goldman_exposed then
 
            if char_moreau_dlg.lfc_goldman_imprison > 0 then
 
                p([[, к которым мы пока не готовы. Я считаю, что Леонарда Голдмана следует посадить под арест, как минимум до того времени, как не вернется экспедиция Уильяма. ]]);
 
                if leroy_state ~= 4 then
 
                    if char_moreau_dlg.lfc_leroy_imprison > 0 then
 
                        p([[Что касается Мишеля Леруа, то его так же следует взять под стражу. ]]);
 
                    else
 
                        p([[Мишеля Леруа же слишком опасно держать здесь. Стоит высадить его где-нибудь на побережье Северной Америки. ]]);
 
                    end;
 
                end;
 
            else
 
                p([[. Единственным разумным решением, на мой взгляд, будет изгнать Леонарда Голдмана с Атлантиды. Высадить его где-нибудь неподалеку от какого-нибудь городка. ]]);
 
                if leroy_state ~= 4 then
 
                    if char_moreau_dlg.lfc_leroy_imprison > 0 then
 
                        p([[Что касается Мишеля Леруа, то его следует взять под стражу. Такого как он отпускать на поверхность слишком опасно. ]]);
 
                    else
 
                        p([[Мишеля Леруа следует отправить вместе с ним. Преступникам не место на станции. ]]);
 
                    end;
 
                end;
 
            end;
 
        else
 
            if char_moreau_dlg.lfc_leroy_imprison > 0 then
 
                p([[, к которым мы пока не готовы. Я считаю, что Мишеля Леруа следует посадить под арест, как минимум до того времени, как не вернется экспедиция Уильяма.]]);
 
            else
 
                p([[. Мишеля Леруа же слишком опасно держать здесь. Стоит высадить его где-нибудь на побережье Северной Америки. ]]);
 
            end;
 
        end;
 
        p([[ У меня все". ^Даркстар передает слово Екатерине Светловой и она предлагает свое решение:"]]);
 
        if atl_lfc_goldman_exposed then
 
            if leroy_state == 4 then
 
                if char_svetlova_dlg.lfc_goldman_banish > 0 then
 
                    p([[Я считаю, что Голдмана стоит выслать отсюда. Увезти куда подальше, только и всего. ]]);
 
                else
 
                    p([[Голдману стоит посидеть немного взаперти и подумать. Думаю, он не до конца потерян. ]]);
 
                end;
 
            else
 
                if char_svetlova_dlg.lfc_goldman_banish > 0 then
 
                    if char_svetlova_dlg.lfc_leroy_banish > 0 then
 
                        p([[Я считаю, что обоих стоит выслать отсюда. Увезти куда подальше, только и всего. ]]);
 
                    else
 
                        p([[Голдмана можно просто выслать на поверхность, но Леруа слишком опасен. Этот пусть остается здесь, под надзором. ]]);
 
                    end;
 
                else
 
                    if char_svetlova_dlg.lfc_leroy_banish > 0 then
 
                        p([[Голдману стоит посидеть немного взаперти и подумать. Думаю, он не до конца потерян. А вот Леруа не место на Атлантиде. ]]);
 
                    else
 
                        p([[Я считаю, что обоих нужно запереть и держать так, пока они не поймут свою ошибку. ]]);
 
                    end;
 
                end;
 
            end;
 
        else
 
            if char_svetlova_dlg.lfc_leroy_banish > 0 then
 
                p([[Леруа не место на Атлантиде. ]]);
 
            else
 
                p([[Пусть Леруа немного посидит взаперти, а потом посмотрим. ]]);
 
            end;
 
        end;
 
        p([[Это все". ^Даркстар передает слово Майклу Райту и он говорит следующее: "]]);
 
        if atl_lfc_goldman_exposed then
 
            if leroy_state == 4 then
 
                if char_michael_wright_dlg.lfc_goldman_banish > 0 then
 
                    p([[Голдману не место на Атлантиде. ]]);
 
                else
 
                    p([[Голдмана следует изолировать. ]]);
 
                end;
 
            else
 
                if char_michael_wright_dlg.lfc_goldman_banish > 0 then
 
                    if char_michael_wright_dlg.lfc_leroy_banish > 0 then
 
                        p([[Им не место на Атлантиде. ]]);
 
                    else
 
                        p([[Голдману не место на Атлантиде, а Леруа следует изолировать. ]]);
 
                    end;
 
                else
 
                    if char_michael_wright_dlg.lfc_leroy_banish > 0 then
 
                        p([[Голдмана следует изолировать, а вот Леруа не место на Атлантиде. ]]);
 
                    else
 
                        p([[Их следует изолировать. ]]);
 
                    end;
 
                end;
 
            end;
 
        else
 
            if char_michael_wright_dlg.lfc_leroy_banish > 0 then
 
                p([[Леруа не место на Атлантиде. ]]);
 
            else
 
                p([[Леруа следует изолировать. ]]);
 
            end;
 
        end;
 
        p([[Я закончил". ^Теперь Даркстар передает слово вам. ]]);
 
        if atl_lfc_goldman_exposed then
 
            psub("goldman");
 
        else
 
            psub("leroy");
 
        end;
 
    end;
 
    decision = function(s)
 
        local banish_g = 0;
 
        local execut_g = 1;
 
        local prison_g = 0;
 
        local banish_l = 0;
 
        local execut_l = 1;
 
        local prison_l = 0;
 
        
 
        if atl_lfc_court.goldman == 1 then
 
            execut_g = execut_g + 1;
 
        elseif atl_lfc_court.goldman == 2 then
 
            banish_g = banish_g + 1;
 
        elseif atl_lfc_court.goldman == 3 then
 
            prison_g = prison_g + 1;
 
        end;
 
        
 
        if atl_lfc_court.leroy == 1 then
 
            execut_l = execut_l + 1;
 
        elseif atl_lfc_court.leroy == 2 then
 
            execut_l = execut_l + 1;
 
        elseif atl_lfc_court.leroy == 3 then
 
            execut_l = execut_l + 1;
 
        end;
 
        
 
        if char_moreau_dlg.lfc_goldman_banish >= char_moreau_dlg.lfc_goldman_prison then
 
            banish_g = banish_g + 1;
 
        else
 
            prison_g = prison_g + 1;
 
        end;
 
        
 
        if atl_lfc_court.goldman == 1 then
 
            atl_rep_moreau = atl_rep_moreau - 1;
 
        end;
 
    
 
        if char_svetlova_dlg.lfc_goldman_banish >= char_svetlova_dlg.lfc_goldman_prison and char_svetlova_dlg.lfc_goldman_banish >= char_svetlova_dlg.lfc_goldman_execute then
 
            banish_g = banish_g + 1;
 
            if atl_lfc_court.goldman == 1 then
 
                atl_rep_svetlova = atl_rep_svetlova - 1;
 
            end;
 
        elseif char_svetlova_dlg.lfc_goldman_prison >= char_svetlova_dlg.lfc_goldman_execute then
 
            prison_g = prison_g + 1;
 
            if atl_lfc_court.goldman == 1 then
 
                atl_rep_svetlova = atl_rep_svetlova - 1;
 
            end;
 
        else
 
            execut_g = execut_g + 1;
 
        end;
 
        
 
        if char_michael_wright_dlg.lfc_goldman_banish >= char_michael_wright_dlg.lfc_goldman_prison and char_michael_wright_dlg.lfc_goldman_banish >= char_michael_wright_dlg.lfc_goldman_execute then
 
            banish_g = banish_g + 1;
 
            if atl_lfc_court.goldman == 1 then
 
                atl_rep_wright = atl_rep_wright - 1;
 
            end;
 
        elseif char_michael_wright_dlg.lfc_goldman_prison >= char_michael_wright_dlg.lfc_goldman_execute then
 
            prison_g = prison_g + 1;
 
            if atl_lfc_court.goldman == 1 then
 
                atl_rep_wright = atl_rep_wright - 1;
 
            end;
 
        else
 
            execut_g = execut_g + 1;
 
        end;
 
        
 
        if char_moreau_dlg.lfc_leroy_banish >= char_moreau_dlg.lfc_leroy_prison then
 
            banish_l = banish_l + 1;
 
        else
 
            prison_l = prison_l + 1;
 
        end;
 
        
 
        if atl_lfc_court.leroy == 1 then
 
            atl_rep_moreau = atl_rep_moreau - 1;
 
        end;
 
        
 
        if char_svetlova_dlg.lfc_leroy_banish >= char_svetlova_dlg.lfc_leroy_prison and char_svetlova_dlg.lfc_leroy_banish >= char_svetlova_dlg.lfc_leroy_execute then
 
            banish_l = banish_l + 1;
 
            if atl_lfc_court.leroy == 1 then
 
                atl_rep_svetlova = atl_rep_svetlova - 1;
 
            end;
 
        elseif char_svetlova_dlg.lfc_leroy_prison >= char_svetlova_dlg.lfc_leroy_execute then
 
            prison_l = prison_l + 1;
 
            if atl_lfc_court.leroy == 1 then
 
                atl_rep_svetlova = atl_rep_svetlova - 1;
 
            end;
 
        else
 
            execut_l = execut_l + 1;
 
        end;
 
        
 
        if char_michael_wright_dlg.lfc_leroy_banish >= char_michael_wright_dlg.lfc_leroy_prison and char_michael_wright_dlg.lfc_leroy_banish >= char_michael_wright_dlg.lfc_leroy_execute then
 
            banish_l = banish_l + 1;
 
            if atl_lfc_court.leroy == 1 then
 
                atl_rep_wright = atl_rep_wright - 1;
 
            end;
 
        elseif char_michael_wright_dlg.lfc_leroy_prison >= char_michael_wright_dlg.lfc_leroy_execute then
 
            prison_l = prison_l + 1;
 
            if atl_lfc_court.leroy == 1 then
 
                atl_rep_wright = atl_rep_wright - 1;
 
            end;
 
        else
 
            execut_l = execut_l + 1;
 
        end;
 
        
 
        local r = [[Даркстар забирает листы с решениями всех участников совета и, просмотрев их, оглашает вердикт: "]];
 
        
 
        if atl_lfc_goldman_exposed then
 
            if banish_g >= prison_g and banish_g >=execut_g then
 
                goldman_state = 3;
 
                r = r .. [[Леонард Голдман будет изгнан с Атлантиды. ]];
 
            elseif prison_g >= execut_g then
 
                goldman_state = 2;
 
                r = r .. [[Леонард Голдман будет содержаться в заключении. ]];
 
            else
 
                goldman_state = 1;
 
                r = r .. [[Леонард Голдман будет казнен. ]];
 
            end;
 
        end;
 
        
 
        if leroy_state ~= 4 then
 
            if banish_l >= prison_lg and banish_l >=execut_l then
 
                leroy_state = 3;
 
                r = r .. [[Мишель Леруа будет изгнан с Атлантиды. ]];
 
            elseif prison_g >= execut_g then
 
                leroy_state = 2;
 
                r = r .. [[Мишель Леруа будет содержаться в заключении. ]];
 
            else
 
                leroy_state = 1;
 
                r = r .. [[Мишель Леруа будет казнен. ]];
 
            end;
 
        end;
 
        psub("leave");
 
        return r .. [[Решение принято, все свободны". ]];
 
    end;
 
    phr = {
 
        {tag="goldman"};
 
        {"Голдман -- просто жертва. Леруа задурил ему мозги. Пусть посидить в камере и подумает. ", function(s)
 
            char_moreau_dlg.lfc_goldman_imprison = char_moreau_dlg.lfc_goldman_imprison + 1;
 
            char_svetlova_dlg.lfc_goldman_imprison = char_svetlova_dlg.lfc_goldman_imprison + 1;
 
            char_michael_wright_dlg.lfc_goldman_imprison = char_michael_wright_dlg.lfc_goldman_imprison + 1;
 
            if leroy_state == 4 then
 
                psub("final_goldman");
 
                return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]];
 
            else
 
                psub("leroy");
 
                return "";
 
            end;
 
        end};
 
        {"Голдману не место на Атлантиде. ", function(s)
 
            char_moreau_dlg.lfc_goldman_banish = char_moreau_dlg.lfc_goldman_banish + 1;
 
            char_svetlova_dlg.lfc_goldman_banish = char_svetlova_dlg.lfc_goldman_banish + 1;
 
            char_michael_wright_dlg.lfc_goldman_banish = char_michael_wright_dlg.lfc_goldman_banish + 1;
 
            if leroy_state == 4 then
 
                psub("final_goldman");
 
                return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]];
 
            else
 
                psub("leroy");
 
                return "";
 
            end;
 
        end};
 
        {"Голдман подверг опасности всю станцию. Его следует казнить. ", function(s)
 
            char_svetlova_dlg.lfc_goldman_execute = char_svetlova_dlg.lfc_goldman_execute + 1;
 
            char_michael_wright_dlg.lfc_goldman_execute = char_michael_wright_dlg.lfc_goldman_execute + 1;        
 
            if leroy_state == 4 then
 
                psub("final_goldman");
 
                return [[Даркстар продолжает: "Теперь каждый напишет свое решение, после чего я посчитаю и оглашу результат". ]];
 
            else
 
                psub("leroy");
 
                return "";
 
            end;
 
        end};
 
        {tag="leroy"};
 
        {"Нельзя давать Леруа то, ради чего он затеял все это. Держать его на станции также слишком опасно. Остается единственный способ избавиться от него. ", function(s)
 
            char_svetlova_dlg.lfc_leroy_execute = char_svetlova_dlg.lfc_leroy_execute + 1;
 
            char_michael_wright_dlg.lfc_leroy_execute = char_michael_wright_dlg.lfc_leroy_execute + 1;
 
            if atl_lfc_goldman_exposed then
 
                psub("final_goldman");
0 comments (0 inline, 0 general)