1211 lines
40 KiB
C
1211 lines
40 KiB
C
! ===========================================================================
|
||
!
|
||
! RUSSIAN: Language Definition File for Inform 6
|
||
! Source encoding: CP1251
|
||
!
|
||
! Copyright (C) Grankin Andrey 2002, Gayev Denis 2003-2004
|
||
!
|
||
! Based on:
|
||
! English Release 6/11 Serial number 040227
|
||
!
|
||
! ---------------------------------------------------------------------------
|
||
|
||
System_file;
|
||
|
||
! ---------------------------------------------------------------------------
|
||
! ×àñòü I. Ââåäåíèå
|
||
! ---------------------------------------------------------------------------
|
||
|
||
Constant LanguageVersion = "@<<Èíôîðì@>>: Ðóññêàÿ âåðñèÿ 0.8.3, 2018-02-04";
|
||
|
||
! Àëôàâèò
|
||
Array Alphabet ->
|
||
! (ñòðî÷íûå)
|
||
'à' 'á' 'â' 'ã' 'ä' 'å' '¸' 'æ' 'ç' 'è' 'é' 'ê' 'ë' 'ì' 'í'
|
||
'î' 'ï' 'ð' 'ñ' 'ò' 'ó' 'ô' 'õ' 'ö' '÷' 'ø' 'ù' 'ú' 'û' 'ü'
|
||
'ý' 'þ' 'ÿ'
|
||
! (çàãëàâíûå)
|
||
'À' 'Á' 'Â' 'Ã' 'Ä' 'Å' '¨' 'Æ' 'Ç' 'È' 'É' 'Ê' 'Ë' 'Ì' 'Í'
|
||
'Î' 'Ï' 'Ð' 'Ñ' 'Ò' 'Ó' 'Ô' 'Õ' 'Ö' '×' 'Ø' 'Ù' 'Ú' 'Û' 'Ü'
|
||
'Ý' 'Þ' 'ß';
|
||
|
||
Constant MinChr = 155; ! min char to redefine
|
||
Constant MaxChr = 251; ! max char to redefine
|
||
Constant AlphaCnt = 33; ! # of characters
|
||
|
||
! All remappables are in range MinChr to MaxChr
|
||
Array AlphaXlt -> (MaxChr+1-MinChr);
|
||
|
||
! Initialise translation table
|
||
[ XltInit
|
||
ch rc;
|
||
|
||
for (ch = MinChr: ch <= MaxChr: ++ ch) AlphaXlt->(ch-MinChr) = 255;
|
||
|
||
for (rc = 0: rc < 2*AlphaCnt: ++ rc) {
|
||
ch = Alphabet->rc;
|
||
if (MinChr <= ch && ch <= MaxChr) AlphaXlt->(ch-MinChr) = rc;
|
||
}
|
||
];
|
||
|
||
! Lowercase to Uppercase
|
||
[ LtoU ch rc;
|
||
if (MinChr <= ch && ch <= MaxChr) {
|
||
rc = AlphaXlt->(ch-MinChr);
|
||
if (0 <= rc && rc < AlphaCnt) return Alphabet->(rc+AlphaCnt);
|
||
}
|
||
|
||
return ch;
|
||
];
|
||
|
||
! Uppercase to Lowercase
|
||
[ UtoL ch rc;
|
||
if (MinChr <= ch && ch <= MaxChr) {
|
||
rc = AlphaXlt->(ch-MinChr);
|
||
if (AlphaCnt <= rc && rc < 2*AlphaCnt) return Alphabet->(rc-AlphaCnt);
|
||
}
|
||
|
||
return ch;
|
||
];
|
||
|
||
!
|
||
! Unluckily, there is no conditional operator in Inform.
|
||
! So, we'll use this instead:
|
||
!
|
||
[ IIF c x y; ! (ñ)? (x) : (y)
|
||
|
||
if (c) return x;
|
||
return y;
|
||
];
|
||
|
||
!
|
||
! Êîìïàñ
|
||
!
|
||
Class CompassDirection
|
||
with number 0,
|
||
description [;
|
||
if (location provides compass_look && location.compass_look(self)) rtrue;
|
||
if (self.compass_look()) rtrue;
|
||
L__M(##Look, 7, self);
|
||
],
|
||
compass_look false,
|
||
has scenery male; ! male by default
|
||
|
||
Object Compass "êîìïàñ/" has concealed male;
|
||
|
||
IFNDEF WITHOUT_DIRECTIONS;
|
||
CompassDirection -> n_obj "ñåâåð/"
|
||
with name 'n//' 'ñ//' 'ñåâåð',
|
||
door_dir n_to;
|
||
CompassDirection -> s_obj "þã/"
|
||
with name 's//' 'þ//' 'þã',
|
||
door_dir s_to;
|
||
CompassDirection -> e_obj "âîñòîê/"
|
||
with name 'e//' 'â//' 'âîñòîê',
|
||
door_dir e_to;
|
||
CompassDirection -> w_obj "çàïàä/"
|
||
with name 'w//' 'ç//' 'çàïàä',
|
||
door_dir w_to;
|
||
CompassDirection -> ne_obj "ñåâåðî-âîñòîê/"
|
||
with name 'ne' 'ñâ' 'ñåâåðîâîñòîê' 'ñåâåðî-âîñòîê',
|
||
door_dir ne_to;
|
||
CompassDirection -> nw_obj "ñåâåðî-çàïàä/"
|
||
with name 'nw' 'ñç' 'ñåâåðîçàïàä' 'ñåâåðî-çàïàä',
|
||
door_dir nw_to;
|
||
CompassDirection -> se_obj "þãî-âîñòîê/"
|
||
with name 'se' 'þâ' 'þãîâîñòîê' 'þãî-âîñòîê',
|
||
door_dir se_to;
|
||
CompassDirection -> sw_obj "þãî-çàïàä/"
|
||
with name 'sw' 'þç' 'þãîçàïàä' 'þãî-çàïàä',
|
||
door_dir sw_to;
|
||
CompassDirection -> u_obj "âåðõ/"
|
||
with name 'u//' 'ââ' 'âåðõ' 'ââåðõ' 'íàâåðõ' 'ïîòîëîê',
|
||
door_dir u_to;
|
||
CompassDirection -> d_obj "íèç/"
|
||
with name 'd//' 'âí' 'íèç' 'âíèç' 'ïîë' 'çåìëÿ',
|
||
door_dir d_to;
|
||
ENDIF;
|
||
|
||
CompassDirection -> out_obj "âûõîä/"
|
||
with name 'âûõîä' 'íàðóæó',
|
||
door_dir out_to;
|
||
CompassDirection -> in_obj "âõîä/"
|
||
with name 'âõîä' 'âíóòðü',
|
||
door_dir in_to;
|
||
|
||
! ßçûêîâî-ñïåöèôè÷íàÿ èíèöèàëèçàöèÿ
|
||
[ LanguageInitialise;
|
||
|
||
give thedark female ~male ~neuter; ! (ò.ê. "òåìíîòà")
|
||
|
||
XltInit (); ! (óñòàíîâèòü àëôàâèòíûå òàáëèöû)
|
||
];
|
||
|
||
! ---------------------------------------------------------------------------
|
||
! ×àñòü II. Ñëîâàðü
|
||
! ---------------------------------------------------------------------------
|
||
|
||
Constant AGAIN1__WD = 'g//';
|
||
Constant AGAIN2__WD = 'îïÿòü';
|
||
Constant AGAIN3__WD = 'ñíîâà';
|
||
|
||
Constant OOPS1__WD = 'o//';
|
||
Constant OOPS2__WD = 'îé';
|
||
Constant OOPS3__WD = 'îõ';
|
||
|
||
Constant UNDO1__WD = 'u//';
|
||
Constant UNDO2__WD = 'îòìåíà';
|
||
Constant UNDO3__WD = 'îòêàò';
|
||
|
||
Constant ALL1__WD = 'âñå';
|
||
Constant ALL2__WD = 'âñþ';
|
||
Constant ALL3__WD = 'âñåõ';
|
||
Constant ALL4__WD = 'âåñü';
|
||
Constant ALL5__WD = 'îáà';
|
||
|
||
Constant AND1__WD = 'è//';
|
||
Constant AND2__WD = 'è//';
|
||
Constant AND3__WD = 'ïëþñ';
|
||
|
||
Constant BUT1__WD = 'êðîìå';
|
||
Constant BUT2__WD = 'áåç';
|
||
Constant BUT3__WD = 'ìèíóñ';
|
||
|
||
Constant ME1__WD = 'ÿ//';
|
||
Constant ME2__WD = 'ìåíÿ';
|
||
Constant ME3__WD = 'ìíå';
|
||
Constant ME4__WD = 'ìíîé';
|
||
Constant ME5__WD = 'ñåáÿ';
|
||
Constant ME6__WD = 'ñåáå';
|
||
Constant ME7__WD = 'ñîáîé';
|
||
|
||
Constant OF1__WD = './/';
|
||
Constant OF2__WD = './/';
|
||
Constant OF3__WD = './/';
|
||
Constant OF4__WD = './/';
|
||
|
||
Constant OTHER1__WD = 'äðóãîé'; ! NB: îêîí÷àíèÿ ïðèëàãàòåëüíûõ!
|
||
Constant OTHER2__WD = 'èíîé';
|
||
Constant OTHER3__WD = 'ïðî÷èé';
|
||
|
||
Constant THEN1__WD = 'çàòåì';
|
||
Constant THEN2__WD = 'ïîòîì';
|
||
Constant THEN3__WD = 'ïîñëå';
|
||
|
||
Constant YES1__WD = 'y//';
|
||
Constant YES2__WD = 'ä//';
|
||
Constant YES3__WD = 'äà';
|
||
|
||
Constant NO1__WD = 'n//';
|
||
Constant NO2__WD = 'í//';
|
||
Constant NO3__WD = 'íåò';
|
||
|
||
Constant AMUSING__WD = 'èíòåðåñ';
|
||
Constant FULLSCORE1__WD = 'ïîëí';
|
||
Constant FULLSCORE2__WD = 'ïîëíñ÷åò';
|
||
|
||
Constant QUIT1__WD = 'q//';
|
||
Constant QUIT2__WD = 'êîíåö';
|
||
|
||
Constant RESTART__WD = 'íà÷àëî';
|
||
Constant RESTART2__WD = 'ïåðåçàïóñê';
|
||
Constant RESTORE__WD = 'çàãð';
|
||
Constant RESTORE2__WD = 'çàãðóçèòü';
|
||
|
||
! Ìåñòîèìåíèÿ è äåñêðèïòîðû
|
||
|
||
Array LanguagePronouns table
|
||
|
||
! word possible GNAs connected
|
||
! to follow: to:
|
||
! i
|
||
! s p s p
|
||
! mfnmfnmfnmfn
|
||
|
||
'åãî' $$101000101000 NULL
|
||
'åìó' $$101000101000 NULL
|
||
'èì' $$101111101000 NULL
|
||
'åå' $$010000010000 NULL
|
||
'åé' $$010000010000 NULL
|
||
'èõ' $$000111000111 NULL
|
||
'èìè' $$000111000111 NULL
|
||
|
||
'íåãî' $$101000101000 NULL
|
||
'íåì' $$101000101000 NULL
|
||
'íèì' $$101000101000 NULL
|
||
'íåå' $$010000010000 NULL
|
||
'íåé' $$010000010000 NULL
|
||
'íèõ' $$000111000111 NULL
|
||
;
|
||
|
||
Array LanguageDescriptors table
|
||
|
||
! word possible GNAs descriptor connected
|
||
! to follow: type: to:
|
||
! i
|
||
! s p s p
|
||
! mfnmfnmfnmfn
|
||
|
||
'ìîé' $$100000100000 POSSESS_PK 0
|
||
'ìîþ' $$010000010000 POSSESS_PK 0
|
||
'ìîå' $$001000001000 POSSESS_PK 0
|
||
'ìîè' $$000111000111 POSSESS_PK 0
|
||
|
||
'ìîåãî' $$100000000000 POSSESS_PK 0
|
||
'ìîèõ' $$000111000000 POSSESS_PK 0
|
||
|
||
'ýòîò' $$100000100000 POSSESS_PK 0
|
||
'ýòó' $$010000010000 POSSESS_PK 0
|
||
'ýòî' $$001000001000 POSSESS_PK 0
|
||
'ýòè' $$000111000111 POSSESS_PK 0
|
||
|
||
'ýòîãî' $$100000000000 POSSESS_PK 0
|
||
'ýòèõ' $$000111000000 POSSESS_PK 0
|
||
|
||
'òîò' $$100000100000 POSSESS_PK 1
|
||
'òó' $$010000010000 POSSESS_PK 1
|
||
'òî' $$001000001000 POSSESS_PK 1
|
||
'òå' $$000111000111 POSSESS_PK 1
|
||
|
||
'òîãî' $$100000000000 POSSESS_PK 1
|
||
'òåõ' $$000111000000 POSSESS_PK 1
|
||
|
||
'åãî' $$101000101000 POSSESS_PK 'åãî'
|
||
'åå' $$010000010000 POSSESS_PK 'åå'
|
||
'èõ' $$000111000111 POSSESS_PK 'èõ'
|
||
;
|
||
|
||
! ×èñëèòåëüíûå
|
||
! NB: äðóãèå ôîðìû (òðîèõ, ÷åòâåðûõ, ïÿòåðûõ)????
|
||
Array LanguageNumbers table
|
||
'îäèí' 1
|
||
'îäíà' 1
|
||
'îäíî' 1
|
||
'äâà' 2
|
||
'äâå' 2
|
||
'òðè' 3
|
||
'÷åòûðå' 4
|
||
'ïÿòü' 5
|
||
'øåñòü' 6
|
||
'ñåìü' 7
|
||
'âîñåìü' 8
|
||
'äåâÿòü' 9
|
||
'äåñÿòü' 10
|
||
'îäèííàäöàòü' 11
|
||
'äâåíàäöàòü' 12
|
||
'òðèíàäöàòü' 13
|
||
'÷åòûðíàäöàòü' 14
|
||
'ïÿòíàäöàòü' 15
|
||
'øåñòíàäöàòü' 16
|
||
'ñåìíàäöàòü' 17
|
||
'âîñåìíàäöàòü' 18
|
||
'äåâÿòíàäöàòü' 19
|
||
'äâàäöàòü' 20
|
||
;
|
||
|
||
! ---------------------------------------------------------------------------
|
||
! ×àñòü III. Ïåðåâîä
|
||
! ---------------------------------------------------------------------------
|
||
|
||
[ LanguageToInformese
|
||
i len;
|
||
|
||
len=2+buffer->1; ! TMP: use WORDSIZE instead????
|
||
|
||
for (i=2: i~=len: i++) {
|
||
! (âñå çàãëàâíûå -> â ñòðî÷íûå)
|
||
buffer->i = UtoL(buffer->i);
|
||
|
||
! (âñå '¸' -> â 'å')
|
||
if (buffer->i == '¸') buffer->i = 'å';
|
||
}
|
||
|
||
];
|
||
|
||
! ---------------------------------------------------------------------------
|
||
! ×àñòü IV. Âûâîä
|
||
! ---------------------------------------------------------------------------
|
||
|
||
Include "RusMCE";
|
||
|
||
! "ìîæåò"/"ìîãóò"
|
||
[ MorM obj;
|
||
|
||
!return IIF (obj has pluralname, "ìîãóò", "ìîæåò");
|
||
if (obj has pluralname) {
|
||
print "ìîãóò";
|
||
} else {
|
||
print "ìîæåò";
|
||
}
|
||
];
|
||
|
||
Constant LanguageAnimateGender = male;
|
||
Constant LanguageInanimateGender = neuter;
|
||
|
||
! Àðòèêëè.
|
||
! Êàê õîðîøî, ÷òî â ðóññêîì èõ íåò! :)
|
||
|
||
Constant LanguageContractionForms = 1;
|
||
|
||
[ LanguageContraction;
|
||
return 0;
|
||
];
|
||
|
||
Array LanguageArticles -->
|
||
|
||
! Cdef Def Indef
|
||
"" "" ""
|
||
"" "" "";
|
||
|
||
! a i
|
||
! s p s p
|
||
! m f n m f n m f n m f n
|
||
|
||
Array LanguageGNAsToArticles --> 0 0 0 0 0 0 0 0 0 0 0 0;
|
||
|
||
! Âûâåñòè ïîëíîå îïèñàíèå äëÿ êîìïàñíîãî íàïðàâëåíèÿ
|
||
! (êàê íàðå÷èå!)
|
||
[ LanguageDirection d;
|
||
switch (d)
|
||
{ n_to: print "íà ñåâåð";
|
||
s_to: print "íà þã";
|
||
e_to: print "íà âîñòîê";
|
||
w_to: print "íà çàïàä";
|
||
ne_to: print "íà ñåâåðî-âîñòîê";
|
||
nw_to: print "íà ñåâåðî-çàïàä";
|
||
se_to: print "íà þãî-âîñòîê";
|
||
sw_to: print "íà þãî-çàïàä";
|
||
u_to: print "ââåðõ";
|
||
d_to: print "âíèç";
|
||
in_to: print "âíóòðü";
|
||
out_to: print "íàðóæó";
|
||
|
||
default: return RunTimeError(9,d);
|
||
}
|
||
];
|
||
|
||
! Âûâåñòè ïîëíîå íàçâàíèå ïðîèçâîëüíîãî ÷èñëà
|
||
[ LanguageNumber n;
|
||
! (íîëü)
|
||
if (n==0) { print "íîëü"; rfalse; }
|
||
|
||
! (îòðèöàòåëüíîå)
|
||
if (n<0) { print "ìèíóñ "; n=-n; }
|
||
|
||
if (n>=1000) { print (LanguageNumber) n/1000, " òûñÿ÷";
|
||
NEnd (n/1000, 'à//', 'è//', 0);
|
||
n=n%1000; if (n ~= 0) print " "; }
|
||
|
||
if (n==0) rfalse;
|
||
|
||
switch(n)
|
||
{ 1: print "îäèí"; ! NB: îäíà, îäíî...
|
||
2: print "äâà"; ! NB: äâå...
|
||
3: print "òðè";
|
||
4: print "÷åòûðå";
|
||
5: print "ïÿòü";
|
||
6: print "øåñòü";
|
||
7: print "ñåìü";
|
||
8: print "âîñåìü";
|
||
9: print "äåâÿòü";
|
||
10: print "äåñÿòü";
|
||
11: print "îäèííàäöàòü";
|
||
12: print "äâåíàäöàòü";
|
||
13: print "òðèíàäöàòü";
|
||
14: print "÷åòûðíàäöàòü";
|
||
15: print "ïÿòíàäöàòü";
|
||
16: print "øåñòíàäöàòü";
|
||
17: print "ñåìíàäöàòü";
|
||
18: print "âîñåìíàäöàòü";
|
||
19: print "äåâÿòíàäöàòü";
|
||
|
||
20 to 99:
|
||
switch(n/10)
|
||
{ 2: print "äâàäöàòü";
|
||
3: print "òðèäöàòü";
|
||
4: print "ñîðîê";
|
||
5: print "ïÿòüäåñÿò";
|
||
6: print "øåñòüäåñÿò";
|
||
7: print "ñåìüäåñÿò";
|
||
8: print "âîñåìüäåñÿò";
|
||
9: print "äåâÿíîñòî";
|
||
}
|
||
if (n%10 ~= 0) print " ", (LanguageNumber) n%10;
|
||
|
||
100 to 999:
|
||
switch(n/100)
|
||
{ 1: print "ñòî";
|
||
2: print "äâåñòè";
|
||
3: print "òðèñòà";
|
||
4: print "÷åòûðåñòà";
|
||
5: print "ïÿòüñîò";
|
||
6: print "øåñòüñîò";
|
||
7: print "ñåìüñîò";
|
||
8: print "âîñåìüñîò";
|
||
9: print "äåâÿòüñîò";
|
||
}
|
||
if (n%100 ~= 0) print " ", (LanguageNumber) n%100;
|
||
}
|
||
];
|
||
|
||
! Îêîí÷àíèå ÷èñëèòåëüíûõ (ñîãëàñîâàííîå ñ 'val')
|
||
[ NEnd val eI eII eV;
|
||
|
||
switch (val % 100) {
|
||
11 to 19: if (eV) print (address) eV; return;
|
||
}
|
||
|
||
switch (val % 10) {
|
||
1: if (eI) print (address) eI;
|
||
2 to 4: if (eII) print (address) eII;
|
||
default: if (eV) print (address) eV;
|
||
}
|
||
|
||
];
|
||
|
||
! Âðåìÿ äíÿ
|
||
[ LanguageTimeOfDay hours mins i;
|
||
i=hours;
|
||
if (i<10) print " ";
|
||
print i, ":", mins/10, mins%10;
|
||
];
|
||
|
||
#ifdef DEBUG;
|
||
|
||
[ LanguageVerbIsDebugging w;
|
||
return w == 'ìåòà!';
|
||
];
|
||
|
||
#Endif;
|
||
|
||
[ LanguageVerbLikesAdverb w;
|
||
w = w;
|
||
rfalse; ! NB ???
|
||
];
|
||
|
||
[ LanguageVerbMayBeName w;
|
||
w = w;
|
||
rfalse; ! NB ??????
|
||
];
|
||
|
||
Constant NKEY__TX = "N = âíèç";
|
||
Constant PKEY__TX = "P = ââåðõ";
|
||
Constant QKEY1__TX = " Q = âîçâðàò";
|
||
Constant QKEY2__TX = "Q = âîçâðàò";
|
||
Constant RKEY__TX = "ENTER = âûáîð";
|
||
|
||
Constant NKEY1__KY = 'n';
|
||
Constant NKEY2__KY = 'ò';
|
||
Constant PKEY1__KY = 'p';
|
||
Constant PKEY2__KY = 'ç';
|
||
Constant QKEY1__KY = 'q';
|
||
Constant QKEY2__KY = 'é';
|
||
|
||
Constant SCORE__TX = "Ñ÷¸ò: ";
|
||
Constant MOVES__TX = "Õîäû: ";
|
||
Constant TIME__TX = "Âðåìÿ: ";
|
||
Constant CANTGO__TX = "Òû íå ìîæåøü ïîéòè òóäà.";
|
||
Constant YOURSELF__TX = "òû";
|
||
Constant YOU__TX = "Òû";
|
||
Constant FORMER__TX = "òû (ðàíåå)";
|
||
Constant DARKNESS__TX = "Â òåìíîòå";
|
||
|
||
Constant THOSET__TX = "ýòè îáúåêòû";
|
||
Constant THAT__TX = "ýòîò îáúåêò";
|
||
Constant OR__TX = " èëè ";
|
||
Constant NOTHING__TX = "íè÷åãî";
|
||
Constant IS__TX = " íàõîäèòñÿ";
|
||
Constant ARE__TX = " íàõîäÿòñÿ";
|
||
Constant IS2__TX = "íàõîäèòñÿ ";
|
||
Constant ARE2__TX = "íàõîäÿòñÿ ";
|
||
Constant AND__TX = " è ";
|
||
Constant WHOM__TX = "êòî ";
|
||
Constant WHICH__TX = "ãäå ";
|
||
Constant COMMA__TX = ", ";
|
||
|
||
! Cèìâîëüíûé èäåíòèôèêàòîð äëÿ ãðàììàòè÷åñêîé êàòåãîðèè
|
||
[ ocLabel ocID;
|
||
switch (ocID) {
|
||
ocSM: print "Åä.÷./Ì.ð.";
|
||
ocSF: print "Åä.÷./Æ.ð.";
|
||
ocSN: print "Åä.÷./Ñ.ð.";
|
||
ocPL: print "Ìí.÷.";
|
||
};
|
||
];
|
||
|
||
! Cèìâîëüíûé èäåíòèôèêàòîð äëÿ ïàäåæà
|
||
[ csLabel csID;
|
||
switch (csID) {
|
||
csNom: print "È.ï."; ! (Èìåíèòåëüíûé Ïàäåæ)
|
||
csGen: print "Ð.ï."; ! (Ðîäèòåëüíûé Ïàäåæ)
|
||
csDat: print "Ä.ï."; ! (Äàòåëüíûé Ïàäåæ)
|
||
csAcc: print "Â.ï."; ! (Âèíèòåëüíûé Ïàäåæ)
|
||
csIns: print "Ò.ï."; ! (Òâîðèòåëüíûé Ïàäåæ)
|
||
csPre: print "Ï.ï."; ! (Ïðåäëîæíûé Ïàäåæ)
|
||
};
|
||
];
|
||
|
||
! - Èìåíèòåëüíûé ïàäåæ
|
||
[ cNom obj; CCase (obj, csNom, false); ];
|
||
|
||
! - Ðîäèòåëüíûé ïàäåæ
|
||
[ cGen obj; CCase (obj, csGen, false); ];
|
||
|
||
! - Äàòåëüíûé ïàäåæ
|
||
[ cDat obj; CCase (obj, csDat, false); ];
|
||
|
||
! - Âèíèòåëüíûé ïàäåæ
|
||
[ cAcc obj; CCase (obj, csAcc, false); ];
|
||
|
||
! - Òâîðèòåëüíûé ïàäåæ
|
||
[ cIns obj; CCase (obj, csIns, false); ];
|
||
|
||
! - Ïðåäëîæíûé ïàäåæ
|
||
[ cPre obj; CCase (obj, csPre, false); ];
|
||
|
||
! (òî æå, íî ñ çàãëàâíîé áóêâû)
|
||
[ CCNom obj; CCase (obj, csNom, true); ];
|
||
[ CCGen obj; CCase (obj, csGen, true); ];
|
||
[ CCDat obj; CCase (obj, csDat, true); ];
|
||
[ CCAcc obj; CCase (obj, csAcc, true); ];
|
||
[ CCIns obj; CCase (obj, csIns, true); ];
|
||
[ CCPre obj; CCase (obj, csPre, true); ];
|
||
|
||
! DeclineSub: ïðèíóäèòåëüíî ñêëîíÿåò 'noun' ïî âñåì ïàäåæàì
|
||
[ DeclineSub
|
||
csID;
|
||
|
||
print "Îáúåêò @<<";
|
||
CCase (noun, csOff, false); ! (âíå ïàäåæà)
|
||
print "@>> (";
|
||
style bold; ocLabel (objID (noun)); style roman;
|
||
print "):^^";
|
||
|
||
for (csID = csNom: csID <= csPre: ++ csID) {
|
||
style bold; csLabel (csID); style roman;
|
||
print ": ";
|
||
CCase (noun, csID, true);
|
||
print "^";
|
||
}
|
||
];
|
||
|
||
! Âûâåñòè òåêóùèé ñ÷åò
|
||
[ PScore val;
|
||
print val, " î÷ê";
|
||
NEnd (val, 'î//', 'à//', 'îâ');
|
||
];
|
||
|
||
! Âûâåñòè òåêóùåå êîëè÷åñòâî õîäîâ
|
||
[ PTurns val;
|
||
print val, " õîä";
|
||
NEnd (val, 0, 'à//', 'îâ');
|
||
];
|
||
|
||
[ LanguageLM n x1;
|
||
|
||
Prompt: print "^>";
|
||
|
||
Miscellany:
|
||
switch (n)
|
||
{ 1: "(îãðàíè÷èâàÿñü ïåðâûìè 16 îáúåêòàìè)^";
|
||
2: "Íî äåëàòü íè÷åãî íå íàäî!";
|
||
3: print " Âû ïðîèãðàëè ";
|
||
4: print " Âû âûèãðàëè ";
|
||
5: print "^Âû õîòèòå âåðíóòüñÿ â ÍÀ×ÀËÎ èãðû, ÇÀÃÐóçèòü ñîõðàí¸ííóþ èãðó";
|
||
#IFDEF DEATH_MENTION_UNDO;
|
||
print ", ñäåëàòü ÎÒÊÀÒ ïîñëåäíåãî õîäà, ";
|
||
#ENDIF;
|
||
if (TASKS_PROVIDED==0)
|
||
print ", ïîëó÷èòü ïîëíûé Ñ×¨Ò ïî èãðå";
|
||
if (deadflag==2 && AMUSING_PROVIDED==0)
|
||
print ", ïîëó÷èòü íåêîòîðûå ÈÍÒÅÐÅÑíûå ïîäñêàçêè";
|
||
" èëè çàêîí÷èòü (ÊÎÍÅÖ) èãðó?";
|
||
6: "[Èíòåðïðåòàòîð íå ïîääåðæèâàåò îòìåíó õîäà.]";
|
||
7: "[Îòìåíèòü õîä íå óäàëîñü.]";
|
||
8: "Íóæåí îäèí èç ïåðå÷èñëåííûõ îòâåòîâ.";
|
||
9: "^Òåïåðü çäåñü íåïðîãëÿäíàÿ òüìà!";
|
||
10: "Ïðîñòèòå?";
|
||
11: "[Íåëüçÿ îòìåíèòü òî, ÷òî íå ñäåëàíî!]";
|
||
12: "[Íåëüçÿ îòìåíèòü äâà õîäà ïîäðÿä!]";
|
||
13: "[Ïðåäûäóùèé õîä îòìåí¸í.]";
|
||
14: "Ýòî íåâîçìîæíî èñïðàâèòü.";
|
||
15: "Èñïðàâèòü ýòî íåëüçÿ.";
|
||
16: "Êîìàíäà @<<îé@>> èñïðàâëÿåò òîëüêî îäíî ñëîâî.";
|
||
17: "Êðîìåøíàÿ òüìà -- íå âèäíî íè çãè!";
|
||
18: print "òû";
|
||
19: "Òû âûãëÿäèøü êàê îáû÷íî.";
|
||
20: "×òîáû ïîâòîðèòü êîìàíäó @<<æàáà, ïðûã@>>,
|
||
ââåäèòå @<<îïÿòü@>> (íî íå @<<æàáà, îïÿòü@>>).";
|
||
21: "Ýòî âðÿä ëè ìîæíî ïîâòîðèòü.";
|
||
22: "Êîìàíäà íå ìîæåò íà÷èíàòüñÿ ñ çàïÿòîé.";
|
||
23: "Íåïîíÿòíî, ê êîìó òû îáðàùàåøüñÿ.";
|
||
24: "Áåññìûñëåííî ãîâîðèòü ñ ", (cIns) x1, ".";
|
||
25: "×òîáû îáðàòèòüñÿ ê ñîáåñåäíèêó,
|
||
ââåäèòå @<<ñîáåñåäíèê, ïðèâåò@>>.";
|
||
26: print "(ñíà÷àëà âçÿâ ";
|
||
if(not_holding == player) "ñåáÿ)";
|
||
print (cAcc) not_holding; ")";
|
||
27: "Ýòà êîìàíäà íåïîíÿòíà.";
|
||
28: print "Èç êîìàíäû ïîíÿòíî òîëüêî: ";
|
||
29: "Ýòî ÷èñëî íåïîíÿòíî.";
|
||
30: "Ýòîãî ïðåäìåòà çäåñü íåò.";
|
||
31: "Ïîõîæå, íàäî ñêàçàòü ÷òî-òî åù¸!";
|
||
32: "Ýòîãî ïðåäìåòà ó òåáÿ íåò.";
|
||
33: "Ñ ýòèì äåéñòâèåì íå äîïóñêàåòñÿ ìíîãî îáúåêòîâ.";
|
||
34: "Ìíîæåñòâåííûå îáúåêòû äîïóñòèìû òîëüêî îäèí ðàç.";
|
||
35: "Íåïîíÿòíî, ê ÷åìó îòíîñèòñÿ @<<", (address) pronoun_word, "@>>.";
|
||
36: "Âû èñêëþ÷èëè íå÷òî íå âêëþ÷¸ííîå!";
|
||
37: "Äåéñòâèå ïðèìåíèìî òîëüêî ê îäóøåâë¸ííûì îáúåêòàì.";
|
||
38: "Ýòîò ãëàãîë íåïîíÿòåí.";
|
||
39: "Óïîìèíàòü ýòî â èãðå íåò íåîáõîäèìîñòè.";
|
||
40: "Â äàííûé ìîìåíò îòñóòñòâóåò @<<",
|
||
(address) pronoun_word, "@>> (", (cNom) pronoun_obj, ").";
|
||
41: "Êîíåö êîìàíäû íåïîíÿòåí.";
|
||
42: if (x1==0) print "Íè îäíîãî èç íèõ íåò";
|
||
else print "Òîëüêî ", (number) x1, " èç íèõ åñòü";
|
||
" â íàëè÷èè.";
|
||
43: "Äåéñòâèé íåò!";
|
||
44: "Íåò ñîâñåì íè÷åãî ïîäõîäÿùåãî.";
|
||
45: print "×òî èìååòñÿ â âèäó: ";
|
||
46: print "×òî èìååòñÿ â âèäó: ";
|
||
47: "Íî çäåñü äîñòóïåí òîëüêî îäèí ïðåäìåò. Êàêîé èìåííî?";
|
||
48: print "Ê êîìó âû õîòèòå";
|
||
if (actor~=player) {
|
||
print ", ÷òîáû ", (cNom) actor, " ïðèìåíèë", (VPEnd) actor;
|
||
} else {
|
||
print " ïðèìåíèòü";
|
||
}
|
||
print " êîìàíäó @<<"; PrintCommand(); print "@>>?^";
|
||
49: print "Ê ÷åìó âû õîòèòå";
|
||
if (actor~=player) {
|
||
print ", ÷òîáû ", (cNom) actor, " ïðèìåíèë", (VPEnd) actor;
|
||
} else {
|
||
print " ïðèìåíèòü";
|
||
}
|
||
print " êîìàíäó @<<"; PrintCommand(); print "@>>?^";
|
||
50: print "Âàø ñ÷¸ò ";
|
||
if (x1 > 0) print "óâåëè÷èëñÿ";
|
||
else { x1 = -x1; print "óìåíüøèëñÿ"; }
|
||
print " íà ", (PScore) x1;
|
||
51: "(Ïðîèçîøëî ÷òî-òî, ÷òî óêîðîòèëî âàø ñïèñîê êîìàíä.)";
|
||
52: "^Ââåäèòå ÷èñëî îò 1 äî ", x1,
|
||
", 0 äëÿ ïåðåâûâîäà èëè íàæìèòå ENTER.";
|
||
53: "^[Íàæìèòå ÏÐÎÁÅË.]";
|
||
54: "[Êîììåíòàðèé çàïèñàí.]";
|
||
55: "[Êîììåíòàðèé íå çàïèñàí.]";
|
||
56: print ".^";
|
||
57: print "?^";
|
||
}
|
||
|
||
ListMiscellany:
|
||
switch(n)
|
||
{ 1: print " (ñâåò", (V2bEnd) x1, ")";
|
||
2: print " (çàêðûò", (SAEnd) x1, ")";
|
||
3: print " (ñâåò", (V2bEnd) x1, " è çàêðûò", (SAEnd) x1, ")";
|
||
4: print " (ïóñò", (SAEnd) x1, ")";
|
||
5: print " (ñâåò", (V2bEnd) x1, " è ïóñò", (SAEnd) x1, ")";
|
||
6: print " (çàêðûò", (SAEnd) x1, " è ïóñò", (SAEnd) x1, ")";
|
||
7: print " (ñâåò", (V2bEnd) x1, ", çàêðûò", (SAEnd) x1, " è ïóñò", (SAEnd) x1, ")";
|
||
8: print " (ñâåò", (V2bEnd) x1, " è íàäåò", (SAEnd) x1;
|
||
9: print " (ñâåò", (V2bEnd) x1;
|
||
10: print " (íàäåò", (SAEnd) x1;
|
||
11: print " (";
|
||
12: print "îòêðûò", (SAEnd) x1;
|
||
13: print "îòêðûò", (SAEnd) x1, " è ïóñò", (SAEnd) x1;
|
||
14: print "çàêðûò", (SAEnd) x1;
|
||
15: print "çàêðûò", (SAEnd) x1, " è çàïåðò", (SAEnd) x1;
|
||
16: print " è ïóñò", (SAEnd) x1;
|
||
17: print " (ïóñò", (SAEnd) x1, ")";
|
||
18: print " ñîäåðæ", (V2aEnd) x1, " ";
|
||
19: print " (íà ";
|
||
20: print ", íàä ";
|
||
21: print " (";
|
||
22: print ", âíóòðè ";
|
||
}
|
||
|
||
Pronouns: switch(n)
|
||
{ 1: print "Â äàííûé ìîìåíò: ";
|
||
2: print "îçíà÷àåò ";
|
||
3: print "îòñóòñòâóåò";
|
||
4: "ìåñòîèìåíèÿ íå îïðåäåëåíû.";
|
||
5: ".";
|
||
}
|
||
|
||
Order: print_ret (CCNom) x1, " ÿâíî íå ñîáèðà", (V1bEnd) x1, "ñÿ òåáÿ ñëóøàòü.";
|
||
|
||
Quit: switch (n)
|
||
{ 1: print "Îòâåòüòå @<<äà@>> èëè @<<íåò@>>.";
|
||
2: print "Âû õîòèòå ïîêèíóòü èãðó? ";
|
||
}
|
||
|
||
Restart: switch(n)
|
||
{ 1: print "Âû õîòèòå ïåðåçàïóñòèòü èãðó? ";
|
||
2: "Ïåðåçàïóñòèòü èãðó íå óäàëîñü.";
|
||
}
|
||
|
||
Restore: switch(n)
|
||
{ 1: "Âîññòàíîâèòü èãðó íå óäàëîñü.";
|
||
2: "Èãðà âîññòàíîâëåíà.";
|
||
}
|
||
|
||
Save: switch(n)
|
||
{ 1: "Ñîõðàíèòü èãðó íå óäàëîñü.";
|
||
2: "Èãðà ñîõðàíåíà.";
|
||
}
|
||
|
||
Verify: switch(n)
|
||
{ 1: "Ôàéë èãðû ïðîâåðåí óñïåøíî.";
|
||
2: "Ôàéë èãðû íå ïðîø¸ë ïðîâåðêó è ìîæåò áûòü ïîâðåæä¸í.";
|
||
}
|
||
|
||
ScriptOn: switch(n)
|
||
{ 1: "Ðåæèì òðàíñêðèïòà óæå âêëþ÷¸í.";
|
||
2: "Âêëþ÷åíèå òðàíñêðèïòà:";
|
||
3: "Âêëþ÷èòü òðàíñêðèïò íå óäàëîñü.";
|
||
}
|
||
|
||
ScriptOff: switch(n)
|
||
{ 1: "Ðåæèì òðàíñêðèïòà óæå âûêëþ÷åí.";
|
||
2: "^Âûêëþ÷åíèå òðàíñêðèïòà.";
|
||
3: "Âûêëþ÷èòü òðàíñêðèïò íå óäàëîñü.";
|
||
}
|
||
|
||
NotifyOn: "Èçâåùåíèÿ î ñ÷¸òå âêëþ÷åíû.";
|
||
|
||
NotifyOff: "Èçâåùåíèÿ î ñ÷¸òå âûêëþ÷åíû.";
|
||
|
||
Places: switch (n) {
|
||
1: print "Ïîñåù¸ííûå ìåñòà: ";
|
||
2: print ".^";
|
||
}
|
||
|
||
Objects: switch(n)
|
||
{ 1: "Íàéäåííûå ïðåäìåòû:^";
|
||
2: "îòñóòñòâóþò.";
|
||
3: print " (íà ñåáå)";
|
||
4: print " (ó òåáÿ)";
|
||
5: print " (ó êîãî-òî åù¸)";
|
||
6: print " (â @<<", (cNom) x1, "@>>)";
|
||
7: print " (â ", (cPre) x1, ")";
|
||
8: print " (âíóòðè ", (cGen) x1, ")";
|
||
9: print " (íà ", (cPre) x1, ")";
|
||
10: print " (íèãäå íåò)";
|
||
}
|
||
|
||
Score: switch (n) {
|
||
1: print (string) IIF (deadflag, "Â ýòó ïîïûòêó", "Ê ýòîìó ìîìåíòó"),
|
||
" âû íàáðàëè ", (PScore) score,
|
||
" (èç ", MAX_SCORE, " âîçìîæíûõ) çà ", (PTurns) turns;
|
||
2: " ýòîé èãðå ñ÷¸ò íå ïðåäóñìîòðåí.";
|
||
}
|
||
|
||
FullScore: switch(n)
|
||
{ 1: "Ïîëíûé ñ÷¸ò ñîñòî", (string) IIF (deadflag, "ÿë", "èò"), " èç:^";
|
||
2: "çà íàéäåííûå ïðåäìåòû";
|
||
3: "çà ïîñåù¸ííûå ìåñòà";
|
||
4: "âñåãî (èç ", MAX_SCORE, " âîçìîæíûõ)";
|
||
}
|
||
|
||
Inv: switch(n)
|
||
{ 1: "Ó òåáÿ ñ ñîáîé íè÷åãî íåò.";
|
||
2: print "Ó òåáÿ ñ ñîáîé åñòü";
|
||
3: print ":^";
|
||
4: print ".^";
|
||
}
|
||
|
||
Take: switch(n)
|
||
{ 1: print "Òû áåð¸øü ", (cAcc) noun ;
|
||
!if (noun has female) print "å¸";
|
||
!else if (noun has pluralname) print "èõ";
|
||
!else print "åãî";
|
||
".";
|
||
2: "Òû âñåãäà åñòü ó ñåáÿ.";
|
||
3: print_ret (CCDat) x1, " ýòî âðÿä ëè ïîíðàâèòñÿ.";
|
||
4: "Ñíà÷àëà òåáå íåîáõîäèìî ïîêèíóòü ", (cAcc) x1, ".";
|
||
5: print_ret (CCNom) x1, " ó òåáÿ óæå åñòü.";
|
||
6: print_ret (CCNom) noun, " ÿâíî ïðèíàäëåæ", (V2aEnd) noun, " ",
|
||
(cDat) x1, ".";
|
||
7: print_ret (CCNom) noun, " ÿâíî ÿâëÿ", (V1bEnd) noun, "ñÿ ÷àñòüþ ",
|
||
(cGen) x1, ".";
|
||
8: print_ret (CCNom) x1, " íåäîñÿãàåì", (SAEnd) x1, ".";
|
||
9: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1, ".";
|
||
10: print_ret (CCAcc) x1, " íåâîçìîæíî âçÿòü.";
|
||
11: print_ret (CCNom) x1, " æ¸ñòêî çàêðåïë¸í", (SAEnd) x1, ".";
|
||
12: "Ó òåáÿ ñ ñîáîé ñëèøêîì ìíîãî âåùåé.";
|
||
13: "(óêëàäûâàÿ ", (cAcc) x1, " âíóòðü ", (cGen) SACK_OBJECT,
|
||
", ÷òîáû îñâîáîäèòü ìåñòî)";
|
||
}
|
||
|
||
Drop: switch(n)
|
||
{ 1: print_ret "Ó òåáÿ íåò ", (cGen) x1, ".";
|
||
2: print_ret (CCNom) x1, " íå ó òåáÿ.";
|
||
3: "(ñíà÷àëà ñíÿâ ", (cAcc) x1, " ñ ñåáÿ)";
|
||
4: print_ret "Áðîøåí", (SAEnd) x1, ".";
|
||
}
|
||
|
||
Remove: switch(n)
|
||
{ 1: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1, ".";
|
||
2: print_ret (CCNom) x1, " íå íàõîä", (V2bEnd) x1, "ñÿ ",
|
||
(string) IIF (second has supporter, "íà ", "â "), (cPre) second, ".";
|
||
3: print_ret (CCNom) x1, (string) IIF (second has supporter, " ïîäíÿò", " èçâëå÷åí"), (SAEnd) x1,
|
||
(string) IIF (second has supporter, " c ", " èç "), (cGen) second, ".";
|
||
}
|
||
|
||
PutOn: switch(n)
|
||
{ 1: "Ñíà÷àëà òåáå íóæíî âçÿòü ", (cAcc) x1, " â ðóêè.";
|
||
2: "Íåâîçìîæíî ïîëîæèòü ÷òî-ëèáî íà ñåáÿ.";
|
||
3: "Êëàñòü ÷òî-ëèáî íà ", (cAcc) x1, " áåññìûñëåííî.";
|
||
4: "Ó òåáÿ íå õâàòèò ëîâêîñòè.";
|
||
5: "(ñíà÷àëà ñíÿâ ", (cAcc) x1, " ñ ñåáÿ)^";
|
||
6: "Áîëüøå íåò ìåñòà íà ", (cPre) x1, ".";
|
||
7: "Òû êëàä¸øü âñ¸ íà ", (cAcc) second, ".";
|
||
8: "Òû êëàä¸øü ", (cAcc) x1, " íà ", (cAcc) second, ".";
|
||
}
|
||
|
||
Insert: switch(n)
|
||
{ 1: "Ñíà÷àëà òåáå íóæíî âçÿòü ", (cAcc) x1, " â ðóêè.";
|
||
2: print_ret (CCNom) x1, " íå ", (MorM) x1, " ÷òî-ëèáî ñîäåðæàòü.";
|
||
3: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1, ".";
|
||
4: "Ñïåðâà òåáå íóæíî ñíÿòü ", (cAcc) x1, " ñ ñåáÿ.";
|
||
5: "Íåâîçìîæíî âëîæèòü ÷òî-ëèáî âíóòðü ñåáÿ.";
|
||
6: "(ñíà÷àëà ñíÿâ ", (cAcc) x1, " ñ ñåáÿ)^";
|
||
7: "Áîëüøå íåò ìåñòà â ", (cPre) x1, ".";
|
||
8: "Òû êëàä¸øü âñ¸ â ", (cAcc) second, ".";
|
||
9: "Òû êëàä¸øü ", (cAcc) x1, " â ", (cAcc) second, ".";
|
||
}
|
||
|
||
EmptyT: switch(n)
|
||
{ 1: print_ret (CCNom) x1, " íå ", (MorM) x1, " ÷òî-ëèáî ñîäåðæàòü.";
|
||
2: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1, ".";
|
||
3: print_ret (CCNom) x1, " óæå ïóñò", (SAEnd) x1, ".";
|
||
4: "Òî åñòü îñòàâèòü âñå êàê åñòü?";
|
||
}
|
||
|
||
Give: switch(n)
|
||
{ 1: "Ó òåáÿ íåò ", (cGen) x1, " ñ ñîáîé.";
|
||
2: print_ret (CCNom) x1, " è òàê ó òåáÿ åñòü.";
|
||
3: print_ret (CCAcc) x1, " ýòî íå çàèíòåðåñîâàëî.";
|
||
}
|
||
|
||
Show: switch(n)
|
||
{ 1: "Ó òåáÿ íåò ", (cGen) x1, " ñ ñîáîé.";
|
||
2: print_ret (CCAcc) x1, " ýòî íå âïå÷àòëèëî.";
|
||
}
|
||
|
||
Enter: switch(n)
|
||
{ 1: "Íî òû óæå ", (string) IIF (x1 has supporter, "íà ", "â "),
|
||
(cPre) x1, ".";
|
||
2: "Íî íà/â ", (cAcc) x1,
|
||
" íåâîçìîæíî âîéòè, âñòàòü, ñåñòü èëè ëå÷ü.";
|
||
3: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1,
|
||
", è òû íå ìîæåøü âîéòè òóäà.";
|
||
4: "Òû íå ìîæåøü âîéòè â òî, ÷òî ó òåáÿ â ðóêàõ.";
|
||
5: "Òû ", (string) IIF (x1 has supporter, "âëåçàåøü íà ", "çàëåçàåøü â "),
|
||
(cAcc) x1, ".";
|
||
6: "(", (string) IIF (x1 has supporter, "ñëåçàÿ ñ ",
|
||
IIF (x1 has container, "âûëåçàÿ èç ", "âûõîäÿ èç ")),
|
||
(cGen) x1, ")^";
|
||
7: "(", (string) IIF (x1 has supporter, "çàëåçàÿ íà ",
|
||
IIF (x1 has container, "âëåçàÿ â ", "âõîäÿ â ")),
|
||
(cAcc) x1, ")^";
|
||
}
|
||
|
||
GetOff: "Íî òû íå íàõîäèøüñÿ ", (string) IIF (x1 has supporter, "íà ", "â "), (cPre) x1, ".";
|
||
|
||
Exit: switch(n)
|
||
{ 1: "Íî òû ñåé÷àñ íå íàõîäèøüñÿ â/íà ÷¸ì-ëèáî.";
|
||
2: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1,
|
||
", è òû íå ìîæåøü âûéòè.";
|
||
3: "Òû ", (string) IIF (x1 has supporter, "ñëåçàåøü ñ ", "âûõîäèøü èç "),
|
||
(cGen) x1, ".";
|
||
4: "Íî òû ñåé÷àñ íå ", (string) IIF (x1 has supporter, "íà ", "â "),
|
||
(cPre) x1, ".";
|
||
}
|
||
|
||
VagueGo: "Èäòè ìîæíî òîëüêî â íåêîòîðîì íàïðàâëåíèè.";
|
||
|
||
Go: switch(n)
|
||
{ 1: "Ñïåðâà òåáå íóæíî ",
|
||
(string) IIF (x1 has supporter, "âñòàòü ñ ", "âûéòè èç "),
|
||
(cGen) x1, ".";
|
||
2: "Ýòîò ïóòü íåäîñòóïåí.";
|
||
3: "Òû íå ìîæåøü ïîäíÿòüñÿ ïî ", (cDat) x1, ".";
|
||
4: "Òû íå ìîæåøü ñïóñòèòüñÿ ïî ", (cDat) x1, ".";
|
||
5: print_ret (CCNom) x1, " ìåøà", (V1bEnd) x1, " òåáå ïðîéòè.";
|
||
6: print_ret (CCNom) x1, " íèêóäà íå âåä", (V1aEnd) x1, ".";
|
||
}
|
||
|
||
LMode1: " ñåé÷àñ â @<<íîðìàëüíîì@>> ðåæèìå^
|
||
(äëèííûå îïèñàíèÿ äëÿ íîâûõ ìåñò, êðàòêèå äëÿ ñòàðûõ).";
|
||
|
||
LMode2: " ñåé÷àñ â @<<äëèííîì@>> ðåæèìå^(âñåãäà äëèííûå îïèñàíèÿ ìåñò).";
|
||
|
||
LMode3: " ñåé÷àñ â @<<êðàòêîì@>> ðåæèìå^(âñåãäà êðàòêèå îïèñàíèÿ ìåñò).";
|
||
|
||
Look: switch(n)
|
||
{ 1: print " (íà ", (cPre) x1, ")";
|
||
2: print " (â ", (cPre) x1, ")";
|
||
3: print " (êàê ";
|
||
CCase(x1, csNom, false, true);
|
||
print ")";
|
||
4: print "^Íà ", (cPre) x1;
|
||
WriteListFromCase (child(x1),
|
||
ENGLISH_BIT + RECURSE_BIT + PARTINV_BIT
|
||
+ TERSE_BIT + ISARE_BIT + CONCEAL_BIT, csNom);
|
||
".";
|
||
5, 6:
|
||
if (x1~=location)
|
||
print (string) IIF (x1 has supporter, "^Íà ", "^Â "), (cPre) x1, " ";
|
||
else print "^Çäåñü";
|
||
if (n==5) print " òàêæå";
|
||
WriteListFromCase (child(x1),
|
||
ENGLISH_BIT + WORKFLAG_BIT + RECURSE_BIT + ISARE_BIT
|
||
+ PARTINV_BIT + TERSE_BIT + CONCEAL_BIT, csNom);
|
||
".";
|
||
7: " ýòîì íàïðàâëåíèè íå âèäíî íè÷åãî ïðèìå÷àòåëüíîãî.";
|
||
}
|
||
|
||
Examine: switch(n)
|
||
{ 1: "ÒÅÌÍÎÒÀ (ñóù., æ.ð.): ïîëíîå îòñóòñòâèå ñâåòà.";
|
||
2: "Íè÷åãî îñîáåííîãî â ", (cPre) x1, " òû íå âèäèøü.";
|
||
3: print_ret (CCNom) x1, " ñåé÷àñ ",
|
||
(string) IIF (x1 has on, "â", "âû"), "êëþ÷åí", (SAEnd) x1, ".";
|
||
}
|
||
|
||
LookUnder: switch(n)
|
||
{ 1: "Çäåñü ñëèøêîì òåìíî äëÿ ïîèñêîâ.";
|
||
2: "Òû íå íàõîäèøü ïîä ", (cIns) noun, " íè÷åãî èíòåðåñíîãî.";
|
||
}
|
||
|
||
Search: switch(n)
|
||
{ 1: "Çäåñü ñëèøêîì òåìíî äëÿ ïîèñêîâ.";
|
||
2: "Íà ", (cPre) x1, " íè÷åãî íåò.";
|
||
3: print "Íà ", (cPre) x1;
|
||
WriteListFromCase (child(x1),
|
||
TERSE_BIT + ENGLISH_BIT + ISARE_BIT + CONCEAL_BIT, csNom);
|
||
".";
|
||
4: "Òû íå íàõîäèøü â ", (cPre) noun, " íè÷åãî èíòåðåñíîãî.";
|
||
5: print_ret (CCNom) x1, " çàêðûò", (SAEnd) x1,
|
||
", è òû íå ìîæåøü çàãëÿíóòü âíóòðü.";
|
||
6: " ", (cPre) x1, " íè÷åãî íåò.";
|
||
7: print "Â ", (cPre) x1;
|
||
WriteListFromCase (child(x1),
|
||
TERSE_BIT + ENGLISH_BIT + ISARE_BIT + CONCEAL_BIT, csNom);
|
||
".";
|
||
}
|
||
|
||
Lock: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî çàïåðåòü.";
|
||
2: print_ret (CCNom) x1, " óæå çàïåðò", (SAEnd) x1, ".";
|
||
3: "Ñíà÷àëà íåîáõîäèìî çàêðûòü ", (cAcc) x1, ".";
|
||
4: print_ret (CCNom) x1, " íå ïîäõîä", (V2bEnd) x1, " ê çàìêó.";
|
||
5: "Òû çàïèðàåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
Unlock: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî îòïåðåòü.";
|
||
2: print_ret (CCNom) x1, " íå çàïåðò", (SAEnd) x1, ".";
|
||
3: print_ret (CCNom) x1, " íå ïîäõîä", (V2bEnd) x1, " ê çàìêó.";
|
||
4: "Òû îòïèðàåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
SwitchOn: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî âêëþ÷èòü.";
|
||
2: print_ret (CCNom) x1, " óæå âêëþ÷¸í", (SAEnd) x1, ".";
|
||
3: "Òû âêëþ÷àåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
SwitchOff: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî âûêëþ÷èòü.";
|
||
2: print_ret (CCNom) x1, " óæå âûêëþ÷åí", (SAEnd) x1, ".";
|
||
3: "Òû âûêëþ÷àåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
Open: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî îòêðûòü.";
|
||
2: "Ïîõîæå, ÷òî ", (cNom) x1, " çàïåðò", (SAEnd) x1, ".";
|
||
3: print_ret (CCNom) x1, " óæå îòêðûò", (SAEnd) x1, ".";
|
||
4: print "Òû îòêðûâàåøü ", (cAcc) x1, ". Âíóòðè";
|
||
if (WriteListFromCase (child(x1),
|
||
ISARE_BIT+ ENGLISH_BIT + TERSE_BIT + CONCEAL_BIT, csNom) == 0)
|
||
"... ïóñòîòà.";
|
||
".";
|
||
5: "Òû îòêðûâàåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
Close: switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " íåâîçìîæíî çàêðûòü.";
|
||
2: print_ret (CCNom) x1, " óæå çàêðûò", (SAEnd) x1, ".";
|
||
3: "Òû çàêðûâàåøü ", (cAcc) x1, ".";
|
||
}
|
||
|
||
Wear: switch(n)
|
||
{ 1: "Íàäåòü ", (cAcc) x1, " íà ñåáÿ íåâîçìîæíî.";
|
||
2: "Ó òåáÿ íåò ", (cGen) x1, " ñ ñîáîé.";
|
||
3: print_ret (CCNom) x1, " óæå íà òåáå.";
|
||
4: "Òû íàäåâàåøü ", (cAcc) x1, " íà ñåáÿ.";
|
||
}
|
||
|
||
Disrobe: switch(n)
|
||
{ 1: print_ret (CCNom) x1, " íå íà òåáå.";
|
||
2: "Òû ñíèìàåøü ", (cAcc) x1, " ñ ñåáÿ.";
|
||
}
|
||
|
||
Eat: switch(n)
|
||
{ 1: print_ret (CCNom) x1, " ÿâíî íå ãîä", (V2bEnd) x1, "ñÿ â ïèùó.";
|
||
2: "Òû ñúåäàåøü ", (cAcc) x1, ". Âïîëíå ñúåäîáíî.";
|
||
}
|
||
|
||
Yes, No: "Âîïðîñ áûë ðèòîðè÷åñêèì.";
|
||
|
||
Burn: print "Ïîäæèãàòü ", (cAcc) x1;
|
||
if (second ~= 0) print " ", (cIns) second;
|
||
" áåññìûñëåííî.";
|
||
|
||
Pray: "Òî ëè Áîãà íåò, òî ëè Îí íå óñëûøàë òâîè ìîëèòâû.";
|
||
|
||
Wake: "Ïîâåðü, ýòî íå ñîí, à ÿâü.";
|
||
|
||
WakeOther: "Áóäèòü ", (cAcc) x1, " íå ñòîèò.";
|
||
|
||
Kiss: "Áóäåò ëó÷øå ñîñðåäîòî÷èòüñÿ íà èãðå.";
|
||
|
||
Think: "Îòëè÷íàÿ èäåÿ.";
|
||
|
||
Smell: "Íèêàêîãî íåîáû÷íîãî çàïàõà íåò.";
|
||
|
||
Listen: "Íèêàêèõ íåîáû÷íûõ çâóêîâ íåò.";
|
||
|
||
Taste: "Íèêàêîãî íåîáû÷íîãî âêóñà íåò.";
|
||
|
||
Touch: switch(n)
|
||
{ 1: "Íå ñòîèò äàâàòü âîëþ ðóêàì.";
|
||
2: "Íèêàêèõ íåîáû÷íûõ îùóùåíèé íåò.";
|
||
3: "Åñëè òåáå î÷åíü õî÷åòñÿ.";
|
||
}
|
||
|
||
Dig:
|
||
if (noun == 0) {
|
||
"Êîïàòü çäåñü áåññìûñëåííî.";
|
||
}
|
||
print "Êîïàòü ", (cAcc) x1;
|
||
if (second ~= 0) print " ", (cIns) second;
|
||
" áåññìûñëåííî.";
|
||
|
||
Cut: "Ðåçàòü ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Jump: "Òû ãëóïî ïîäïðûãèâàåøü íà ìåñòå.";
|
||
|
||
JumpOver: "Ïðûãàòü ÷åðåç ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Tie: print "Ïðèâÿçûâàòü ", (cAcc) x1;
|
||
if (second ~= 0) print " ê ", (cDat) second;
|
||
" áåññìûñëåííî.";
|
||
|
||
Drink: "Âûïèòü ", (cAcc) x1, " íåâîçìîæíî.";
|
||
|
||
Fill: "Íàïîëíÿòü ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Sorry: "Î, íå íóæíî èçâèíåíèé.";
|
||
|
||
Strong: "Íàñòîÿùèå êâåñòåðû òàê íå âûðàæàþòñÿ.";
|
||
Mild: "Òî÷íî.";
|
||
|
||
Attack: "Ñèëà åñòü -- óìà íå íàäî?";
|
||
|
||
Swim: "Äëÿ ýòîãî çäåñü íåäîñòàòî÷íî âîäû.";
|
||
|
||
Swing: "Êà÷àòü ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Blow: "Äóòü â ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Rub: "Òåðåòü ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Set: "Íåâîçìîæíî óñòàíîâèòü ", (cAcc) x1, ".";
|
||
|
||
SetTo: "Íåâîçìîæíî óñòàíîâèòü ", (cAcc) x1, " íà ÷òî-ëèáî.";
|
||
|
||
WaveHands: "Òû ãëóïî ìàøåøü ðóêàìè.";
|
||
|
||
Wave: switch(n)
|
||
{ 1: "Ñïåðâà íàäî âçÿòü ", (cAcc) x1, ".";
|
||
2: "Òû ãëóïî ìàøåøü ", (cIns) x1, ".";
|
||
}
|
||
|
||
Pull, Push, Turn:
|
||
switch(n)
|
||
{ 1: print_ret (CCAcc) x1, " òðóäíî ñäâèíóòü ñ ìåñòà.";
|
||
2: print_ret (CCAcc) x1, " äâèãàòü íåâîçìîæíî.";
|
||
3: "Íè÷åãî íå ïðîèçîøëî.";
|
||
4: print_ret (CCDat) x1, " ýòî âðÿä ëè ïîíðàâèòñÿ.";
|
||
}
|
||
|
||
PushDir: switch(n)
|
||
{ 1: "Ïåðåäâèãàòü ýòî íåò ñìûñëà.";
|
||
2: "Äâèãàòü ìîæíî òîëüêî â îïðåäåë¸ííîì íàïðàâëåíèè.";
|
||
3: "Äâèãàòü â ýòîì íàïðàâëåíèè íåâîçìîæíî.";
|
||
}
|
||
|
||
Squeeze: switch(n)
|
||
{ 1: "Íå ñòîèò äàâàòü âîëþ ðóêàì.";
|
||
2: "Ñæèìàòü ", (cAcc) x1, " áåññìûñëåííî.";
|
||
}
|
||
|
||
ThrowAt: switch(n)
|
||
{ 1: "Áðîñàòü ", (cAcc) noun, " â ", (cAcc) second, " áåñïîëåçíî.";
|
||
2: "Ó òåáÿ íå õâàòàåò ðåøèìîñòè áðîñèòü ", (cAcc) noun, " â ", (cAcc) second,
|
||
".";
|
||
}
|
||
|
||
Tell: switch(n)
|
||
{ 1: "Áåñåäû ñ ñîáîé -- çàíÿòèå íåçäîðîâîå.";
|
||
2: "Òâîé ñîáåñåäíèê íèêàê íå îòðåàãèðîâàë.";
|
||
}
|
||
|
||
Answer, Ask: "Îòâåòà íå ïîñëåäîâàëî.";
|
||
|
||
Buy: print_ret (CCNom) x1, " íå ïðîäà", (V1bEnd) x1, "ñÿ.";
|
||
|
||
Sing: "Ñ òâîèì ñëóõîì è ãîëîñîì ýòîãî ëó÷øå íå äåëàòü.";
|
||
|
||
Climb: "Çàáèðàòüñÿ íà ", (cAcc) x1, " áåññìûñëåííî.";
|
||
|
||
Wait: "Ïðîõîäèò íåìíîãî âðåìåíè.";
|
||
|
||
Sleep: "Ñåé÷àñ òåáÿ íå êëîíèò êî ñíó.";
|
||
|
||
Consult: "Òû íå íàõîäèøü â ", (cPre) x1, " íè÷åãî ïîäõîäÿùåãî.";
|
||
|
||
CommandsOff: switch (n) {
|
||
1: "[Çàïèñü êîìàíä âûêëþ÷åíà.]";
|
||
#Ifdef TARGET_GLULX;
|
||
2: "[Çàïèñü êîìàíä óæå âûêëþ÷åíà.]";
|
||
#Endif; ! TARGET_
|
||
}
|
||
CommandsOn: switch (n) {
|
||
1: "[Çàïèñü êîìàíä âêëþ÷åíà.]";
|
||
#Ifdef TARGET_GLULX;
|
||
2: "[Âîñïðîèçâåäåíèå çàïèñè.]";
|
||
3: "[Çàïèñü êîìàíä óæå âêëþ÷åíà.]";
|
||
4: "[Çàïèñü êîìàíä íåâîçìîæíà!]";
|
||
#Endif; ! TARGET_
|
||
}
|
||
CommandsRead: switch (n) {
|
||
1: "[Âîñïðîèçâåäåíèå çàïèñè.]";
|
||
#Ifdef TARGET_GLULX;
|
||
2: "[Âîñïðîèçâåäåíèå óæå âêëþ÷åíî.]";
|
||
3: "[Âîñïðîèçâåäåíèå íåâîçìîæíî. Âêëþ÷åíà çàïèñü.]";
|
||
4: "[Âîñïðîèçâåäåíèå íåâîçìîæíî.]";
|
||
5: "[Âîçïðîèçâåäåíèå çàêîí÷åíî.]";
|
||
#Endif; ! TARGET_
|
||
}
|
||
|
||
];
|
||
|
||
! ==============================================================================
|
||
|
||
Constant LIBRARY_RUSSIAN;
|
||
|
||
! ==============================================================================
|
||
|