Changeset - 69e3aac84dc7
[Not reviewed]
default
0 1 0
Silverwing - 7 years ago 2017-12-02 17:06:05

lfc saboteur seen
1 file changed with 1 insertions and 0 deletions:
0 comments (0 inline, 0 general)
atlantis_looking_for_clues.lua
Show inline comments
 
@@ -287,384 +287,385 @@ atl_nd_crane = obj {
 
        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_sab_vis";
 
    };
 
};
 
 
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");
 
            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 = "Мишель Леруа";
 
	canshoot = true;
 
	dsc = function(s)
 
        if (where(s) == where(pl)) then
 
            return [[В нескольких метрах от вас стоит {Мишель Леруа}. Он обращен к вам спиной и не видит вас. ]];
 
        else
 
            return [[Мишель Леруа стоит около Наутилуса. ]];
 
        end;
 
    end;
 
	act = function(s)
 
		walkin("atl_lfc_sab_dlg");
 
	end;
 
	life = function(s)
 
        if (where(atl_lfc_sab_vis) ~= where(pl)) 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 = "Мишель Леруа";
 
	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(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");
0 comments (0 inline, 0 general)