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
 
@@ -511,135 +511,141 @@ atl_lfc_boxes = obj {
 
 
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;
0 comments (0 inline, 0 general)