Changeset - 814dbc81e6c7
[Not reviewed]
default
0 2 0
Silverwing - 7 years ago 2017-12-02 10:02:36

More proper leviathan refitting
2 files changed with 4 insertions and 4 deletions:
0 comments (0 inline, 0 general)
atlantis_intro.lua
Show inline comments
 
atlantis_intro_dock = room {
 
	nam = "Атлантида";
 
	entered = function(s)
 
        pl.has_light = false;   
 
		remove(item_lamp, pl);
 
        submarine_leviathan.refit = true;
 
        put("item_colt", "leviathan_captains_cabin");
 
        put("item_harpoon", "leviathan_airlock");
 
		if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then 
 
			atl_jack_in_party = true; 
 
			char_wright:accompany(false);
 
		end;
 
	end;
 
	dsc = [[Выйдя из люка, вы оказываетесь в большом прямоугольном доке, ярко освещенном электрическими лампами. Высоко над вами нависает металлический потолок, в нескольких местах пересеченный массивными опорными балками. Под потолком укреплены рельсы, предназначенные для подъемных кранов. По периметру здания расположены металлические платформы, от одной из которых к Левиафану тянется легкий плавучий мостик. В стене напротив вас вы видите шлюзовую дверь. Она открывается и в док входит группа людей, одетых в блестящие черные костюмы. На поясе каждого висит револьвер. ^Один из них держит в руке чемоданчик с двумя антеннами и телефонной трубкой, соединенной с ним. Он молча протягивает вам трубку. Вы подносите ее к уху, и слышите спокойный и уверенный голос: "Добро пожаловать на Атлантиду". ]];
 
	obj = {
 
		vway("continue", "{Продолжить}", "atlantis_intro_radio_dlg");
 
	};
 
};
 
 
atlantis_intro_radio_dlg = dlg {
 
	nam = "Радио";
 
	entered = [[В левой руке вы держите телефонную трубку, соединенную проводами только с чемоданчиком в руке одного из охранников. Из трубки доносится голос: "Кто вы такие? Прошу отвечать максимально честно и полно. Не будем терять времени". ]];
 
	phr = {
 
		{"Как эта штука работает?", [[Невидимый собеседник кратко объясняет вам: "В чемоданчике спрятано небольшое радио и батарея. Когда вы говорите, ваш голос преобразуется в радиосигнал и принимается моим аппаратом. Он преобразует радиосигнал обратно в голос и выводит его на динамик". ]]};
 
		{"Кто вы?", [[Из трубки доносится спокойный, уверенный голос собеседника: "Я Винсент Даркстар, начальник службы безопасности станции". ]]};
 
		{"Вы знаете Уильяма Дрейка?", [["Ответьте на мои вопросы, пожалуйста", -- отвечает собеседник. Он говорит спокойно и уверенно. ]]};
 
		{"Мое имя - Дэвид Дрейк. ", [[Собеседник удивленно переспрашивает: "Дрейк?", -- вы слышите легкий щелчок. Через некоторое время вы слышите еще один щелчок, и тот же голос задает вам следующий вопрос: "Как вы нашли нас?" ]], code [[ psub('station') ]]};
 
		{tag="station"};
 
		{"Я нашел этот корабль, _\"Левиафан\"_, в одном из старых доков Вестхейвен Трансоушен. Также, среди бумаг компании мне удалось найти карту, указывающую это место. ", [[Вы слышите в трубке другой голос, гораздо тише, кажется говорящий находится на некотором удалении от трубки: _"Я думал, мы уничтожили все документы. Нам..."_ - вы слышите легкий щелчок и соединение прерывается. Через несколько минут вы снова слышите щелчок и в трубке раздается голос первого собеседника: _"Господин Дрейк, мы не можем вас отпустить и предлагаем вам остаться на станции в качестве гостя. Позже, мы решим что делать с вами дальше"_. ]], code [[ psub('trust')]]};
 
		{tag="trust"};
 
		{"Я ищу своего отца, Уильяма Дрейка. Вы знаете его?", [[Голос в трубке отвечает: "Уильяма сейчас нет на станции". ]], code [[psub('drake')]]};
 
		{"Что это значит? Я не могу здесь задерживаться!", [[Голос в трубке отвечает: "Мы решим этот вопрос при личной встрече". ]]};
items.lua
Show inline comments
 
@@ -84,49 +84,49 @@ item_spear = obj {
 
        end;
 
        
 
        if (canhit) then
 
            if (o.onhit) then
 
                return(o.onhit(o));
 
            else
 
                return "";
 
            end;
 
        elseif (o.nohitmsg) then
 
            return o.nohitmsg;
 
        else
 
            return "Я не буду этого делать!";
 
        end;
 
    end;
 
};
 
 
item_colt = obj {
 
    var {
 
        bullets = 6;
 
    };
 
	nam = "colt";
 
	disp = function(s)
 
		return "Кольт (" .. tostring(s.bullets) .. " зарядов)";
 
	end;
 
	dsc = [[Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]];
 
	dsc = [[На столе лежит {револьвер}. ]];
 
	use = function(s, o)
 
        if (here().underwater) then
 
            return "Под водой это вам не поможет. ";
 
        end;
 
    
 
		if (s.bullets == 0) then
 
			return "Нужно перезарядиться, патроны кончились";
 
		end;
 
		
 
		local canshoot = false;
 
		if (type(o.canshoot) == "function") then
 
			canshoot = o.canshoot(o);
 
		else
 
			canshoot = o.canshoot;
 
		end;
 
		
 
		if (canshoot) then
 
			s.bullets = s.bullets - 1;
 
			p("Вы стреляете в "..o.disp2 .. ". ");
 
			if (o.onshoot) then
 
				return(o.onshoot(o));
 
			else
 
				return "";
 
			end;
 
@@ -140,51 +140,49 @@ item_colt = obj {
 
		if (s.bullets > 0) then
 
			return [[Ваш револьвер. Надежное оружие в хорошем состоянии. Оно еще не раз спасет вашу жизнь. У вас также есть небольшой запас патронов к нему. ]];
 
		else
 
			s.bullets = 6;
 
			p [[Вы перезаряжаете ваш револьвер и оружие снова готово к бою. ]];
 
            if (type(here().onreload) == 'function') then
 
                here().onreload();
 
            end;
 
		end;
 
	end;
 
};
 
 
item_harpoon = obj {
 
    var {
 
        charge = 1;
 
    };
 
    nam = "item_harpoon";
 
    disp = function(s)
 
        if (s.charge == 0) then
 
            return "Гарпунное ружье (разряжено)";
 
        else
 
            return "Гарпунное ружье (заряжено)";
 
        end;
 
    end;
 
    dsc = [[
 
        
 
    ]];
 
    dsc = [[К стене прислонено {гарпунное ружье}. ]];
 
    use = function(s, o)
 
        if (s.charge == 0) then
 
            return "Ружье не заряжено. ";
 
        end;
 
        
 
        local canshoot = false;
 
        if (type(o.canshoot) == "function") then
 
            canshoot = o:canshoot();
 
        else
 
            canshoot = o.canshoot;
 
        end;
 
        
 
        local canthrust = false;
 
        if (type(o.canthrust) == "function") then
 
            canthrust = o:canthrust();
 
        else
 
            canthrust = o.canthrust;
 
        end;
 
        
 
        if (canthrust) then
 
            p("Вы атакуете "..o.disp2 .. ". ");
 
            if (o.onthrust) then
 
                return(o.onthrust(o));
 
            else
0 comments (0 inline, 0 general)