Blindfold removal fix
[slashemextended.git] / src / school.c
bloba1d8c9f400312682d629b27668b709c683eadbf8
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 */
5 #include "hack.h"
6 #include <stdio.h>
8 #ifdef SOUNDS
9 #ifdef OVL0
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 ... */
15 "Bugger off!",
16 "*uck off!",
17 "What are the newest news about the Super Information Highway?",
18 "What do you want?",
19 "Do the world a favour---jump out of the 20th story of the Uni-Center!",
20 NULL
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!",
27 NULL
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!",
34 NULL
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*)",
40 NULL
43 static char *overbeck_msgs[] = {
44 "No homework yet? - This can be changed!",
45 "Overbecks - das Ueberbier",
46 NULL
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 ...",
53 NULL
56 static char *alers_msgs[] = {
57 "... dann ist die Scheisse am dampfen",
58 "NIKI forever!",
59 "Pascal forever!",
60 "Yes ... I know that everything is easier in C, but I simply love Pascal ...",
61 NULL
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)",
69 NULL
72 static char *koerfgen_msgs[] = {
73 "We'll do that diagonally. *grin* (wipes sweat off head)",
74 "*grin*",
75 "You know, (*grin*) we'll have to do something now! (*grin*)",
76 NULL
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.",
82 NULL
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!",
89 NULL
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 */
95 NULL
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!",
103 NULL
106 static struct teacher_msg_desc {
107 char *teacher_name;
108 char **messages;
109 } teacher_msgs[] = {
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[] = {
126 "What's up?",
127 "I really feel sick - there are so many things to do!",
128 "Help me, I faint!",
129 "We'll do that in groups of one person!",
130 NULL
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)
150 int i;
152 i = 0;
153 while (msgs[i] != NULL) i++;
154 verbalize(msgs[rn2(i)]);
158 static void select_teacher_message(struct teacher_msg_desc *mmsgs,char *tname)
160 int i;
162 i = 0;
163 while (mmsgs[i].teacher_name != NULL) {
164 if (strcmp(mmsgs[i].teacher_name,tname) == 0) {
165 select_message(mmsgs[i].messages);
166 return;
168 i++;
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);
188 #endif /* OVL0 */
190 #endif /* SOUNDS */
192 /* school.c */