ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/c_chat.C
(Generate patch)

Comparing deliantra/server/server/c_chat.C (file contents):
Revision 1.3 by root, Tue Aug 29 08:01:37 2006 UTC vs.
Revision 1.4 by root, Sun Sep 3 00:18:42 2006 UTC

1/* 1/*
2 * static char *rcsid_c_chat_c = 2 * static char *rcsid_c_chat_c =
3 * "$Id: c_chat.C,v 1.3 2006/08/29 08:01:37 root Exp $"; 3 * "$Id: c_chat.C,v 1.4 2006/09/03 00:18:42 root Exp $";
4 */ 4 */
5 5
6/* 6/*
7 CrossFire, A Multiplayer game for X-windows 7 CrossFire, A Multiplayer game for X-windows
8 8
33int command_me (object *op, char *params) 33int command_me (object *op, char *params)
34{ 34{
35 char buf[MAX_BUF]; 35 char buf[MAX_BUF];
36 36
37 if (!params) return 0; 37 if (!params) return 0;
38 snprintf(buf, MAX_BUF-1, "%s %s",op->name, params); 38 snprintf(buf, MAX_BUF-1, "%s %s",&op->name, params);
39 new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); 39 new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf);
40 40
41 return 0; 41 return 0;
42} 42}
43 43
48 char buf2[MAX_BUF]; 48 char buf2[MAX_BUF];
49 int i; 49 int i;
50 50
51 i = rndm(1, 2); 51 i = rndm(1, 2);
52 if (i == 1) { 52 if (i == 1) {
53 snprintf(buf, MAX_BUF-1, "%s flips a coin.... Heads!", op->name); 53 snprintf(buf, MAX_BUF-1, "%s flips a coin.... Heads!", &op->name);
54 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!"); 54 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!");
55 } else { 55 } else {
56 snprintf(buf, MAX_BUF-1, "%s flips a coin.... Tails!", op->name); 56 snprintf(buf, MAX_BUF-1, "%s flips a coin.... Tails!", &op->name);
57 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!"); 57 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!");
58 } 58 }
59 new_draw_info(NDI_UNIQUE, 0, op, buf2); 59 new_draw_info(NDI_UNIQUE, 0, op, buf2);
60 new_info_map_except(NDI_WHITE, op->map, op, buf); 60 new_info_map_except(NDI_WHITE, op->map, op, buf);
61 return 0; 61 return 0;
73 i = rndm(1, 5); 73 i = rndm(1, 5);
74 j = rndm(1, 5); 74 j = rndm(1, 5);
75 k = rndm(1, 5); 75 k = rndm(1, 5);
76 l = rndm(1, 6); 76 l = rndm(1, 6);
77 77
78 snprintf(buf2, MAX_BUF-1, "%s rolls %s, %s, %s, %s!", op->name, 78 snprintf(buf2, MAX_BUF-1, "%s rolls %s, %s, %s, %s!", &op->name,
79 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); 79 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]);
80 snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!", 80 snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!",
81 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); 81 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]);
82 new_draw_info(NDI_UNIQUE, 0, op, buf); 82 new_draw_info(NDI_UNIQUE, 0, op, buf);
83 new_info_map_except(NDI_UNIQUE, op->map, op, buf2); 83 new_info_map_except(NDI_UNIQUE, op->map, op, buf2);
102 player *pl; 102 player *pl;
103 103
104 if (!params) { 104 if (!params) {
105 switch(emotion) { 105 switch(emotion) {
106 case EMOTE_NOD: 106 case EMOTE_NOD:
107 sprintf(buf, "%s nods solemnly.", op->name); 107 sprintf(buf, "%s nods solemnly.", &op->name);
108 sprintf(buf2, "You nod solemnly."); 108 sprintf(buf2, "You nod solemnly.");
109 break; 109 break;
110 case EMOTE_DANCE: 110 case EMOTE_DANCE:
111 sprintf(buf, "%s expresses himself through interpretive dance.", 111 sprintf(buf, "%s expresses himself through interpretive dance.",
112 op->name); 112 &op->name);
113 sprintf(buf2, "You dance with glee."); 113 sprintf(buf2, "You dance with glee.");
114 break; 114 break;
115 case EMOTE_KISS: 115 case EMOTE_KISS:
116 sprintf(buf, "%s makes a weird facial contortion", op->name); 116 sprintf(buf, "%s makes a weird facial contortion", &op->name);
117 sprintf(buf2, "All the lonely people.."); 117 sprintf(buf2, "All the lonely people..");
118 break; 118 break;
119 case EMOTE_BOUNCE: 119 case EMOTE_BOUNCE:
120 sprintf(buf, "%s bounces around.", op->name); 120 sprintf(buf, "%s bounces around.", &op->name);
121 sprintf(buf2, "BOIINNNNNNGG!"); 121 sprintf(buf2, "BOIINNNNNNGG!");
122 break; 122 break;
123 case EMOTE_SMILE: 123 case EMOTE_SMILE:
124 sprintf(buf, "%s smiles happily.", op->name); 124 sprintf(buf, "%s smiles happily.", &op->name);
125 sprintf(buf2, "You smile happily."); 125 sprintf(buf2, "You smile happily.");
126 break; 126 break;
127 case EMOTE_CACKLE: 127 case EMOTE_CACKLE:
128 sprintf(buf, "%s throws back his head and cackles with insane " 128 sprintf(buf, "%s throws back his head and cackles with insane "
129 "glee!", op->name); 129 "glee!", &op->name);
130 sprintf(buf2, "You cackle gleefully."); 130 sprintf(buf2, "You cackle gleefully.");
131 break; 131 break;
132 case EMOTE_LAUGH: 132 case EMOTE_LAUGH:
133 sprintf(buf, "%s falls down laughing.", op->name); 133 sprintf(buf, "%s falls down laughing.", &op->name);
134 sprintf(buf2, "You fall down laughing."); 134 sprintf(buf2, "You fall down laughing.");
135 break; 135 break;
136 case EMOTE_GIGGLE: 136 case EMOTE_GIGGLE:
137 sprintf(buf, "%s giggles.", op->name); 137 sprintf(buf, "%s giggles.", &op->name);
138 sprintf(buf2, "You giggle."); 138 sprintf(buf2, "You giggle.");
139 break; 139 break;
140 case EMOTE_SHAKE: 140 case EMOTE_SHAKE:
141 sprintf(buf, "%s shakes his head.", op->name); 141 sprintf(buf, "%s shakes his head.", &op->name);
142 sprintf(buf2, "You shake your head."); 142 sprintf(buf2, "You shake your head.");
143 break; 143 break;
144 case EMOTE_PUKE: 144 case EMOTE_PUKE:
145 sprintf(buf, "%s pukes.", op->name); 145 sprintf(buf, "%s pukes.", &op->name);
146 sprintf(buf2, "Bleaaaaaghhhhhhh!"); 146 sprintf(buf2, "Bleaaaaaghhhhhhh!");
147 break; 147 break;
148 case EMOTE_GROWL: 148 case EMOTE_GROWL:
149 sprintf(buf, "%s growls.", op->name); 149 sprintf(buf, "%s growls.", &op->name);
150 sprintf(buf2, "Grrrrrrrrr...."); 150 sprintf(buf2, "Grrrrrrrrr....");
151 break; 151 break;
152 case EMOTE_SCREAM: 152 case EMOTE_SCREAM:
153 sprintf(buf, "%s screams at the top of his lungs!", op->name); 153 sprintf(buf, "%s screams at the top of his lungs!", &op->name);
154 sprintf(buf2, "ARRRRRRRRRRGH!!!!!"); 154 sprintf(buf2, "ARRRRRRRRRRGH!!!!!");
155 break; 155 break;
156 case EMOTE_SIGH: 156 case EMOTE_SIGH:
157 sprintf(buf, "%s sighs loudly.", op->name); 157 sprintf(buf, "%s sighs loudly.", &op->name);
158 sprintf(buf2, "You sigh."); 158 sprintf(buf2, "You sigh.");
159 break; 159 break;
160 case EMOTE_SULK: 160 case EMOTE_SULK:
161 sprintf(buf, "%s sulks in the corner.", op->name); 161 sprintf(buf, "%s sulks in the corner.", &op->name);
162 sprintf(buf2, "You sulk."); 162 sprintf(buf2, "You sulk.");
163 break; 163 break;
164 case EMOTE_CRY: 164 case EMOTE_CRY:
165 sprintf(buf, "%s bursts into tears.", op->name); 165 sprintf(buf, "%s bursts into tears.", &op->name);
166 sprintf(buf2, "Waaaaaaahhh.."); 166 sprintf(buf2, "Waaaaaaahhh..");
167 break; 167 break;
168 case EMOTE_GRIN: 168 case EMOTE_GRIN:
169 sprintf(buf, "%s grins evilly.", op->name); 169 sprintf(buf, "%s grins evilly.", &op->name);
170 sprintf(buf2, "You grin evilly."); 170 sprintf(buf2, "You grin evilly.");
171 break; 171 break;
172 case EMOTE_BOW: 172 case EMOTE_BOW:
173 sprintf(buf, "%s bows deeply.", op->name); 173 sprintf(buf, "%s bows deeply.", &op->name);
174 sprintf(buf2, "You bow deeply."); 174 sprintf(buf2, "You bow deeply.");
175 break; 175 break;
176 case EMOTE_CLAP: 176 case EMOTE_CLAP:
177 sprintf(buf, "%s gives a round of applause.", op->name); 177 sprintf(buf, "%s gives a round of applause.", &op->name);
178 sprintf(buf2, "Clap, clap, clap."); 178 sprintf(buf2, "Clap, clap, clap.");
179 break; 179 break;
180 case EMOTE_BLUSH: 180 case EMOTE_BLUSH:
181 sprintf(buf, "%s blushes.", op->name); 181 sprintf(buf, "%s blushes.", &op->name);
182 sprintf(buf2, "Your cheeks are burning."); 182 sprintf(buf2, "Your cheeks are burning.");
183 break; 183 break;
184 case EMOTE_BURP: 184 case EMOTE_BURP:
185 sprintf(buf, "%s burps loudly.", op->name); 185 sprintf(buf, "%s burps loudly.", &op->name);
186 sprintf(buf2, "You burp loudly."); 186 sprintf(buf2, "You burp loudly.");
187 break; 187 break;
188 case EMOTE_CHUCKLE: 188 case EMOTE_CHUCKLE:
189 sprintf(buf, "%s chuckles politely.", op->name); 189 sprintf(buf, "%s chuckles politely.", &op->name);
190 sprintf(buf2, "You chuckle politely"); 190 sprintf(buf2, "You chuckle politely");
191 break; 191 break;
192 case EMOTE_COUGH: 192 case EMOTE_COUGH:
193 sprintf(buf, "%s coughs loudly.", op->name); 193 sprintf(buf, "%s coughs loudly.", &op->name);
194 sprintf(buf2, "Yuck, try to cover your mouth next time!"); 194 sprintf(buf2, "Yuck, try to cover your mouth next time!");
195 break; 195 break;
196 case EMOTE_FLIP: 196 case EMOTE_FLIP:
197 sprintf(buf, "%s flips head over heels.", op->name); 197 sprintf(buf, "%s flips head over heels.", &op->name);
198 sprintf(buf2, "You flip head over heels."); 198 sprintf(buf2, "You flip head over heels.");
199 break; 199 break;
200 case EMOTE_FROWN: 200 case EMOTE_FROWN:
201 sprintf(buf, "%s frowns.", op->name); 201 sprintf(buf, "%s frowns.", &op->name);
202 sprintf(buf2, "What's bothering you?"); 202 sprintf(buf2, "What's bothering you?");
203 break; 203 break;
204 case EMOTE_GASP: 204 case EMOTE_GASP:
205 sprintf(buf, "%s gasps in astonishment.", op->name); 205 sprintf(buf, "%s gasps in astonishment.", &op->name);
206 sprintf(buf2, "You gasp in astonishment."); 206 sprintf(buf2, "You gasp in astonishment.");
207 break; 207 break;
208 case EMOTE_GLARE: 208 case EMOTE_GLARE:
209 sprintf(buf, "%s glares around him.", op->name); 209 sprintf(buf, "%s glares around him.", &op->name);
210 sprintf(buf2, "You glare at nothing in particular."); 210 sprintf(buf2, "You glare at nothing in particular.");
211 break; 211 break;
212 case EMOTE_GROAN: 212 case EMOTE_GROAN:
213 sprintf(buf, "%s groans loudly.", op->name); 213 sprintf(buf, "%s groans loudly.", &op->name);
214 sprintf(buf2, "You groan loudly."); 214 sprintf(buf2, "You groan loudly.");
215 break; 215 break;
216 case EMOTE_HICCUP: 216 case EMOTE_HICCUP:
217 sprintf(buf, "%s hiccups.", op->name); 217 sprintf(buf, "%s hiccups.", &op->name);
218 sprintf(buf2, "*HIC*"); 218 sprintf(buf2, "*HIC*");
219 break; 219 break;
220 case EMOTE_LICK: 220 case EMOTE_LICK:
221 sprintf(buf, "%s licks his mouth and smiles.", op->name); 221 sprintf(buf, "%s licks his mouth and smiles.", &op->name);
222 sprintf(buf2, "You lick your mouth and smile."); 222 sprintf(buf2, "You lick your mouth and smile.");
223 break; 223 break;
224 case EMOTE_POUT: 224 case EMOTE_POUT:
225 sprintf(buf, "%s pouts.", op->name); 225 sprintf(buf, "%s pouts.", &op->name);
226 sprintf(buf2, "Aww, don't take it so hard."); 226 sprintf(buf2, "Aww, don't take it so hard.");
227 break; 227 break;
228 case EMOTE_SHIVER: 228 case EMOTE_SHIVER:
229 sprintf(buf, "%s shivers uncomfortably.", op->name); 229 sprintf(buf, "%s shivers uncomfortably.", &op->name);
230 sprintf(buf2, "Brrrrrrrrr."); 230 sprintf(buf2, "Brrrrrrrrr.");
231 break; 231 break;
232 case EMOTE_SHRUG: 232 case EMOTE_SHRUG:
233 sprintf(buf, "%s shrugs helplessly.", op->name); 233 sprintf(buf, "%s shrugs helplessly.", &op->name);
234 sprintf(buf2, "You shrug."); 234 sprintf(buf2, "You shrug.");
235 break; 235 break;
236 case EMOTE_SMIRK: 236 case EMOTE_SMIRK:
237 sprintf(buf, "%s smirks.", op->name); 237 sprintf(buf, "%s smirks.", &op->name);
238 sprintf(buf2, "You smirk."); 238 sprintf(buf2, "You smirk.");
239 break; 239 break;
240 case EMOTE_SNAP: 240 case EMOTE_SNAP:
241 sprintf(buf, "%s snaps his fingers.", op->name); 241 sprintf(buf, "%s snaps his fingers.", &op->name);
242 sprintf(buf2, "PRONTO! You snap your fingers."); 242 sprintf(buf2, "PRONTO! You snap your fingers.");
243 break; 243 break;
244 case EMOTE_SNEEZE: 244 case EMOTE_SNEEZE:
245 sprintf(buf, "%s sneezes.", op->name); 245 sprintf(buf, "%s sneezes.", &op->name);
246 sprintf(buf2, "Gesundheit!"); 246 sprintf(buf2, "Gesundheit!");
247 break; 247 break;
248 case EMOTE_SNICKER: 248 case EMOTE_SNICKER:
249 sprintf(buf, "%s snickers softly.", op->name); 249 sprintf(buf, "%s snickers softly.", &op->name);
250 sprintf(buf2, "You snicker softly."); 250 sprintf(buf2, "You snicker softly.");
251 break; 251 break;
252 case EMOTE_SNIFF: 252 case EMOTE_SNIFF:
253 sprintf(buf, "%s sniffs sadly.", op->name); 253 sprintf(buf, "%s sniffs sadly.", &op->name);
254 sprintf(buf2, "You sniff sadly. *SNIFF*"); 254 sprintf(buf2, "You sniff sadly. *SNIFF*");
255 break; 255 break;
256 case EMOTE_SNORE: 256 case EMOTE_SNORE:
257 sprintf(buf, "%s snores loudly.", op->name); 257 sprintf(buf, "%s snores loudly.", &op->name);
258 sprintf(buf2, "Zzzzzzzzzzzzzzz."); 258 sprintf(buf2, "Zzzzzzzzzzzzzzz.");
259 break; 259 break;
260 case EMOTE_SPIT: 260 case EMOTE_SPIT:
261 sprintf(buf, "%s spits over his left shoulder.", op->name); 261 sprintf(buf, "%s spits over his left shoulder.", &op->name);
262 sprintf(buf2, "You spit over your left shoulder."); 262 sprintf(buf2, "You spit over your left shoulder.");
263 break; 263 break;
264 case EMOTE_STRUT: 264 case EMOTE_STRUT:
265 sprintf(buf, "%s struts proudly.", op->name); 265 sprintf(buf, "%s struts proudly.", &op->name);
266 sprintf(buf2, "Strut your stuff."); 266 sprintf(buf2, "Strut your stuff.");
267 break; 267 break;
268 case EMOTE_TWIDDLE: 268 case EMOTE_TWIDDLE:
269 sprintf(buf, "%s patiently twiddles his thumbs.", op->name); 269 sprintf(buf, "%s patiently twiddles his thumbs.", &op->name);
270 sprintf(buf2, "You patiently twiddle your thumbs."); 270 sprintf(buf2, "You patiently twiddle your thumbs.");
271 break; 271 break;
272 case EMOTE_WAVE: 272 case EMOTE_WAVE:
273 sprintf(buf, "%s waves happily.", op->name); 273 sprintf(buf, "%s waves happily.", &op->name);
274 sprintf(buf2, "You wave."); 274 sprintf(buf2, "You wave.");
275 break; 275 break;
276 case EMOTE_WHISTLE: 276 case EMOTE_WHISTLE:
277 sprintf(buf, "%s whistles appreciatively.", op->name); 277 sprintf(buf, "%s whistles appreciatively.", &op->name);
278 sprintf(buf2, "You whistle appreciatively."); 278 sprintf(buf2, "You whistle appreciatively.");
279 break; 279 break;
280 case EMOTE_WINK: 280 case EMOTE_WINK:
281 sprintf(buf, "%s winks suggestively.", op->name); 281 sprintf(buf, "%s winks suggestively.", &op->name);
282 sprintf(buf2, "Have you got something in your eye?"); 282 sprintf(buf2, "Have you got something in your eye?");
283 break; 283 break;
284 case EMOTE_YAWN: 284 case EMOTE_YAWN:
285 sprintf(buf, "%s yawns sleepily.", op->name); 285 sprintf(buf, "%s yawns sleepily.", &op->name);
286 sprintf(buf2, "You open up your yap and let out a big breeze " 286 sprintf(buf2, "You open up your yap and let out a big breeze "
287 "of stale air."); 287 "of stale air.");
288 break; 288 break;
289 case EMOTE_CRINGE: 289 case EMOTE_CRINGE:
290 sprintf(buf, "%s cringes in terror!", op->name); 290 sprintf(buf, "%s cringes in terror!", &op->name);
291 sprintf(buf2, "You cringe in terror."); 291 sprintf(buf2, "You cringe in terror.");
292 break; 292 break;
293 case EMOTE_BLEED: 293 case EMOTE_BLEED:
294 sprintf(buf, "%s is bleeding all over the carpet" 294 sprintf(buf, "%s is bleeding all over the carpet"
295 " - got a spare tourniquet?", op->name); 295 " - got a spare tourniquet?", &op->name);
296 sprintf(buf2, "You bleed all over your nice new armour."); 296 sprintf(buf2, "You bleed all over your nice new armour.");
297 break; 297 break;
298 case EMOTE_THINK: 298 case EMOTE_THINK:
299 sprintf(buf, "%s closes his eyes and thinks really hard.", 299 sprintf(buf, "%s closes his eyes and thinks really hard.",
300 op->name); 300 &op->name);
301 sprintf(buf2, "Anything in particular that you'd care to think " 301 sprintf(buf2, "Anything in particular that you'd care to think "
302 "about?"); 302 "about?");
303 break; 303 break;
304 default: 304 default:
305 sprintf(buf, "%s dances with glee.", op->name); 305 sprintf(buf, "%s dances with glee.", &op->name);
306 sprintf(buf2, "You are a nut."); 306 sprintf(buf2, "You are a nut.");
307 break; 307 break;
308 } /*case*/ 308 } /*case*/
309 new_info_map_except(NDI_WHITE, op->map, op, buf); 309 new_info_map_except(NDI_WHITE, op->map, op, buf);
310 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2); 310 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2);
311 return(0); 311 return(0);
312 } else { 312 } else {
313 for(pl=first_player;pl!=NULL;pl=pl->next) { 313 for(pl=first_player;pl!=NULL;pl=pl->next) {
314 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && 314 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 &&
315 pl->ob->map == op->map && pl->ob != op && 315 pl->ob->map == op->map && pl->ob != op &&
316 !(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) { 316 !(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) {
317 /* Hidden dms are not affected by emotions*/ 317 /* Hidden dms are not affected by emotions*/
318 switch(emotion) { 318 switch(emotion) {
319 case EMOTE_NOD: 319 case EMOTE_NOD:
320 sprintf(buf, "You nod solemnly to %s.", pl->ob->name); 320 sprintf(buf, "You nod solemnly to %s.", &pl->ob->name);
321 sprintf(buf2, "%s nods solemnly to you.", op->name); 321 sprintf(buf2, "%s nods solemnly to you.", &op->name);
322 sprintf(buf3, "%s nods solemnly to %s.", op->name, 322 sprintf(buf3, "%s nods solemnly to %s.", &op->name,
323 pl->ob->name); 323 &pl->ob->name);
324 break; 324 break;
325 case EMOTE_DANCE: 325 case EMOTE_DANCE:
326 sprintf(buf, "You grab %s and begin doing the Cha-Cha!", 326 sprintf(buf, "You grab %s and begin doing the Cha-Cha!",
327 pl->ob->name); 327 &pl->ob->name);
328 sprintf(buf2, "%s grabs you, and begins dancing!", 328 sprintf(buf2, "%s grabs you, and begins dancing!",
329 op->name); 329 &op->name);
330 sprintf(buf3, "Yipe! %s and %s are doing the Macarena!", 330 sprintf(buf3, "Yipe! %s and %s are doing the Macarena!",
331 op->name, pl->ob->name); 331 &op->name, &pl->ob->name);
332 break; 332 break;
333 case EMOTE_KISS: 333 case EMOTE_KISS:
334 sprintf(buf, "You kiss %s.", pl->ob->name); 334 sprintf(buf, "You kiss %s.", &pl->ob->name);
335 sprintf(buf2, "%s kisses you.", op->name); 335 sprintf(buf2, "%s kisses you.", &op->name);
336 sprintf(buf3, "%s kisses %s.", op->name, pl->ob->name); 336 sprintf(buf3, "%s kisses %s.", &op->name, &pl->ob->name);
337 break; 337 break;
338 case EMOTE_BOUNCE: 338 case EMOTE_BOUNCE:
339 sprintf(buf, "You bounce around the room with %s.", 339 sprintf(buf, "You bounce around the room with %s.",
340 pl->ob->name); 340 &pl->ob->name);
341 sprintf(buf2, "%s bounces around the room with you.", 341 sprintf(buf2, "%s bounces around the room with you.",
342 op->name); 342 &op->name);
343 sprintf(buf3, "%s bounces around the room with %s.", 343 sprintf(buf3, "%s bounces around the room with %s.",
344 op->name, pl->ob->name); 344 &op->name, &pl->ob->name);
345 break; 345 break;
346 case EMOTE_SMILE: 346 case EMOTE_SMILE:
347 sprintf(buf, "You smile at %s.", pl->ob->name); 347 sprintf(buf, "You smile at %s.", &pl->ob->name);
348 sprintf(buf2, "%s smiles at you.", op->name); 348 sprintf(buf2, "%s smiles at you.", &op->name);
349 sprintf(buf3, "%s beams a smile at %s.", op->name, 349 sprintf(buf3, "%s beams a smile at %s.", &op->name,
350 pl->ob->name); 350 &pl->ob->name);
351 break; 351 break;
352 case EMOTE_LAUGH: 352 case EMOTE_LAUGH:
353 sprintf(buf, "You take one look at %s and fall down " 353 sprintf(buf, "You take one look at %s and fall down "
354 "laughing.", pl->ob->name); 354 "laughing.", &pl->ob->name);
355 sprintf(buf2, "%s looks at you and falls down on the " 355 sprintf(buf2, "%s looks at you and falls down on the "
356 "ground laughing.", op->name); 356 "ground laughing.", &op->name);
357 sprintf(buf3, "%s looks at %s and falls down on the " 357 sprintf(buf3, "%s looks at %s and falls down on the "
358 "ground laughing.", op->name, pl->ob->name); 358 "ground laughing.", &op->name, &pl->ob->name);
359 break; 359 break;
360 case EMOTE_SHAKE: 360 case EMOTE_SHAKE:
361 sprintf(buf, "You shake %s's hand.", pl->ob->name); 361 sprintf(buf, "You shake %s's hand.", &pl->ob->name);
362 sprintf(buf2, "%s shakes your hand.", op->name); 362 sprintf(buf2, "%s shakes your hand.", &op->name);
363 sprintf(buf3, "%s shakes %s's hand.", op->name, 363 sprintf(buf3, "%s shakes %s's hand.", &op->name,
364 pl->ob->name); 364 &pl->ob->name);
365 break; 365 break;
366 case EMOTE_PUKE: 366 case EMOTE_PUKE:
367 sprintf(buf, "You puke on %s.", pl->ob->name); 367 sprintf(buf, "You puke on %s.", &pl->ob->name);
368 sprintf(buf2, "%s pukes on your clothes!", op->name); 368 sprintf(buf2, "%s pukes on your clothes!", &op->name);
369 sprintf(buf3, "%s pukes on %s.", op->name, pl->ob->name); 369 sprintf(buf3, "%s pukes on %s.", &op->name, &pl->ob->name);
370 break; 370 break;
371 case EMOTE_HUG: 371 case EMOTE_HUG:
372 sprintf(buf, "You hug %s.", pl->ob->name); 372 sprintf(buf, "You hug %s.", &pl->ob->name);
373 sprintf(buf2, "%s hugs you.", op->name); 373 sprintf(buf2, "%s hugs you.", &op->name);
374 sprintf(buf3, "%s hugs %s.", op->name, pl->ob->name); 374 sprintf(buf3, "%s hugs %s.", &op->name, &pl->ob->name);
375 break; 375 break;
376 case EMOTE_CRY: 376 case EMOTE_CRY:
377 sprintf(buf, "You cry on %s's shoulder.", pl->ob->name); 377 sprintf(buf, "You cry on %s's shoulder.", &pl->ob->name);
378 sprintf(buf2, "%s cries on your shoulder.", op->name); 378 sprintf(buf2, "%s cries on your shoulder.", &op->name);
379 sprintf(buf3, "%s cries on %s's shoulder.", op->name, 379 sprintf(buf3, "%s cries on %s's shoulder.", &op->name,
380 pl->ob->name); 380 &pl->ob->name);
381 break; 381 break;
382 case EMOTE_POKE: 382 case EMOTE_POKE:
383 sprintf(buf, "You poke %s in the ribs.", pl->ob->name); 383 sprintf(buf, "You poke %s in the ribs.", &pl->ob->name);
384 sprintf(buf2, "%s pokes you in the ribs.", op->name); 384 sprintf(buf2, "%s pokes you in the ribs.", &op->name);
385 sprintf(buf3, "%s pokes %s in the ribs.", op->name, 385 sprintf(buf3, "%s pokes %s in the ribs.", &op->name,
386 pl->ob->name); 386 &pl->ob->name);
387 break; 387 break;
388 case EMOTE_ACCUSE: 388 case EMOTE_ACCUSE:
389 sprintf(buf, "You look accusingly at %s.", pl->ob->name); 389 sprintf(buf, "You look accusingly at %s.", &pl->ob->name);
390 sprintf(buf2, "%s looks accusingly at you.", op->name); 390 sprintf(buf2, "%s looks accusingly at you.", &op->name);
391 sprintf(buf3, "%s looks accusingly at %s.", op->name, 391 sprintf(buf3, "%s looks accusingly at %s.", &op->name,
392 pl->ob->name); 392 &pl->ob->name);
393 break; 393 break;
394 case EMOTE_GRIN: 394 case EMOTE_GRIN:
395 sprintf(buf, "You grin at %s.", pl->ob->name); 395 sprintf(buf, "You grin at %s.", &pl->ob->name);
396 sprintf(buf2, "%s grins evilly at you.", op->name); 396 sprintf(buf2, "%s grins evilly at you.", &op->name);
397 sprintf(buf3, "%s grins evilly at %s.", op->name, 397 sprintf(buf3, "%s grins evilly at %s.", &op->name,
398 pl->ob->name); 398 &pl->ob->name);
399 break; 399 break;
400 case EMOTE_BOW: 400 case EMOTE_BOW:
401 sprintf(buf, "You bow before %s.", pl->ob->name); 401 sprintf(buf, "You bow before %s.", &pl->ob->name);
402 sprintf(buf2, "%s bows before you.", op->name); 402 sprintf(buf2, "%s bows before you.", &op->name);
403 sprintf(buf3, "%s bows before %s.", op->name, 403 sprintf(buf3, "%s bows before %s.", &op->name,
404 pl->ob->name); 404 &pl->ob->name);
405 break; 405 break;
406 case EMOTE_FROWN: 406 case EMOTE_FROWN:
407 sprintf(buf, "You frown darkly at %s.", pl->ob->name); 407 sprintf(buf, "You frown darkly at %s.", &pl->ob->name);
408 sprintf(buf2, "%s frowns darkly at you.", op->name); 408 sprintf(buf2, "%s frowns darkly at you.", &op->name);
409 sprintf(buf3, "%s frowns darkly at %s.", op->name, 409 sprintf(buf3, "%s frowns darkly at %s.", &op->name,
410 pl->ob->name); 410 &pl->ob->name);
411 break; 411 break;
412 case EMOTE_GLARE: 412 case EMOTE_GLARE:
413 sprintf(buf, "You glare icily at %s.", pl->ob->name); 413 sprintf(buf, "You glare icily at %s.", &pl->ob->name);
414 sprintf(buf2, "%s glares icily at you, you feel cold to" 414 sprintf(buf2, "%s glares icily at you, you feel cold to"
415 " your bones.", op->name); 415 " your bones.", &op->name);
416 sprintf(buf3, "%s glares at %s.", op->name, pl->ob->name); 416 sprintf(buf3, "%s glares at %s.", &op->name, &pl->ob->name);
417 break; 417 break;
418 case EMOTE_LICK: 418 case EMOTE_LICK:
419 sprintf(buf, "You lick %s.", pl->ob->name); 419 sprintf(buf, "You lick %s.", &pl->ob->name);
420 sprintf(buf2, "%s licks you.", op->name); 420 sprintf(buf2, "%s licks you.", &op->name);
421 sprintf(buf3, "%s licks %s.", op->name, pl->ob->name); 421 sprintf(buf3, "%s licks %s.", &op->name, &pl->ob->name);
422 break; 422 break;
423 case EMOTE_SHRUG: 423 case EMOTE_SHRUG:
424 sprintf(buf, "You shrug at %s.", pl->ob->name); 424 sprintf(buf, "You shrug at %s.", &pl->ob->name);
425 sprintf(buf2, "%s shrugs at you.", op->name); 425 sprintf(buf2, "%s shrugs at you.", &op->name);
426 sprintf(buf3, "%s shrugs at %s.", op->name, pl->ob->name); 426 sprintf(buf3, "%s shrugs at %s.", &op->name, &pl->ob->name);
427 break; 427 break;
428 case EMOTE_SLAP: 428 case EMOTE_SLAP:
429 sprintf(buf, "You slap %s.", pl->ob->name); 429 sprintf(buf, "You slap %s.", &pl->ob->name);
430 sprintf(buf2, "You are slapped by %s.", op->name); 430 sprintf(buf2, "You are slapped by %s.", &op->name);
431 sprintf(buf3, "%s slaps %s.", op->name, pl->ob->name); 431 sprintf(buf3, "%s slaps %s.", &op->name, &pl->ob->name);
432 break; 432 break;
433 case EMOTE_SNEEZE: 433 case EMOTE_SNEEZE:
434 sprintf(buf, "You sneeze at %s and a film of snot shoots" 434 sprintf(buf, "You sneeze at %s and a film of snot shoots"
435 " onto him.", pl->ob->name); 435 " onto him.", &pl->ob->name);
436 sprintf(buf2, "%s sneezes on you, you feel the snot cover" 436 sprintf(buf2, "%s sneezes on you, you feel the snot cover"
437 " you. EEEEEEW.", op->name); 437 " you. EEEEEEW.", &op->name);
438 sprintf(buf3, "%s sneezes on %s and a film of snot covers" 438 sprintf(buf3, "%s sneezes on %s and a film of snot covers"
439 " him.", op->name, pl->ob->name); 439 " him.", &op->name, &pl->ob->name);
440 break; 440 break;
441 case EMOTE_SNIFF: 441 case EMOTE_SNIFF:
442 sprintf(buf, "You sniff %s.", pl->ob->name); 442 sprintf(buf, "You sniff %s.", &pl->ob->name);
443 sprintf(buf2, "%s sniffs you.", op->name); 443 sprintf(buf2, "%s sniffs you.", &op->name);
444 sprintf(buf3, "%s sniffs %s", op->name, pl->ob->name); 444 sprintf(buf3, "%s sniffs %s", &op->name, &pl->ob->name);
445 break; 445 break;
446 case EMOTE_SPIT: 446 case EMOTE_SPIT:
447 sprintf(buf, "You spit on %s.", pl->ob->name); 447 sprintf(buf, "You spit on %s.", &pl->ob->name);
448 sprintf(buf2, "%s spits in your face!", op->name); 448 sprintf(buf2, "%s spits in your face!", &op->name);
449 sprintf(buf3, "%s spits in %s's face.", op->name, 449 sprintf(buf3, "%s spits in %s's face.", &op->name,
450 pl->ob->name); 450 &pl->ob->name);
451 break; 451 break;
452 case EMOTE_THANK: 452 case EMOTE_THANK:
453 sprintf(buf, "You thank %s heartily.", pl->ob->name); 453 sprintf(buf, "You thank %s heartily.", &pl->ob->name);
454 sprintf(buf2, "%s thanks you heartily.", op->name); 454 sprintf(buf2, "%s thanks you heartily.", &op->name);
455 sprintf(buf3, "%s thanks %s heartily.", op->name, 455 sprintf(buf3, "%s thanks %s heartily.", &op->name,
456 pl->ob->name); 456 &pl->ob->name);
457 break; 457 break;
458 case EMOTE_WAVE: 458 case EMOTE_WAVE:
459 sprintf(buf, "You wave goodbye to %s.", pl->ob->name); 459 sprintf(buf, "You wave goodbye to %s.", &pl->ob->name);
460 sprintf(buf2, "%s waves goodbye to you. Have a good" 460 sprintf(buf2, "%s waves goodbye to you. Have a good"
461 " journey.", op->name); 461 " journey.", &op->name);
462 sprintf(buf3, "%s waves goodbye to %s.", op->name, 462 sprintf(buf3, "%s waves goodbye to %s.", &op->name,
463 pl->ob->name); 463 &pl->ob->name);
464 break; 464 break;
465 case EMOTE_WHISTLE: 465 case EMOTE_WHISTLE:
466 sprintf(buf, "You whistle at %s.", pl->ob->name); 466 sprintf(buf, "You whistle at %s.", &pl->ob->name);
467 sprintf(buf2, "%s whistles at you.", op->name); 467 sprintf(buf2, "%s whistles at you.", &op->name);
468 sprintf(buf2, "%s whistles at %s.", op->name, pl->ob->name); 468 sprintf(buf2, "%s whistles at %s.", &op->name, &pl->ob->name);
469 break; 469 break;
470 case EMOTE_WINK: 470 case EMOTE_WINK:
471 sprintf(buf, "You wink suggestively at %s.", pl->ob->name); 471 sprintf(buf, "You wink suggestively at %s.", &pl->ob->name);
472 sprintf(buf2, "%s winks suggestively at you.", op->name); 472 sprintf(buf2, "%s winks suggestively at you.", &op->name);
473 sprintf(buf2, "%s winks at %s.", op->name, pl->ob->name); 473 sprintf(buf2, "%s winks at %s.", &op->name, &pl->ob->name);
474 break; 474 break;
475 case EMOTE_BEG: 475 case EMOTE_BEG:
476 sprintf(buf, "You beg %s for mercy.", pl->ob->name); 476 sprintf(buf, "You beg %s for mercy.", &pl->ob->name);
477 sprintf(buf2, "%s begs you for mercy! Show no quarter!", 477 sprintf(buf2, "%s begs you for mercy! Show no quarter!",
478 op->name); 478 &op->name);
479 sprintf(buf2, "%s begs %s for mercy!", op->name, 479 sprintf(buf2, "%s begs %s for mercy!", &op->name,
480 pl->ob->name); 480 &pl->ob->name);
481 break; 481 break;
482 case EMOTE_BLEED: 482 case EMOTE_BLEED:
483 sprintf(buf, "You slash your wrist and bleed all over %s", 483 sprintf(buf, "You slash your wrist and bleed all over %s",
484 pl->ob->name); 484 &pl->ob->name);
485 sprintf(buf2, "%s slashes his wrist and bleeds all over" 485 sprintf(buf2, "%s slashes his wrist and bleeds all over"
486 " you.", op->name); 486 " you.", &op->name);
487 sprintf(buf2, "%s slashes his wrist and bleeds all " 487 sprintf(buf2, "%s slashes his wrist and bleeds all "
488 "over %s.", op->name, pl->ob->name); 488 "over %s.", &op->name, &pl->ob->name);
489 break; 489 break;
490 case EMOTE_CRINGE: 490 case EMOTE_CRINGE:
491 sprintf(buf, "You cringe away from %s.", pl->ob->name); 491 sprintf(buf, "You cringe away from %s.", &pl->ob->name);
492 sprintf(buf2, "%s cringes away from you.", op->name); 492 sprintf(buf2, "%s cringes away from you.", &op->name);
493 sprintf(buf2, "%s cringes away from %s in mortal terror.", 493 sprintf(buf2, "%s cringes away from %s in mortal terror.",
494 op->name, pl->ob->name); 494 &op->name, &pl->ob->name);
495 break; 495 break;
496 default: 496 default:
497 sprintf(buf, "You are still nuts."); 497 sprintf(buf, "You are still nuts.");
498 sprintf(buf2, "You get the distinct feeling that %s is nuts.", 498 sprintf(buf2, "You get the distinct feeling that %s is nuts.",
499 op->name); 499 &op->name);
500 sprintf(buf3, "%s is eyeing %s quizzically.", pl->ob->name, 500 sprintf(buf3, "%s is eyeing %s quizzically.", &pl->ob->name,
501 op->name); 501 &op->name);
502 break; 502 break;
503 } /*case*/ 503 } /*case*/
504 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); 504 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf);
505 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, pl->ob, buf2); 505 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, pl->ob, buf2);
506 new_info_map_except2(NDI_WHITE, op->map, op, pl->ob, buf3); 506 new_info_map_except2(NDI_WHITE, op->map, op, pl->ob, buf3);
510 pl->ob->map == op->map && pl->ob == op) { 510 pl->ob->map == op->map && pl->ob == op) {
511 switch(emotion) { 511 switch(emotion) {
512 case EMOTE_DANCE: 512 case EMOTE_DANCE:
513 sprintf(buf, "You skip and dance around by yourself."); 513 sprintf(buf, "You skip and dance around by yourself.");
514 sprintf(buf2, "%s embraces himself and begins to dance!", 514 sprintf(buf2, "%s embraces himself and begins to dance!",
515 op->name); 515 &op->name);
516 break; 516 break;
517 case EMOTE_LAUGH: 517 case EMOTE_LAUGH:
518 sprintf(buf, "Laugh at yourself all you want, the others " 518 sprintf(buf, "Laugh at yourself all you want, the others "
519 "won't understand."); 519 "won't understand.");
520 sprintf(buf2, "%s is laughing at something.", op->name); 520 sprintf(buf2, "%s is laughing at something.", &op->name);
521 break; 521 break;
522 case EMOTE_SHAKE: 522 case EMOTE_SHAKE:
523 sprintf(buf, "You are shaken by yourself."); 523 sprintf(buf, "You are shaken by yourself.");
524 sprintf(buf2, "%s shakes and quivers like a bowlful of " 524 sprintf(buf2, "%s shakes and quivers like a bowlful of "
525 "jelly.", op->name); 525 "jelly.", &op->name);
526 break; 526 break;
527 case EMOTE_PUKE: 527 case EMOTE_PUKE:
528 sprintf(buf, "You puke on yourself."); 528 sprintf(buf, "You puke on yourself.");
529 sprintf(buf2, "%s pukes on his clothes.", op->name); 529 sprintf(buf2, "%s pukes on his clothes.", &op->name);
530 break; 530 break;
531 case EMOTE_HUG: 531 case EMOTE_HUG:
532 sprintf(buf, "You hug yourself."); 532 sprintf(buf, "You hug yourself.");
533 sprintf(buf2, "%s hugs himself.", op->name); 533 sprintf(buf2, "%s hugs himself.", &op->name);
534 break; 534 break;
535 case EMOTE_CRY: 535 case EMOTE_CRY:
536 sprintf(buf, "You cry to yourself."); 536 sprintf(buf, "You cry to yourself.");
537 sprintf(buf2, "%s sobs quietly to himself.", op->name); 537 sprintf(buf2, "%s sobs quietly to himself.", &op->name);
538 break; 538 break;
539 case EMOTE_POKE: 539 case EMOTE_POKE:
540 sprintf(buf, "You poke yourself in the ribs, feeling very" 540 sprintf(buf, "You poke yourself in the ribs, feeling very"
541 " silly."); 541 " silly.");
542 sprintf(buf2, "%s pokes himself in the ribs, looking very" 542 sprintf(buf2, "%s pokes himself in the ribs, looking very"
543 " sheepish.", op->name); 543 " sheepish.", &op->name);
544 break; 544 break;
545 case EMOTE_ACCUSE: 545 case EMOTE_ACCUSE:
546 sprintf(buf, "You accuse yourself."); 546 sprintf(buf, "You accuse yourself.");
547 sprintf(buf2, "%s seems to have a bad conscience.", 547 sprintf(buf2, "%s seems to have a bad conscience.",
548 op->name); 548 &op->name);
549 break; 549 break;
550 case EMOTE_BOW: 550 case EMOTE_BOW:
551 sprintf(buf, "You kiss your toes."); 551 sprintf(buf, "You kiss your toes.");
552 sprintf(buf2, "%s folds up like a jackknife and kisses his" 552 sprintf(buf2, "%s folds up like a jackknife and kisses his"
553 " own toes.", op->name); 553 " own toes.", &op->name);
554 break; 554 break;
555 case EMOTE_FROWN: 555 case EMOTE_FROWN:
556 sprintf(buf, "You frown at yourself."); 556 sprintf(buf, "You frown at yourself.");
557 sprintf(buf2, "%s frowns at himself.", op->name); 557 sprintf(buf2, "%s frowns at himself.", &op->name);
558 break; 558 break;
559 case EMOTE_GLARE: 559 case EMOTE_GLARE:
560 sprintf(buf, "You glare icily at your feet, they are " 560 sprintf(buf, "You glare icily at your feet, they are "
561 "suddenly very cold."); 561 "suddenly very cold.");
562 sprintf(buf2, "%s glares at his feet, what is bothering " 562 sprintf(buf2, "%s glares at his feet, what is bothering "
563 "him?", op->name); 563 "him?", &op->name);
564 break; 564 break;
565 case EMOTE_LICK: 565 case EMOTE_LICK:
566 sprintf(buf, "You lick yourself."); 566 sprintf(buf, "You lick yourself.");
567 sprintf(buf2, "%s licks himself - YUCK.", op->name); 567 sprintf(buf2, "%s licks himself - YUCK.", &op->name);
568 break; 568 break;
569 case EMOTE_SLAP: 569 case EMOTE_SLAP:
570 sprintf(buf, "You slap yourself, silly you."); 570 sprintf(buf, "You slap yourself, silly you.");
571 sprintf(buf2, "%s slaps himself, really strange...", 571 sprintf(buf2, "%s slaps himself, really strange...",
572 op->name); 572 &op->name);
573 break; 573 break;
574 case EMOTE_SNEEZE: 574 case EMOTE_SNEEZE:
575 sprintf(buf, "You sneeze on yourself, what a mess!"); 575 sprintf(buf, "You sneeze on yourself, what a mess!");
576 sprintf(buf2, "%s sneezes, and covers himself in a slimy" 576 sprintf(buf2, "%s sneezes, and covers himself in a slimy"
577 " substance.", op->name); 577 " substance.", &op->name);
578 break; 578 break;
579 case EMOTE_SNIFF: 579 case EMOTE_SNIFF:
580 sprintf(buf, "You sniff yourself."); 580 sprintf(buf, "You sniff yourself.");
581 sprintf(buf2, "%s sniffs himself.", op->name); 581 sprintf(buf2, "%s sniffs himself.", &op->name);
582 break; 582 break;
583 case EMOTE_SPIT: 583 case EMOTE_SPIT:
584 sprintf(buf, "You drool all over yourself."); 584 sprintf(buf, "You drool all over yourself.");
585 sprintf(buf2, "%s drools all over himself.", op->name); 585 sprintf(buf2, "%s drools all over himself.", &op->name);
586 break; 586 break;
587 case EMOTE_THANK: 587 case EMOTE_THANK:
588 sprintf(buf, "You thank yourself since nobody else " 588 sprintf(buf, "You thank yourself since nobody else "
589 "wants to!"); 589 "wants to!");
590 sprintf(buf2, "%s thanks himself since you won't.", 590 sprintf(buf2, "%s thanks himself since you won't.",
591 op->name); 591 &op->name);
592 break; 592 break;
593 case EMOTE_WAVE: 593 case EMOTE_WAVE:
594 sprintf(buf, "Are you going on adventures as well??"); 594 sprintf(buf, "Are you going on adventures as well??");
595 sprintf(buf2, "%s waves goodbye to himself.", op->name); 595 sprintf(buf2, "%s waves goodbye to himself.", &op->name);
596 break; 596 break;
597 case EMOTE_WHISTLE: 597 case EMOTE_WHISTLE:
598 sprintf(buf, "You whistle while you work."); 598 sprintf(buf, "You whistle while you work.");
599 sprintf(buf2, "%s whistles to himself in boredom.", 599 sprintf(buf2, "%s whistles to himself in boredom.",
600 op->name); 600 &op->name);
601 break; 601 break;
602 case EMOTE_WINK: 602 case EMOTE_WINK:
603 sprintf(buf, "You wink at yourself?? What are you up to?"); 603 sprintf(buf, "You wink at yourself?? What are you up to?");
604 sprintf(buf2, "%s winks at himself - something strange " 604 sprintf(buf2, "%s winks at himself - something strange "
605 "is going on...", op->name); 605 "is going on...", &op->name);
606 break; 606 break;
607 case EMOTE_BLEED: 607 case EMOTE_BLEED:
608 sprintf(buf, "Very impressive! You wipe your blood all " 608 sprintf(buf, "Very impressive! You wipe your blood all "
609 "over yourself."); 609 "over yourself.");
610 sprintf(buf2, "%s performs some satanic ritual while " 610 sprintf(buf2, "%s performs some satanic ritual while "
611 "wiping his blood on himself.", op->name); 611 "wiping his blood on himself.", &op->name);
612 break; 612 break;
613 default: 613 default:
614 sprintf(buf, "My god! is that LEGAL?"); 614 sprintf(buf, "My god! is that LEGAL?");
615 sprintf(buf2, "You look away from %s.", op->name); 615 sprintf(buf2, "You look away from %s.", &op->name);
616 break; 616 break;
617 }/*case*/ 617 }/*case*/
618 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); 618 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf);
619 new_info_map_except(NDI_WHITE, op->map, op, buf2); 619 new_info_map_except(NDI_WHITE, op->map, op, buf2);
620 return(0); 620 return(0);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines