# HG changeset patch # User Silverwing # Date 2015-06-04 17:29:41 # Node ID fda22c203ad586e8b1c1b132eb1d5d776e156d08 # Parent de2ca69e9861a7d2e1d4d385710e14046f9c6274 Utils.lua added. Text fixes. Allow joining Phaetlarr to party diff --git a/hope.lua b/hope.lua --- a/hope.lua +++ b/hope.lua @@ -126,9 +126,9 @@ char_phaetlarr_hope = obj { phaetlarr_hope_dlg = dlg { nam = "phaetlarr_hope_dlg"; - disp = "навьяр"; + disp = "Навьяр"; entered = [[ - Навьяр выглядит удивленным и напуганным, однако, судя по всему, он готов вас выслушать. К сожалению, здесь с ним не получится нормально общаться. Цветные полосы на тголовных плавниках навьяра складываются в слово "Pha'e'tla'rr" - сияющий. + Навьяр выглядит удивленным и напуганным, однако, судя по всему, он готов вас выслушать. К сожалению, здесь с ним не получится нормально общаться. Цветные полосы на головных плавниках навьяра складываются в слово "Pha'e'tla'rr" - сияющий. ]]; phr = { {"Указать на навьяра левой рукой, правой указать на себя, затем на дверь", "Навьяр кивает головой. \"I'rr vee'nn\"", function() diff --git a/hope_cutscene.lua b/hope_cutscene.lua --- a/hope_cutscene.lua +++ b/hope_cutscene.lua @@ -1,3 +1,4 @@ +-- TODO переписать диалоги с сопартийцами. cutscene_learr_dlg = dlg { nam = "cutscene_learr_dlg"; disp = "Леарр"; @@ -8,8 +9,8 @@ cutscene_learr_dlg = dlg { {"Что скажешь?", [[ Леарр отрывает взгляд от Фаэтларра и поворачивается к вам: "Никогда не думала, что твой отец водится с такими людьми, как Адриан. " ]], [[ pstart("adrian") ]]}; - {"*поговорить с кем-то другим*", [[Вы решаете не беспокоить Леарр]], [[ back() ]]} - {tag = "adrian"} + {"*поговорить с кем-то другим*", [[Вы решаете не беспокоить Леарр]], [[ back() ]]}; + {tag = "adrian"}; {"Он не был таким изначально. Уильям знал его достаточно хорошо. Думал, что знал. ", [[ Леарр пожимает плечами: "Возможно, ты прав. Все равно, нам нужно остановить его" ]], [[ back() ]]}; @@ -70,9 +71,11 @@ cutscene_phaetlarr_dlg = dlg { }; exit = function(s) table.remove(cutscene_hope.obj, 1); + PartyUtils.addToParty(char_phaetlarr); put(vway("Леарр", "{Поговорить с Леарр. ^}", "cutscene_learr_dlg"), cutscene_hope); put(vway("Райт", "{Поговорить с Райтом. ^}", "cutscene_wright_dlg"), cutscene_hope); put(vway("Рэдклифф", "{Поговорить с Рэдклиффом. ^}", "cutscene_radcliffe_dlg"), cutscene_hope); + put(vway("Закончить собрание", "{Закончить собрание. ^}", "leviathan_wardroom"), cutscene_hope); end; }; @@ -84,14 +87,21 @@ cutscene_wright_dlg = dlg { ]]; phr = { {"Леарр доверяет ему, насколько я понял. Я доверяю ей. ", [[ - будь по-твоему, + будь по-твоему ]]} }; }; cutscene_radcliffe_dlg = dlg { nam = "cutscene_radcliffe_dlg"; - + entered = [[ + Уолтер задумчиво смотрит на Фаэтларра. "А можем ли мы доверять ему?" - спрашивает он наконец. + ]]; + phr = { + {"Леарр доверяет ему, насколько я понял. Я доверяю ей. ", [[ + будь по-твоему + ]]} + }; }; cutscene_hope = room { diff --git a/main.lua b/main.lua --- a/main.lua +++ b/main.lua @@ -7,6 +7,9 @@ require "para" require "dash" require "quotes" require "hideinv" + +-- Код и ядро +dofile "utils.lua" -- Общее dofile "items.lua" dofile "party.lua" diff --git a/party.lua b/party.lua --- a/party.lua +++ b/party.lua @@ -1,3 +1,4 @@ +-- TODO больше отвлеченных диалогов, дабы было о чем поговорить с сопартийцами. Не стоит делать их деревянными безжизненными манекенами char_learr = obj { nam = "learr"; disp = "Леарр"; @@ -316,8 +317,7 @@ wright_home_dlg = dlg { else pon('join'); poff('stay'); - end; - + end; return [[ Джек ждет ваших указаний ]]; @@ -352,4 +352,5 @@ wright_home_dlg = dlg { end; } }; -}; \ No newline at end of file +}; + diff --git a/utils.lua b/utils.lua new file mode 100644 --- /dev/null +++ b/utils.lua @@ -0,0 +1,30 @@ +--[[ + Общие утилиты для игр на Instead. Скорее всего будут повторно использоваться в следующих играх, если таковые будут. +]] + +--[[ +]] +ArrayUtils = { + indexOf = function(array, item) + for i = 1, #array do + if (array[i] == item) then + return i; + end; + end; + return 0; + end; +}; + +--[[ + +]] +PartyUtils = { + addToParty = function(object) + if (object.home) then + if (ArrayUtils.indexOf(pl.party, object.nam) == 0) then + move(object, object.home); + table.insert(pl.party, object.nam); + end; + end; + end; +}; \ No newline at end of file