Changeset - cfeee8692d6b
[Not reviewed]
default
0 1 0
Silverwing - 6 years ago 2019-03-10 10:49:16

radcliffe dlg
1 file changed with 106 insertions and 90 deletions:
party.lua
106
90
0 comments (0 inline, 0 general)
party.lua
Show inline comments
 
@@ -118,28 +118,35 @@ char_radcliffe = obj {
 
	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);
 
            radcliffe_home_dlg.home = true;
 
		else
 
			walkin(radcliffe_dlg);
 
            radcliffe_home_dlg.home = false;
 
            if where(s).underwater then
 
                wright_main_dlg.underwater = true;
 
            else
 
                wright_main_dlg.underwater = false;
 
            end;
 
		end;
 
 
        walkin(radcliffe_home_dlg);
 
	end;
 
    seen_level = 2;
 
};
 
 
char_wright = obj {
 
	var {
 
        home = "leviathan_wardroom";
 
		follow = false;
 
        
 
        on_learr = 0;
 
        on_leviathan = 0;
 
        on_conflict = 0;
 
@@ -658,129 +665,140 @@ radcliffe_home_dlg = dlg {
 
            ven_radcliffe_spoken_8 = true;
 
            pon('on_ven_keeper');
 
        else
 
            poff('on_ven_keeper');
 
        end;
 
 
        if have(item_raybox) then
 
            pon('on_raybox');
 
        else
 
            poff('on_raybox');
 
        end;
 
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", "questions");
 
        if (rel_walter < 0) then
 
            pon("questions");
 
        else
 
            if (char_radcliffe.on_anna < 3) then
 
                pon("on_anna");
 
                pon("questions");
 
            end;
 
            if (char_radcliffe.on_black < 2) then
 
                pon("on_black");
 
        poff("on_anna", "on_walter", "on_atlantis", "on_drake", "on_black", "on_join", 'on_venaedanotrr', 'on_nleyyslanotrr', 'on_deep_temple', "questions");
 
        if s.home then
 
            if (rel_walter < 0) then
 
                pon("questions");
 
            end;
 
            if (char_radcliffe.on_walter < 2) then
 
                pon("on_walter");
 
                pon("questions");
 
            end;
 
            if (char_radcliffe.on_atlantis < 2) then
 
                pon("on_atlantis");
 
                pon("questions");
 
            end;
 
            if (char_radcliffe.on_drake < 2) then
 
                pon("on_drake");
 
                pon("questions");
 
            end;
 
            if (char_radcliffe.on_join < 2) then
 
                pon("on_join");
 
                pon("questions");
 
            else
 
                if (char_radcliffe.on_anna < 3) then
 
                    pon("on_anna");
 
                    pon("questions");
 
                end;
 
                if (char_radcliffe.on_black < 2) then
 
                    pon("on_black");
 
                    pon("questions");
 
                end;
 
                if (char_radcliffe.on_walter < 2) then
 
                    pon("on_walter");
 
                    pon("questions");
 
                end;
 
                if (char_radcliffe.on_atlantis < 2) then
 
                    pon("on_atlantis");
 
                    pon("questions");
 
                end;
 
                if (char_radcliffe.on_drake < 2) then
 
                    pon("on_drake");
 
                    pon("questions");
 
                end;
 
                if (char_radcliffe.on_join < 2) then
 
                    pon("on_join");
 
                    pon("questions");
 
                end;
 
 
                if (char_anna.on_venaedanotrr < 2 and nleyyslanotrr_found) then
 
                    pon("on_venaedanotrr");
 
                    pon("questions");
 
                end;
 
                if (char_anna.on_nleyyslanotrr < 2 and lseryanotrr_found) then
 
                    pon("on_nleyyslanotrr");
 
                    pon("questions");
 
                end;
 
                if (char_anna.on_deep_temple < 2 and dt_temple_done) then
 
                    pon("on_deep_temple");
 
                    pon("questions");
 
                end;
 
            end;
 
 
            if (char_anna.on_venaedanotrr < 2 and nleyyslanotrr_found) then
 
                pon("on_venaedanotrr");
 
                pon("questions");
 
            if (char_radcliffe.follow) then
 
                pon('stay');
 
                poff('join');
 
            else
 
                pon('join');
 
                poff('stay');
 
            end;
 
            if (char_anna.on_nleyyslanotrr < 2 and lseryanotrr_found) then
 
                pon("on_nleyyslanotrr");
 
                pon("questions");
 
            end;
 
            if (char_anna.on_deep_temple < 2 and dt_temple_done) then
 
                pon("on_deep_temple");
 
                pon("questions");
 
            end;
 
        else
 
            poff('stay', 'join');
 
        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_radcliffe.on_conflict == 0 and conflict_resolved then
 
            char_radcliffe.on_conflict = 1;
 
            if (rel_walter < 0) then
 
                if atl_iyh_shockfish_dead then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что чего хотели". ]];
 
 
        if s.home then
 
            if char_radcliffe.on_conflict == 0 and conflict_resolved then
 
                char_radcliffe.on_conflict = 1;
 
                if (rel_walter < 0) then
 
                    if atl_iyh_shockfish_dead then
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что чего хотели". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены. Могу лишь понадеяться, что твои действия не помешают нам найти Уильяма и Адриана". ]];
 
                        end;
 
                    elseif atl_iyh_entrance_destroyed then
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров". ]];
 
                        end;
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены. Могу лишь понадеяться, что твои действия не помешают нам найти Уильяма и Адриана". ]];
 
                    end;
 
                elseif atl_iyh_entrance_destroyed then
 
                    if atl_iyh_artifacts_on_atlantis then
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас". ]];
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров". ]];
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Не ожидал, что получится закончить все настолько гладко там в храме. Жаль, что артефакты мы так и не посмотрели". ]];
 
                        end;
 
                    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 [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что хотели. Я поступил бы так же на твоем месте". ]];
 
                    if atl_iyh_shockfish_dead then
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Может убивать ската было и не обязательно, но мы получили, что хотели. Я поступил бы так же на твоем месте". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены и теперь нам придется обходиться без их помощи". ]];
 
                        end;
 
                    elseif atl_iyh_entrance_destroyed then
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у нас. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Цель оправдывает средства. Храм и сам развалился бы через пару тысяч лет, только ценные артефакты, остались бы погребены навеки. Теперь они у навьяров. Думаю, под твоим руководством мы сможем найти экипаж Надежды". ]];
 
                        end;
 
                    else
 
                        return [[Уолтер при виде вас заявляет: "Убийство ската было опрометчивым, Дрейк. Отношения с навьярами безнадежно испорчены и теперь нам придется обходиться без их помощи". ]];
 
                    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 [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Ираафаанотр получил свою реликвию, а мы можем продолжать наши поиски". ]];
 
                        if atl_iyh_artifacts_on_atlantis then
 
                            return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Артефакты у нас, Ираафаанотр получит свою реликвию, а мы можем продолжать наши поиски". ]];
 
                        else
 
                            return [[Уолтер при виде вас заявляет: "Отличная работа, Дрейк. Ираафаанотр получил свою реликвию, а мы можем продолжать наши поиски". ]];
 
                        end;
 
                    end;
 
                end;
 
            end;
 
        end;
 
        
 
		return [[Уолтер задумчиво смотрит на вас. ]];
 
	end;
 
 
        if s.underwater then
 
            return [[Уолтер ждет ваших указаний. ]];
 
        else
 
            return [[Уолтер задумчиво смотрит на вас. ]];
 
        end;
 
    end;
 
	phr = {
 
        {tag="talk"};
 
        {tag="on_black", "Что ты можешь сказать о Блэке?", function(s)
 
            char_radcliffe.on_black = 2;
 
            return [[Уолтер пожимает плечами: "Что я могу сказать про него? Думаю, Дрейк выбрал хорошего партнера". ]];
 
        end};
 
        {tag="on_walter", "Расскажи о себе.", function(s)
 
            char_radcliffe.on_walter = 2;
 
            return [[Уолтер пожимает плечами: "Да мне нечего рассказать. Мы с сестрой жили в Лондоне, я уже работал в Вестхейвен Трансоушен, когда наши родители погибли -- пароход, на котором они отправились в США просто не прибыл в порт назначения. Мы с Анной остались одни. Она еще даже школу не закончила тогда. А потом мы построили Надежду, Атлантиду и далее по списку. Потом мне предложили работать внизу, на станции. Я, конечно, мог тогда отказаться, уйти в другую компанию, но направление, избранное Дрейком слишком меня привлекало. Я согласился". ]];
 
        end};
 
        {tag="on_anna", "Расскажи о своей сестре, Анне.", function(s)
 
            char_radcliffe.on_anna = 3;
 
@@ -804,26 +822,24 @@ radcliffe_home_dlg = dlg {
 
                elseif char_radcliffe.rel_on_join >= 0 then
 
                    return [[Уолтер Рэдклифф отвечает: "Ты сразу мне понравился, и это путешествие предоставляет мне возможность узнать, что стало с экипажем Надежды. Хотя Анна не хотела отправляться с вами, я решил, что будет лучше, если мы с ней будем на борту вместе".]]
 
                else
 
                    return [[Уолтер Рэдклифф отвечает: "Скажу честно, единственная причина, почему мы отправились с вами кроется в нашем желании найти Надежду".]]
 
                end;
 
            else
 
                if (char_radcliffe.rel_on_join >= 0) then
 
                    return [[Уолтер Рэдклифф отвечает: "Мы с Анной очень хотели отправиться в эту экспедицию, но к счастью, мне удалось уговорить ее остаться на Атлантиде. Я не хочу подвергать ее опасностям, которые могут подстерегать нас". ]];
 
                else
 
                    return [[Уолтер Рэдклифф отвечает: "Признаюсь, я не слишком доверял тебе тогда, но это единственный способ узнать, что стало с Надеждой". ]];
 
                end;
 
            end;
 
            
 
            
 
        end};
 
        {tag="on_atlantis", "Что ты думаешь об Атлантиде?", function(s)
 
            char_radcliffe.on_atlantis = 2;
 
            return [[Уолтер отвечает: "Думаю только Райт и Уинтерлайт в полной мере осознают, насколько большим достижением для нас, для всего человечества, является постройка этой станции. Тем не менее, они, отчего-то, не спешат поделиться своими знаниями с другими. Не думаю, что сегодняшнее общество сможет по достоинству оценить новые возможности, даруемые этими технологиями. Да и что станет с навьярами? Вспомните Новый Свет, посмотрите на другие наши колонии -- хотите ли вы этого для Леарр и других?"]];
 
        end};
 
        {tag="on_venaedanotrr", "Что скажешь о Венаэданотре?", function(s)
 
            char_radcliffe.on_venaedanotrr = 2;
 
            if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then
 
                return [[Уолтер отвечает: "Занятный городишко. Анна уже говорила мне, что хочет вернуться сюда, когда у нас будет время". ]];
 
            else
 
                return [[Уолтер отвечает: "Занятный городишко. Анне бы здесь понравилось". ]];
 
            end;
 
@@ -853,25 +869,25 @@ radcliffe_home_dlg = dlg {
 
        {tag='ven_keeper', false, 'Хранитель храма отказывается отдавать нам камень. У тебя есть идеи на этот счет?', function(s)
 
            if ArrayUtils.indexOf(pl.party, 'learr') ~= 0 and ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
                return [[Уолтер отвечает: "Леарр и Анна будут более полезны чем я в данном вопросе". ]];
 
            elseif ArrayUtils.indexOf(pl.party, 'learr') ~= 0 then
 
                return [[Уолтер отвечает: "Почему бы не спросить Леарр?" ]];
 
            elseif ArrayUtils.indexOf(pl.party, 'anna') ~= 0 then
 
                return [[Уолтер отвечает: "Моя сестра сможет помочь". ]];
 
            else
 
                return [[Уолтер отвечает: "Тут только вождь сможет помочь". ]];
 
            end;
 
        end};
 
        {tag="on_iraa_temple", false, "Вождь Ираафаанотра не хочет пускать меня в храм. Что мы можем сделать?", [[Уолтер отвечает: "В прошлый раз нам оказалось достаточно оказаться рядом с храмом, чтобы найти искомое. Быть может, в этот раз нам так же не нужно проникать внутрь? И я бы не стал исключать возможность скрытного проникновения. Раз они не знают о карте, то и не заметят потери". ]]};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Уолтер пожимает клечами: "Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют". ]]};
 
		{tag="on_iyh", always=true, "Что ты можешь рассказать мне о храме?", [[Уолтер отвечает: "Возможно, мы сможем разрушить вход в храм. Однако я не знаю, как навьяры на это отреагируют". ]]};
 
		{tag="join", always=true, "Я хочу, чтобы ты пошел со мной в следующий раз.", [[ Уолтер отвечает: "Хорошо". ]],
 
			function()
 
                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 [[Я готов]];
 
			end;  
 
		};
0 comments (0 inline, 0 general)