Changeset - 759c42e4719c
[Not reviewed]
default
0 1 0
Silverwing - 7 years ago 2017-10-14 11:12:39

Walter on temple
1 file changed with 12 insertions and 21 deletions:
party.lua
12
21
0 comments (0 inline, 0 general)
party.lua
Show inline comments
 
party_accompany = function(s, value)
 
	if (ArrayUtils.indexOf(pl.party, s.nam) == 0) then
 
		return;
 
	end;
 
	s.follow = value;
 
	if (value) then
 
		lifeon(s);
 
	else
 
		move(s, s.home, where(s));
 
		lifeoff(s);
 
	end;
 
end;
 
 
party_follow = function(s)
 
    if (where(pl).cutscene or where(pl).not_follow) then
 
    elseif (where(pl).leviathan) then
 
        if (stead.nameof(where(s)) ~= s.home) then
 
            move(s, s.home, where(s));
 
        end;
 
    else
 
        move(s, where(pl), where(s));
 
    end;
 
end;
 
 
-- TODO больше отвлеченных диалогов, дабы было о чем поговорить с сопартийцами. Не стоит делать их деревянными безжизненными манекенами
 
char_learr = obj {
 
	var {
 
        home = "leviathan_wardroom";
 
		follow = false;
 
        
 
        on_books = 0;
 
        on_join = 0;
 
        on_before = 0;
 
        on_atlantis = 0;
 
        on_conflict = 0;
 
	};
 
	nam = "learr";
 
	disp = "Леарр";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Леарр} сидит в кресле, листая книгу. ^]];
 
		else
 
			return [[{Леарр} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(learr_home_dlg);
 
		else
 
			walkin(learr_dlg);
 
		end;
 
	end;
 
};
 
 
char_phaetlarr = obj {
 
	var {
 
        home = "leviathan_engines";   
 
		follow = false;
 
	};
 
	nam = "phaetlarr";
 
	disp = "Фаэтларр";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Фаэтларр} с интересом наблюдает за работой двигателей "Левиафана" ^]];
 
		else
 
			return [[{Фаэтларр} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(phaetlarr_home_dlg);
 
		else
 
			walkin(phaetlarr_dlg);
 
		end;
 
	end;
 
};
 
 
char_radcliffe = obj {
 
	var {
 
        home = "leviathan_engines";   
 
		follow = false;
 
        
 
        rel_on_join = nil;
 
        
 
        on_walter = 0;
 
        on_atlantis = 0;
 
        on_black = 0;
 
        on_drake = 0;
 
        on_anna = 0;
 
        on_join = 0;
 
        on_conflict = 0;
 
	};
 
	nam = "radcliffe";
 
	disp = "Уолтер Рэдклифф";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Уолтер Рэдклифф} задумчиво крутит в руках какую-то деталь. ^]];
 
		else
 
			return [[{Уолтер Рэдклифф} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(radcliffe_home_dlg);
 
		else
 
			walkin(radcliffe_dlg);
 
		end;
 
	end;
 
};
 
 
char_wright = obj {
 
	var {
 
        home = "leviathan_wardroom";
 
		follow = false;
 
        
 
        iof_reaction = 0;
 
        
 
        on_learr = 0;
 
        on_leviathan = 0;
 
        on_conflict = 0;
 
	};
 
	nam = "wright";
 
	disp = "Джек Райт";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Джек Райт} читает какую-то книгу. ^]];
 
		else
 
			return [[{Джек Райт} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		walkin(wright_main_dlg);
 
	end;
 
};
 
 
char_anna = obj {
 
	var {
 
        follow = false;
 
        
 
        anna_asked = 0;
 
        walter_asked = 0;
 
        atlantis_asked = 0;
 
        drake_asked = 0;
 
        join_asked = 0;
 
        black_asked = 0;
 
        rel_on_join = nil;
 
	};
 
	nam = "anna";
 
	disp = "Анна Рэдклифф";
 
	dsc = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			return [[{Анна Рэдклифф} смотрит в иллюминатор. ^]];
 
		else
 
			return [[{Анна Рэдклифф} ждет ваших указаний. ^]];
 
		end;
 
	end;
 
	home = "leviathan_wardroom";
 
	accompany = party_accompany;
 
	life = party_follow;
 
	act = function(s)
 
		if (stead.nameof(where(s)) == s.home) then
 
			walkin(anna_home_dlg);
 
		else
 
			walkin(anna_dlg);
 
		end;
 
	end;
 
};
 
 
learr_home_dlg = dlg {
 
	nam = "learr_dlg";
 
	disp = "Леарр";
 
	hideinv = true;
 
	entered = function(s)
 
        --on_books = 0;
 
        --on_join = 0;
 
        --on_before = 0;
 
        --on_atlantis = 0;
 
        poff("on_books", "on_join", "on_before", "on_atlantis", "talk");
 
        if (rel_learr < 0) then
 
            pon("talk");
 
        else
 
            --[[if (char_learr.on_books < 3) then
 
                pon("on_books");
 
                pon("talk");
 
            end;]]
 
            if (char_learr.on_join < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
            if (char_learr.on_before < 2) then
 
                pon("on_before");
 
                pon("talk");
 
            end;
 
            if (char_learr.on_atlantis < 2) then
 
                pon("on_atlantis");
 
                pon("talk");
 
            end;
 
        end;
 
    
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_learr.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
	    
 
        --[[if char_learr.on_conflict == 0 and conflict_resolved then
 
            char_learr.on_conflict = 1;
 
            if rel_learr >= 0 then
 
                if (artifacts_returned == 0) then
 
                    psub("on_solution_not_returned_ok");
 
                    return [ [Вы подходите к Леарр и она первая обращается к вам: "Я благодарна-тебе-Дрейк-за-помощь. Разногласия-с-Дипатреанотром улажены. Нам спокойнее-бы-было если бы ты вернул-артефакты-нам, но я твой-выбор-понимаю. Тебе важно-Дрейка-найти, а Светловой важно-лучше-понять-нас". ] ];
 
                else
 
                    psub("on_solution_returned_ok");
 
                    return [ [Вы подходите к Леарр и она первая обращается к вам: "Я благодарна-тебе-Дрейк-за-помощь. Разногласия-с-Дипатреанотром улажены. Я сожалею-что-мы-не-можем-дать-вам-артефакты-для-изучения. Это хевьярам-и-навьярам-вместе-помогло-бы". ] ];
 
                end;
 
            else
 
                if (artifacts_returned == 0) then
 
                    psub("on_solution_not_returned_ok");
 
                    return [ [Вы подходите к Леарр и она первая обращается к вам: "Разногласия-с-Дипатреанотром улажены. Я благодарю-тебя. Ты не-вернул-артефакты-нам. Почему?" ] ];
 
                else
 
                    psub("on_solution_returned_ok");
 
                    return [ [Вы подходите к Леарр и она первая обращается к вам: "Разногласия-с-Дипатреанотром улажены. Я благодарю-тебя. Ты вернул-артефакты-нам. Почему?" ] ];
 
                end;
 
            end;
 
        end;]]
 
        psub("generic");   
 
		return [[Леарр вопросительно смотрит на вас. ]];
 
	end;
 
	phr = {
 
        {tag="on_solution_not_returned"};
 
        {tag="sp11", "Будет лучше если артефакты останутся у нас. ", [[Леарр удивляется вашим словам: "Они принадлежат нам!" ]], code [[ rel_learr = rel_learr - 1; psub("generic");]]};
 
        {tag="sp12", "Светлова вернет вам артефакты, как только всесторонне изучит их, бояться нечего. ", [[Леарр кивает: "Я знаю". ]], code [[ rel_learr = rel_learr + 1; psub("generic");]]};
 
        {"Посмотрим, что светлова сможет извлечь из этого. Но я пришел поговорить от другом. ", function(s)
 
            if rel_learr < 0 then
 
                return [[Леаар просит: "Ты ответь". ]];
 
            else
 
                psub("generic");
 
                return [[Леарр кивает: "Ты говори". ]];
 
            end;
 
        end};
 
        {tag="on_solution_returned_ok"};
 
        {tag="sp21", "Было бы лучше, если бы артефакты остались у нас. ", [[Леарр удивляется вашим словам: "Они принадлежат нам!" ]], code [[ rel_learr = rel_learr - 1; psub("generic");]]};
 
        {tag="sp22", "Правила есть правила. ", [[Леарр кивает: "Я знаю". ]], code [[ rel_learr = rel_learr + 1; psub("generic");]]};
 
        {"Я пришел поговорить от другом. ", function(s)
 
            if rel_learr < 0 then
 
                return [[Леаар просит: "Ты ответь". ]];
 
            else
 
                psub("generic");
 
                return [[Леарр кивает: "Ты говори". ]];
 
            end;
 
        end};        
 
        {tag="more_questions"};
 
        {tag="on_books", "", function() 
 
            
 
        end};
 
        {tag="on_join", "Почему ты отправилась с нами?", function() 
 
            char_learr.on_join = 2;
 
            return [[Леарр отвечает: "Я с-Уильямом-Дрейком-хотела-отправиться, но отец не-разрешил. Он сейчас-изменил-решение и я могу-с-тобой-искать". ]];
 
        end}
 
        {tag="on_before", "Расскажи о своей жизни в Ираафаанотре.", function() 
 
            char_learr.on_before = 2;
 
            return [[Леарр отвечает: "Я вождя-дочь. Я думать-искать-решать-сложно-но-интересно-было-училась. Хевьяры пришли-и-все-изменили. Я теперь-говорить-не-с-навьярами-учусь. Отец будущему-вождю-полезно-это-говорит. Я согласна-с-ним-в-этом".]];
 
        end}
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function() 
 
            char_learr.on_atlantis = 2;
 
            return [[Леарр отвечает: "Мы многому-научиться-у-вас-должны-и-можем. Вы в-воде-не-дышите-как-мы, но вы машины-делающие-это-за-вас-строите. Легенды гласят, что мы тоже-это-умели, но почему-разучились? Я не умею. Отец не умеет. Другие не умеют. И в-книгах-не-написано". Леарр печально вздыхает. ]];
 
        end}
 
        {tag="generic"};
 
        { tag = "talk", always = true, "Я хочу кое-что спросить.", function(s)
 
            if rel_learr >= 0 then
 
                psub("more_questions");
 
                return [[Леарр кивает: "Ты говори". ]];
 
            else
 
                return [[Леарр отвечает: "Мы потом-поговорим". ]];
 
            end;
 
        end};
 
		{ tag = "on_iyh", always = true, "Что ты можешь рассказать мне о храме?", [[
 
			"Каждый-храм два-входа-имеет. Большой-главный-вход далеко-виден. Тайный-задний-вход незаметен-но-всегда-есть. Мы давно-потеряли дорогу-к-этому-святилищу и задний-вход-не-помним. Если мы задний-вход-найдем, то обманем затмевающего-свет и в-храм-проникнем".
 
		]]};
 
		{ tag = "join", always = true, "Я хочу, чтобы ты пошла со мной в следующий раз", "Хорошо", 
 
			function()
 
				char_learr:accompany(true);
 
				char_phaetlarr:accompany(false);
 
				char_radcliffe:accompany(false);
 
				char_wright:accompany(false);
 
				char_anna:accompany(false);
 
				pon('stay');
 
				poff('join');
 
			end;
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_learr.accompany(char_learr, false);
 
				poff('stay');
 
				pon('join');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
	};
 
};
 
 
phaetlarr_home_dlg = dlg {
 
	nam = "phaetlarr_dlg";
 
	disp = "Фаэтларр";
 
	hideinv = true;
 
	entered = function(s)
 
		if (char_phaetlarr.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
	
 
		return [[Фаэтларр ждет ваших указаний. ]];
 
	end;
 
	phr = {
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				char_learr:accompany(false);
 
				char_phaetlarr:accompany(true);
 
				char_radcliffe:accompany(false);
 
				char_wright:accompany(false);
 
				char_anna:accompany(false);
 
				poff('join');
 
				pon('stay');
 
			end; 
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_phaetlarr.accompany(char_phaetlarr, false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		}
 
	};
 
};
 
 
radcliffe_home_dlg = dlg {
 
	nam = "radcliffe_dlg";
 
	disp = "Уолтер Рэдклифф";
 
	hideinv = true;
 
	entered = function (s)
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "talk");
 
        if (rel_walter < 0) then
 
            pon("talk");
 
        else
 
            if (char_walter.on_anna < 2) then
 
                pon("on_anna");
 
                pon("talk");
 
            end;
 
            if (char_walter.on_black < 2) then
 
                pon("on_black");
 
                pon("talk");
 
            end;
 
            if (char_walter.on_walter < 2) then
 
                pon("on_walter");
 
                pon("talk");
 
            end;
 
            if (char_walter.on_atlantis < 2) then
 
                pon("on_atlantis");
 
                pon("talk");
 
            end;
 
            if (char_walter.on_drake < 2) then
 
                pon("on_drake");
 
                pon("talk");
 
            end;
 
            if (char_walter.on_join < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
        end;
 
        
 
        if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_radcliffe.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
        psub("generic");
 
        
 
        if char_walter.on_conflict == 0 and conflict_resolved then
 
            char_walter.on_conflict = 1;
 
            if (rel_walter < 0) then
 
                if atl_iyh_shockfish_dead then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Должен признать, Дрейк, у меня на твоем месте не хватило бы смелости. Надеюсь, ты понимаешь, что делаешь". ]];
 
                        return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что чего хотели". ]];
 
                    else
 
                        if iof_learr_dead then
 
                            return [[Уолтер при виде вас заявляет: "Ты точно псих, Дрейк. Ты видел рожу Аиверьярра, когда ты это сделал?" ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Ты точно псих, Дрейк. Леарр будет в ярости и я ее понимаю". ]];
 
                        end;
 
                        return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены. Могу лишь понадеяться, что твои действия не помешают нам найти Уильяма и Адриана". ]];
 
                    end;
 
                elseif atl_iyh_entrance_destroyed then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Но, по-крайней мере, что-то мы оттуда вынесли". ]];
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас". ]];
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Навьяры, конечно, получили свою реликвию, но с целым храмом, они получили бы гораздо больше". ]];
 
                    end;
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров". ]];
 
                else
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Неплохо, Дрейк. Гораздо лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]];
 
                        return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме". ]];
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Неплохо, Дрейк. Лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]];
 
                        return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме. Жаль, что артефакты мы так и не посмотрели". ]];
 
                    end;
 
                end;
 
            else
 
                if atl_iyh_shockfish_dead then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Я все еще думаю, что был менее кровопролитный способ, но это же всего лишь рыбина. Надеюсь, что навьяры не узнают об этом". ]];
 
                        return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что хотели. Я поступил бы так же на твоем месте". ]];
 
                    else
 
                        if iof_learr_dead then
 
                            return [[Уолтер при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Конечно, стоило утереть нос этому типу, Аикерьярру. Но не стоило при этом оборачивать против себя всех: и Ираафаанотр, и Дипатреанотр, и даже Атлантиду". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Жаль, Леарр не оценила твоей решимости". ]];
 
                        end;
 
                        return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены и теперь нам придется обходиться без их помощи". ]];
 
                    end;
 
                elseif atl_iyh_entrance_destroyed then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К счастью, мы смогли вытащить оттуда кое-что ценное". ]];
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]];
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К тому же, мы вернули навьярам то, что смогли найти". ]];
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]];
 
                    end;
 
                else
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Мы блестяще справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал". ]];
 
                        return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Артефакты у нас, Ираафаанотр получит свою реликвию, а мы можем продолжать наши поиски". ]];
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Мы отлично справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал. Правда, артефакты пришлось отдать навьярам, но думаю Светлова договорится об их изучении". ]];
 
                        return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Ираафаанотр получил свою реликвию, а мы можем продолжать наши поиски". ]];
 
                    end;
 
                end;
 
            end;
 
        end;
 
        
 
		return [[Уолтер задумчиво смотрит на вас. ]];
 
	end;
 
	phr = {
 
        {tag="talk"};
 
        {tag="on_black", "Что ты можешь сказать о Блэке?", function(s)
 
            char_walter.on_black = 2;
 
            return [[Уолтер пожимает плечами: "Что я могу сказать про него? Думаю, Дрейк выбрал хорошего партнера". ]];
 
        end};
 
        {tag="on_walter", "Расскажи о себе.". function(s)
 
            char_walter.on_walter = 2;
 
            return [[Уолтер пожимает плечами: "Да мне нечего рассказать. Мы с сестрой жили в Лондоне, я уже работал в Вестхейвен Трансоушен, когда наши родители погибли -- пароход, на котором они отправились в США просто не прибыл в порт назначения. Мы с Анной остались одни. Она еще даже школу не закончила тогда. А потом мы построили Надежду, Атлантиду и далее по списку. Потом мне предложили работать внизу, на станции. Я, конечно, мог тогда отказаться, уйти в другую компанию, но направление, избранное Дрейком слишком меня привлекало. Я согласился". ]];
 
        end};
 
        {tag="on_anna", "Расскажи о своей сестре, Анне.", function(s)
 
            char_walter.on_anna = 2;
 
            if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then
 
                return [[Уолтер вздыхает: "Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю. Я все еще не уверен, что взять ее на Левиафан было хорошей идеей -- Бог знает, с чем мы столкнемся в наших странствиях, но она очень этого хотела". ]];
 
            else
 
                return [[Уолтер вздыхает: "Не думаю, что на поверхности она стала бы той, кто она сейчас. Все-таки общество поглощенных своей работой людей накладывает определенный отпечаток, я думаю. То, что она осталась на станции успокаивает меня, хотя она так рвалась в эту экспедицию вместе с нами". ]];
 
            end;
 
        end};
 
        {tag="on_drake", "Что ты можешь сказать о Дрейке?", function(s)
 
            char_walter.on_drake = 2;
 
            return [[Уолтер отвечает: "Не думаю, что скажу про него больше чем кто-то еще. Послушайте Райта, Моро, быть может Даркстара, хотя черт знает, что у этого типа на уме. Они скажут вам все и даже больше. "]];
 
        end};
 
        {tag="on_join", "Почему ты решил присоединиться к нам?", function(s)
 
            char_walter.on_join = 2;
 
            if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then
 
                if char_anna.rel_on_join >= 0 and char_walter.rel_on_join >= 0 then
 
                    return [[Уолтер Рэдклифф отвечает: "Мы с Анной очень хотели отправиться в эту экспедицию: во-первых, вам не помешает наша помощь, а во-вторых -- мы хотим узнать, что стало с экипажем Надежды". ]];
 
                elseif char_anna.rel_on_join >= 0 then
 
                    return [[Уолтер Рэдклифф отвечает: "Признаюсь, я не слишком доверял вам тогда, но Анна убедила меня отправиться на Левиафане вместе с вами. И вот мы здесь".]]
 
                elseif char_walter.rel_on_join >= 0 then
 
                    return [[Уолтер Рэдклифф отвечает: "Ты сразу мне понравился, и это пуштешествие предоставляет мне возможность узнать, что стало с экипажем Надежды. Хотя Анна не хотела отправляться с вами, я решил, что будет лучше, если мы с ней будем на борту вместе".]]
 
                else
 
                    return [[Уолтер Рэдклифф отвечает: "Скажу честно, единственная причина, почему мы отправились с вами кроется в нашем желании найти Надежду".]]
 
                end;
 
            else
 
                if (char_walter.rel_on_join >= 0) then
 
                    return [[Уолтер Рэдклифф отвечает: "Мы с Анной очень хотели отправиться в эту экспедицию, но к счастью, мне удалось уговорить ее остаться на Атлантиде. Я не хочу подвергать ее опасностям, которые могут подстерегать нас". ]];
 
                else
 
                    return [[Уолтер Рэдклифф отвечает: "Признаюсь, я не слишком доверял тебе тогда, но это единственный способ узнать, что стало с Надеждой". ]];
 
                end;
 
            end;
 
            
 
            
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_walter.on_atlantis = 2;
 
            return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]];
 
        end};
 
        {tag="quit", always=true, "Поговорим в другой раз. ", [[Уолтер кивает: "Хорошо".]], code [[pret();]]};
 
        {tag="generic"};
 
        {tag="questions", always=true, "У меня есть несколько вопросов. ", function(s)
 
            if (rel_anna < 0) then
 
                return [[Уолтер отрицательно качает головой: "Не сейчас, я занят". ]];
 
            else
 
                psub("questions");
 
                return [[Уолтер кивает: "Слушаю". ]];
 
            end;
 
        end};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Уолтер пожимает клечами: "Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют". ]]};
 
		{tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
 
			function()
 
				if (submarine_leviathan.suits > 1) then
 
					char_learr:accompany(false);
 
					char_phaetlarr:accompany(false);
 
					char_radcliffe:accompany(true);
 
					char_wright:accompany(false);
 
					char_anna:accompany(false);
 
					pon('stay');
 
					poff('join');
 
					return [[Я готов]];
 
				else
 
					-- TODO сообщать это только если в партии есть навьяры
 
					return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
 
				end;
 
			end;  
 
		};
 
		{tag="stay", always="true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_radcliffe.accompany(char_radcliffe, false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{tag="exit", always="true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		};      
 
	};
 
};
 
 
wright_main_dlg = dlg {
 
	nam = "wright_main_dlg";
 
	disp = "Джек Райт";
 
	entered = function(s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");
 
		else
 
			poff("on_iyh");
 
		end;
 
	
 
		if (char_wright.follow) then
 
			pon('stay');
 
			poff('join');
 
		else
 
			pon('join');
 
			poff('stay');
 
		end;
 
        
 
        if (rel_jack < 0) then
 
            if (char_wright.on_learr == 0) then pon("on_learr"); end;
 
            if (char_wright.on_leviathan == 0) then pon("on_leviathan"); end;
 
            if (char_wright.on_jack == 0) then pon("on_jack"); end;
 
        else
 
            if (char_wright.on_learr < 3 and ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then pon("on_learr"); end;
 
            if (char_wright.on_leviathan < 2) then pon("on_leviathan"); end;
 
            if (char_wright.on_jack < 2) then pon("on_jack"); end;
 
        end;
 
    
 
        psub("generic");      
 
        
 
        if char_wright.on_conflict == 0 and conflict_resolved then
 
            char_wright.on_conflict = 1;
 
            if (rel_jack < 0) then
 
                if atl_iyh_shockfish_dead then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Должен признать, Дрейк, у меня на твоем месте не хватило бы смелости. Надеюсь, ты понимаешь, что делаешь". ]];
 
                    else
 
                        if iof_learr_dead then
 
                            return [[Джек при виде вас заявляет: "Ты точно псих, Дрейк. Ты видел рожу Аиверьярра, когда ты это сделал?" ]];
 
                        else
 
                            return [[Джек при виде вас заявляет: "Ты точно псих, Дрейк. Леарр будет в ярости и я ее понимаю". ]];
 
                        end;
 
                    end;
 
                elseif atl_iyh_entrance_destroyed then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Но, по-крайней мере, что-то мы оттуда вынесли". ]];
 
                    else
 
                        return [[Джек при виде вас заявляет: "Не думаю, что разнести храм было лучшим решением. Навьяры, конечно, получили свою реликвию, но с целым храмом, они получили бы гораздо больше". ]];
 
                    end;
 
                else
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Неплохо, Дрейк. Гораздо лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]];
 
                    else
 
                        return [[Джек при виде вас заявляет: "Неплохо, Дрейк. Лучше, чем я ожидал. Надеюсь, я не ошибся в тебе, отправившись в эту экспедицию". ]];
 
                    end;
 
                end;
 
            else
 
                if atl_iyh_shockfish_dead then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Я все еще думаю, что был менее кровопролитный способ, но это же всего лишь рыбина. Надеюсь, что навьяры не узнают об этом". ]];
 
                    else
 
                        if iof_learr_dead then
 
                            return [[Джек при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Конечно, стоило утереть нос этому типу, Аикерьярру. Но не стоило при этом оборачивать против себя всех: и Ираафаанотр, и Дипатреанотр, и даже Атлантиду". ]];
 
                        else
 
                            return [[Джек при виде вас заявляет: "Должен признать, Дэвид, у меня на твоем месте не хватило бы смелости. Жаль, Леарр не оценила твоей решимости". ]];
 
                        end;
 
                    end;
 
                elseif atl_iyh_entrance_destroyed then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К счастью, мы смогли вытащить оттуда кое-что ценное". ]];
 
                    else
 
                        return [[Джек при виде вас заявляет: "Жаль, что пришлось разрушить храм. Все-таки это памятник навьярской архитектуры и все такое. Но, наверное, лучшего решения не было. К тому же, мы вернули навьярам то, что смогли найти". ]];
 
                    end;
 
                else
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Джек при виде вас заявляет: "Мы блестяще справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал". ]];
 
                    else
 
                        return [[Джек при виде вас заявляет: "Мы отлично справились, не находишь? Вытащили кучу ценных артефактов и никто не пострадал. Правда, артефакты пришлось отдать навьярам, но думаю Светлова договорится об их изучении". ]];
 
                    end;
 
                end;
 
            end;
 
        end;
 
        
 
		return [[Джек вопросительно смотрит на вас. ]];
 
	end;
 
	phr = {
 
        {tag="generic"};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Джек Райт задумчиво произносит: "Возможно получится выманить ската, если направить прожектор на вход храма..." Немного подумав, он добавляет: "Другое дело, что при этом он, скорее всего, атакует Левиафан. "]]};
 
		{tag="join", always="true", "Я хочу, чтобы ты пошел со мной в следующий раз.", [[Джек Райт отвечает: "Хорошо". ]], code [[
 
            char_learr:accompany(false);
 
            char_phaetlarr:accompany(false);
 
            char_radcliffe:accompany(false);
 
            char_wright:accompany(true);
 
            char_anna:accompany(false);
 
            pon('stay');
 
            poff('join');
 
        ]]};
 
		{tag="stay", always="true", "Оставайся на Левиафане.", [[Джек Райт отвечает: "Хорошо". ]], code [[
 
			char_wright:accompany(false);
 
			pon('join');
 
			poff('stay');
 
		]]};
 
		{tag="exit", always="true", "Это все.", [[Джек Райт отвечает: "Хорошо". ]], code [[ back(); ]]};
 
        {tag = "more_questions"};
 
        {tag="on_learr", "Что ты думаешь о Леарр?", function()
 
            char_wright.on_learr = 3;
 
            if (ArrayUtils.indexOf(pl.party, 'readcliffe') ~= 0) then
 
                return [[Джек отвечает: "Никогда бы не подумал, что скажу это о девушке, да еще и навьярессе, но у меня порой возникает ощущение, что Леарр разбирается в работе Левиафана лучше всех на борту, исключая, может быть Уолтера. Не поверишь, если скажу, сколь часто мне самому приходится обращаться к ней за советом". ]];
 
            else
 
                return [[Джек отвечает: "Никогда бы не подумал, что скажу это о девушке, да еще и навьярессе, но у меня порой возникает ощущение, что Леарр разбирается в работе Левиафана лучше всех на борту. Не поверишь, если скажу, сколь часто мне самому приходится обращаться к ней за советом". ]];
 
            end;
 
        end};
 
        {tag="on_leviathan", "Как впечатления от Левиафана?", function()
 
            if (rel_jack < 0) then
 
                char_wright.on_leviathan = 1;
 
                return [[Джек отвечает: "Левиафан, без сомнения, превосходный корабль. Жаль, что ему не нашлось лучшего капитана". ]];
 
            else
 
                char_wright.on_leviathan = 2;
 
                return [[Джек не скрывает своего восхищения: "Никогда не видел ничего подобного. Неудивительно, что отец оставил жизнь на поверхности в пользу возможности создавать подобное здесь. Пока мы были в пути, я подробно изучил субмарину. Многие решения до сих пор кажутся мне невероятными - например, использование электричества в качестве движущей силы или наличие звуковой пушки. Я уже успел обсудить с отцом детали диагностических цепей. Это совершенно непостижимо, чтобы машина сама сообщала, что с ней что-то не так". ]];
 
            end;
 
        end};Как впрочем и Екатерине с Сильвией.
 
        {tag="on_jack", "Чем ты занимался все это время?", function()
 
            if (rel_jack < 0) then
 
                return [[Джек отказывается отвечать: "Не хочу это обсуждать".]];
 
            else
 
                return [[Джек отвечает: "Да, в общем-то, ничем. Отец оставил нам с матерью достаточно денег, чтобы мы могли ни в чем не нуждаться. Мать оплатила мое образование в том же университете, где учился отец. Получив диплом с отличием, я просто поставил его на полку. Не нашел дела по душе, да и необходимости не было. Позже, когда мать умерла, я вообще практически прекратил связи с внешним миром. Думаю, что хоть я и бросил идею найти отца, я все-таки продолжал надеяться -- практически все время я посвящал чтению газет со всех уголков света, в поисках известий о случившемся с Вестхейвен Трансоушен. Впрочем, как только первоначальный ажиотаж спал, никто толком и не писал о случившемся. "]];
 
            end;
 
        end};
 
        {"Вернемся к делу", [[Джек молча кивает. ]], code [[ pret(); ]]};
 
	};
 
};
 
 
anna_home_dlg = dlg {
 
	nam = "anna_home_dlg";
 
	disp = "Анна Рэдклифф";
 
	hideinv = true;
 
	entered = function(s)
 
		if (atl_iyh_state == 7) then
 
			pon("on_iyh");Как впрочем и Екатерине с Сильвией.
 
		else
 
			poff("on_iyh");
 
		end;
 
	   
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_join", "talk");
 
        if (rel_anna < 0) then
 
            pon("talk");
 
        else
 
            if (char_anna.anna_asked < 2) then
 
                pon("on_anna");
 
                pon("talk");
 
            end;
 
            if (char_anna.walter_asked < 2) then
 
                pon("on_walter");
 
                pon("talk");
 
            end;
 
            if (char_anna.atlantis_asked < 2) then
 
                pon("on_atlantis");Как впрочем и Екатерине с Сильвией.
 
                pon("talk");
 
            end;
 
            if (char_anna.drake_asked < 2) then
 
                pon("on_drake");
 
                pon("talk");
 
            end;
 
            if (char_anna.join_asked < 2) then
 
                pon("on_join");
 
                pon("talk");
 
            end;
 
            if (char_anna.black_asked < 2) then
 
                pon("on_black");
 
                pon("talk");
 
            end;
 
            
 
        end;
 
        
 
       
 
		if (char_anna.follow) then
 
			pon('stay');
 
			poff('join');
 
		elseКак впрочем и Екатерине с Сильвией.
 
			pon('join');
 
			poff('stay');
 
		end;
 
		return [[
 
			Анна ждет ваших указаний
 
		]];
 
	end;
 
	phr = {
 
        {tag="talk", false, "Мы можем поговорить?", function(s)
 
            if (rel_anna < 0) then
 
                return [[Анна отрицательно качает головой: "Не сейчас". ]];
 
            else
 
                psub("talk_more");
 
                return [[Анна кивает: "Да, конечно. Я вас слушаю". ]];
 
            end;
 
        end};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[
 
			"Ночью скат скорее всего покинет свое логово в поисках пищи. Мы можем воспользоваться его отсутствием".
 
		]]};
 
		{ tag = "join", always = "true", "Я хочу, чтобы ты пошла со мной в следующий раз", 
 
			function()
 
				if (submarine_leviathan.suits > 1) then
 
					char_learr:accompany(false);
 
					char_phaetlarr:accompany(false);
 
					char_radcliffe:accompany(false);
 
					char_wright:accompany(false);
 
					char_anna:accompany(true);
 
					pon('stay');
 
					poff('join');
 
					return [[Я готова]];
 
				else
 
					-- TODO сообщать это только если в партии есть навьяры
 
					return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
 
				end;
 
			end; 
 
		};
 
		{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо", 
 
			function()
 
				char_anna:accompany(false);
 
				pon('join');
 
				poff('stay');
 
			end;
 
		};
 
		{ tag = "exit", always = "true", "Это все", "Хорошо", 
 
			function() 
 
				back();
 
			end;
 
		};
 
        { tag = "talk_more"};
 
        {tag="on_anna", "Расскажи о себе. ", function(s)
 
            char_anna.anna_asked = 2;
 
            return [[Анна Рэдклифф грустно вздыхает: "Мне почти нечего рассказывать. Я с молодости живу здесь, на Атлантиде. Когда Уолтер сказал, что мы будем жить здесь, я сперва расстроилась -- тогда это казалось мне невероятно скучным -- жить вдали от цивилизации, среди людей, которые старше меня на двадцать с лишним лет. На самом деле все оказалось не столь плохо -- здесь есть навьяры. Когда они заняты -- я сижу в библиотеке, с Мари, или смотрю фильмы в Игнисе". ]];
 
        end};
 
        {tag="on_walter", "Расскажи об Уолтере. ", function(s)
 
            char_anna.walter_asked = 2;
 
            return [[Анна Рэдклифф отвечает: "Уолтер -- мой старший брат. Он заботится обо мне с тех пор, как мама с папой покинули нас. Хотя моя жизнь сильно изменилась, когда Уолтер забрал меня с собой на Атлантиду, я не жалею об этом". ]];
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_anna.atlantis_asked = 2;
 
            return [[Анна Рэдклифф отвечает: "Последние десять лет я живу здесь, на Атлантиде. Я хорошо помню, как расстроена я была, приехав сюда. Конечно, я не думала, что мы все проведем здесь лет десять. Мне казалось, что уже через полгода-год мы вернемся на поверхность, но намерения вашего отца сильно отличались от этого. Потом Екатерина и Сильвия познакомили меня с Телнеарром и Хетеарром -- двумя навьярами, которые первыми жили на станции. Потом Хетеарр вернулся домой, а вместо него на станцию прибыл Ривеерр. А затем покинул станцию и Телнеарр. Его заменила Леарр". ]];
 
        end};
 
        {tag="on_drake", "Расскажи об Уильяме Дрейке. ", function(s)
 
            char_anna.drake_asked = 2;
 
            return [[Анна Рэдклифф отвечает: "Хотя Дрейк -- руководитель Атлантиды, он проводит больше времени здесь, в Окулусе, чем в своем кабинете в Доминусе. Сейчас он в экспедиции -- они с Блэком отправились на поиски отдаленных навьярских поселений". ]];
 
        end};
 
        {tag="on_black", "Расскажи об Адриане Блэке. ", function(s)
 
            char_anna.black_asked = 2;
 
            return [[Анна Рэдклифф пожимает плечами: "Он никогда мне не нравился. Остальыне говорят, что он хорошо справляется с управлением станцией и вообще многое сделал для нас, но мне не нравится его холодность и неискренность".]];
 
        end};
 
        {tag="on_join", "Почему ты решила присоединиться к нам?", function(s)
 
            char_anna.on_join = 2;
 
            if (char_anna.rel_on_join >= 0) then
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            elseif (char_walter.rel_on_join >= 0) then
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            else
 
                return [[Анна Рэдклифф отвечает: "". ]];
 
            end;
 
        end};
 
	};
 
};
 
\ No newline at end of file
0 comments (0 inline, 0 general)