1 /* SCCS Id: @(#)school.c 3.1 94/26/03 */
2 /* NetHack may be freely redistributed. See license for details. */
3 /* Copyright 1994, Sebastian Klein */
11 static char *pupil_msgs
[] = {
12 "Today no homework ... *please*",
13 "six times nine is ... um ... uh ... ... forty-two",
14 "you ... Strange word", /* You're not expected to understand this ... */
17 "What are the newest news about the Super Information Highway?",
19 "Do the world a favour---jump out of the 20th story of the Uni-Center!",
23 static char *baumert_msgs
[] = {
24 "No chance! Every day you'll get homework!",
25 "Is it really true? Does really _everybody_ have the homework?",
26 "That usage of the word 'goes' does harm to my ears!",
30 static char *gier_msgs
[] = {
31 "Your attitude is really unacceptable!",
32 "The \"Stigel-Brauerei\" was founded 1492. Well, in that year was that affair with that guy, Columbus, but that really isn't important.",
33 "Why are you going? I'm only 20 minutes late!",
37 static char *dickler_msgs
[] = {
38 "Where's your problem? I'll be happy to help you",
39 "You didn't understand? Then let's begin again ... (*sigh*)",
43 static char *overbeck_msgs
[] = {
44 "No homework yet? - This can be changed!",
45 "Overbecks - das Ueberbier",
49 static char *klomp_msgs
[] = {
50 "How about dehydrating carbonhydrates today?",
51 "Back when I was a pupil, the following thing happened ...",
52 "Back when I was studying chemistry, the following thing happened ...",
56 static char *alers_msgs
[] = {
57 "... dann ist die Scheisse am dampfen",
60 "Yes ... I know that everything is easier in C, but I simply love Pascal ...",
64 static char *geis_haastert_msgs
[] = {
65 "You have Str:0 (at most), so bugger off!",
66 "Do it - who cares about the odd broken bone?",
67 "You are sick because you were running for 30 minutes? So run another hour!",
68 "Shall I help you? (takes the whip)",
72 static char *koerfgen_msgs
[] = {
73 "We'll do that diagonally. *grin* (wipes sweat off head)",
75 "You know, (*grin*) we'll have to do something now! (*grin*)",
79 static char *ennen_msgs
[] = {
80 "How about a pupil experiment - cut off your ears?",
81 "Yet another pupil experiment: the consequences of KCN ingested.",
85 static char *ellerhold_msgs
[] = {
86 "Don't expect to get away without homework!",
87 "No homework in the holidays? You must have something to do, after all!",
88 "The low level of you all is really beyond acception!",
92 static char *hartstone_msgs
[] = {
93 "There was endless work in the supervision and administration of the farm ...",
94 /* it's really a shame that I can't think of more messages for him */
98 static char *generic_msgs
[] = {
99 "I expect you to do your homework _regularly_ and _carefully_!",
100 "The level of work is really very low nowadays!",
101 "In _our_ times pupils were real pupils and teachers were real teachers!",
102 "Back when pupils where real pupils and teachers were real teachers, everything was better!",
106 static struct teacher_msg_desc
{
110 { "Mr. Baumert", baumert_msgs
},
111 { "Mr. Gier", gier_msgs
},
112 { "Mrs. Dickler", dickler_msgs
},
113 { "Mr. Overbeck", overbeck_msgs
},
114 { "Mr. Klomp", klomp_msgs
},
115 { "Mr. Alers", alers_msgs
},
116 { "Mr. Geis", geis_haastert_msgs
},
117 { "Mrs. Haastert", geis_haastert_msgs
},
118 { "Mr. Koerfgen", koerfgen_msgs
},
119 { "Mr. Ennen", ennen_msgs
},
120 { "Mr. Ellerhold", ellerhold_msgs
},
121 { "Mr. Hartstone", hartstone_msgs
},
122 { NULL
, generic_msgs
}
125 static char *principal_msgs
[] = {
127 "I really feel sick - there are so many things to do!",
129 "We'll do that in groups of one person!",
133 boolean
is_principal(struct monst
*mon
)
135 return(mon
->mnum
== PM_PRINCIPAL
);
138 boolean
is_teacher(struct monst
*mon
)
140 return(mon
->mnum
== PM_TEACHER
);
143 boolean
is_educator(struct monst
*mon
)
145 return(is_teacher(mon
) || is_principal(mon
));
148 static void select_message(char **msgs
)
153 while (msgs
[i
] != NULL
) i
++;
154 verbalize(msgs
[rn2(i
)]);
158 static void select_teacher_message(struct teacher_msg_desc
*mmsgs
,char *tname
)
163 while (mmsgs
[i
].teacher_name
!= NULL
) {
164 if (strcmp(mmsgs
[i
].teacher_name
,tname
) == 0) {
165 select_message(mmsgs
[i
].messages
);
170 select_message(mmsgs
[i
].messages
);
173 void pupil_sound(struct monst
*mon
)
175 select_message(pupil_msgs
);
178 void teacher_sound(struct monst
*mon
)
180 select_teacher_message(teacher_msgs
,NAME(mon
));
183 void principal_sound(struct monst
*mon
)
185 select_message(principal_msgs
);