|
@@ -2,47 +2,19 @@ char_learr = obj {
|
|
|
nam = "learr";
|
|
|
disp = "Леарр";
|
|
|
dsc = function(s)
|
|
|
return [[
|
|
|
{Леарр} ждет ваших указаний ^
|
|
|
]];
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
return [[
|
|
|
{Леарр} стоит возле одного из иллюминаторов и наблюдает за происходящим снаружи субмарины. ^
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
{Леарр} ждет ваших указаний. ^
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
home = "leviathan_wardroom";
|
|
|
accompany = function(s, value)
|
|
|
if (value) then
|
|
|
lifeon(s);
|
|
|
else
|
|
|
move(s, s.home, where(s));
|
|
|
lifeoff(s);
|
|
|
end;
|
|
|
end;
|
|
|
life = function(s)
|
|
|
print("learr");
|
|
|
if (where(pl).leviathan) then
|
|
|
print("learr:leviathan");
|
|
|
if (stead.nameof(where(s)) ~= s.home) then
|
|
|
print("learr:goinghome");
|
|
|
move(s, s.home, where(s));
|
|
|
end;
|
|
|
else
|
|
|
print("learr:following");
|
|
|
move(s, where(pl), where(s));
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
walkin(learr_dlg);
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
char_phaetlarr = obj {
|
|
|
nam = "phaetlarr";
|
|
|
disp = "Фаэтларр";
|
|
|
dsc = function()
|
|
|
return [[
|
|
|
{Фаэтларр} ждет ваших указаний ^
|
|
|
]];
|
|
|
end;
|
|
|
home = "leviathan_engines";
|
|
|
accompany = function(s, value)
|
|
|
s.follow = value;
|
|
|
if (value) then
|
|
|
lifeon(s);
|
|
|
else
|
|
@@ -60,20 +32,31 @@ char_phaetlarr = obj {
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
walkin(phaetlarr_dlg);
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
walkin(learr_home_dlg);
|
|
|
else
|
|
|
walkin(learr_dlg);
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
char_radcliffe = obj {
|
|
|
nam = "radcliffe";
|
|
|
disp = "Уолтер Рэдклифф";
|
|
|
dsc = function()
|
|
|
return [[
|
|
|
{Уолтер Рэдклифф} ждет ваших указаний ^
|
|
|
]];
|
|
|
char_phaetlarr = obj {
|
|
|
nam = "phaetlarr";
|
|
|
disp = "Фаэтларр";
|
|
|
dsc = function(s)
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
return [[
|
|
|
{Фаэтларр} с интересом наблюдает за работой двигателей "Левиафана" ^
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
{Фаэтларр} ждет ваших указаний. ^
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
home = "leviathan_engines";
|
|
|
accompany = function(s, value)
|
|
|
s.follow = value;
|
|
|
if (value) then
|
|
|
lifeon(s);
|
|
|
else
|
|
@@ -91,20 +74,73 @@ char_radcliffe = obj {
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
walkin(radcliffe_dlg);
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
walkin(phaetlarr_home_dlg);
|
|
|
else
|
|
|
walkin(phaetlarr_dlg);
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
char_radcliffe = obj {
|
|
|
nam = "radcliffe";
|
|
|
disp = "Уолтер Рэдклифф";
|
|
|
dsc = function(s)
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
return [[
|
|
|
{Уолтер Рэдклифф} задумчиво крутит в руках какую-то деталь. ^
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
{Уолтер Рэдклифф} ждет ваших указаний. ^
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
home = "leviathan_engines";
|
|
|
accompany = function(s, value)
|
|
|
s.follow = value;
|
|
|
if (value) then
|
|
|
lifeon(s);
|
|
|
else
|
|
|
move(s, s.home, where(s));
|
|
|
lifeoff(s);
|
|
|
end;
|
|
|
end;
|
|
|
life = function(s)
|
|
|
if (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;
|
|
|
act = function(s)
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
walkin(radcliffe_home_dlg);
|
|
|
else
|
|
|
walkin(radcliffe_dlg);
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
char_wright = obj {
|
|
|
nam = "wright";
|
|
|
disp = "Джек Райт";
|
|
|
dsc = function()
|
|
|
return [[
|
|
|
{Джек Райт} ждет ваших указаний ^
|
|
|
]];
|
|
|
dsc = function(s)
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
return [[
|
|
|
{Джек Райт} читает какую-то книгу, сидя в кресле командира. ^
|
|
|
]];
|
|
|
else
|
|
|
return [[
|
|
|
{Джек Райт} ждет ваших указаний. ^
|
|
|
]];
|
|
|
end;
|
|
|
end;
|
|
|
home = "leviathan_wardroom";
|
|
|
accompany = function(s, value)
|
|
|
s.follow = value;
|
|
|
if (value) then
|
|
|
lifeon(s);
|
|
|
else
|
|
@@ -126,15 +162,27 @@ char_wright = obj {
|
|
|
end;
|
|
|
end;
|
|
|
act = function(s)
|
|
|
walkin(wright_dlg);
|
|
|
if (stead.nameof(where(s)) == s.home) then
|
|
|
walkin(wright_home_dlg);
|
|
|
else
|
|
|
walkin(wright_dlg);
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
|
|
|
learr_dlg = dlg {
|
|
|
learr_home_dlg = dlg {
|
|
|
nam = "learr_dlg";
|
|
|
disp = "Леарр";
|
|
|
hideinv = true;
|
|
|
entered = function(s)
|
|
|
if (char_learr.follow) then
|
|
|
pon('stay');
|
|
|
poff('join');
|
|
|
else
|
|
|
pon('join');
|
|
|
poff('stay');
|
|
|
end;
|
|
|
|
|
|
return [[
|
|
|
Леарр вопросительно смотрит на вас
|
|
|
]];
|
|
@@ -146,6 +194,15 @@ learr_dlg = dlg {
|
|
|
char_phaetlarr.accompany(char_phaetlarr, false);
|
|
|
char_radcliffe.accompany(char_radcliffe, false);
|
|
|
char_wright.accompany(char_wright, 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", "Это все", "Хорошо",
|
|
@@ -156,11 +213,19 @@ learr_dlg = dlg {
|
|
|
};
|
|
|
};
|
|
|
|
|
|
phaetlarr_dlg = dlg {
|
|
|
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 [[
|
|
|
Фаэтларр ждет ваших указаний
|
|
|
]];
|
|
@@ -172,8 +237,17 @@ phaetlarr_dlg = dlg {
|
|
|
char_phaetlarr.accompany(char_phaetlarr, true);
|
|
|
char_radcliffe.accompany(char_radcliffe, false);
|
|
|
char_wright.accompany(char_wright, 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();
|
|
@@ -182,21 +256,46 @@ phaetlarr_dlg = dlg {
|
|
|
};
|
|
|
};
|
|
|
|
|
|
radcliffe_dlg = dlg {
|
|
|
radcliffe_home_dlg = dlg {
|
|
|
nam = "radcliffe_dlg";
|
|
|
disp = "Уолтер Рэдклифф";
|
|
|
hideinv = true;
|
|
|
entered = [[
|
|
|
Уолтер задумчиво смотрит на вас
|
|
|
]];
|
|
|
entered = function (s)
|
|
|
if (char_learr.follow) then
|
|
|
pon('stay');
|
|
|
poff('join');
|
|
|
else
|
|
|
pon('join');
|
|
|
poff('stay');
|
|
|
end;
|
|
|
|
|
|
return [[
|
|
|
Уолтер задумчиво смотрит на вас
|
|
|
]];
|
|
|
end;
|
|
|
phr = {
|
|
|
{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
|
|
|
function()
|
|
|
char_learr.accompany(char_learr, false);
|
|
|
char_phaetlarr.accompany(char_phaetlarr, false);
|
|
|
char_radcliffe.accompany(char_radcliffe, true);
|
|
|
char_wright.accompany(char_wright, false);
|
|
|
end;
|
|
|
if (submarine_leviathan.suits > 1) then
|
|
|
char_learr.accompany(char_learr, false);
|
|
|
char_phaetlarr.accompany(char_phaetlarr, false);
|
|
|
char_radcliffe.accompany(char_radcliffe, true);
|
|
|
char_wright.accompany(char_wright, 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()
|
|
@@ -206,22 +305,47 @@ radcliffe_dlg = dlg {
|
|
|
};
|
|
|
};
|
|
|
|
|
|
wright_dlg = dlg {
|
|
|
wright_home_dlg = dlg {
|
|
|
nam = "wright_dlg";
|
|
|
disp = "Джек Райт";
|
|
|
hideinv = true;
|
|
|
entered = [[
|
|
|
Джек ждет ваших указаний
|
|
|
]];
|
|
|
entered = function(s)
|
|
|
if (char_learr.follow) then
|
|
|
pon('stay');
|
|
|
poff('join');
|
|
|
else
|
|
|
pon('join');
|
|
|
poff('stay');
|
|
|
end;
|
|
|
|
|
|
return [[
|
|
|
Джек ждет ваших указаний
|
|
|
]];
|
|
|
end;
|
|
|
phr = {
|
|
|
{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз", "Хорошо",
|
|
|
{ tag = "join", always = "true", "Я хочу, чтобы ты пошел со мной в следующий раз",
|
|
|
function()
|
|
|
char_learr.accompany(char_learr, false);
|
|
|
char_phaetlarr.accompany(char_phaetlarr, false);
|
|
|
char_radcliffe.accompany(char_radcliffe, false);
|
|
|
char_wright.accompany(char_wright, true);
|
|
|
if (submarine_leviathan.suits > 1) then
|
|
|
char_learr.accompany(char_learr, false);
|
|
|
char_phaetlarr.accompany(char_phaetlarr, false);
|
|
|
char_radcliffe.accompany(char_radcliffe, false);
|
|
|
char_wright.accompany(char_wright, true);
|
|
|
pon('stay');
|
|
|
poff('join');
|
|
|
return [[Я готов]];
|
|
|
else
|
|
|
-- TODO сообщать это только если в партии есть навьяры
|
|
|
return [[У нас не хватит оборудования. Лучше возьми кого-нибудь из навьяров]];
|
|
|
end;
|
|
|
end;
|
|
|
};
|
|
|
{ tag = "stay", always = "true", "Оставайся на Левиафане", "Хорошо",
|
|
|
function()
|
|
|
char_wright.accompany(char_wright, false);
|
|
|
pon('join');
|
|
|
poff('stay');
|
|
|
end;
|
|
|
};
|
|
|
{ tag = "exit", always = "true", "Это все", "Хорошо",
|
|
|
function()
|
|
|
back();
|