Буквы вырезателя

This commit is contained in:
Alexander Yakovlev 2020-12-21 18:28:54 +07:00
parent 9196f060eb
commit 052aada2ff
Signed by: oreolek
GPG key ID: 1CDC4B7820C93BD3
2 changed files with 170 additions and 3 deletions

View file

@ -133,5 +133,172 @@ function mp:LetterShoot(w)
if not HasChar(w.canonical, letter) then
return 'Вырезатель настроен на букву '..letter..', которой нет в слове «'..w.canonical..'».';
end
return 'Вы стреляете в '.. w.canonical ..',который вырезается в '..StrCut(w.canonical, letter);
local newCanonical = StrCut(w.canonical, letter);
local newTarget = lookup(newCanonical);
if newTarget then
w:remove();
put(newTarget, here());
return 'Вы стреляете в '.. w.canonical ..',который вырезается в '..newCanonical;
end
return 'Вы стреляете в '.. w.canonical ..' и он мигает в слабом тумане букв «'..newCanonical..'», но затем возвращается в прежнее состояние.';
end
Verb {
"#Set",
'установ/ить,выстав/ить',
'~ вырезатель на А: LetterSetA',
'~ вырезатель на а: LetterSetA',
'~ а на вырезателе: LetterSetA',
'~ А на вырезателе: LetterSetA',
'~ А: LetterSet1',
'~ Б: LetterSet2',
'~ В: LetterSet3',
'~ Г: LetterSet4',
'~ Д: LetterSet5',
'~ Е: LetterSet6',
'~ Ё: LetterSet7',
'~ Ж: LetterSet8',
'~ З: LetterSet9',
'~ И: LetterSet10',
'~ Й: LetterSet11',
'~ К: LetterSet12',
'~ Л: LetterSet13',
'~ М: LetterSet14',
'~ Н: LetterSet15',
'~ О: LetterSet16',
'~ П: LetterSet17',
'~ Р: LetterSet18',
'~ С: LetterSet19',
'~ Т: LetterSet20',
'~ У: LetterSet21',
'~ Ф: LetterSet22',
'~ Х: LetterSet23',
'~ Ц: LetterSet24',
'~ Ч: LetterSet25',
'~ Ш: LetterSet26',
'~ Щ: LetterSet27',
'~ Ъ: LetterSet28',
'~ Ы: LetterSet29',
'~ Ь: LetterSet30',
'~ Э: LetterSet31',
'~ Ю: LetterSet32',
'~ Я: LetterSet33',
}
function mp:LetterSet(w)
if not pl:have('letterremover') then
return 'Нечем.';
end
if type(w) ~= 'string' then
return 'Вырезатель можно установить только на букву русского алфавита.';
end
--if string.len(w) > 1 then
-- return 'Вырезатель можно установить только на одну букву.';
--end
local letter = _('letterremover').letter;
if letter ~= w then
_('letterremover').letter = w
return 'Вырезатель будет вынимать букву '..w..'.';
end
return 'Вырезатель уже работает на частоте буквы '..w;
end
function mp:LetterSet1()
return mp:LetterSet('А')
end
function mp:LetterSet2()
return mp:LetterSet('Б')
end
function mp:LetterSet3()
return mp:LetterSet('В')
end
function mp:LetterSet4()
return mp:LetterSet('Г')
end
function mp:LetterSet5()
return mp:LetterSet('Д')
end
function mp:LetterSet6()
return mp:LetterSet('Е')
end
function mp:LetterSet7()
return mp:LetterSet('Ё')
end
function mp:LetterSet8()
return mp:LetterSet('Ж')
end
function mp:LetterSet9()
return mp:LetterSet('З')
end
function mp:LetterSet10()
return mp:LetterSet('И')
end
function mp:LetterSet11()
return mp:LetterSet('Й')
end
function mp:LetterSet12()
return mp:LetterSet('К')
end
function mp:LetterSet13()
return mp:LetterSet('Л')
end
function mp:LetterSet14()
return mp:LetterSet('М')
end
function mp:LetterSet15()
return mp:LetterSet('Н')
end
function mp:LetterSet16()
return mp:LetterSet('О')
end
function mp:LetterSet17()
return mp:LetterSet('П')
end
function mp:LetterSet18()
return mp:LetterSet('Р')
end
function mp:LetterSet19()
return mp:LetterSet('С')
end
function mp:LetterSet20()
return mp:LetterSet('Т')
end
function mp:LetterSet21()
return mp:LetterSet('У')
end
function mp:LetterSet22()
return mp:LetterSet('Ф')
end
function mp:LetterSet23()
return mp:LetterSet('Х')
end
function mp:LetterSet24()
return mp:LetterSet('Ц')
end
function mp:LetterSet25()
return mp:LetterSet('Ч')
end
function mp:LetterSet26()
return mp:LetterSet('Ш')
end
function mp:LetterSet27()
return mp:LetterSet('Щ')
end
function mp:LetterSet28()
return mp:LetterSet('Ъ')
end
function mp:LetterSet29()
return mp:LetterSet('Ы')
end
function mp:LetterSet30()
return mp:LetterSet('Ь')
end
function mp:LetterSet31()
return mp:LetterSet('Э')
end
function mp:LetterSet32()
return mp:LetterSet('Ю')
end
function mp:LetterSet33()
return mp:LetterSet('Я')
end

View file

@ -37,7 +37,7 @@ obj {
nam = 'letterremover';
letter = "Р";
dsc = function(s)
return '«Вырезатель ЕДАКТО-12» выглядит как древний пистолет с маленьким дисплеем и кнопками. На дисплее горит буква «'..s.letter..'». Из него можно СТРЕЛЯТЬ во что-то.';
return '«Вырезатель ЕДАКТО-12» выглядит как древний пистолет с маленьким дисплеем и кнопками. На дисплее горит буква «'..s.letter..'». Из него можно СТРЕЛЯТЬ во что-то. Чтобы выставить букву А, напишите ВЫСТАВИТЬ А.';
end;
inv = function(s)
return s.letter..'-вырезатель'
@ -49,7 +49,7 @@ obj {
['вырезатель/вн'] = 'вырезатель';
['вырезатель/тв'] = 'вырезателем';
['вырезатель/пр'] = 'вырезателе';
}: attr 'concealed'
}: attr 'essential'
obj {
-"робот,уборщик";