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.1 by elmex, Sun Aug 13 17:16:03 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.1 2006/08/13 17:16:03 elmex 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
28 28
29#include <global.h> 29#include <global.h>
30#include <loader.h> 30#include <loader.h>
31#include <sproto.h> 31#include <sproto.h>
32 32
33int command_say (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 says: %s",op->name, params);
39 new_info_map(NDI_WHITE,op->map, buf);
40 communicate(op, params);
41
42 return 0;
43}
44
45
46int command_me (object *op, char *params)
47{
48 char buf[MAX_BUF];
49
50 if (!params) return 0;
51 snprintf(buf, MAX_BUF-1, "%s %s",op->name, params); 38 snprintf(buf, MAX_BUF-1, "%s %s",&op->name, params);
52 new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); 39 new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf);
53 40
54 return 0; 41 return 0;
55} 42}
56 43
61 char buf2[MAX_BUF]; 48 char buf2[MAX_BUF];
62 int i; 49 int i;
63 50
64 i = rndm(1, 2); 51 i = rndm(1, 2);
65 if (i == 1) { 52 if (i == 1) {
66 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);
67 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!"); 54 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!");
68 } else { 55 } else {
69 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);
70 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!"); 57 snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!");
71 } 58 }
72 new_draw_info(NDI_UNIQUE, 0, op, buf2); 59 new_draw_info(NDI_UNIQUE, 0, op, buf2);
73 new_info_map_except(NDI_WHITE, op->map, op, buf); 60 new_info_map_except(NDI_WHITE, op->map, op, buf);
74 return 0; 61 return 0;
75} 62}
76 63
77static const char* const orcknuckle[7] = {"none", "beholder", "ghost", "knight", 64static const char* const orcknuckle[7] = {"none", "beholder", "ghost", "knight",
78 "princess", "dragon", "orc"}; 65 "princess", "dragon", "orc"};
79 66
80int command_orcknuckle(object *op, char *params) 67int command_orcknuckle(object *op, char *params)
81{ 68{
82 char buf[MAX_BUF]; 69 char buf[MAX_BUF];
83 char buf2[MAX_BUF]; 70 char buf2[MAX_BUF];
86 i = rndm(1, 5); 73 i = rndm(1, 5);
87 j = rndm(1, 5); 74 j = rndm(1, 5);
88 k = rndm(1, 5); 75 k = rndm(1, 5);
89 l = rndm(1, 6); 76 l = rndm(1, 6);
90 77
91 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,
92 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); 79 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]);
93 snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!", 80 snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!",
94 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); 81 orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]);
95 new_draw_info(NDI_UNIQUE, 0, op, buf); 82 new_draw_info(NDI_UNIQUE, 0, op, buf);
96 new_info_map_except(NDI_UNIQUE, op->map, op, buf2); 83 new_info_map_except(NDI_UNIQUE, op->map, op, buf2);
97 return 0; 84 return 0;
98}
99
100static int command_tell_all(object *op, char *params, int pri, int color, char *desc)
101{
102 if (op->contr->no_shout == 1){
103 new_draw_info(NDI_UNIQUE, 0,op,"You are no longer allowed to shout or chat.");
104 return 1;
105 } else {
106 if (params == NULL) {
107 new_draw_info(NDI_UNIQUE, 0,op,"Shout/Chat what?");
108 return 1;
109 }
110 new_draw_info_format(NDI_UNIQUE | NDI_ALL | color, pri, NULL,
111 "%s %s: %s", op->name, desc, params);
112
113 /* Lauwenmark : Here we handle the SHOUT global event */
114 execute_global_event(EVENT_SHOUT,op,params,pri);
115 return 1;
116 }
117}
118
119int command_shout (object *op, char *params)
120{
121 return command_tell_all(op, params, 1, NDI_RED, "shouts");
122}
123
124int command_chat (object *op, char *params)
125{
126 return command_tell_all(op, params, 9, NDI_BLUE, "chats");
127}
128
129
130
131int command_tell (object *op, char *params)
132{
133 char buf[MAX_BUF],*name = NULL ,*msg = NULL;
134 player *pl;
135
136 if ( params != NULL){
137 name = params;
138 msg = strchr(name, ' ');
139 if(msg){
140 *(msg++)=0;
141 if(*msg == 0)
142 msg = NULL;
143 }
144 }
145
146 if( name == NULL ){
147 new_draw_info(NDI_UNIQUE, 0,op,"Tell whom what?");
148 return 1;
149 } else if ( msg == NULL){
150 new_draw_info_format(NDI_UNIQUE, 0,op,"Tell %s what?", name);
151 return 1;
152 }
153
154 snprintf(buf,MAX_BUF-1, "%s tells you: %s",op->name, msg);
155
156 pl = find_player_partial_name( name );
157
158 if ( pl )
159 {
160 new_draw_info(NDI_UNIQUE | NDI_ORANGE, 0, pl->ob, buf);
161 new_draw_info_format(NDI_UNIQUE | NDI_ORANGE, 0, op,
162 "You tell %s: %s", pl->ob->name, msg);
163
164 /* Update last_tell value [mids 01/14/2002] */
165 strcpy(pl->last_tell, op->name);
166 return 1;
167 }
168
169 new_draw_info(NDI_UNIQUE, 0,op,"No such player or ambiguous name.");
170 return 1;
171}
172
173/* Reply to last person who told you something [mids 01/14/2002] */
174int command_reply (object *op, char *params) {
175 player *pl;
176
177 if (params == NULL) {
178 new_draw_info(NDI_UNIQUE, 0, op, "Reply what?");
179 return 1;
180 }
181
182 if (op->contr->last_tell[0] == '\0') {
183 new_draw_info(NDI_UNIQUE, 0, op, "You can't reply to nobody.");
184 return 1;
185 }
186
187 /* Find player object of player to reply to and check if player still exists */
188 pl = find_player(op->contr->last_tell);
189
190 if (pl == NULL) {
191 new_draw_info(NDI_UNIQUE, 0, op, "You can't reply, this player left.");
192 return 1;
193 }
194
195 /* Update last_tell value */
196 strcpy(pl->last_tell, op->name);
197
198 new_draw_info_format(NDI_UNIQUE | NDI_ORANGE, 0, pl->ob,
199 "%s tells you: %s", op->name, params);
200 new_draw_info_format(NDI_UNIQUE | NDI_ORANGE, 0, op,
201 "You tell to %s: %s", pl->ob->name, params);
202 return 1;
203} 85}
204 86
205/* 87/*
206 * This function covers basic emotions a player can have. An emotion can be 88 * This function covers basic emotions a player can have. An emotion can be
207 * one of three things currently. Directed at oneself, directed at someone, 89 * one of three things currently. Directed at oneself, directed at someone,
218{ 100{
219 char buf[MAX_BUF], buf2[MAX_BUF], buf3[MAX_BUF]; 101 char buf[MAX_BUF], buf2[MAX_BUF], buf3[MAX_BUF];
220 player *pl; 102 player *pl;
221 103
222 if (!params) { 104 if (!params) {
223 switch(emotion) { 105 switch(emotion) {
224 case EMOTE_NOD: 106 case EMOTE_NOD:
225 sprintf(buf, "%s nods solemnly.", op->name); 107 sprintf(buf, "%s nods solemnly.", &op->name);
226 sprintf(buf2, "You nod solemnly."); 108 sprintf(buf2, "You nod solemnly.");
227 break; 109 break;
228 case EMOTE_DANCE: 110 case EMOTE_DANCE:
229 sprintf(buf, "%s expresses himself through interpretive dance.", 111 sprintf(buf, "%s expresses himself through interpretive dance.",
230 op->name); 112 &op->name);
231 sprintf(buf2, "You dance with glee."); 113 sprintf(buf2, "You dance with glee.");
232 break; 114 break;
233 case EMOTE_KISS: 115 case EMOTE_KISS:
234 sprintf(buf, "%s makes a weird facial contortion", op->name); 116 sprintf(buf, "%s makes a weird facial contortion", &op->name);
235 sprintf(buf2, "All the lonely people.."); 117 sprintf(buf2, "All the lonely people..");
236 break; 118 break;
237 case EMOTE_BOUNCE: 119 case EMOTE_BOUNCE:
238 sprintf(buf, "%s bounces around.", op->name); 120 sprintf(buf, "%s bounces around.", &op->name);
239 sprintf(buf2, "BOIINNNNNNGG!"); 121 sprintf(buf2, "BOIINNNNNNGG!");
240 break; 122 break;
241 case EMOTE_SMILE: 123 case EMOTE_SMILE:
242 sprintf(buf, "%s smiles happily.", op->name); 124 sprintf(buf, "%s smiles happily.", &op->name);
243 sprintf(buf2, "You smile happily."); 125 sprintf(buf2, "You smile happily.");
244 break; 126 break;
245 case EMOTE_CACKLE: 127 case EMOTE_CACKLE:
246 sprintf(buf, "%s throws back his head and cackles with insane " 128 sprintf(buf, "%s throws back his head and cackles with insane "
247 "glee!", op->name); 129 "glee!", &op->name);
248 sprintf(buf2, "You cackle gleefully."); 130 sprintf(buf2, "You cackle gleefully.");
249 break; 131 break;
250 case EMOTE_LAUGH: 132 case EMOTE_LAUGH:
251 sprintf(buf, "%s falls down laughing.", op->name); 133 sprintf(buf, "%s falls down laughing.", &op->name);
252 sprintf(buf2, "You fall down laughing."); 134 sprintf(buf2, "You fall down laughing.");
253 break; 135 break;
254 case EMOTE_GIGGLE: 136 case EMOTE_GIGGLE:
255 sprintf(buf, "%s giggles.", op->name); 137 sprintf(buf, "%s giggles.", &op->name);
256 sprintf(buf2, "You giggle."); 138 sprintf(buf2, "You giggle.");
257 break; 139 break;
258 case EMOTE_SHAKE: 140 case EMOTE_SHAKE:
259 sprintf(buf, "%s shakes his head.", op->name); 141 sprintf(buf, "%s shakes his head.", &op->name);
260 sprintf(buf2, "You shake your head."); 142 sprintf(buf2, "You shake your head.");
261 break; 143 break;
262 case EMOTE_PUKE: 144 case EMOTE_PUKE:
263 sprintf(buf, "%s pukes.", op->name); 145 sprintf(buf, "%s pukes.", &op->name);
264 sprintf(buf2, "Bleaaaaaghhhhhhh!"); 146 sprintf(buf2, "Bleaaaaaghhhhhhh!");
265 break; 147 break;
266 case EMOTE_GROWL: 148 case EMOTE_GROWL:
267 sprintf(buf, "%s growls.", op->name); 149 sprintf(buf, "%s growls.", &op->name);
268 sprintf(buf2, "Grrrrrrrrr...."); 150 sprintf(buf2, "Grrrrrrrrr....");
269 break; 151 break;
270 case EMOTE_SCREAM: 152 case EMOTE_SCREAM:
271 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);
272 sprintf(buf2, "ARRRRRRRRRRGH!!!!!"); 154 sprintf(buf2, "ARRRRRRRRRRGH!!!!!");
273 break; 155 break;
274 case EMOTE_SIGH: 156 case EMOTE_SIGH:
275 sprintf(buf, "%s sighs loudly.", op->name); 157 sprintf(buf, "%s sighs loudly.", &op->name);
276 sprintf(buf2, "You sigh."); 158 sprintf(buf2, "You sigh.");
277 break; 159 break;
278 case EMOTE_SULK: 160 case EMOTE_SULK:
279 sprintf(buf, "%s sulks in the corner.", op->name); 161 sprintf(buf, "%s sulks in the corner.", &op->name);
280 sprintf(buf2, "You sulk."); 162 sprintf(buf2, "You sulk.");
281 break; 163 break;
282 case EMOTE_CRY: 164 case EMOTE_CRY:
283 sprintf(buf, "%s bursts into tears.", op->name); 165 sprintf(buf, "%s bursts into tears.", &op->name);
284 sprintf(buf2, "Waaaaaaahhh.."); 166 sprintf(buf2, "Waaaaaaahhh..");
285 break; 167 break;
286 case EMOTE_GRIN: 168 case EMOTE_GRIN:
287 sprintf(buf, "%s grins evilly.", op->name); 169 sprintf(buf, "%s grins evilly.", &op->name);
288 sprintf(buf2, "You grin evilly."); 170 sprintf(buf2, "You grin evilly.");
289 break; 171 break;
290 case EMOTE_BOW: 172 case EMOTE_BOW:
291 sprintf(buf, "%s bows deeply.", op->name); 173 sprintf(buf, "%s bows deeply.", &op->name);
292 sprintf(buf2, "You bow deeply."); 174 sprintf(buf2, "You bow deeply.");
293 break; 175 break;
294 case EMOTE_CLAP: 176 case EMOTE_CLAP:
295 sprintf(buf, "%s gives a round of applause.", op->name); 177 sprintf(buf, "%s gives a round of applause.", &op->name);
296 sprintf(buf2, "Clap, clap, clap."); 178 sprintf(buf2, "Clap, clap, clap.");
297 break; 179 break;
298 case EMOTE_BLUSH: 180 case EMOTE_BLUSH:
299 sprintf(buf, "%s blushes.", op->name); 181 sprintf(buf, "%s blushes.", &op->name);
300 sprintf(buf2, "Your cheeks are burning."); 182 sprintf(buf2, "Your cheeks are burning.");
301 break; 183 break;
302 case EMOTE_BURP: 184 case EMOTE_BURP:
303 sprintf(buf, "%s burps loudly.", op->name); 185 sprintf(buf, "%s burps loudly.", &op->name);
304 sprintf(buf2, "You burp loudly."); 186 sprintf(buf2, "You burp loudly.");
305 break; 187 break;
306 case EMOTE_CHUCKLE: 188 case EMOTE_CHUCKLE:
307 sprintf(buf, "%s chuckles politely.", op->name); 189 sprintf(buf, "%s chuckles politely.", &op->name);
308 sprintf(buf2, "You chuckle politely"); 190 sprintf(buf2, "You chuckle politely");
309 break; 191 break;
310 case EMOTE_COUGH: 192 case EMOTE_COUGH:
311 sprintf(buf, "%s coughs loudly.", op->name); 193 sprintf(buf, "%s coughs loudly.", &op->name);
312 sprintf(buf2, "Yuck, try to cover your mouth next time!"); 194 sprintf(buf2, "Yuck, try to cover your mouth next time!");
313 break; 195 break;
314 case EMOTE_FLIP: 196 case EMOTE_FLIP:
315 sprintf(buf, "%s flips head over heels.", op->name); 197 sprintf(buf, "%s flips head over heels.", &op->name);
316 sprintf(buf2, "You flip head over heels."); 198 sprintf(buf2, "You flip head over heels.");
317 break; 199 break;
318 case EMOTE_FROWN: 200 case EMOTE_FROWN:
319 sprintf(buf, "%s frowns.", op->name); 201 sprintf(buf, "%s frowns.", &op->name);
320 sprintf(buf2, "What's bothering you?"); 202 sprintf(buf2, "What's bothering you?");
321 break; 203 break;
322 case EMOTE_GASP: 204 case EMOTE_GASP:
323 sprintf(buf, "%s gasps in astonishment.", op->name); 205 sprintf(buf, "%s gasps in astonishment.", &op->name);
324 sprintf(buf2, "You gasp in astonishment."); 206 sprintf(buf2, "You gasp in astonishment.");
325 break; 207 break;
326 case EMOTE_GLARE: 208 case EMOTE_GLARE:
327 sprintf(buf, "%s glares around him.", op->name); 209 sprintf(buf, "%s glares around him.", &op->name);
328 sprintf(buf2, "You glare at nothing in particular."); 210 sprintf(buf2, "You glare at nothing in particular.");
329 break; 211 break;
330 case EMOTE_GROAN: 212 case EMOTE_GROAN:
331 sprintf(buf, "%s groans loudly.", op->name); 213 sprintf(buf, "%s groans loudly.", &op->name);
332 sprintf(buf2, "You groan loudly."); 214 sprintf(buf2, "You groan loudly.");
333 break; 215 break;
334 case EMOTE_HICCUP: 216 case EMOTE_HICCUP:
335 sprintf(buf, "%s hiccups.", op->name); 217 sprintf(buf, "%s hiccups.", &op->name);
336 sprintf(buf2, "*HIC*"); 218 sprintf(buf2, "*HIC*");
337 break; 219 break;
338 case EMOTE_LICK: 220 case EMOTE_LICK:
339 sprintf(buf, "%s licks his mouth and smiles.", op->name); 221 sprintf(buf, "%s licks his mouth and smiles.", &op->name);
340 sprintf(buf2, "You lick your mouth and smile."); 222 sprintf(buf2, "You lick your mouth and smile.");
341 break; 223 break;
342 case EMOTE_POUT: 224 case EMOTE_POUT:
343 sprintf(buf, "%s pouts.", op->name); 225 sprintf(buf, "%s pouts.", &op->name);
344 sprintf(buf2, "Aww, don't take it so hard."); 226 sprintf(buf2, "Aww, don't take it so hard.");
345 break; 227 break;
346 case EMOTE_SHIVER: 228 case EMOTE_SHIVER:
347 sprintf(buf, "%s shivers uncomfortably.", op->name); 229 sprintf(buf, "%s shivers uncomfortably.", &op->name);
348 sprintf(buf2, "Brrrrrrrrr."); 230 sprintf(buf2, "Brrrrrrrrr.");
349 break; 231 break;
350 case EMOTE_SHRUG: 232 case EMOTE_SHRUG:
351 sprintf(buf, "%s shrugs helplessly.", op->name); 233 sprintf(buf, "%s shrugs helplessly.", &op->name);
352 sprintf(buf2, "You shrug."); 234 sprintf(buf2, "You shrug.");
353 break; 235 break;
354 case EMOTE_SMIRK: 236 case EMOTE_SMIRK:
355 sprintf(buf, "%s smirks.", op->name); 237 sprintf(buf, "%s smirks.", &op->name);
356 sprintf(buf2, "You smirk."); 238 sprintf(buf2, "You smirk.");
357 break; 239 break;
358 case EMOTE_SNAP: 240 case EMOTE_SNAP:
359 sprintf(buf, "%s snaps his fingers.", op->name); 241 sprintf(buf, "%s snaps his fingers.", &op->name);
360 sprintf(buf2, "PRONTO! You snap your fingers."); 242 sprintf(buf2, "PRONTO! You snap your fingers.");
361 break; 243 break;
362 case EMOTE_SNEEZE: 244 case EMOTE_SNEEZE:
363 sprintf(buf, "%s sneezes.", op->name); 245 sprintf(buf, "%s sneezes.", &op->name);
364 sprintf(buf2, "Gesundheit!"); 246 sprintf(buf2, "Gesundheit!");
365 break; 247 break;
366 case EMOTE_SNICKER: 248 case EMOTE_SNICKER:
367 sprintf(buf, "%s snickers softly.", op->name); 249 sprintf(buf, "%s snickers softly.", &op->name);
368 sprintf(buf2, "You snicker softly."); 250 sprintf(buf2, "You snicker softly.");
369 break; 251 break;
370 case EMOTE_SNIFF: 252 case EMOTE_SNIFF:
371 sprintf(buf, "%s sniffs sadly.", op->name); 253 sprintf(buf, "%s sniffs sadly.", &op->name);
372 sprintf(buf2, "You sniff sadly. *SNIFF*"); 254 sprintf(buf2, "You sniff sadly. *SNIFF*");
373 break; 255 break;
374 case EMOTE_SNORE: 256 case EMOTE_SNORE:
375 sprintf(buf, "%s snores loudly.", op->name); 257 sprintf(buf, "%s snores loudly.", &op->name);
376 sprintf(buf2, "Zzzzzzzzzzzzzzz."); 258 sprintf(buf2, "Zzzzzzzzzzzzzzz.");
377 break; 259 break;
378 case EMOTE_SPIT: 260 case EMOTE_SPIT:
379 sprintf(buf, "%s spits over his left shoulder.", op->name); 261 sprintf(buf, "%s spits over his left shoulder.", &op->name);
380 sprintf(buf2, "You spit over your left shoulder."); 262 sprintf(buf2, "You spit over your left shoulder.");
381 break; 263 break;
382 case EMOTE_STRUT: 264 case EMOTE_STRUT:
383 sprintf(buf, "%s struts proudly.", op->name); 265 sprintf(buf, "%s struts proudly.", &op->name);
384 sprintf(buf2, "Strut your stuff."); 266 sprintf(buf2, "Strut your stuff.");
385 break; 267 break;
386 case EMOTE_TWIDDLE: 268 case EMOTE_TWIDDLE:
387 sprintf(buf, "%s patiently twiddles his thumbs.", op->name); 269 sprintf(buf, "%s patiently twiddles his thumbs.", &op->name);
388 sprintf(buf2, "You patiently twiddle your thumbs."); 270 sprintf(buf2, "You patiently twiddle your thumbs.");
389 break; 271 break;
390 case EMOTE_WAVE: 272 case EMOTE_WAVE:
391 sprintf(buf, "%s waves happily.", op->name); 273 sprintf(buf, "%s waves happily.", &op->name);
392 sprintf(buf2, "You wave."); 274 sprintf(buf2, "You wave.");
393 break; 275 break;
394 case EMOTE_WHISTLE: 276 case EMOTE_WHISTLE:
395 sprintf(buf, "%s whistles appreciatively.", op->name); 277 sprintf(buf, "%s whistles appreciatively.", &op->name);
396 sprintf(buf2, "You whistle appreciatively."); 278 sprintf(buf2, "You whistle appreciatively.");
397 break; 279 break;
398 case EMOTE_WINK: 280 case EMOTE_WINK:
399 sprintf(buf, "%s winks suggestively.", op->name); 281 sprintf(buf, "%s winks suggestively.", &op->name);
400 sprintf(buf2, "Have you got something in your eye?"); 282 sprintf(buf2, "Have you got something in your eye?");
401 break; 283 break;
402 case EMOTE_YAWN: 284 case EMOTE_YAWN:
403 sprintf(buf, "%s yawns sleepily.", op->name); 285 sprintf(buf, "%s yawns sleepily.", &op->name);
404 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 "
405 "of stale air."); 287 "of stale air.");
406 break; 288 break;
407 case EMOTE_CRINGE: 289 case EMOTE_CRINGE:
408 sprintf(buf, "%s cringes in terror!", op->name); 290 sprintf(buf, "%s cringes in terror!", &op->name);
409 sprintf(buf2, "You cringe in terror."); 291 sprintf(buf2, "You cringe in terror.");
410 break; 292 break;
411 case EMOTE_BLEED: 293 case EMOTE_BLEED:
412 sprintf(buf, "%s is bleeding all over the carpet" 294 sprintf(buf, "%s is bleeding all over the carpet"
413 " - got a spare tourniquet?", op->name); 295 " - got a spare tourniquet?", &op->name);
414 sprintf(buf2, "You bleed all over your nice new armour."); 296 sprintf(buf2, "You bleed all over your nice new armour.");
415 break; 297 break;
416 case EMOTE_THINK: 298 case EMOTE_THINK:
417 sprintf(buf, "%s closes his eyes and thinks really hard.", 299 sprintf(buf, "%s closes his eyes and thinks really hard.",
418 op->name); 300 &op->name);
419 sprintf(buf2, "Anything in particular that you'd care to think " 301 sprintf(buf2, "Anything in particular that you'd care to think "
420 "about?"); 302 "about?");
421 break; 303 break;
422 default: 304 default:
423 sprintf(buf, "%s dances with glee.", op->name); 305 sprintf(buf, "%s dances with glee.", &op->name);
424 sprintf(buf2, "You are a nut."); 306 sprintf(buf2, "You are a nut.");
425 break; 307 break;
426 } /*case*/ 308 } /*case*/
427 new_info_map_except(NDI_WHITE, op->map, op, buf); 309 new_info_map_except(NDI_WHITE, op->map, op, buf);
428 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2); 310 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2);
429 return(0); 311 return(0);
430 } else { 312 } else {
431 for(pl=first_player;pl!=NULL;pl=pl->next) { 313 for(pl=first_player;pl!=NULL;pl=pl->next) {
432 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && 314 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 &&
433 pl->ob->map == op->map && pl->ob != op && 315 pl->ob->map == op->map && pl->ob != op &&
434 !(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) { 316 !(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) {
435 /* Hidden dms are not affected by emotions*/ 317 /* Hidden dms are not affected by emotions*/
436 switch(emotion) { 318 switch(emotion) {
437 case EMOTE_NOD: 319 case EMOTE_NOD:
438 sprintf(buf, "You nod solemnly to %s.", pl->ob->name); 320 sprintf(buf, "You nod solemnly to %s.", &pl->ob->name);
439 sprintf(buf2, "%s nods solemnly to you.", op->name); 321 sprintf(buf2, "%s nods solemnly to you.", &op->name);
440 sprintf(buf3, "%s nods solemnly to %s.", op->name, 322 sprintf(buf3, "%s nods solemnly to %s.", &op->name,
441 pl->ob->name); 323 &pl->ob->name);
442 break; 324 break;
443 case EMOTE_DANCE: 325 case EMOTE_DANCE:
444 sprintf(buf, "You grab %s and begin doing the Cha-Cha!", 326 sprintf(buf, "You grab %s and begin doing the Cha-Cha!",
445 pl->ob->name); 327 &pl->ob->name);
446 sprintf(buf2, "%s grabs you, and begins dancing!", 328 sprintf(buf2, "%s grabs you, and begins dancing!",
447 op->name); 329 &op->name);
448 sprintf(buf3, "Yipe! %s and %s are doing the Macarena!", 330 sprintf(buf3, "Yipe! %s and %s are doing the Macarena!",
449 op->name, pl->ob->name); 331 &op->name, &pl->ob->name);
450 break; 332 break;
451 case EMOTE_KISS: 333 case EMOTE_KISS:
452 sprintf(buf, "You kiss %s.", pl->ob->name); 334 sprintf(buf, "You kiss %s.", &pl->ob->name);
453 sprintf(buf2, "%s kisses you.", op->name); 335 sprintf(buf2, "%s kisses you.", &op->name);
454 sprintf(buf3, "%s kisses %s.", op->name, pl->ob->name); 336 sprintf(buf3, "%s kisses %s.", &op->name, &pl->ob->name);
455 break; 337 break;
456 case EMOTE_BOUNCE: 338 case EMOTE_BOUNCE:
457 sprintf(buf, "You bounce around the room with %s.", 339 sprintf(buf, "You bounce around the room with %s.",
458 pl->ob->name); 340 &pl->ob->name);
459 sprintf(buf2, "%s bounces around the room with you.", 341 sprintf(buf2, "%s bounces around the room with you.",
460 op->name); 342 &op->name);
461 sprintf(buf3, "%s bounces around the room with %s.", 343 sprintf(buf3, "%s bounces around the room with %s.",
462 op->name, pl->ob->name); 344 &op->name, &pl->ob->name);
463 break; 345 break;
464 case EMOTE_SMILE: 346 case EMOTE_SMILE:
465 sprintf(buf, "You smile at %s.", pl->ob->name); 347 sprintf(buf, "You smile at %s.", &pl->ob->name);
466 sprintf(buf2, "%s smiles at you.", op->name); 348 sprintf(buf2, "%s smiles at you.", &op->name);
467 sprintf(buf3, "%s beams a smile at %s.", op->name, 349 sprintf(buf3, "%s beams a smile at %s.", &op->name,
468 pl->ob->name); 350 &pl->ob->name);
469 break; 351 break;
470 case EMOTE_LAUGH: 352 case EMOTE_LAUGH:
471 sprintf(buf, "You take one look at %s and fall down " 353 sprintf(buf, "You take one look at %s and fall down "
472 "laughing.", pl->ob->name); 354 "laughing.", &pl->ob->name);
473 sprintf(buf2, "%s looks at you and falls down on the " 355 sprintf(buf2, "%s looks at you and falls down on the "
474 "ground laughing.", op->name); 356 "ground laughing.", &op->name);
475 sprintf(buf3, "%s looks at %s and falls down on the " 357 sprintf(buf3, "%s looks at %s and falls down on the "
476 "ground laughing.", op->name, pl->ob->name); 358 "ground laughing.", &op->name, &pl->ob->name);
477 break; 359 break;
478 case EMOTE_SHAKE: 360 case EMOTE_SHAKE:
479 sprintf(buf, "You shake %s's hand.", pl->ob->name); 361 sprintf(buf, "You shake %s's hand.", &pl->ob->name);
480 sprintf(buf2, "%s shakes your hand.", op->name); 362 sprintf(buf2, "%s shakes your hand.", &op->name);
481 sprintf(buf3, "%s shakes %s's hand.", op->name, 363 sprintf(buf3, "%s shakes %s's hand.", &op->name,
482 pl->ob->name); 364 &pl->ob->name);
483 break; 365 break;
484 case EMOTE_PUKE: 366 case EMOTE_PUKE:
485 sprintf(buf, "You puke on %s.", pl->ob->name); 367 sprintf(buf, "You puke on %s.", &pl->ob->name);
486 sprintf(buf2, "%s pukes on your clothes!", op->name); 368 sprintf(buf2, "%s pukes on your clothes!", &op->name);
487 sprintf(buf3, "%s pukes on %s.", op->name, pl->ob->name); 369 sprintf(buf3, "%s pukes on %s.", &op->name, &pl->ob->name);
488 break; 370 break;
489 case EMOTE_HUG: 371 case EMOTE_HUG:
490 sprintf(buf, "You hug %s.", pl->ob->name); 372 sprintf(buf, "You hug %s.", &pl->ob->name);
491 sprintf(buf2, "%s hugs you.", op->name); 373 sprintf(buf2, "%s hugs you.", &op->name);
492 sprintf(buf3, "%s hugs %s.", op->name, pl->ob->name); 374 sprintf(buf3, "%s hugs %s.", &op->name, &pl->ob->name);
493 break; 375 break;
494 case EMOTE_CRY: 376 case EMOTE_CRY:
495 sprintf(buf, "You cry on %s's shoulder.", pl->ob->name); 377 sprintf(buf, "You cry on %s's shoulder.", &pl->ob->name);
496 sprintf(buf2, "%s cries on your shoulder.", op->name); 378 sprintf(buf2, "%s cries on your shoulder.", &op->name);
497 sprintf(buf3, "%s cries on %s's shoulder.", op->name, 379 sprintf(buf3, "%s cries on %s's shoulder.", &op->name,
498 pl->ob->name); 380 &pl->ob->name);
499 break; 381 break;
500 case EMOTE_POKE: 382 case EMOTE_POKE:
501 sprintf(buf, "You poke %s in the ribs.", pl->ob->name); 383 sprintf(buf, "You poke %s in the ribs.", &pl->ob->name);
502 sprintf(buf2, "%s pokes you in the ribs.", op->name); 384 sprintf(buf2, "%s pokes you in the ribs.", &op->name);
503 sprintf(buf3, "%s pokes %s in the ribs.", op->name, 385 sprintf(buf3, "%s pokes %s in the ribs.", &op->name,
504 pl->ob->name); 386 &pl->ob->name);
505 break; 387 break;
506 case EMOTE_ACCUSE: 388 case EMOTE_ACCUSE:
507 sprintf(buf, "You look accusingly at %s.", pl->ob->name); 389 sprintf(buf, "You look accusingly at %s.", &pl->ob->name);
508 sprintf(buf2, "%s looks accusingly at you.", op->name); 390 sprintf(buf2, "%s looks accusingly at you.", &op->name);
509 sprintf(buf3, "%s looks accusingly at %s.", op->name, 391 sprintf(buf3, "%s looks accusingly at %s.", &op->name,
510 pl->ob->name); 392 &pl->ob->name);
511 break; 393 break;
512 case EMOTE_GRIN: 394 case EMOTE_GRIN:
513 sprintf(buf, "You grin at %s.", pl->ob->name); 395 sprintf(buf, "You grin at %s.", &pl->ob->name);
514 sprintf(buf2, "%s grins evilly at you.", op->name); 396 sprintf(buf2, "%s grins evilly at you.", &op->name);
515 sprintf(buf3, "%s grins evilly at %s.", op->name, 397 sprintf(buf3, "%s grins evilly at %s.", &op->name,
516 pl->ob->name); 398 &pl->ob->name);
517 break; 399 break;
518 case EMOTE_BOW: 400 case EMOTE_BOW:
519 sprintf(buf, "You bow before %s.", pl->ob->name); 401 sprintf(buf, "You bow before %s.", &pl->ob->name);
520 sprintf(buf2, "%s bows before you.", op->name); 402 sprintf(buf2, "%s bows before you.", &op->name);
521 sprintf(buf3, "%s bows before %s.", op->name, 403 sprintf(buf3, "%s bows before %s.", &op->name,
522 pl->ob->name); 404 &pl->ob->name);
523 break; 405 break;
524 case EMOTE_FROWN: 406 case EMOTE_FROWN:
525 sprintf(buf, "You frown darkly at %s.", pl->ob->name); 407 sprintf(buf, "You frown darkly at %s.", &pl->ob->name);
526 sprintf(buf2, "%s frowns darkly at you.", op->name); 408 sprintf(buf2, "%s frowns darkly at you.", &op->name);
527 sprintf(buf3, "%s frowns darkly at %s.", op->name, 409 sprintf(buf3, "%s frowns darkly at %s.", &op->name,
528 pl->ob->name); 410 &pl->ob->name);
529 break; 411 break;
530 case EMOTE_GLARE: 412 case EMOTE_GLARE:
531 sprintf(buf, "You glare icily at %s.", pl->ob->name); 413 sprintf(buf, "You glare icily at %s.", &pl->ob->name);
532 sprintf(buf2, "%s glares icily at you, you feel cold to" 414 sprintf(buf2, "%s glares icily at you, you feel cold to"
533 " your bones.", op->name); 415 " your bones.", &op->name);
534 sprintf(buf3, "%s glares at %s.", op->name, pl->ob->name); 416 sprintf(buf3, "%s glares at %s.", &op->name, &pl->ob->name);
535 break; 417 break;
536 case EMOTE_LICK: 418 case EMOTE_LICK:
537 sprintf(buf, "You lick %s.", pl->ob->name); 419 sprintf(buf, "You lick %s.", &pl->ob->name);
538 sprintf(buf2, "%s licks you.", op->name); 420 sprintf(buf2, "%s licks you.", &op->name);
539 sprintf(buf3, "%s licks %s.", op->name, pl->ob->name); 421 sprintf(buf3, "%s licks %s.", &op->name, &pl->ob->name);
540 break; 422 break;
541 case EMOTE_SHRUG: 423 case EMOTE_SHRUG:
542 sprintf(buf, "You shrug at %s.", pl->ob->name); 424 sprintf(buf, "You shrug at %s.", &pl->ob->name);
543 sprintf(buf2, "%s shrugs at you.", op->name); 425 sprintf(buf2, "%s shrugs at you.", &op->name);
544 sprintf(buf3, "%s shrugs at %s.", op->name, pl->ob->name); 426 sprintf(buf3, "%s shrugs at %s.", &op->name, &pl->ob->name);
545 break; 427 break;
546 case EMOTE_SLAP: 428 case EMOTE_SLAP:
547 sprintf(buf, "You slap %s.", pl->ob->name); 429 sprintf(buf, "You slap %s.", &pl->ob->name);
548 sprintf(buf2, "You are slapped by %s.", op->name); 430 sprintf(buf2, "You are slapped by %s.", &op->name);
549 sprintf(buf3, "%s slaps %s.", op->name, pl->ob->name); 431 sprintf(buf3, "%s slaps %s.", &op->name, &pl->ob->name);
550 break; 432 break;
551 case EMOTE_SNEEZE: 433 case EMOTE_SNEEZE:
552 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"
553 " onto him.", pl->ob->name); 435 " onto him.", &pl->ob->name);
554 sprintf(buf2, "%s sneezes on you, you feel the snot cover" 436 sprintf(buf2, "%s sneezes on you, you feel the snot cover"
555 " you. EEEEEEW.", op->name); 437 " you. EEEEEEW.", &op->name);
556 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"
557 " him.", op->name, pl->ob->name); 439 " him.", &op->name, &pl->ob->name);
558 break; 440 break;
559 case EMOTE_SNIFF: 441 case EMOTE_SNIFF:
560 sprintf(buf, "You sniff %s.", pl->ob->name); 442 sprintf(buf, "You sniff %s.", &pl->ob->name);
561 sprintf(buf2, "%s sniffs you.", op->name); 443 sprintf(buf2, "%s sniffs you.", &op->name);
562 sprintf(buf3, "%s sniffs %s", op->name, pl->ob->name); 444 sprintf(buf3, "%s sniffs %s", &op->name, &pl->ob->name);
563 break; 445 break;
564 case EMOTE_SPIT: 446 case EMOTE_SPIT:
565 sprintf(buf, "You spit on %s.", pl->ob->name); 447 sprintf(buf, "You spit on %s.", &pl->ob->name);
566 sprintf(buf2, "%s spits in your face!", op->name); 448 sprintf(buf2, "%s spits in your face!", &op->name);
567 sprintf(buf3, "%s spits in %s's face.", op->name, 449 sprintf(buf3, "%s spits in %s's face.", &op->name,
568 pl->ob->name); 450 &pl->ob->name);
569 break; 451 break;
570 case EMOTE_THANK: 452 case EMOTE_THANK:
571 sprintf(buf, "You thank %s heartily.", pl->ob->name); 453 sprintf(buf, "You thank %s heartily.", &pl->ob->name);
572 sprintf(buf2, "%s thanks you heartily.", op->name); 454 sprintf(buf2, "%s thanks you heartily.", &op->name);
573 sprintf(buf3, "%s thanks %s heartily.", op->name, 455 sprintf(buf3, "%s thanks %s heartily.", &op->name,
574 pl->ob->name); 456 &pl->ob->name);
575 break; 457 break;
576 case EMOTE_WAVE: 458 case EMOTE_WAVE:
577 sprintf(buf, "You wave goodbye to %s.", pl->ob->name); 459 sprintf(buf, "You wave goodbye to %s.", &pl->ob->name);
578 sprintf(buf2, "%s waves goodbye to you. Have a good" 460 sprintf(buf2, "%s waves goodbye to you. Have a good"
579 " journey.", op->name); 461 " journey.", &op->name);
580 sprintf(buf3, "%s waves goodbye to %s.", op->name, 462 sprintf(buf3, "%s waves goodbye to %s.", &op->name,
581 pl->ob->name); 463 &pl->ob->name);
582 break; 464 break;
583 case EMOTE_WHISTLE: 465 case EMOTE_WHISTLE:
584 sprintf(buf, "You whistle at %s.", pl->ob->name); 466 sprintf(buf, "You whistle at %s.", &pl->ob->name);
585 sprintf(buf2, "%s whistles at you.", op->name); 467 sprintf(buf2, "%s whistles at you.", &op->name);
586 sprintf(buf2, "%s whistles at %s.", op->name, pl->ob->name); 468 sprintf(buf2, "%s whistles at %s.", &op->name, &pl->ob->name);
587 break; 469 break;
588 case EMOTE_WINK: 470 case EMOTE_WINK:
589 sprintf(buf, "You wink suggestively at %s.", pl->ob->name); 471 sprintf(buf, "You wink suggestively at %s.", &pl->ob->name);
590 sprintf(buf2, "%s winks suggestively at you.", op->name); 472 sprintf(buf2, "%s winks suggestively at you.", &op->name);
591 sprintf(buf2, "%s winks at %s.", op->name, pl->ob->name); 473 sprintf(buf2, "%s winks at %s.", &op->name, &pl->ob->name);
592 break; 474 break;
593 case EMOTE_BEG: 475 case EMOTE_BEG:
594 sprintf(buf, "You beg %s for mercy.", pl->ob->name); 476 sprintf(buf, "You beg %s for mercy.", &pl->ob->name);
595 sprintf(buf2, "%s begs you for mercy! Show no quarter!", 477 sprintf(buf2, "%s begs you for mercy! Show no quarter!",
596 op->name); 478 &op->name);
597 sprintf(buf2, "%s begs %s for mercy!", op->name, 479 sprintf(buf2, "%s begs %s for mercy!", &op->name,
598 pl->ob->name); 480 &pl->ob->name);
599 break; 481 break;
600 case EMOTE_BLEED: 482 case EMOTE_BLEED:
601 sprintf(buf, "You slash your wrist and bleed all over %s", 483 sprintf(buf, "You slash your wrist and bleed all over %s",
602 pl->ob->name); 484 &pl->ob->name);
603 sprintf(buf2, "%s slashes his wrist and bleeds all over" 485 sprintf(buf2, "%s slashes his wrist and bleeds all over"
604 " you.", op->name); 486 " you.", &op->name);
605 sprintf(buf2, "%s slashes his wrist and bleeds all " 487 sprintf(buf2, "%s slashes his wrist and bleeds all "
606 "over %s.", op->name, pl->ob->name); 488 "over %s.", &op->name, &pl->ob->name);
607 break; 489 break;
608 case EMOTE_CRINGE: 490 case EMOTE_CRINGE:
609 sprintf(buf, "You cringe away from %s.", pl->ob->name); 491 sprintf(buf, "You cringe away from %s.", &pl->ob->name);
610 sprintf(buf2, "%s cringes away from you.", op->name); 492 sprintf(buf2, "%s cringes away from you.", &op->name);
611 sprintf(buf2, "%s cringes away from %s in mortal terror.", 493 sprintf(buf2, "%s cringes away from %s in mortal terror.",
612 op->name, pl->ob->name); 494 &op->name, &pl->ob->name);
613 break; 495 break;
614 default: 496 default:
615 sprintf(buf, "You are still nuts."); 497 sprintf(buf, "You are still nuts.");
616 sprintf(buf2, "You get the distinct feeling that %s is nuts.", 498 sprintf(buf2, "You get the distinct feeling that %s is nuts.",
617 op->name); 499 &op->name);
618 sprintf(buf3, "%s is eyeing %s quizzically.", pl->ob->name, 500 sprintf(buf3, "%s is eyeing %s quizzically.", &pl->ob->name,
619 op->name); 501 &op->name);
620 break; 502 break;
621 } /*case*/ 503 } /*case*/
622 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); 504 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf);
623 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, pl->ob, buf2); 505 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, pl->ob, buf2);
624 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);
625 return(0); 507 return(0);
626 } 508 }
627 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && 509 if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 &&
628 pl->ob->map == op->map && pl->ob == op) { 510 pl->ob->map == op->map && pl->ob == op) {
629 switch(emotion) { 511 switch(emotion) {
630 case EMOTE_DANCE: 512 case EMOTE_DANCE:
631 sprintf(buf, "You skip and dance around by yourself."); 513 sprintf(buf, "You skip and dance around by yourself.");
632 sprintf(buf2, "%s embraces himself and begins to dance!", 514 sprintf(buf2, "%s embraces himself and begins to dance!",
633 op->name); 515 &op->name);
634 break; 516 break;
635 case EMOTE_LAUGH: 517 case EMOTE_LAUGH:
636 sprintf(buf, "Laugh at yourself all you want, the others " 518 sprintf(buf, "Laugh at yourself all you want, the others "
637 "won't understand."); 519 "won't understand.");
638 sprintf(buf2, "%s is laughing at something.", op->name); 520 sprintf(buf2, "%s is laughing at something.", &op->name);
639 break; 521 break;
640 case EMOTE_SHAKE: 522 case EMOTE_SHAKE:
641 sprintf(buf, "You are shaken by yourself."); 523 sprintf(buf, "You are shaken by yourself.");
642 sprintf(buf2, "%s shakes and quivers like a bowlful of " 524 sprintf(buf2, "%s shakes and quivers like a bowlful of "
643 "jelly.", op->name); 525 "jelly.", &op->name);
644 break; 526 break;
645 case EMOTE_PUKE: 527 case EMOTE_PUKE:
646 sprintf(buf, "You puke on yourself."); 528 sprintf(buf, "You puke on yourself.");
647 sprintf(buf2, "%s pukes on his clothes.", op->name); 529 sprintf(buf2, "%s pukes on his clothes.", &op->name);
648 break; 530 break;
649 case EMOTE_HUG: 531 case EMOTE_HUG:
650 sprintf(buf, "You hug yourself."); 532 sprintf(buf, "You hug yourself.");
651 sprintf(buf2, "%s hugs himself.", op->name); 533 sprintf(buf2, "%s hugs himself.", &op->name);
652 break; 534 break;
653 case EMOTE_CRY: 535 case EMOTE_CRY:
654 sprintf(buf, "You cry to yourself."); 536 sprintf(buf, "You cry to yourself.");
655 sprintf(buf2, "%s sobs quietly to himself.", op->name); 537 sprintf(buf2, "%s sobs quietly to himself.", &op->name);
656 break; 538 break;
657 case EMOTE_POKE: 539 case EMOTE_POKE:
658 sprintf(buf, "You poke yourself in the ribs, feeling very" 540 sprintf(buf, "You poke yourself in the ribs, feeling very"
659 " silly."); 541 " silly.");
660 sprintf(buf2, "%s pokes himself in the ribs, looking very" 542 sprintf(buf2, "%s pokes himself in the ribs, looking very"
661 " sheepish.", op->name); 543 " sheepish.", &op->name);
662 break; 544 break;
663 case EMOTE_ACCUSE: 545 case EMOTE_ACCUSE:
664 sprintf(buf, "You accuse yourself."); 546 sprintf(buf, "You accuse yourself.");
665 sprintf(buf2, "%s seems to have a bad conscience.", 547 sprintf(buf2, "%s seems to have a bad conscience.",
666 op->name); 548 &op->name);
667 break; 549 break;
668 case EMOTE_BOW: 550 case EMOTE_BOW:
669 sprintf(buf, "You kiss your toes."); 551 sprintf(buf, "You kiss your toes.");
670 sprintf(buf2, "%s folds up like a jackknife and kisses his" 552 sprintf(buf2, "%s folds up like a jackknife and kisses his"
671 " own toes.", op->name); 553 " own toes.", &op->name);
672 break; 554 break;
673 case EMOTE_FROWN: 555 case EMOTE_FROWN:
674 sprintf(buf, "You frown at yourself."); 556 sprintf(buf, "You frown at yourself.");
675 sprintf(buf2, "%s frowns at himself.", op->name); 557 sprintf(buf2, "%s frowns at himself.", &op->name);
676 break; 558 break;
677 case EMOTE_GLARE: 559 case EMOTE_GLARE:
678 sprintf(buf, "You glare icily at your feet, they are " 560 sprintf(buf, "You glare icily at your feet, they are "
679 "suddenly very cold."); 561 "suddenly very cold.");
680 sprintf(buf2, "%s glares at his feet, what is bothering " 562 sprintf(buf2, "%s glares at his feet, what is bothering "
681 "him?", op->name); 563 "him?", &op->name);
682 break; 564 break;
683 case EMOTE_LICK: 565 case EMOTE_LICK:
684 sprintf(buf, "You lick yourself."); 566 sprintf(buf, "You lick yourself.");
685 sprintf(buf2, "%s licks himself - YUCK.", op->name); 567 sprintf(buf2, "%s licks himself - YUCK.", &op->name);
686 break; 568 break;
687 case EMOTE_SLAP: 569 case EMOTE_SLAP:
688 sprintf(buf, "You slap yourself, silly you."); 570 sprintf(buf, "You slap yourself, silly you.");
689 sprintf(buf2, "%s slaps himself, really strange...", 571 sprintf(buf2, "%s slaps himself, really strange...",
690 op->name); 572 &op->name);
691 break; 573 break;
692 case EMOTE_SNEEZE: 574 case EMOTE_SNEEZE:
693 sprintf(buf, "You sneeze on yourself, what a mess!"); 575 sprintf(buf, "You sneeze on yourself, what a mess!");
694 sprintf(buf2, "%s sneezes, and covers himself in a slimy" 576 sprintf(buf2, "%s sneezes, and covers himself in a slimy"
695 " substance.", op->name); 577 " substance.", &op->name);
696 break; 578 break;
697 case EMOTE_SNIFF: 579 case EMOTE_SNIFF:
698 sprintf(buf, "You sniff yourself."); 580 sprintf(buf, "You sniff yourself.");
699 sprintf(buf2, "%s sniffs himself.", op->name); 581 sprintf(buf2, "%s sniffs himself.", &op->name);
700 break; 582 break;
701 case EMOTE_SPIT: 583 case EMOTE_SPIT:
702 sprintf(buf, "You drool all over yourself."); 584 sprintf(buf, "You drool all over yourself.");
703 sprintf(buf2, "%s drools all over himself.", op->name); 585 sprintf(buf2, "%s drools all over himself.", &op->name);
704 break; 586 break;
705 case EMOTE_THANK: 587 case EMOTE_THANK:
706 sprintf(buf, "You thank yourself since nobody else " 588 sprintf(buf, "You thank yourself since nobody else "
707 "wants to!"); 589 "wants to!");
708 sprintf(buf2, "%s thanks himself since you won't.", 590 sprintf(buf2, "%s thanks himself since you won't.",
709 op->name); 591 &op->name);
710 break; 592 break;
711 case EMOTE_WAVE: 593 case EMOTE_WAVE:
712 sprintf(buf, "Are you going on adventures as well??"); 594 sprintf(buf, "Are you going on adventures as well??");
713 sprintf(buf2, "%s waves goodbye to himself.", op->name); 595 sprintf(buf2, "%s waves goodbye to himself.", &op->name);
714 break; 596 break;
715 case EMOTE_WHISTLE: 597 case EMOTE_WHISTLE:
716 sprintf(buf, "You whistle while you work."); 598 sprintf(buf, "You whistle while you work.");
717 sprintf(buf2, "%s whistles to himself in boredom.", 599 sprintf(buf2, "%s whistles to himself in boredom.",
718 op->name); 600 &op->name);
719 break; 601 break;
720 case EMOTE_WINK: 602 case EMOTE_WINK:
721 sprintf(buf, "You wink at yourself?? What are you up to?"); 603 sprintf(buf, "You wink at yourself?? What are you up to?");
722 sprintf(buf2, "%s winks at himself - something strange " 604 sprintf(buf2, "%s winks at himself - something strange "
723 "is going on...", op->name); 605 "is going on...", &op->name);
724 break; 606 break;
725 case EMOTE_BLEED: 607 case EMOTE_BLEED:
726 sprintf(buf, "Very impressive! You wipe your blood all " 608 sprintf(buf, "Very impressive! You wipe your blood all "
727 "over yourself."); 609 "over yourself.");
728 sprintf(buf2, "%s performs some satanic ritual while " 610 sprintf(buf2, "%s performs some satanic ritual while "
729 "wiping his blood on himself.", op->name); 611 "wiping his blood on himself.", &op->name);
730 break; 612 break;
731 default: 613 default:
732 sprintf(buf, "My god! is that LEGAL?"); 614 sprintf(buf, "My god! is that LEGAL?");
733 sprintf(buf2, "You look away from %s.", op->name); 615 sprintf(buf2, "You look away from %s.", &op->name);
734 break; 616 break;
735 }/*case*/ 617 }/*case*/
736 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); 618 new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf);
737 new_info_map_except(NDI_WHITE, op->map, op, buf2); 619 new_info_map_except(NDI_WHITE, op->map, op, buf2);
738 return(0); 620 return(0);
739 }/*if self*/ 621 }/*if self*/
740 }/*for*/ 622 }/*for*/
741 new_draw_info_format(NDI_UNIQUE, 0, op, "%s is not around.", params); 623 new_draw_info_format(NDI_UNIQUE, 0, op, "%s is not around.", params);
742 return(1); 624 return(1);
743 } /*else*/ 625 } /*else*/
744 626
745 return(0); 627 return(0);
746} 628}
747 629

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines