Библиотека дверей

This commit is contained in:
Alexander Yakovlev 2021-12-11 14:16:00 +07:00
commit e4b15e00f7
Signed by: oreolek
GPG key ID: 8D24103F5EE2A6C0
2 changed files with 32 additions and 0 deletions

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# Дополнительные библиотеки для метапарсера INSTEAD
* [Двери](doors.lus) - автосписок закрытых дверей в посещённых комнатах

29
doors.lua Normal file
View file

@ -0,0 +1,29 @@
Verb {
"#doors",
"двери",
"Doors"
}
function mp:Doors()
local doors = std.list {};
std.for_each_obj(function(v)
-- посещённые комнаты
if (v and v:type 'room' and visited(v)) then
v.obj:for_each(function(d)
if (d and d:has('locked')) then
doors:add(d.nam)
end
end)
end
end)
if (#doors == 0) then
p("Пока что вы не встречали запертых дверей.");
else
pn('В комнатах, которые вы посещали, всё ещё закрыты:')
doors:for_each(function(v)
p(' '..where(v).title)
p(' - ')
pn(_(v):noun('им'))
end)
end
end