diff --git a/custom_parser.lua b/custom_parser.lua index 2f840d5..c4d9385 100644 --- a/custom_parser.lua +++ b/custom_parser.lua @@ -141,6 +141,18 @@ Verb { 'вырез/ать', '~ * из {noun}/рд,scene : SetShoot', } +MetaVerb { + "#Pronouns", + 'местоим/ения', + '* : SelectPronouns', +} + +function mp:SelectPronouns() + if (here().nam == 'main') then + return 'Вы уже выбираете местоимения.'; + end + return walk('main'); +end function mp:SetShoot(what, letter) if not pl:have('letterremover') then diff --git a/main3.lua b/main3.lua index 97552d7..b07d916 100644 --- a/main3.lua +++ b/main3.lua @@ -1,5 +1,5 @@ --$Name: Полёт в Петербург$ ---$Version: 1.3.1$ +--$Version: 1.3.2$ --$Author:Александр Яковлев$ require "fmt" @@ -35,6 +35,7 @@ game.dsc = '' player.description = "Здесь нет зеркал. Но хотя бы ноги выглядят прекрасно."; pl.plural = false pl.pronouns = 'fem' +pl.strpronouns = 'она/её' function givepoint() score = score + 1; @@ -46,50 +47,75 @@ dofile('rooms/end.lua') dofile('rooms/objects.lua') dofile('rooms/pantry.lua') + dlg { nam = 'main'; - decor = function() - pn(fmt.b('Полёт в Петербург')); - pn 'Фантастическая зарисовка^^'; - pn(fmt.b('Выберите свои местоимения')); + decor = function(here) + if not (here:visited()) then + pn(fmt.b('Полёт в Петербург')); + pn 'Фантастическая зарисовка^^'; + pn(fmt.b('Выберите свои местоимения^')); + pn(fmt.em('Это - парсерная игра. Введите номер ответа и нажмите Enter. Игра управляется только с клавиатуры.^')); + pn('Выбор позднее можно сменить командой «местоимения». Чтобы прочитать справку, наберите «помощь».'); + end + end; + continue = function() + walk('pantry'); + end; + title = function(here) + if not (here:visited()) then + return '' + end + return 'Выберите местоимения (сейчас -- "'.. pl.strpronouns ..'")' end; - title = ''; phr = { - { + { + nam = 'phr_she', + cond = true, 'она/её', function() pl.plural = false; pl.pronouns = 'fem'; - std.player.word = 'ты/жр,2л' - walk('pantry') + pl.strpronouns = 'она/её'; + std.player.word = 'ты/жр,2л'; + here().continue(); end - }, - { + }; + { + nam = 'phr_he', + cond = true, 'он/его', function() pl.plural = false; pl.pronouns = 'masc'; - std.player.word = 'ты/мр,2л' - walk('pantry') + pl.strpronouns = 'он/его'; + std.player.word = 'ты/мр,2л'; + here().continue(); end - }, - { + }; + { + nam = 'phr_theysingle', + cond = true, 'оно/их', function() - pl.plural = false - pl.pronouns = 'other' - std.player.word = 'вы/cр,2л' - walk('pantry') + pl.plural = false; + pl.pronouns = 'other'; + pl.strpronouns = 'оно/их'; + std.player.word = 'вы/cр,2л'; + here().continue(); end - }, - { + }; + { + nam = 'phr_theyplural', + cond = true, 'они/их', function() pl.plural = true; pl.pronouns = 'other'; - std.player.word = 'вы/cр,мн,2л' - walk('pantry') + pl.strpronouns = 'они/их'; + std.player.word = 'вы/cр,мн,2л'; + here().continue(); end - }, + } } }