# HG changeset patch # User Silverwing # Date 2017-04-13 17:47:55 # Node ID a1f4d4cbf1bdce4fcda8a040c9c6b566e91d64c7 # Parent 9ca6109dbad4f3f7d0319a5c80a9e15545db94da Progress on iof rewrite diff --git a/atlantis_ignis_on_fire.lua b/atlantis_ignis_on_fire.lua --- a/atlantis_ignis_on_fire.lua +++ b/atlantis_ignis_on_fire.lua @@ -33,23 +33,15 @@ char_wright_iof = obj { dsc = function(s) if (atl_iof_time_state.pl_safe) then if (atl_iof_time_state.carry_learr) then - return [[ - {Джек Райт} облачен в скафандр и ждет ваших указаний. Леарр бессильно лежит на его руках. - ]]; + return [[{Джек Райт} облачен в скафандр и ждет ваших указаний. Леарр бессильно лежит на его руках. ]]; else - return [[ - {Джек Райт} облачен в скафандр и ждет ваших указаний. - ]]; + return [[{Джек Райт} облачен в скафандр и ждет ваших указаний. ]]; end; else if (atl_iof_time_state.life_left > 3) then - return [[ - {Джек Райт} ждет ваших указаний. - ]]; + return [[{Джек Райт} ждет ваших указаний. ]]; else - return [[ - {Джек Райт} с трудом стоит на ногах. - ]]; + return [[{Джек Райт} с трудом стоит на ногах. ]]; end; end; end; @@ -67,12 +59,10 @@ char_wright_iof = obj { char_learr_faint = obj { nam = "Леарр"; - inv = [[ - На руках вы держите Леарр. Она дышит очень слабо. Вам нужно поторопиться, если вы не хотите, чтобы она умерла. - ]]; + inv = [[На руках вы держите Леарр. Она дышит очень слабо. Вам нужно поторопиться, если вы не хотите, чтобы она умерла. ]]; life = function(s) if (rnd(12) > 11) then - pr("Вы чувствуете слабое дыхание Леарр"); + pr([[Вы чувствуете слабое дыхание Леарр, лежащей у вас на руках. ]]); end; end; }; @@ -84,23 +74,15 @@ char_learr_iof = obj { nam = "Леарр"; dsc = function(s) if (s.faint) then - return [[ - {Леарр} лежит на полу без сознания. - ]]; + return [[{Леарр} лежит на полу без сознания. ]]; end; if (atl_iof_time_state.learr_safe) then - return [[ - {Леарр} облачена в скафандр и ждет ваших указаний. - ]]; + return [[{Леарр} облачена в скафандр и ждет ваших указаний. ]]; else if (atl_iof_time_state.life_left > 3) then - return [[ - {Леарр} ждет ваших указаний. - ]]; + return [[{Леарр} ждет ваших указаний. ]]; else - return [[ - {Леарр} с трудом стоит на ногах. - ]]; + return [[{Леарр} с трудом стоит на ногах. ]]; end; end; end; @@ -115,9 +97,7 @@ char_learr_iof = obj { elseif (s.faint) then walkin('atl_iof_learr_faint_alone'); else - return [[ - Некогда разговаривать. - ]]; + return [[Некогда разговаривать. ]]; end; end; }; @@ -130,41 +110,27 @@ dlg_learr_suit = dlg { disp = "Леарр"; entered = function(s) s.state = true; - return [[ - Леарр вопросительно смотрит на вас. - ]]; + return [[Леарр вопросительно смотрит на вас. ]]; end; phr = { - {"Я хочу, чтобы ты одела скафандр.", [[ - Леарр недоуменно смотрит на вас: "Зачем он мне? Сама-я в-воде-дышу. Мне не-нужны ваши-приспособления". - ]], code [[ + {"Я хочу, чтобы ты одела скафандр. ", [[Леарр недоуменно смотрит на вас: "Ззачем он мне? Ссама-я в-воде-дышшу. Мне не-нужжны вашши-пррисспоссобления". ]], code [[ psub('tag1'); ]]}; - {"Мы сейчас оденем скафандры. Продолжай следовать за нами.", [[ - Леарр кивает: "Я недолго-продержусь. Я что-смогу-сделаю". - ]], code [[ + {"Мы сейчас наденем скафандры. Продолжай следовать за нами. ", [[Леарр молча кивает. ]], code [[ back(); ]]}; {tag="tag1"}; - {"Не спорь, полезай внутрь.", [[ - Леарр недовольно скалит зубы: "Хевьяр не-указывай-мне". - ]], code [[ + {"Не спорь, полезай внутрь. ", [[Леарр все еще не понимает: "Я в-этой-шштуке-двигатьсся-не-ссмогу". ]], code [[ psub('tag2'); ]]}; - {"Ладно, обойдемся без этого, просто следуй за нами.", [[ - Леарр кивает: "Я недолго-продержусь. Я что-смогу-сделаю". - ]], code [[ + {"Ладно, обойдемся без этого, просто следуй за нами. ", [[Леарр молча кивает. ]], code [[ back(); ]]}; {tag="tag2"}; - {"Не хочешь не надо. Просто следуй за нами.", [[ - Леарр молча кивает. - ]], code [[ + {"Хорошо Просто следуй за нами. ", [[Леарр молча кивает. ]], code [[ back(); ]]}; - {"Эта штука защитит тебя от жара. И тебе будет легче дышать, пока мы не выбрались", [[ - Леарр кивает: "Хорошо. Я по-вашему-сделаю". Вы помогаете ей забраться в скафандр и одеваете шлем. - ]], code [[ + {"Эта штука защитит тебя от жара. И тебе будет легче дышать, пока мы не выбрались. ", [[Леарр кивает: "Хорошо. Я по-вашему-сделаю". Вы помогаете навьярессе забраться в скафандр и надеваете на нее шлем. ]], code [[ atl_iof_time_state.learr_safe = true; back(); ]]}; @@ -174,29 +140,21 @@ dlg_learr_suit = dlg { dlg_learr_iof = dlg { nam = "Леарр"; disp = "Леарр"; - entered = [[ - Леарр подбегает к вам и спрашивает: "Что происходит?" - ]]; + entered = [[Леарр подбегает к вам и спрашивает: "Что происходит?" ]]; phr = { - {'Надеюсь, все в порядке, следуй за мной', [[ - Леарр кивает: "Хорошо". - ]], code [[ + {'Надеюсь, все в порядке, следуй за мной', [[Леарр молча кивает. ]], code [[ lifeon('char_learr_iof'); char_learr_iof.state = 1; walk('atl_iof_ignis_hall_a'); ]]}; - {'Такое уже происходило?', [[ - Леарр пожимает плечами: "Я не-видела". - ]]}; + {'Такое уже происходило?', [[Леарр пожимает плечами: "Я не-видела". ]]}; }; }; atl_iof_intro = room { nam = "Атлантида, Игнис, зал А"; disp = "Атлантида, Игнис, зал А"; - dsc = [[ - Внезапно свет в зале гаснет и вы оказываетесь в полной темноте. Вскоре вы начинаете ощущать запах дыма, проникающего из вентиляционных отверстий. Леарр кажется очень удивленной. В темноте вы видите слабое свечение цветных полос, бегущих по ее головным плавникам: _"**Что происходит?**"_. - ]]; + dsc = [[Внезапно свет в зале гаснет и вы оказываетесь в полной темноте. Вскоре вы начинаете ощущать запах дыма, проникающего из вентиляционных отверстий. Леарр кажется очень удивленной. В темноте вы видите слабое свечение цветных полос, бегущих по ее головным плавникам: пурпурная, зеленая, серая, -- тонкая, едва заметная, голубая, зеленая, ярко-розовая, снова серая -- на этот раз заметно толще, оранжевая, желтая, желто-зеленая и снова оранжевая. Цвета сменяют друг-друга за несколько мгновений и вы с трудом успеваете различить их все.]]; obj = { vobj('Продолжить','{Продолжить}', 'dlg_learr_iof'); }; @@ -208,9 +166,7 @@ atl_iof_ignis_hall_a = room { }; nam = "Атлантида, Игнис, зал А"; disp = "Атлантида, Игнис, зал А"; - dsc = [[ - Средних размеров прямоугольный зал. Из вентиляционных отверстий выплывают тонкие струйки дыма. - ]]; + dsc = [[Средних размеров прямоугольный зал. Из вентиляционных отверстий выплывают тонкие струйки дыма. ]]; entered = function(s) if (not s.ready) then s.ready = true; @@ -240,7 +196,7 @@ atl_iof_blocked_by_fire = function() end; atl_iof_blocked_by_rubble = function() - pr("Обломки преграждают вам путь"); + pr("Обломки обрушившихся стеллажей преграждают вам путь"); return false; end; @@ -299,30 +255,20 @@ atl_iof_time_state = obj { atl_iof_learr_faint_alone = dlg { nam = "Леарр"; disp = "Леарр"; - dsc = [[ - Леарр медленно опускается на пол. Сквозь скафандр вы с трудом различаете ее голос: "Я не-могу-дальше-идти". - ]]; + dsc = [[Леарр медленно опускается на пол. Сквозь скафандр вы с трудом различаете ее голос: "Я не-могу-идти". ]]; phr = { - {"Совсем немного осталось, пойдем. [Помочь Леарр подняться]", [[ - Леарр пытается подняться опираясь на вашу руку, но снова падает. Она без сознания. - ]], code [[ + {"Совсем немного осталось, пойдем. [Помочь Леарр подняться]", [[Леарр пытается подняться опираясь на вашу руку, но снова падает, теряя сознание. ]], code [[ tag('faint'); ]]}; - {"Оставайся здесь, я вернусь. ", [[ - Леарр теряет сознание, обессилев. - ]], code [[ + {"Оставайся здесь, я вернусь. ", [[Леарр теряет сознание, обессилев. ]], code [[ char_learr_iof.faint = true; back(); ]]}; - {"Оставайся здесь. ", [[ - Леарр теряет сознание, обессилев. - ]], code [[ + {"Оставайся здесь. ", [[Леарр теряет сознание, обессилев. ]], code [[ char_learr_iof.faint = true; back(); ]]}; - {"[Взять Леарр на руки]", [[ - Леарр теряет сознание, обессилев. Леарр весит не больше обычного человека. Вы берете ее на руки и продолжаете движение. - ]], code [[ + {"[Взять Леарр на руки]", [[Леарр теряет сознание, обессилев. Вы берете навьярессу на руки. Она весит не больше обычного человека. Вы вполне в состоянии донести ее до выхода. ]], code [[ remove(char_learr_iof, where(char_learr_iof)); put(char_learr_faint, pl); lifeon(char_learr_faint); @@ -330,9 +276,7 @@ atl_iof_learr_faint_alone = dlg { back(); ]]}; {tag='faint'}; - {"[Взять Леарр на руки]", [[ - Леарр весит не больше обычного человека. Вы берете ее на руки и продолжаете движение. - ]], code [[ + {"[Взять Леарр на руки]", [[Леарр теряет сознание, обессилев. Вы берете навьярессу на руки. Она весит не больше обычного человека. Вы вполне в состоянии донести ее до выхода. ]], code [[ remove(char_learr_iof, where(char_learr_iof)); put(char_learr_faint, pl); lifeon(char_learr_faint); @@ -346,13 +290,9 @@ atl_iof_learr_faint_alone = dlg { atl_iof_learr_faint_wright = dlg { nam = "Леарр"; disp = "Леарр"; - dsc = [[ - Леарр медленно опускается на пол. Сквозь скафандр вы с трудом различаете ее голос: "Я не-могу-дальше-идти". Райт подходит к ней и пытается помочь ей подняться. - ]]; + dsc = [[Леарр медленно опускается на пол. Сквозь скафандр вы с трудом различаете ее голос: "Я не-могу-идти". Райт подходит к ней и пытается помочь ей подняться. ]]; phr = { - {"Все в порядке?", [[ - По радио вы слышите голос Райта: "Да, я помогу ей. Идем". Джек аккуратно берет Леарр на руки и идет к вам. - ]], code [[ + {"Все в порядке?", [[По радио вы слышите голос Райта: "Да, я помогу ей. Идем". Джек аккуратно берет Леарр на руки и идет к вам. ]], code [[ remove(char_learr_iof, where(char_learr_iof)); atl_iof_time_state.carry_learr = true; back(); @@ -363,22 +303,14 @@ atl_iof_learr_faint_wright = dlg { atl_iof_wright_dlg = dlg { nam = "Джек Райт"; disp = "Джек Райт"; - entered = [[ - Едва вы оказываетесь в главном зале, к вам подбегает Джек Райт: _"У вас все в порядке? Здесь все рушится. Здесь недалеко должно быть служебное помещение со скафандрами. Нам следует добраться до туда"_. - ]]; + entered = [[Едва вы оказываетесь в главном зале, Джек Райт спрашивает: _"У вас все в порядке? Здесь все в огне. Здесь недалеко должно быть служебное помещение со скафандрами. Нам следует добраться до туда. Без них мы до выхода не дотянем"_. ]]; phr = { - {"А лифт?", [[ - Джек отрицательно качает головой: _"Я не смог добраться до него"_. - ]]}; - {"Ты знаешь куда идти?", [[ - Джек неуверенно пожал плечами: _"Насколько я помню, совсем рядом если идти по часовой стрелке вдоль стены зала"_. - ]], code [[ + {"А лифт?", [[Джек отрицательно качает головой: _"Без скафандров мы туда не попадем. К тому же, он наверняка отключен"_. ]]}; + {"Ты знаешь куда идти?", [[Джек неуверенно пожал плечами: _"Насколько я помню, совсем рядом если идти по часовой стрелке вдоль стены зала"_. ]], code [[ psub('next'); ]]}; {tag = "next"}; - {"Следуй за нами", [[ - Джек молча кивает. - ]], code [[ + {"Идем", [[Джек молча кивает. ]], code [[ lifeon('char_wright_iof'); back(); ]]}; diff --git a/main.lua b/main.lua --- a/main.lua +++ b/main.lua @@ -178,7 +178,7 @@ function init() ---game init pl.where = intro; ---debug - pl.where = "atlantis_intro_dock"; + --pl.where = "atlantis_intro_dock"; ---leviathan --pl.where = "leviathan_airlock"; diff --git a/travel.lua b/travel.lua --- a/travel.lua +++ b/travel.lua @@ -14,6 +14,18 @@ char_coachman = obj { end; }; +coachman_responses_ok = { + [[Кэбмен приглашает вас: "Садитесь!". ]], + [[Вы садитесь в повозку и благополучно добираетесь до цели. ]], + [[Вы оплачиваете проезд и садитесь в повозку. ]], +}; + +coachman_responses_fail = { + [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + [[Кэбмен разочарованно протянул: "Нет денег -- нет поездки". ]]; + [[Кэбмен разочарованно протянул: "Сначала оплатите проезд". ]]; +}; + coachman_dlg = dlg { nam = "coachman_dlg"; disp = "Кэбмен"; @@ -45,10 +57,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'hotel_street'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end }, @@ -56,10 +68,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'wright_house'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end }, @@ -67,10 +79,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'warehouse_18_entry'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end }, @@ -78,10 +90,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'warehouse_32_entry'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end }, @@ -89,10 +101,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'dock_2'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end }, @@ -100,10 +112,10 @@ coachman_dlg = dlg { function (s) if (pl:pay(5)) then walk 'port_street'; - return "Садитесь!"; + return coachman_responses_ok[rnd(#coachman_responses_ok)]; else back(); - return [[Кэбмен разочарованно протянул: "Бесплатно я никого не вожу". ]]; + return coachman_responses_fail[rnd(#coachman_responses_fail)]; end; end },