Changeset - 7a77759c31ff
[Not reviewed]
default
0 4 0
Silverwing - 8 years ago 2017-02-24 13:53:54

Atlantis overhaul progress; Progress on 238/239
4 files changed with 117 insertions and 167 deletions:
0 comments (0 inline, 0 general)
atlantis.lua
Show inline comments
 
@@ -674,406 +674,354 @@ atl_lift_lever = obj {
 
	end;
 
};
 
 
--[[
 
Персонажи
 
]]
 
 
char_darkstar = npc {
 
	nam = "Винсент Даркстар";
 
	dsc = function(s)
 
        if (char_darkstar_dlg == 0) then
 
            return [[В одном из кресел сидит средних лет {мужчина} с короткими черными волосами. Он одет в строгий деловой костюм черного цвета без каких-либо изысков. Лицо его гладко выбрито. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        else
 
            return [[В одном из кресел сидит {Винсент Даркстар}. Холодный взгляд его черных глаз устремлен на вас. Сложив руки на столе, он ждет ваших дальнейших действий. ]];
 
        end;
 
    end;   
 
	dlg = "char_darkstar_dlg";
 
};
 
 
char_moreau = npc {
 
	nam = "Фредерик Моро";
 
	dsc = function(s)
 
        if (char_moreau_dlg.state == 0) then
 
            return [[За столом в кресле сидит немолодой {мужчина}. Кудрявые седые волосы аккуратно подстрижены. Он одет в строгий деловой костюм. Аккуратные седые усы украшают его лицо. Его серые глаза, скрытые очками, внимательно рассматривают вас. В руках он вертит перо. ]];
 
        else
 
            return [[За столом в кресле сидит {Фредерик Моро} и внимательно наблюдает за вами сквозь стекла очков. В руках он вертит перо. ]];
 
        end;
 
    end;   
 
	dlg = "char_moreau_dlg";
 
};
 
 
char_svetlova = npc {
 
	nam = "Екатерина Светлова";
 
	dsc = function(s)
 
        if (char_svetlova_dlg.state == 0) then   
 
            return [[За столом сидит {женщина} лет сорока-пяти. Золотистые волосы собраны в пучок на затылке. Она одета в синее платье, почти без украшений. В правой руке она держит карандаш, которым периодически делает какие-то пометки в бумагах, лежащих на столе. Кажется, она не обращает на вас никакого внимания. ]];
 
        else
 
            return [[За столом сидит {Екатерина Светлова}. Периодически она делает какие-то пометки карандашом в ]];
 
        end;
 
    end;
 
	dlg = "char_svetlova_dlg";
 
};
 
 
char_anna_atlantis = npc {
 
	nam = "Анна Рэдклифф";
 
	disp = "Анна Рэдклифф";
 
	dsc = function(s)
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
			return [[
 
				{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. 
 
			]];
 
            if (char_anna_atlantis_dlg.state == 0) then
 
                return [[{Девушка} лет двадцати-пяти внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            else
 
			    return [[{Анна Рэдклифф} внимательно слушает навьяра, иногда что-то спрашивая. ]];
 
            end;         
 
		else
 
			return [[
 
				{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. 
 
			]];
 
            if (char_anna_atlantis_dlg.state == 0) then      
 
                return [[{Девушка} лет тридцати внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            else
 
			    return [[{Анна Рэдклифф} внимательно слушает навьяров, иногда что-то спрашивая. ]];
 
            end;         
 
		end;
 
	end;
 
	dlg = "char_anna_atlantis_dlg";
 
};
 
 
char_learr_atlantis = npc {
 
	var {
 
		offended = false;
 
	};
 
	nam = "Леарр";
 
	__where__ = 'atl_oculus_lab_c';
 
	dsc = function(s)
 
		-- TODO Описание Леарр меняется в зависимости от комнаты, где она находится
 
		return [[
 
			{Леарр} стоит, опершись одной рукой на стол. Другой рукой она активно жестикулирует, рассказывая что-то.
 
		]];
 
        if (stead.deref(here()) == "atl_oculus_lab_c") then
 
            return [[{Леарр} стоит, опершись одной рукой на стол. Другой рукой она активно жестикулирует, рассказывая что-то. ]];
 
        else
 
            if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
                return [[{Леарр} стоит перед иллюминатором и что-то рассказывает ]];
 
            else
 
                return [[{Леарр} стоит перед иллюминатором и смотрит вдаль. ]];
 
            end;
 
        end;
 
	end;
 
	dlg = "char_learr_atlantis_dlg";
 
};
 
 
char_aikerjarr = npc {
 
	nam = "Аикерьярр";
 
	dsc = function(s)
 
		return [[
 
			{Аикерьярр} неподвижно стоит у одного из столов. 
 
		]];
 
        if (char_aikerjarr_dlg.state == 0) then
 
            return [[У одного из столов неподвижно стоит {навьяр}. ]];
 
        else
 
		    return [[У одного из столов неподвижно стоит {Аикерьярр}. ]];
 
        end;      
 
	end;
 
	dlg = "char_aikerjarr_dlg";
 
};
 
 
char_ryveerr = npc {
 
	nam = "Ривеерр";
 
	dsc = function(s)
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
			return [[
 
				{Ривеерр} что-то рассказывает. 
 
			]];
 
            if (char_ryveerr_dlg.state == 0) then
 
			    return [[У одного из столов стоит {навьяр} и что-то рассказывает. ]];
 
            else
 
                return [[У одного из столов стоит {Ривеерр} и что-то рассказывает. ]];
 
            end;         
 
		else 
 
			return [[
 
				{Ривеерр} иногда прерывает рассказ Леарр, добавляя что-то. 
 
			]];
 
            if (char_ryveerr_dlg.state == 0) then
 
			    return [[Рядом стоит {навьяр} и иногда прерывает рассказ Леарр, добавляя что-то. ]];
 
            else
 
                return [[Рядом стоит {Ривеерр} и иногда прерывает рассказ Леарр, добавляя что-то. ]];
 
            end;
 
		end;
 
	end;
 
	dlg = "char_ryveerr_dlg";
 
};
 
 
char_loong = npc {
 
	nam = "Джинхэй Лун";
 
	dsc = function(s)
 
		-- TODO описание должно мелянться, если Леарр не здесь
 
		if (where(char_learr_atlantis) ~= atl_oculus_lab_c) then
 
			return [[
 
				{Джинхэй Лун} стоит рядом с блокнотом и делает записи по ходу рассказа навьяра. 
 
			]];
 
		if (char_loong_dlg.state == 0) then
 
            return [[Там же стоит немолодой {китаец} с блокнотом и делает какие-то записи. ]];
 
		else
 
			return [[
 
				{Джинхэй Лун} стоит рядом с блокнотом и делает записи по ходу рассказа навьяров. 
 
			]];
 
            return [[Там же стоит {Джинхэй Лун} с блокнотом и делает какие-то записи. ]];
 
		end;
 
	end;
 
	dlg = "char_loong_dlg";
 
};
 
 
char_winterlight = npc {
 
	nam = "Сильвия Уинтерлайт";
 
	dsc = function(s)
 
        if (char_winterlight_dlg.state == 0) then
 
            return [[{Женщина} лет тридцати-пяти--сорока стоит, склонишись над картой. Длинные темные волосы спадают на плечи. Она одета в длинную черную юбку и серую блузку. Ее зеленые глаза внимательно изучают документ, лежащий перед ней. ]];
 
        else
 
            return [[{Сильвия Уинтерлайт} стоит возле одного из столов, рассматривая карту. ]];
 
        end;
 
    end;   
 
	dlg = "char_winterlight_dlg";
 
};
 
 
char_jack_wright_atlantis = npc {
 
	nam = "Джек Райт";
 
	dsc = function(s)
 
		if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
			return [[
 
				{Джек Райт} сидит рядом и о чем-то с ней разговаривает. 
 
			]];
 
			return [[{Джеку Райт}, стоящему рядом. ]];
 
		else 
 
			return [[
 
				{Джек Райт}
 
			]];
 
			return [[{Джеком}. ]];
 
		end;
 
	end;
 
	dlg = "char_jack_wright_atlantis_dlg";
 
};
 
 
char_michael_wright = npc {
 
	nam = "Майкл Райт";
 
	dsc = [[
 
		{Майкл Райт} просматривает какие-то чертежи. 
 
	]];
 
	dsc = function(s)
 
        if (where(char_jack_wright_atlantis) == atl_ignis_hall_a) then
 
            return [[{Майкл Райт} оживленно беседует о чем-то с ]];
 
        else
 
            return [[{Майкл Райт} просматривает какие-то чертежи. ]];
 
        end;
 
    end;
 
	dlg = "char_michael_wright_dlg";
 
};
 
 
char_legrand = npc {
 
	nam = "Мари Легран";
 
	dsc = [[
 
		{Мари Легран} стоит у верстака, рассматривая какую-то деталь. 
 
	]];
 
	dsc = function(s)
 
        if (char_legrand_dlg.state == 0) then
 
            return [[У верстака стоит {женщина} лет сорока--сорока-пяти и рассматривает какую-то деталь.]];
 
        else
 
            return [[У верстака стоит {Мари Легран} и рассматривает какую-то деталь. ]];
 
        end;   
 
    end;   
 
	dlg = "char_legrand_dlg";
 
};
 
 
char_radcliffe_atlantis = npc {
 
	nam = "Уолтер Рэдклифф";
 
	dsc = [[
 
		{Уолтер Рэдклифф} стоит, навалившись на стену. 
 
	]];
 
	dsc = function(s)
 
        if (char_radcliffe_atlantis_dlg.state == 0) then
 
            return [[{Человек} лет пятидесяти стоит, навалившись на стену. ]];
 
        else
 
            return [[{Уолтер Рэдклифф} стоит, навалившись на стену. ]];
 
        end;
 
    end;
 
	dlg = "char_radcliffe_atlantis_dlg";
 
};
 
 
char_xiao = npc {
 
	nam = "Вейюан Сяо";
 
	dsc = [[
 
		{Вейюан Сяо} осматривает Наутилус.  
 
	]];
 
	dsc = function(s)
 
        if (char_xiao_dlg.state == 0) then
 
            return [[Немолодой {китаец} осматривает Наутилус. ]];
 
        else
 
            return [[{Вейюан Сяо} осматривает Наутилус. ]];
 
        end;   
 
    end;   
 
	dlg = "char_xiao_dlg";
 
};
 
 
char_leroy = npc {
 
	nam = "Мишель Леруа";
 
	dsc = [[
 
		{Мишель Леруа} что-то чертит. 
 
	]];
 
	dsc = function(s)
 
        if (char_leroy_dlg.state == 0) then
 
            return [[{Мужчина} лет пятидесяти работает над каким-то чертежом. ]];
 
        else
 
            return [[{Мишель Леруа} работает над каким-то чертежом. ]];
 
        end;
 
    end;   
 
    dlg = "char_leroy_dlg";   
 
};
 
 
char_atlantis_guards = npc {
 
	nam = "Охранники";
 
	dsc = [[
 
		Рядом с дверью в оружейную стоят два вооруженных {охранника}. 
 
	]];
 
	phr = {
 
		[[
 
			"Входа нет".
 
		]];
 
		[[
 
			"Вам сюда нельзя".
 
		]];
 
		[[
 
			"Начальник в соседнем кабинете".
 
		]];
 
	};
 
};
 
 
char_goldman = npc {
 
	nam = "Леонард Голдман";
 
	dsc = [[
 
		{Леонард Голдман} сидит на койке о чем-то раздумывая. 
 
	]];
 
	dsc = function(s)
 
        if (char_goldman_dlg.state == 0) then
 
            return [[На койке, закинув руки за голову, лежит светловолосый {мужчина} лет пятидесяти. ]];
 
        else
 
            return [[На койке, закинув руки за голову, лежит {Леонард Голдман}. ]];
 
        end;   
 
    end;   
 
	dlg = "char_goldman_dlg";
 
};
 
 
char_jones = npc {
 
	nam = "Чарли Джонс";
 
	dsc = [[
 
		{Чарли Джонс} осматривает свой револьвер. 
 
	]];
 
	dsc = function(s)
 
        if (char_jones_dlg.state == 0) then
 
            return [[Пожилой {человек}, одетый в простой серый костюм, сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        else
 
            return [[{Чарли Джонс} сидит на койке и задумчиво вертит в руках карандаш. ]];
 
        end;
 
    end;
 
	dlg = "char_jones_dlg";
 
};
 
 
atl_nih_tubes_gen = function(nam, dsc)
 
	return obj {
 
		var {
 
			broken = false;
 
			fixed = false;
 
		};
 
		nam = nam;
 
		dsc = dsc;
 
		act = function(s)
 
			if (s.fixed) then
 
				return "Поврежденные трубы замотаны изолентой";
 
			elseif (s.broken) then
 
				return "Трубы повреждены и воздух со слабым шипением вырывается из них";
 
			else
 
				return "Трубы в порядке";
 
			end;
 
		end;
 
		use = function(s, o)
 
			if (o == item_ducttape and s.broken and not s.fixed) then
 
				s.fixed = true;
 
				atl_nih_state = 2;
 
				return [[
 
					Вы заматываете разрыв изолентой. На какое-то время такое решение сгодится. 
 
				]];
 
			end;
 
		end;
 
	};
 
end;
 
 
atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[
 
	Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_aqua = atl_nih_tubes_gen("atl_nih_tubes_near_aqua", [[Рядом со шлюзом из стены выходят несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
 
atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_a = atl_nih_tubes_gen("atl_nih_tubes_near_a", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_admin = atl_nih_tubes_gen("atl_nih_tubes_near_admin", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[
 
	Вдоль стены протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_luna = atl_nih_tubes_gen("atl_nih_tubes_near_luna", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[
 
	Вдоль стены протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_oculus = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_terra = atl_nih_tubes_gen("atl_nih_tubes_near_oculus", [[Вдоль стены протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
 
atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[
 
	За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_near_arctos = atl_nih_tubes_gen("atl_nih_tubes_near_arctos", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[
 
	Под потолком протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
 
atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[
 
	Под потолком протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_oculus = atl_nih_tubes_gen("atl_nih_tubes_oculus", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[
 
	Под потолком протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_terra = atl_nih_tubes_gen("atl_nih_tubes_terra", [[За снятой декоративной панелью находятся несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[
 
	Под потолком протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_luna = atl_nih_tubes_gen("atl_nih_tubes_luna", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[
 
	Под потолком протянуто несколько {труб}, по которым подается воздух. 
 
]]);
 
atl_nih_tubes_arctos = atl_nih_tubes_gen("atl_nih_tubes_arctos", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_panel_near_a = obscured_obj("atl_nih_panel_near_a", [[
 
	Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. 
 
]], [[
 
	Вы снимаете панель, открывая доступ к трубам. 
 
]], "atl_nih_tubes_near_a", true);
 
atl_nih_tubes_aqua = atl_nih_tubes_gen("atl_nih_tubes_aqua", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_panel_near_admin = obscured_obj("atl_nih_panel_near_admin", [[
 
	Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. 
 
]], [[
 
	Вы снимаете панель, открывая доступ к трубам. 
 
]], "atl_nih_tubes_near_admin", true);
 
atl_nih_tubes_aqua_a = atl_nih_tubes_gen("atl_nih_tubes_aqua_a", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_panel_near_luna = obscured_obj("atl_nih_panel_near_luna", [[
 
	Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. 
 
]], [[
 
	Вы снимаете панель, открывая доступ к трубам. 
 
]], "atl_nih_tubes_near_luna", true);
 
atl_nih_tubes_aqua_b = atl_nih_tubes_gen("atl_nih_tubes_aqua_b", [[Под потолком протянуто несколько {труб}, по которым подается воздух. ]]);
 
 
atl_nih_panel_oculus = obscured_obj("atl_nih_panel_oculus", [[
 
	Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. 
 
]], [[
 
	Вы снимаете панель, открывая доступ к трубам. 
 
]], "atl_nih_tubes_oculus", true);
 
atl_nih_panel_near_a = obscured_obj("atl_nih_panel_near_a", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_a", true);
 
 
atl_nih_boxes_near_oculus = obscured_obj("atl_nih_boxes_near_oculus", [[
 
	За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. 
 
]], [[
 
	Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_near_oculus", false, [[
 
	У стены расположена груда ящиков. 
 
]], [[
 
	Вам незачем что-то еще здесь делать. 
 
]]);
 
atl_nih_panel_near_admin = obscured_obj("atl_nih_panel_near_admin", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_admin", true);
 
 
atl_nih_panel_near_luna = obscured_obj("atl_nih_panel_near_luna", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_near_luna", true);
 
 
atl_nih_panel_oculus = obscured_obj("atl_nih_panel_oculus", [[Рядом со шлюзом установлена {защитная панель}, за которой скрываются трубы для подачи воздуха. ]], [[Вы снимаете панель, открывая доступ к трубам. ]], "atl_nih_tubes_oculus", true);
 
 
atl_nih_boxes_near_terra = obscured_obj("atl_nih_boxes_near_terra", [[
 
	За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. 
 
]], [[
 
	Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_near_terra", false, [[
 
	У стены расположена груда ящиков. 
 
]], [[
 
	Вам незачем что-то еще здесь делать. 
 
]]);
 
atl_nih_boxes_near_oculus = obscured_obj("atl_nih_boxes_near_oculus", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_oculus", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_terra = obscured_obj("atl_nih_boxes_terra", [[
 
	За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. 
 
]], [[
 
	Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_terra", false, [[
 
	У стены расположена груда ящиков. 
 
]], [[
 
	Вам незачем что-то еще здесь делать. 
 
]]);
 
atl_nih_boxes_near_terra = obscured_obj("atl_nih_boxes_near_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. ]], "atl_nih_tubes_near_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_boxes_terra = obscured_obj("atl_nih_boxes_terra", [[За грудой {ящиков}, вы замечаете несколько труб подачи воздуха. ]], [[Вы сдвигаете несколько ящиков, открывая себе доступ к трубам. 
 
]], "atl_nih_tubes_terra", false, [[У стены расположена груда ящиков. ]], [[Вам незачем что-то еще здесь делать. ]]);
 
 
atl_nih_tubes_near_aqua:disable();
 
atl_nih_panel_near_a:disable();
 
atl_nih_panel_near_admin:disable();
 
atl_nih_panel_near_luna:disable();
 
atl_nih_boxes_near_oculus:disable();
 
atl_nih_boxes_near_terra:disable();
 
atl_nih_tubes_near_arctos:disable();
 
atl_nih_panel_oculus:disable();
 
atl_nih_boxes_terra:disable();
 
atl_nih_tubes_luna:disable();
 
atl_nih_tubes_arctos:disable();
 
atl_nih_tubes_aqua:disable();
 
atl_nih_tubes_aqua_a:disable();
 
atl_nih_tubes_aqua_b:disable();
 
 
atl_nih_init = function()
 
	atl_nih_state = 1;
 
	local nih_array = {
 
		atl_nih_tubes_near_aqua,
 
		atl_nih_tubes_near_a,
 
		atl_nih_tubes_near_admin,
 
		atl_nih_tubes_near_luna,
 
		atl_nih_tubes_near_oculus,
 
		atl_nih_tubes_near_terra,
 
		atl_nih_tubes_near_arctos,
 
		atl_nih_tubes_oculus,
 
		atl_nih_tubes_terra,
 
		atl_nih_tubes_luna,
 
		atl_nih_tubes_arctos,
 
		atl_nih_tubes_aqua,
 
		atl_nih_tubes_aqua_a,
 
		atl_nih_tubes_aqua_b
 
	};
 
	
 
	local nih_array2 = {
 
		atl_nih_tubes_near_aqua,
 
		atl_nih_panel_near_a,
 
		atl_nih_panel_near_admin,
 
		atl_nih_panel_near_luna,
 
		atl_nih_boxes_near_oculus,
 
		atl_nih_boxes_near_terra,
 
		atl_nih_tubes_near_arctos,
 
		atl_nih_panel_oculus,
 
		atl_nih_boxes_terra,
 
		atl_nih_tubes_luna,
 
		atl_nih_tubes_arctos,
 
		atl_nih_tubes_aqua,
atlantis_dlg.lua
Show inline comments
 
@@ -1261,97 +1261,97 @@ char_leroy_dlg = dlg {
 
		{tag="first_meeting"};
 
		{"Добрый день. Я Дэвид Дрейк", [[
 
			Человек встает и протягивает вам руку: "Мишель Леруа. Инженер".
 
		]], code [[ psub('first_meeting_2'); ]]};
 
		{tag="first_meeting_2"};
 
		{"[Пожать руку]Рад знакомству", [[
 
			Мишель садится обратно и говорит: "Перейдем к делу. Что вы хотели?"
 
		]], code [[ psub('generic'); ]]};
 
		{"Рад знакомству", [[
 
			Мишель садится обратно и говорит: "Перейдем к делу. Что вы хотели?"
 
		]], code [[ psub('generic'); ]]};
 
		{tag="generic"};
 
		{tag="sabotage", false, "Вы знаете, что пожар в Игнисе начался из-за саботажа?", [[
 
			"Кто вам это сказал? Никто на станции не будет в здравом уме подвергать опасности свою жизнь еще больше".
 
		]], code [[ atl_lfc_leroy_spoken = 1; ]]};
 
		{tag="ignis_what", false,"Что вы можете сказать о произошедшем в Игнисе?", [[
 
			"Короткое замыкание, огонь быстро распространился по секции".
 
		]]};
 
		{always=true, "Я пойду", [[
 
			"Увидимся".
 
		]], code [[ back(); ]]};
 
	};
 
};
 
 
char_goldman_dlg = dlg {
 
	var {
 
		state = 0;
 
	};
 
	nam = "Леонард Голдман";
 
	disp = "Леонард Голдман";
 
	entered = function(s)
 
		if (atl_lfc_state ~= 1) then
 
			poff('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (atl_lfc_state == 1 and not s.lfc_dialog) then
 
			s.lfc_dialog = true;
 
			pon('sabotage', 'ignis_what');
 
		end;
 
		
 
		if (have(item_goldmans_clock)) then
 
			pon('show_clock');
 
		end;
 
		
 
		if (s.state == 0) then
 
			s.state = 1;
 
			psub("first_meeting");
 
			return [[
 
				Перед вами высокий человек лет пятидесяти. Густые черные волосы коротко острижены. Лицо гладко выбрито. Увидев вас, он говорит: "Вы прибыли на Левиафане? Я Леонард Голдман. Занимаюсь электросистемами станции"
 
				Перед вами высокий человек лет пятидесяти. Густые светлые волосы коротко острижены. Лицо украшают пышные золотистые усы. Увидев вас, он говорит: "Вы прибыли на Левиафане? Я Леонард Голдман. Занимаюсь электросистемами станции"
 
			]];
 
		else
 
			psub("generic");
 
			return [[
 
				Леонард Голдман вопросительно смотрит на вас: "Что вы хотели?"
 
			]];
 
		end;
 
	end;
 
	phr = {
 
		{tag="first_meeting"};
 
		{"Я Дэвид Дрейк. Рад знакомству", [[
 
			Леонард кивает, но ничего не говорит
 
		]], code [[ psub("generic"); ]]};
 
		{tag="generic"};
 
		{tag="show_clock", false, "[Показать часы]Это ваше?", [[
 
			Голдман протягивает руку, чтобы взять часы и удивленно спрашивает: "Мои. Где вы их взяли?"
 
		]], code [[ atl_lfc_goldman_known = true; psub("give_clock"); ]]};
 
		{tag="sabotage", false, "Вы знаете, что пожар начался из-за саботажа?", [[
 
			Вы видите удивление и страх на лице Голдмана. Он неуверенно спрашивает: "С чего вы взяли?"
 
		]], code [[ psub("sabotage2"); atl_lfc_leroy_spoken = 1; ]]};
 
		{tag="ignis_what", false, "Вы знаете, что произошло в Игнисе?", [[
 
			"Не больше чем вы".
 
		]]};
 
		{"Я пойду", [[
 
			"Поговорим позже".
 
		]], code [[ back(); ]]};
 
		{tag="sabotage2"};
 
		{"Даркстар сказал", [[
 
			"Даркстар мог и ошибиться. Я в это не поверю".
 
		]]};
 
		{"Это очевидно", [[
 
			"С чего вы взяли? будете дальше распускать подобные слухи - я доложу Даркстару".
 
		]]};
 
		{"Эээ... Я пошутил", [[
 
			"Вы вообще нормальный?!"
 
		]], code [[ back(); ]]};
 
		{tag="give_clock"};
 
		{"[Отдать часы]Нашел", [[
 
			"Благодарю. Это часы моего деда, они очень важны для меня".
 
		]], code [[ remove("item_goldmans_clock"); pret(); ]]};
 
		{"[Убрать часы]Не так быстро. Что ты делал в Солисе?", [[
 
			Ваш запрос похоже застал Леонарда врасплох. Заикаясь, он спрашивает: "С ч-чего вы вз-взяли?"
 
		]], code [[ psub("give_clock_2");]]};
 
		{tag="give_clock_2"};
 
		{"Эти часы я подобрал на месте саботажа. Теперь ты не отвертишься", [[
 
			Леонард садится на кровать. Тяжело вздохнув он сознается: "Хорошо, я все скажу. Только если обещаете, что меня больше не будут держать на этой станции"
 
		]], code [[ psub('promise'); ]]};
 
		{tag="promise"};
atlantis_ignis_on_fire.lua
Show inline comments
 
@@ -1154,56 +1154,56 @@ atl_iof_electr_select = function(index)
 
			if (atl_iof_electr_panel_closed.is_solved()) then
 
				walk("atl_iof_electr_panel_open");
 
			
 
				return "";
 
			end;
 
			
 
			return "Вы сдвигаете защелку " .. tostring(index);
 
		end;
 
	};
 
end;
 
 
atl_iof_electr_select1 = atl_iof_electr_select(1);
 
atl_iof_electr_select2 = atl_iof_electr_select(2);
 
atl_iof_electr_select3 = atl_iof_electr_select(3);
 
atl_iof_electr_select4 = atl_iof_electr_select(4);
 
atl_iof_electr_select5 = atl_iof_electr_select(5);
 
atl_iof_electr_select6 = atl_iof_electr_select(6);
 
atl_iof_electr_select7 = atl_iof_electr_select(7);
 
atl_iof_electr_select8 = atl_iof_electr_select(8);
 
 
atl_iof_electr_panel_open = dlg {
 
	nam = "Атлантида, Игнис";
 
	dsc = [[
 
		Вы снимаете щиток и дергаете рубильник. Судя по всему, Игнис сейчас должен быть обесточен. По радио вы сообщаете Райту о завершении работ.
 
	]];
 
	phr = {
 
		{"Подача электричества в Игнис отключена, возвращаюсь на станцию", [[
 
			В динамике вы слышите голос Райта: "Отлично, возвращайтесь".^
 
		]], code [[ walk("atl_iof_end"); ]]};
 
	};
 
};
 
 
atl_iof_end = room {
 
	nam = "Атлантида";
 
	dsc = [[
 
		Вы возвращаетесь на станцию и сразу же отправляетесь в свою комнату, чтобы отдохнуть. Вы просыпаетесь утром, полностью готовый заняться новыми делами. ^
 
		Почти сразу к вам в комнату входят двое охранников. Они просят вас проследовать за ними к начальнику службы безопасности - Винсенту Даркстару. У вас нет никакого выхода, кроме как пойти с ними...
 
	]];
 
	entered = function(s)
 
		atl_lfc_state = 1;
 
		if (atl_iof_time_state.learr_safe) then
 
			atl_iof_learr_suit = true;
 
		end;
 
		if (atl_iof_time_state.carry_learr or atl_iof_time_state.learr_safe or not char_learr_iof.faint) then
 
			-- learr saved
 
			put(char_learr_atlantis, atl_oculus_lab_c);
 
		else
 
			atl_iof_learr_dead = true;
 
			put(char_aikerjarr, atl_oculus_lab_c);
 
			put(char_aikerjarr, atl_oculus_lab_b);
 
		end;
 
		atl_iof_completed = true;
 
	end;
 
	obj = {
 
		vway("Продолжить", "{Продолжить}", "atl_lfc_darkstar_dlg");
 
	};
 
};
 
\ No newline at end of file
main.lua
Show inline comments
 
@@ -133,96 +133,98 @@ game.dsc = [[
 
]];
 
 
game_act_phrases = {
 
	"Вы не знаете, что с этим делать. ";
 
	"Вам нет смысла это трогать. ";
 
	"Вам это ничем не поможет. ";
 
	"Это бессмысленно. ";
 
	"Незачем это трогать. ";
 
};
 
 
game_use_phrases = {
 
	"Вам это ничем не поможет. ";
 
	"Это бессмысленно. ";
 
	"Вы не знаете, как это сделать. "
 
};
 
 
game.act = function(s)
 
	return game_act_phrases[rnd(#game_act_phrases)];
 
end;
 
 
game.use = function(s)
 
	return game_use_phrases[rnd(#game_use_phrases)];
 
end;
 
game.inv = "INV: Если вы видите это сообщение - это баг. ";
 
 
require "dbg"
 
 
function init()
 
	---modules init
 
	leviathan_init();
 
	warehouse18_init();
 
	warehouse32_init();
 
    
 
    local nums = {1,2,3,4,5,6};
 
    for i = 1, 4 do 
 
        local index = rnd(#nums);
 
        table.insert(dt_code, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
    nums = {1,2,3,4,5,6};
 
    for i = 1, 3 do 
 
        local index = rnd(#nums);
 
        table.insert(dt_buttons, nums[index]);
 
        table.remove(nums, index);
 
    end;
 
	---game init
 
	pl.where = intro;
 
	---debug	
 
    pl.where = "atlantis_intro_dock";
 
    
 
    ---leviathan
 
    --pl.where = "leviathan_airlock";
 
    --submarine_leviathan.airpump = false;
 
    
 
    --leviathan_airlock.has_light = true;
 
    --leviathan_wardroom.has_light = true;
 
    --leviathan_wheelhouse.has_light = true;
 
    --leviathan_corridor.has_light = true;
 
    --leviathan_cabin_1.has_light = true;
 
    --leviathan_cabin_2.has_light = true;
 
    --leviathan_cabin_3.has_light = true;
 
    --leviathan_cabin_4.has_light = true;
 
    --leviathan_cabin_5.has_light = true;
 
    --leviathan_captains_cabin.has_light = true;
 
    --leviathan_cargo_hold.has_light = true;
 
    --leviathan_engines.has_light = true;
 
    --leviathan_lower_deck.has_light = true;
 
    --leviathan_life_support.has_light = true;
 
	--[[
 
	---IYH
 
	lifeon(char_learr);
 
	lifeon(char_wright);
 
	lifeon(char_radcliffe);
 
	lifeon(char_anna);
 
	lifeon(char_aikerjarr_lev);
 
	pl.party = {'learr', 'wright', 'radcliffe', 'anna'};
 
	atlantis_found = true;
 
	move(submarine_leviathan, "ctt_dyp_temple_entrance");
 
	--move(submarine_leviathan, "iyh_far_from_entrance_foot");
 
	pl.where = leviathan_wheelhouse;
 
	submarine_leviathan.battery = true; -- Состояние батареи 
 
	submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи
 
	submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи
 
	submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы
 
	submarine_leviathan.power_on = true; -- включена ли энергия
 
	submarine_leviathan.air_level = 432000; -- запас воздуха. Максимум - 5 дней(5 * 24 * 60 * 60 = 432000)
 
	submarine_leviathan.airpump = false;
 
	leviathan_airlock.has_light = true;
 
	leviathan_wardroom.has_light = true;
 
	leviathan_wheelhouse.has_light = true;
 
	leviathan_corridor.has_light = true;
 
	leviathan_cabin_1.has_light = true;
 
	leviathan_cabin_2.has_light = true;
 
	leviathan_cabin_3.has_light = true;
 
	leviathan_cabin_4.has_light = true;
 
	leviathan_cabin_5.has_light = true;
 
	leviathan_captains_cabin.has_light = true;
 
	leviathan_cargo_hold.has_light = true;
0 comments (0 inline, 0 general)