diff --git a/items.lua b/items.lua --- a/items.lua +++ b/items.lua @@ -26,6 +26,34 @@ item_pickaxe = obj { end; }; +item_spear = obj { + nam = "pickaxe"; + disp = "Кирка"; + dsc = [[{Копье Фаэтларра} аккуратно прислонено к стене]]; + tak = [[Фаэтларр забирает копье. ]]; + inv = [[Копье, добытое Фаэтларром в честном бою. ]]; + use = function(s, o) + local canhit = false; + if (type(o.canhit) == "function") then + canhit = o.canhit(o); + else + canhit = o.canhit; + end; + + if (canhit) then + if (o.onhit) then + return(o.onhit(o)); + else + return ""; + end; + elseif (o.nohitmsg) then + return o.nohitmsg; + else + return "Я не буду этого делать!"; + end; + end; +}; + item_colt = obj { nam = "colt"; bullets = 6; diff --git a/london.lua b/london.lua --- a/london.lua +++ b/london.lua @@ -5,50 +5,27 @@ char_captain = npc { nam = "char_captain"; disp = "Капитан"; - dsc = [[ - {Капитан} стоит на носу и задумчиво смотрит на происходящее на палубе. - ]]; + dsc = [[На носу судна стоит {капитан} и курит трубку, задумчиво смотря на происходящее на палубе. ]]; phrases = { - [[ - Капитан говорит: _"Завтра мы отправляемся обратно в Америку"_. - ]], - [[ - Капитан задумчиво произносит, держа трубку в руке: _",,Северное сияние'' - лучший из кораблей, которыми я управлял"_. - ]], - [[ - Капитан оборачивается к вам: _"Как вам путешествие?"_ - ]], - [[ - Капитан вынимает трубку изо рта и произносит: _"Этот пароход - гордость компании, но до знаменитой ,,Огненной стрелы'' ему далеко"_. - ]], - [[ - Окидывая взглядом порт, капитан вздыхает: _"Иногда я вспоминаю свою молодость на ,,Чайке'' и ,,Нефритовой королеве''"_. - ]] + [[Капитан говорит: _"Завтра мы отправляемся обратно в Америку"_. ]], + [[Капитан задумчиво произносит, держа трубку в руке: _",,Северное сияние'' - лучший из кораблей, которыми я управлял"_. ]], + [[Капитан оборачивается к вам: _"Как вам путешествие?"_ ]], + [[Капитан вынимает трубку изо рта и произносит: _"Этот пароход - гордость компании, но до знаменитой ,,Огненной стрелы'' ему далеко"_. ]], + [[Окидывая взглядом порт, капитан вздыхает: _"Иногда я вспоминаю свою молодость на ,,Чайке'' и ,,Нефритовой королеве''"_. ]], + [[Капитан задумчиво вертит трубку в руках. ]] }; }; char_first_mate = npc { nam = "char_first_mate"; disp = "Первый помощник"; - dsc = [[ - {Первый помощник} наблюдает за покидающими корабль людьми. - ]]; + dsc = [[У трапа стоит {первый помощник} и наблюдает за покидающими корабль людьми. ]]; phrases = { - [[ - Первый помощник не обращает на вас внимания - ]], - [[ - Первый помощник спрашивает: "Как вам путешествие?" - ]], - [[ - Первый помощник сообщает: "Капитан раньше командовал ,,Чайкой''. Я не знаю, что стало с ней сейчас". - ]], - [[ - Первый помощник с гордостью говорит: _",,Северное сияние'' - лучший корабль компании"_. - ]], - [[ - Первый помощник сообщает: "Это был мой первый трансатлантический рейс в качестве первого помощника". - ]] + [[Первый помощник не обращает на вас внимания. ]], + [[Первый помощник спрашивает: "Как вам путешествие?" ]], + [[Первый помощник сообщает: "Капитан раньше командовал ,,Чайкой''. Я не знаю, что стало с ней сейчас". ]], + [[Первый помощник с гордостью говорит: _",,Северное сияние'' - лучший корабль компании"_. ]], + [[Первый помощник сообщает: "Это был мой первый трансатлантический рейс в качестве первого помощника". ]] }; }; @@ -56,12 +33,10 @@ aurora_borealis = room { nam = "aurora_borealis"; disp = "\"Северное сияние\", палуба"; --На палубе парохода людно. Пассажиры один за другим сходят на берег. Небо покрыто тяжелыми тучами. Со всех сторон доносятся гудки пароходов. - dsc = [[ - Вы стоите на палубе парохода "Северное Сияние", только что прибывшего в порт Лондона. Небо над головой затянуто тяжелыми тучами. Пассажиры толпятся у сходней. Матросы занимаются своими делами, не обращая внимания на вас и других пассажиров. - ]]; + dsc = [[Тяжелые темные тучи застилают небо, не давая солнечному свету пробиться к земле. Пассажиры собрались на палубе парохода, прибывшего в порт Лондона. Вокруг снуют матросы, занимающиеся своими делами и не обращающие никакого внимания на вас. Люди неспешно сходят на берег. Со стороны дока доносятся крики, брань, ржание лошадей, какой-то стук. Вы слышите гудки пароходов, прибывающих в порт и отправляющихся в плавание. ]]; obj = {'char_captain', 'char_first_mate'}; way = { - vroom("Сойти на берег", "london_mooring"); + vroom("На берег", "london_mooring"); }; }; diff --git a/lseryanotrr_locations.lua b/lseryanotrr_locations.lua --- a/lseryanotrr_locations.lua +++ b/lseryanotrr_locations.lua @@ -22,7 +22,8 @@ lse_leviathan_cargo_hold = room { dsc = [[Фаэтларр находится в грузовом отсеке Левиафана, среди множества ящиков в котором так легко затеряться. ]]; obj = { "player_phaetlarr", - "lse_item_toolbox" + "lse_item_toolbox", + "item_spear" }; way = { kh_vroom("В коридор", "lse_leviathan_corridor"); @@ -576,9 +577,26 @@ lse_prison_fight = battlefield { {2,2,0,0,0,2,2} }; entered = function(s) + if (have(item_spear)) then + lse_cmbt_phaetlarr.hasSpear = true; + end; + move(player_drake, here()); remove(player_phaetlarr); pl = player_drake; + + if (ArrayUtils.indexOf(pl.party, 'learr') ~= 0) then + table.insert(lse_prison_fight, 2, lse_cmbt_learr); + end; + if (ArrayUtils.indexOf(pl.party, 'wright') ~= 0) then + table.insert(lse_prison_fight, 2, lse_cmbt_wright); + end; + if (ArrayUtils.indexOf(pl.party, 'radcliffe') ~= 0) then + table.insert(lse_prison_fight, 2, lse_cmbt_radcliffe); + end; + if (ArrayUtils.indexOf(pl.party, 'anna') ~= 0) then + table.insert(lse_prison_fight, 2, lse_cmbt_anna); + end; end; make_turn = function(s) if (not have(item_colt, pl) and here().plX == 2 and here().plY == 6) then @@ -587,11 +605,11 @@ lse_prison_fight = battlefield { end; end; obj = { - 'lse_cmbt_learr', 'lse_cmbt_phaetlarr', - 'lse_cmbt_wright', - 'lse_cmbt_radcliffe', - 'lse_cmbt_anna', + --'lse_cmbt_learr', + --'lse_cmbt_wright', + --'lse_cmbt_radcliffe', + --'lse_cmbt_anna', 'lse_cmbt_guard1', 'lse_cmbt_guard2', diff --git a/main.lua b/main.lua --- a/main.lua +++ b/main.lua @@ -210,7 +210,7 @@ function init() --]] --- Chapter 1: Atlantis - submarine_leviathan.battery = true; -- Состояние батареи + --[[submarine_leviathan.battery = true; -- Состояние батареи submarine_leviathan.battery_charge = 100; -- Уровень заряда батареи submarine_leviathan.circuit_breaks = 0; -- Разрывы цепи submarine_leviathan.valves_to_replace = 0; -- Количество клапанов, которые нужно заменить для полноценной работы @@ -238,17 +238,17 @@ function init() pl.where = "leviathan_airlock"; atlantis_found = true; move(submarine_leviathan, "atl_aqua_leviathan_dock"); - submarine_leviathan:enable(); + submarine_leviathan:enable(); ]] --ven_temple_l1.position = "66"; - put(item_ven_tablet, pl); - put(item_harpoon, pl); - put(item_colt, pl); + --put(item_ven_tablet, pl); + --put(item_harpoon, pl); + --put(item_colt, pl); --ven_shark.position = "55"; --pl.where = "za_plaetlarr_fight"; - pl.where = "lse_final_battle"; - move(submarine_leviathan, "za_temple_back_entrance_foot"); - char_anna.follow = true; + --pl.where = "lse_final_battle"; + --move(submarine_leviathan, "za_temple_back_entrance_foot"); + --char_anna.follow = true; --pl.where = "ven_chest_look"; --move(ven_shark, "ven_temple_l1"); diff --git a/utils.lua b/utils.lua --- a/utils.lua +++ b/utils.lua @@ -116,9 +116,14 @@ function kh_vroom(disp, target, nam, see }; end; -room = inherit(room, function(v) +--[[room = inherit(room, function(v) v.forcedsc = true; return v; +end);]] + +dlg = inherit(room, function(v) + v.hideinv = true; + return v; end); obj = inherit(obj, function(v)