-
Notifications
You must be signed in to change notification settings - Fork 0
/
postavaCirkevniSoudce.t
137 lines (117 loc) · 5.19 KB
/
postavaCirkevniSoudce.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#charset "utf-8"
/*
* A Východ Tě osvobodí
*
* Česká textová hra sledující osud českého rytíře
* Orla z Lipé.
*/
#include <adv3.h>
#include <cs_cz.h>
/*
* Církevní soudce
*/
cirkevniSoudce : Person 'církevní soudce' 'soudce' *1 @mistnostPopraviste
"Muž, kterého před sebou vidíš, je již staršího vydání, neradno si s ním však zahrávat. "
// inicializace zahájení rozhovoru
specialDesc = "<<cirkevniSoudce.initiateConversation(cirkevniSoudceObzalovava, 'obzaloba')>> "
properName = 'Benediktus'
globalParamName = 'stařec'
gcName = 'soudce, soudci, soudce, soudci, soudcem'
gcVocab = 'soudce/soudci'
;
+ cirkevniSoudceMluvi : InConversationState
isInitState = true
stateDesc = "Soudce vynáší ortel. "
specialDesc = "Soudce vznáší obžalobu. "
;
/* ------------------------------------------------------------------------ */
/*
* UVÍTÁNÍ NA ZÁKLADNĚ A VYSVĚTLENÍ PROBLÉMŮ
*
* Tento stav a konverzační uzel 'welcome' níže je aktivován po společném
* výstupu z lodi (captainGuideToDomeInTravel).
*/
+ cirkevniSoudceObzalovava: ActorState
stateDesc = "Soudce vznáší obžalobu. "
/*
* Úmyslně ponecháme specialDesc prázdný, protože ho popíšeme skupinově
* v rámci kapitánova stavu. Tím se dosáhne skupinového efektu místo
* samostatného odstavce.
*/
specialDesc = ""
;
/* ------------------------------------------------------------------------ */
/*
* Konverzační uzel představuje bod v konverzaci, kdy se nás velitel základny
* vítá a pokládá nám otázku. Uzel tedy řeší naše možné odpovědi.
*/
+ ConvNode 'obzaloba'
/*
* Hráče v uzlu podržíme (isSticky) tak dlouho, dokud neodpoví. Odpovědět
* může jen ano či ne (YesTopic a NoTopic níže). Protože je hra určena
* začátečníkům, necháme vypsat doporučené odpovědi tagem <.topics> v
* textu a protože by mohlo být více doporučených témat, omezíme nabízené
* možnosti konverzace jen na ty konverzačního uzlu (limitSuggestions).
*/
isSticky = true
limitSuggestions = true
/* V tomto uzlu oslovuje církevní soudce hráče hned na začátku hry. */
npcGreetingMsg = "<.p><q>Rytíři Orle z Lipé, za zločiny proti církvi svaté jsi
byl odsouzen ke smrti stětím!</q> povídá hromovým hlasem soudce,
<q>protože však církev svatá je v co největší míře spravedlivá a milosrdná,
nabízí Ti možnost rozhřešení. Přijmeš-li znamení kříže a vytáhneš v boj
proti nevěřícím, můžeš tím odčinit veškeré své hříchy. Přijímáš tuto řeholi?</q> "
/*
* Toto jsou hlášky, které se zobrazí, pokud hráč dělá něco jiného, než že
* by odpověděl na položenou otázku. Snažíme se ho udržet v konverzaci,
* kterou začal velitel.
*/
npcContinueList: ShuffledEventList
{
[
'<.p><q>Tobiáši, vnímáš nás vůbec? Ten kluk snad neslyší,</q>
stěžuje si kapitán veliteli, <q>haló, Tobiáši!</q> ',
'<.p><q>Koukni na toho kluka,</q> upozorňuje kapitán velitele, <q>on
snad neslyší, že se ho na něco ptáš. Haló, Tobiáši!</q> ',
'<.p><q>Koukni na toho kluka, on má snad klapky na uších a hraje si
na Otíka!</q> povzdechl si kapitán, <q>a to po něm nechceš nic
víc, než jestli proběhla cesta pohodě.</q> '
]
/*
* Hlášky zobrazujeme s 50% pravděpodobností a poprvé je nezamícháme,
* protože jsou odstupňované.
*/
eventPercent = 50
shuffleFirst = nil
}
/* Nedovolíme hráči utéci z otázky tím, že by zakončil konverzaci. */
canEndConversation(actor, reason)
{
switch(reason)
{
case endConvBye:
/* Proc tohle nenastava? Zvoli se vzdy DefaultAnyTopic. */
"<.p>Hodil jsi neurčitě do prostoru nashledanou, ale zastavilo tě
ostřejší kapitánovo upozornění: <q>Tobiáši, ještě jsme
nedomluvili, velitel Petronov se ptal, zda cesta proběhla v
pořádku.</q> ";
return blockEndConv;
case endConvTravel:
"<.p>Rád bys odešel, ale slušné vychování ti brání odejít vprostřed
hovoru. Velitel se přece ptal, jestli cesta byla v pohodě. ";
return blockEndConv;
default:
return nil;
}
}
;
++ YesTopic, SuggestedYesTopic
"<.p><q>Přijímám,</q> rozhodl jsi se neodporovat. Prelát se usmívá a odpovídá:
<.p><q>Náprava hříšníků je posláním církve svaté. Nyní se vydej splnit svůj slib,
daný bohu a církvi svaté. </q> a znamením kříže Ti žehná. "
;
++ NoTopic, SuggestedNoTopic
"<.p><q>Ne, kašlu na...</q> hrdě odpovídáš, ale do řeči ti skočil prelát:
<.p><q>Jsi nenapravitelný hříšník a takoví končí v pekle. Mistře ostrého meče,
konej svojí povinnost.</q> "
;