insteadose-3/persona.lua

310 lines
9.2 KiB
Lua
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- $Name: Личность$
-- $Version: 0.1$
instead_version "1.9.1"
require "lib"
require "para"
require "dash"
require "quotes"
require "xact"
global {
rat_i = 0;
onedsc = 5;
twodsc = 8;
threedsc = 2;
fourdsc = 6;
}
_patterns = {};
game.use = "Вариантов успешного завершения инструкций 0... Отмена действия."
main = room {
nam = "..."
,enter = music_("castle")
,title = {"Л", "И", "Ч", "Н", "О", "С", "Т", "Ь" }
,num = 14
,act = function() walk(main2) end
,obj = { vobj("next", '{Начать игру}') }
}
main2 = room {
forcedsc = true;
pxa = {
{ "door4", 10 },
{ "panel", 150 },
{ if_("exist(programmator_mozgov)","program","program_empty"), 240, 50 },
{ "crio", 300 }
},
nam = "Выход",
dsc = "Отсек криосна. Мне необходимо разобраться с одним из членов экипажа. Кажется у него какие-то проблемы с сознанием.",
obj = {"chest", "criocaps","programmator_mozgov"},
}
chest = obj {
nam = "chest",
dsc = "На стене {ящик} с кодовым замком.",
act = function (s)
walk("coderoom")
end,
}
criocaps = obj {
nam = "criocaps",
dsc = "Рядом стоит {криокапсула}. Она светится синим светом изнутри.",
act = "Судя по надписи - внутри инженер Александр. Тот кто нужен."
}
programmator_mozgov = obj {
nam = function(s)
if rat_i == 0 then
p"Программатор личности"
else
p"Программатор личности (с копией крысиной личности)"
end
end,
dsc = "На стене под стеклом висит {программатор личности}.",
act = function(s)
p"Забираю программатор себе.";
take(programmator_mozgov,me());
remove(programmator_mozgov);
end,
use = function(s,w)
if (w == criocaps) and (rat_i == 0) then
walk(podsoznanie_room)
elseif (w == criocaps) and (rat_i == 1) then
walk(criocaps_final)
p"Восстановление личности из резервной копии завершено.^Психологических проблем не обнаружено.^Спасибо за работу.^";
elseif w == rat_in_chestroom then
p"Сунув программатор в крысиную дыру удалось скопировать личность крысы.";
rat_i = 1;
end
end
}
coderoom = room {
nam = "Кодовый замок",
entered = function(s)
s._flt = stead.mouse_filter(0)
end;
left = function(s)
stead.mouse_filter(s._flt)
end;
dsc = "Это ящик Александра",
way = {"main2"},
obj = {"one","two","three","four", "openbox"},
}
one = obj {
nam = "one",
dsc = function (s)
return "{" .. tostring(onedsc).."}"
end,
act = function (s)
onedsc = onedsc + 1;
if onedsc == 10 then
onedsc = 0;
end;
stead.need_scene()
return true
end
}
two = obj {
nam = "two",
dsc = function (s)
return "{" .. tostring(twodsc) .. "}"
end,
act = function (s)
twodsc = twodsc + 1;
if twodsc == 10 then
twodsc = 0;
end;
stead.need_scene()
return true
end
}
three = obj {
nam = "three",
dsc = function (s)
return "{" .. tostring(threedsc) .. "}"
end,
act = function (s)
threedsc = threedsc + 1;
if threedsc == 10 then
threedsc = 0;
end;
stead.need_scene()
return true
end
}
four = obj {
nam = "four",
dsc = function (s)
return "{" .. tostring(fourdsc) .. "}"
end,
act = function (s)
fourdsc = fourdsc + 1;
if fourdsc == 10 then
fourdsc = 0;
end;
stead.need_scene()
return true
end
}
openbox = obj {
nam = "openbox",
dsc = "^^{Открыть}",
act = function (s)
if ((onedsc == 1) and (twodsc == 2) and (threedsc == 0) and (fourdsc == 0)) then
walk(chestroom)
else
p"Открыть не удается.."
end
end
}
podsoznanie_room = room {
nam = "Подсознание",
pxa = {
{ "screen", 165 }
},
way = {"podsoznanie_room","person","superego","main2"},
obj = {"it_crioson","it_meds"},
}
criocaps_final = room {
nam = "Подсознание",
pxa = {
{ "screen", 165 }
},
way = {"criocaps_final","person_final","superego_final","final_rooom"},
obj = {"it_crioson","it_meds"},
}
person_final = room {
nam = "Личность",
pxa = {
{ "screen", 165 }
},
way = {"criocaps_final","person_final","superego_final","final_rooom"},
obj = {"final_person_dmitry"}
}
superego_final = room {
nam = "Суперэго",
pxa = {
{ "screen", 165 }
},
way = {"criocaps_final","person_final","superego_final","final_rooom"},
obj = {"final_s_dm_parents"},
}
person = room {
nam = "Личность",
pxa = {
{ "screen", 165 }
},
way = {"podsoznanie_room","person","superego","main2"},
obj = {"person_dmitry","p_dm_stress","p_dm_depression", }
}
superego = room {
nam = "Суперэго",
pxa = {
{ "screen", 165 }
},
way = {"podsoznanie_room","person","superego","main2"},
obj = {"s_dm_parents","s_dm_dolg"},
}
final_person_dmitry = obj {
nam = "person_dmitry",
dsc = "- Самоидентификация личности: {Крыса}^^ + Проблем не выявлено.",
act = "'...'",
}
final_s_dm_parents = obj {
nam = "s_dm_dolg",
dsc = "Найдено:^ - личность 'Крыса'^- остатки личности 'Александр' (анализ не возможен)^ ^Анализ личности 'Крыса':^ ^ + Проблем не выявлено.",
}
final_rooom = room {
nam = "Выход",
enter = function() mute_()(); complete_("persona")() end,
act = gamefile_("wake.lua"),
obj = { vobj("next", txtc("{КОНЕЦ?}")) }
}
p_dm_depression = obj {
nam = "depression",
dsc = "- {Вялотякущая депрессия}^^Необходимо восстановление личности из резевной копии",
act = "'...Когда мы прилетим все, кого я знал, будут мертвы. Тысяча лет не шутки. Мои коллеги, мой начальник, родители, дочь. Я останусь один...'",
}
p_dm_stress = obj {
nam = "stress",
dsc = "^ ! Выявленные проблемы:^ - {Значительный стресс}^",
act = "'...Я не уверен, что выживу в полете. Может произойти что угодно. Роботы перепутают провода, или начнуть отрывать друг другу конечности...'",
}
person_dmitry = obj {
nam = "person_dmitry",
dsc = "- Самоидентификация личности: {Александр}^",
act = "'...Я - Александр, мне 43 года. Я инженер. Нахожусь в криосне на борту космического корабля, который в полете тысячу лет...'",
}
s_dm_parents = obj {
nam = "s_dm_dolg",
dsc = "Найдено:^ - личность 'Александр'^[альтернативные личности отсутствуют]^ ^Анализ личности 'Александр':^ - {Указания родителей} (хроническое)^",
act = "'...Ты должен быть послушным мальчиком!... ...Не будешь учиться - продадим цыганам!... ...Запомни! Ты должен чистить зубы каждый день в полдень!...'",
}
s_dm_dolg = obj {
nam = "s_dm_parents",
dsc = "- {Долг перед обществом} (хроническое)^^ + Проблем не выявлено.",
act = "'...Наша цивилизация поручила тебе ответственную миссию... ...Ты должен соответствовать... ...Ожидания командования вполне конкретны...'",
}
it_crioson = obj {
nam = "it_crioson",
dsc = "Модификации подсознания:^- {Состояние криосна}^",
act = "[Ощущения от органов чувств заблокированы]",
}
it_meds = obj {
nam = "it_meds",
dsc = "- {Блокирование неуместных инстинктов}^^ + Проблем не выявлено.",
act = "[Инстинкт размножения заблокирован]",
}
chestroom = room {
nam = "Ящик Александра",
obj = {"disk_in_chestroom","rat_in_chestroom"},
way = {"main2"},
}
rat_in_chestroom = obj {
nam = "rat_in_chestroom",
dsc = "Рядом видна {крысиная нора}.",
act = "Кажется крысы прорыли дыру в стене и повредили диск.",
}
disk_in_chestroom = obj {
nam = "Диск с личностью Александра",
dsc = "Внутри ящика {диск} с резервной копией личности Александра.. но он разломан и всюду видно следы чьих-то зубов. Надо найти другой диск.",
act = "Диск значительно поврежден. Использовать его не получится. Нужен еще один.",
}
function start()
if here() == coderoom then
stead.mouse_filter(0)
end
end