1 |
/* |
2 |
* static char *rcsid_c_chat_c = |
3 |
* "$Id: c_chat.C,v 1.2 2006-08-29 05:03:55 root Exp $"; |
4 |
*/ |
5 |
|
6 |
/* |
7 |
CrossFire, A Multiplayer game for X-windows |
8 |
|
9 |
Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
10 |
Copyright (C) 1992 Frank Tore Johansen |
11 |
|
12 |
This program is free software; you can redistribute it and/or modify |
13 |
it under the terms of the GNU General Public License as published by |
14 |
the Free Software Foundation; either version 2 of the License, or |
15 |
(at your option) any later version. |
16 |
|
17 |
This program is distributed in the hope that it will be useful, |
18 |
but WITHOUT ANY WARRANTY; without even the implied warranty of |
19 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
20 |
GNU General Public License for more details. |
21 |
|
22 |
You should have received a copy of the GNU General Public License |
23 |
along with this program; if not, write to the Free Software |
24 |
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
25 |
|
26 |
The authors can be reached via e-mail at crossfire-devel@real-time.com |
27 |
*/ |
28 |
|
29 |
#include <global.h> |
30 |
#include <loader.h> |
31 |
#include <sproto.h> |
32 |
|
33 |
int command_me (object *op, char *params) |
34 |
{ |
35 |
char buf[MAX_BUF]; |
36 |
|
37 |
if (!params) return 0; |
38 |
snprintf(buf, MAX_BUF-1, "%s %s",op->name, params); |
39 |
new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); |
40 |
|
41 |
return 0; |
42 |
} |
43 |
|
44 |
|
45 |
int command_cointoss(object *op, char *params) |
46 |
{ |
47 |
char buf[MAX_BUF]; |
48 |
char buf2[MAX_BUF]; |
49 |
int i; |
50 |
|
51 |
i = rndm(1, 2); |
52 |
if (i == 1) { |
53 |
snprintf(buf, MAX_BUF-1, "%s flips a coin.... Heads!", op->name); |
54 |
snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!"); |
55 |
} else { |
56 |
snprintf(buf, MAX_BUF-1, "%s flips a coin.... Tails!", op->name); |
57 |
snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!"); |
58 |
} |
59 |
new_draw_info(NDI_UNIQUE, 0, op, buf2); |
60 |
new_info_map_except(NDI_WHITE, op->map, op, buf); |
61 |
return 0; |
62 |
} |
63 |
|
64 |
static const char* const orcknuckle[7] = {"none", "beholder", "ghost", "knight", |
65 |
"princess", "dragon", "orc"}; |
66 |
|
67 |
int command_orcknuckle(object *op, char *params) |
68 |
{ |
69 |
char buf[MAX_BUF]; |
70 |
char buf2[MAX_BUF]; |
71 |
int i, j, k, l; |
72 |
|
73 |
i = rndm(1, 5); |
74 |
j = rndm(1, 5); |
75 |
k = rndm(1, 5); |
76 |
l = rndm(1, 6); |
77 |
|
78 |
snprintf(buf2, MAX_BUF-1, "%s rolls %s, %s, %s, %s!", op->name, |
79 |
orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
80 |
snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!", |
81 |
orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
82 |
new_draw_info(NDI_UNIQUE, 0, op, buf); |
83 |
new_info_map_except(NDI_UNIQUE, op->map, op, buf2); |
84 |
return 0; |
85 |
} |
86 |
|
87 |
/* |
88 |
* This function covers basic emotions a player can have. An emotion can be |
89 |
* one of three things currently. Directed at oneself, directed at someone, |
90 |
* or directed at nobody. The first set is nobody, the second at someone, and |
91 |
* the third is directed at oneself. Every emotion does not have to be |
92 |
* filled out in every category. The default case will take care of the ones |
93 |
* that are not. Helper functions will call basic_emote with the proper |
94 |
* arguments, translating them into commands. Adding a new emotion can be |
95 |
* done by editing command.c and command.h. |
96 |
* [garbled 09-25-2001] |
97 |
*/ |
98 |
|
99 |
static int basic_emote(object *op, char *params, int emotion) |
100 |
{ |
101 |
char buf[MAX_BUF], buf2[MAX_BUF], buf3[MAX_BUF]; |
102 |
player *pl; |
103 |
|
104 |
if (!params) { |
105 |
switch(emotion) { |
106 |
case EMOTE_NOD: |
107 |
sprintf(buf, "%s nods solemnly.", op->name); |
108 |
sprintf(buf2, "You nod solemnly."); |
109 |
break; |
110 |
case EMOTE_DANCE: |
111 |
sprintf(buf, "%s expresses himself through interpretive dance.", |
112 |
op->name); |
113 |
sprintf(buf2, "You dance with glee."); |
114 |
break; |
115 |
case EMOTE_KISS: |
116 |
sprintf(buf, "%s makes a weird facial contortion", op->name); |
117 |
sprintf(buf2, "All the lonely people.."); |
118 |
break; |
119 |
case EMOTE_BOUNCE: |
120 |
sprintf(buf, "%s bounces around.", op->name); |
121 |
sprintf(buf2, "BOIINNNNNNGG!"); |
122 |
break; |
123 |
case EMOTE_SMILE: |
124 |
sprintf(buf, "%s smiles happily.", op->name); |
125 |
sprintf(buf2, "You smile happily."); |
126 |
break; |
127 |
case EMOTE_CACKLE: |
128 |
sprintf(buf, "%s throws back his head and cackles with insane " |
129 |
"glee!", op->name); |
130 |
sprintf(buf2, "You cackle gleefully."); |
131 |
break; |
132 |
case EMOTE_LAUGH: |
133 |
sprintf(buf, "%s falls down laughing.", op->name); |
134 |
sprintf(buf2, "You fall down laughing."); |
135 |
break; |
136 |
case EMOTE_GIGGLE: |
137 |
sprintf(buf, "%s giggles.", op->name); |
138 |
sprintf(buf2, "You giggle."); |
139 |
break; |
140 |
case EMOTE_SHAKE: |
141 |
sprintf(buf, "%s shakes his head.", op->name); |
142 |
sprintf(buf2, "You shake your head."); |
143 |
break; |
144 |
case EMOTE_PUKE: |
145 |
sprintf(buf, "%s pukes.", op->name); |
146 |
sprintf(buf2, "Bleaaaaaghhhhhhh!"); |
147 |
break; |
148 |
case EMOTE_GROWL: |
149 |
sprintf(buf, "%s growls.", op->name); |
150 |
sprintf(buf2, "Grrrrrrrrr...."); |
151 |
break; |
152 |
case EMOTE_SCREAM: |
153 |
sprintf(buf, "%s screams at the top of his lungs!", op->name); |
154 |
sprintf(buf2, "ARRRRRRRRRRGH!!!!!"); |
155 |
break; |
156 |
case EMOTE_SIGH: |
157 |
sprintf(buf, "%s sighs loudly.", op->name); |
158 |
sprintf(buf2, "You sigh."); |
159 |
break; |
160 |
case EMOTE_SULK: |
161 |
sprintf(buf, "%s sulks in the corner.", op->name); |
162 |
sprintf(buf2, "You sulk."); |
163 |
break; |
164 |
case EMOTE_CRY: |
165 |
sprintf(buf, "%s bursts into tears.", op->name); |
166 |
sprintf(buf2, "Waaaaaaahhh.."); |
167 |
break; |
168 |
case EMOTE_GRIN: |
169 |
sprintf(buf, "%s grins evilly.", op->name); |
170 |
sprintf(buf2, "You grin evilly."); |
171 |
break; |
172 |
case EMOTE_BOW: |
173 |
sprintf(buf, "%s bows deeply.", op->name); |
174 |
sprintf(buf2, "You bow deeply."); |
175 |
break; |
176 |
case EMOTE_CLAP: |
177 |
sprintf(buf, "%s gives a round of applause.", op->name); |
178 |
sprintf(buf2, "Clap, clap, clap."); |
179 |
break; |
180 |
case EMOTE_BLUSH: |
181 |
sprintf(buf, "%s blushes.", op->name); |
182 |
sprintf(buf2, "Your cheeks are burning."); |
183 |
break; |
184 |
case EMOTE_BURP: |
185 |
sprintf(buf, "%s burps loudly.", op->name); |
186 |
sprintf(buf2, "You burp loudly."); |
187 |
break; |
188 |
case EMOTE_CHUCKLE: |
189 |
sprintf(buf, "%s chuckles politely.", op->name); |
190 |
sprintf(buf2, "You chuckle politely"); |
191 |
break; |
192 |
case EMOTE_COUGH: |
193 |
sprintf(buf, "%s coughs loudly.", op->name); |
194 |
sprintf(buf2, "Yuck, try to cover your mouth next time!"); |
195 |
break; |
196 |
case EMOTE_FLIP: |
197 |
sprintf(buf, "%s flips head over heels.", op->name); |
198 |
sprintf(buf2, "You flip head over heels."); |
199 |
break; |
200 |
case EMOTE_FROWN: |
201 |
sprintf(buf, "%s frowns.", op->name); |
202 |
sprintf(buf2, "What's bothering you?"); |
203 |
break; |
204 |
case EMOTE_GASP: |
205 |
sprintf(buf, "%s gasps in astonishment.", op->name); |
206 |
sprintf(buf2, "You gasp in astonishment."); |
207 |
break; |
208 |
case EMOTE_GLARE: |
209 |
sprintf(buf, "%s glares around him.", op->name); |
210 |
sprintf(buf2, "You glare at nothing in particular."); |
211 |
break; |
212 |
case EMOTE_GROAN: |
213 |
sprintf(buf, "%s groans loudly.", op->name); |
214 |
sprintf(buf2, "You groan loudly."); |
215 |
break; |
216 |
case EMOTE_HICCUP: |
217 |
sprintf(buf, "%s hiccups.", op->name); |
218 |
sprintf(buf2, "*HIC*"); |
219 |
break; |
220 |
case EMOTE_LICK: |
221 |
sprintf(buf, "%s licks his mouth and smiles.", op->name); |
222 |
sprintf(buf2, "You lick your mouth and smile."); |
223 |
break; |
224 |
case EMOTE_POUT: |
225 |
sprintf(buf, "%s pouts.", op->name); |
226 |
sprintf(buf2, "Aww, don't take it so hard."); |
227 |
break; |
228 |
case EMOTE_SHIVER: |
229 |
sprintf(buf, "%s shivers uncomfortably.", op->name); |
230 |
sprintf(buf2, "Brrrrrrrrr."); |
231 |
break; |
232 |
case EMOTE_SHRUG: |
233 |
sprintf(buf, "%s shrugs helplessly.", op->name); |
234 |
sprintf(buf2, "You shrug."); |
235 |
break; |
236 |
case EMOTE_SMIRK: |
237 |
sprintf(buf, "%s smirks.", op->name); |
238 |
sprintf(buf2, "You smirk."); |
239 |
break; |
240 |
case EMOTE_SNAP: |
241 |
sprintf(buf, "%s snaps his fingers.", op->name); |
242 |
sprintf(buf2, "PRONTO! You snap your fingers."); |
243 |
break; |
244 |
case EMOTE_SNEEZE: |
245 |
sprintf(buf, "%s sneezes.", op->name); |
246 |
sprintf(buf2, "Gesundheit!"); |
247 |
break; |
248 |
case EMOTE_SNICKER: |
249 |
sprintf(buf, "%s snickers softly.", op->name); |
250 |
sprintf(buf2, "You snicker softly."); |
251 |
break; |
252 |
case EMOTE_SNIFF: |
253 |
sprintf(buf, "%s sniffs sadly.", op->name); |
254 |
sprintf(buf2, "You sniff sadly. *SNIFF*"); |
255 |
break; |
256 |
case EMOTE_SNORE: |
257 |
sprintf(buf, "%s snores loudly.", op->name); |
258 |
sprintf(buf2, "Zzzzzzzzzzzzzzz."); |
259 |
break; |
260 |
case EMOTE_SPIT: |
261 |
sprintf(buf, "%s spits over his left shoulder.", op->name); |
262 |
sprintf(buf2, "You spit over your left shoulder."); |
263 |
break; |
264 |
case EMOTE_STRUT: |
265 |
sprintf(buf, "%s struts proudly.", op->name); |
266 |
sprintf(buf2, "Strut your stuff."); |
267 |
break; |
268 |
case EMOTE_TWIDDLE: |
269 |
sprintf(buf, "%s patiently twiddles his thumbs.", op->name); |
270 |
sprintf(buf2, "You patiently twiddle your thumbs."); |
271 |
break; |
272 |
case EMOTE_WAVE: |
273 |
sprintf(buf, "%s waves happily.", op->name); |
274 |
sprintf(buf2, "You wave."); |
275 |
break; |
276 |
case EMOTE_WHISTLE: |
277 |
sprintf(buf, "%s whistles appreciatively.", op->name); |
278 |
sprintf(buf2, "You whistle appreciatively."); |
279 |
break; |
280 |
case EMOTE_WINK: |
281 |
sprintf(buf, "%s winks suggestively.", op->name); |
282 |
sprintf(buf2, "Have you got something in your eye?"); |
283 |
break; |
284 |
case EMOTE_YAWN: |
285 |
sprintf(buf, "%s yawns sleepily.", op->name); |
286 |
sprintf(buf2, "You open up your yap and let out a big breeze " |
287 |
"of stale air."); |
288 |
break; |
289 |
case EMOTE_CRINGE: |
290 |
sprintf(buf, "%s cringes in terror!", op->name); |
291 |
sprintf(buf2, "You cringe in terror."); |
292 |
break; |
293 |
case EMOTE_BLEED: |
294 |
sprintf(buf, "%s is bleeding all over the carpet" |
295 |
" - got a spare tourniquet?", op->name); |
296 |
sprintf(buf2, "You bleed all over your nice new armour."); |
297 |
break; |
298 |
case EMOTE_THINK: |
299 |
sprintf(buf, "%s closes his eyes and thinks really hard.", |
300 |
op->name); |
301 |
sprintf(buf2, "Anything in particular that you'd care to think " |
302 |
"about?"); |
303 |
break; |
304 |
default: |
305 |
sprintf(buf, "%s dances with glee.", op->name); |
306 |
sprintf(buf2, "You are a nut."); |
307 |
break; |
308 |
} /*case*/ |
309 |
new_info_map_except(NDI_WHITE, op->map, op, buf); |
310 |
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2); |
311 |
return(0); |
312 |
} else { |
313 |
for(pl=first_player;pl!=NULL;pl=pl->next) { |
314 |
if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && |
315 |
pl->ob->map == op->map && pl->ob != op &&
|
316 |
!(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) {
|
317 |
/* Hidden dms are not affected by emotions*/
|
318 |
switch(emotion) { |
319 |
case EMOTE_NOD: |
320 |
sprintf(buf, "You nod solemnly to %s.", pl->ob->name); |
321 |
sprintf(buf2, "%s nods solemnly to you.", op->name); |
322 |
sprintf(buf3, "%s nods solemnly to %s.", op->name, |
323 |
pl->ob->name); |
324 |
break; |
325 |
case EMOTE_DANCE: |
326 |
sprintf(buf, "You grab %s and begin doing the Cha-Cha!", |
327 |
pl->ob->name); |
328 |
sprintf(buf2, "%s grabs you, and begins dancing!", |
329 |
op->name); |
330 |
sprintf(buf3, "Yipe! %s and %s are doing the Macarena!", |
331 |
op->name, pl->ob->name); |
332 |
break; |
333 |
case EMOTE_KISS: |
334 |
sprintf(buf, "You kiss %s.", pl->ob->name); |
335 |
sprintf(buf2, "%s kisses you.", op->name); |
336 |
sprintf(buf3, "%s kisses %s.", op->name, pl->ob->name); |
337 |
break; |
338 |
case EMOTE_BOUNCE: |
339 |
sprintf(buf, "You bounce around the room with %s.", |
340 |
pl->ob->name); |
341 |
sprintf(buf2, "%s bounces around the room with you.", |
342 |
op->name); |
343 |
sprintf(buf3, "%s bounces around the room with %s.", |
344 |
op->name, pl->ob->name); |
345 |
break; |
346 |
case EMOTE_SMILE: |
347 |
sprintf(buf, "You smile at %s.", pl->ob->name); |
348 |
sprintf(buf2, "%s smiles at you.", op->name); |
349 |
sprintf(buf3, "%s beams a smile at %s.", op->name, |
350 |
pl->ob->name); |
351 |
break; |
352 |
case EMOTE_LAUGH: |
353 |
sprintf(buf, "You take one look at %s and fall down " |
354 |
"laughing.", pl->ob->name); |
355 |
sprintf(buf2, "%s looks at you and falls down on the " |
356 |
"ground laughing.", op->name); |
357 |
sprintf(buf3, "%s looks at %s and falls down on the " |
358 |
"ground laughing.", op->name, pl->ob->name); |
359 |
break; |
360 |
case EMOTE_SHAKE: |
361 |
sprintf(buf, "You shake %s's hand.", pl->ob->name); |
362 |
sprintf(buf2, "%s shakes your hand.", op->name); |
363 |
sprintf(buf3, "%s shakes %s's hand.", op->name, |
364 |
pl->ob->name); |
365 |
break; |
366 |
case EMOTE_PUKE: |
367 |
sprintf(buf, "You puke on %s.", pl->ob->name); |
368 |
sprintf(buf2, "%s pukes on your clothes!", op->name); |
369 |
sprintf(buf3, "%s pukes on %s.", op->name, pl->ob->name); |
370 |
break; |
371 |
case EMOTE_HUG: |
372 |
sprintf(buf, "You hug %s.", pl->ob->name); |
373 |
sprintf(buf2, "%s hugs you.", op->name); |
374 |
sprintf(buf3, "%s hugs %s.", op->name, pl->ob->name); |
375 |
break; |
376 |
case EMOTE_CRY: |
377 |
sprintf(buf, "You cry on %s's shoulder.", pl->ob->name); |
378 |
sprintf(buf2, "%s cries on your shoulder.", op->name); |
379 |
sprintf(buf3, "%s cries on %s's shoulder.", op->name, |
380 |
pl->ob->name); |
381 |
break; |
382 |
case EMOTE_POKE: |
383 |
sprintf(buf, "You poke %s in the ribs.", pl->ob->name); |
384 |
sprintf(buf2, "%s pokes you in the ribs.", op->name); |
385 |
sprintf(buf3, "%s pokes %s in the ribs.", op->name, |
386 |
pl->ob->name); |
387 |
break; |
388 |
case EMOTE_ACCUSE: |
389 |
sprintf(buf, "You look accusingly at %s.", pl->ob->name); |
390 |
sprintf(buf2, "%s looks accusingly at you.", op->name); |
391 |
sprintf(buf3, "%s looks accusingly at %s.", op->name, |
392 |
pl->ob->name); |
393 |
break; |
394 |
case EMOTE_GRIN: |
395 |
sprintf(buf, "You grin at %s.", pl->ob->name); |
396 |
sprintf(buf2, "%s grins evilly at you.", op->name); |
397 |
sprintf(buf3, "%s grins evilly at %s.", op->name, |
398 |
pl->ob->name); |
399 |
break; |
400 |
case EMOTE_BOW: |
401 |
sprintf(buf, "You bow before %s.", pl->ob->name); |
402 |
sprintf(buf2, "%s bows before you.", op->name); |
403 |
sprintf(buf3, "%s bows before %s.", op->name, |
404 |
pl->ob->name); |
405 |
break; |
406 |
case EMOTE_FROWN: |
407 |
sprintf(buf, "You frown darkly at %s.", pl->ob->name); |
408 |
sprintf(buf2, "%s frowns darkly at you.", op->name); |
409 |
sprintf(buf3, "%s frowns darkly at %s.", op->name, |
410 |
pl->ob->name); |
411 |
break; |
412 |
case EMOTE_GLARE: |
413 |
sprintf(buf, "You glare icily at %s.", pl->ob->name); |
414 |
sprintf(buf2, "%s glares icily at you, you feel cold to" |
415 |
" your bones.", op->name); |
416 |
sprintf(buf3, "%s glares at %s.", op->name, pl->ob->name); |
417 |
break; |
418 |
case EMOTE_LICK: |
419 |
sprintf(buf, "You lick %s.", pl->ob->name); |
420 |
sprintf(buf2, "%s licks you.", op->name); |
421 |
sprintf(buf3, "%s licks %s.", op->name, pl->ob->name); |
422 |
break; |
423 |
case EMOTE_SHRUG: |
424 |
sprintf(buf, "You shrug at %s.", pl->ob->name); |
425 |
sprintf(buf2, "%s shrugs at you.", op->name); |
426 |
sprintf(buf3, "%s shrugs at %s.", op->name, pl->ob->name); |
427 |
break; |
428 |
case EMOTE_SLAP: |
429 |
sprintf(buf, "You slap %s.", pl->ob->name); |
430 |
sprintf(buf2, "You are slapped by %s.", op->name); |
431 |
sprintf(buf3, "%s slaps %s.", op->name, pl->ob->name); |
432 |
break; |
433 |
case EMOTE_SNEEZE: |
434 |
sprintf(buf, "You sneeze at %s and a film of snot shoots" |
435 |
" onto him.", pl->ob->name); |
436 |
sprintf(buf2, "%s sneezes on you, you feel the snot cover" |
437 |
" you. EEEEEEW.", op->name); |
438 |
sprintf(buf3, "%s sneezes on %s and a film of snot covers" |
439 |
" him.", op->name, pl->ob->name); |
440 |
break; |
441 |
case EMOTE_SNIFF: |
442 |
sprintf(buf, "You sniff %s.", pl->ob->name); |
443 |
sprintf(buf2, "%s sniffs you.", op->name); |
444 |
sprintf(buf3, "%s sniffs %s", op->name, pl->ob->name); |
445 |
break; |
446 |
case EMOTE_SPIT: |
447 |
sprintf(buf, "You spit on %s.", pl->ob->name); |
448 |
sprintf(buf2, "%s spits in your face!", op->name); |
449 |
sprintf(buf3, "%s spits in %s's face.", op->name, |
450 |
pl->ob->name); |
451 |
break; |
452 |
case EMOTE_THANK: |
453 |
sprintf(buf, "You thank %s heartily.", pl->ob->name); |
454 |
sprintf(buf2, "%s thanks you heartily.", op->name); |
455 |
sprintf(buf3, "%s thanks %s heartily.", op->name, |
456 |
pl->ob->name); |
457 |
break; |
458 |
case EMOTE_WAVE: |
459 |
sprintf(buf, "You wave goodbye to %s.", pl->ob->name); |
460 |
sprintf(buf2, "%s waves goodbye to you. Have a good" |
461 |
" journey.", op->name); |
462 |
sprintf(buf3, "%s waves goodbye to %s.", op->name, |
463 |
pl->ob->name); |
464 |
break; |
465 |
case EMOTE_WHISTLE: |
466 |
sprintf(buf, "You whistle at %s.", pl->ob->name); |
467 |
sprintf(buf2, "%s whistles at you.", op->name); |
468 |
sprintf(buf2, "%s whistles at %s.", op->name, pl->ob->name); |
469 |
break; |
470 |
case EMOTE_WINK: |
471 |
sprintf(buf, "You wink suggestively at %s.", pl->ob->name); |
472 |
sprintf(buf2, "%s winks suggestively at you.", op->name); |
473 |
sprintf(buf2, "%s winks at %s.", op->name, pl->ob->name); |
474 |
break; |
475 |
case EMOTE_BEG: |
476 |
sprintf(buf, "You beg %s for mercy.", pl->ob->name); |
477 |
sprintf(buf2, "%s begs you for mercy! Show no quarter!", |
478 |
op->name); |
479 |
sprintf(buf2, "%s begs %s for mercy!", op->name, |
480 |
pl->ob->name); |
481 |
break; |
482 |
case EMOTE_BLEED: |
483 |
sprintf(buf, "You slash your wrist and bleed all over %s", |
484 |
pl->ob->name); |
485 |
sprintf(buf2, "%s slashes his wrist and bleeds all over" |
486 |
" you.", op->name); |
487 |
sprintf(buf2, "%s slashes his wrist and bleeds all " |
488 |
"over %s.", op->name, pl->ob->name); |
489 |
break; |
490 |
case EMOTE_CRINGE: |
491 |
sprintf(buf, "You cringe away from %s.", pl->ob->name); |
492 |
sprintf(buf2, "%s cringes away from you.", op->name); |
493 |
sprintf(buf2, "%s cringes away from %s in mortal terror.", |
494 |
op->name, pl->ob->name); |
495 |
break; |
496 |
default: |
497 |
sprintf(buf, "You are still nuts."); |
498 |
sprintf(buf2, "You get the distinct feeling that %s is nuts.", |
499 |
op->name); |
500 |
sprintf(buf3, "%s is eyeing %s quizzically.", pl->ob->name, |
501 |
op->name); |
502 |
break; |
503 |
} /*case*/ |
504 |
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); |
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); |
507 |
return(0); |
508 |
} |
509 |
if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && |
510 |
pl->ob->map == op->map && pl->ob == op) { |
511 |
switch(emotion) { |
512 |
case EMOTE_DANCE: |
513 |
sprintf(buf, "You skip and dance around by yourself."); |
514 |
sprintf(buf2, "%s embraces himself and begins to dance!", |
515 |
op->name); |
516 |
break; |
517 |
case EMOTE_LAUGH: |
518 |
sprintf(buf, "Laugh at yourself all you want, the others " |
519 |
"won't understand."); |
520 |
sprintf(buf2, "%s is laughing at something.", op->name); |
521 |
break; |
522 |
case EMOTE_SHAKE: |
523 |
sprintf(buf, "You are shaken by yourself."); |
524 |
sprintf(buf2, "%s shakes and quivers like a bowlful of " |
525 |
"jelly.", op->name); |
526 |
break; |
527 |
case EMOTE_PUKE: |
528 |
sprintf(buf, "You puke on yourself."); |
529 |
sprintf(buf2, "%s pukes on his clothes.", op->name); |
530 |
break; |
531 |
case EMOTE_HUG: |
532 |
sprintf(buf, "You hug yourself."); |
533 |
sprintf(buf2, "%s hugs himself.", op->name); |
534 |
break; |
535 |
case EMOTE_CRY: |
536 |
sprintf(buf, "You cry to yourself."); |
537 |
sprintf(buf2, "%s sobs quietly to himself.", op->name); |
538 |
break; |
539 |
case EMOTE_POKE: |
540 |
sprintf(buf, "You poke yourself in the ribs, feeling very" |
541 |
" silly."); |
542 |
sprintf(buf2, "%s pokes himself in the ribs, looking very" |
543 |
" sheepish.", op->name); |
544 |
break; |
545 |
case EMOTE_ACCUSE: |
546 |
sprintf(buf, "You accuse yourself."); |
547 |
sprintf(buf2, "%s seems to have a bad conscience.", |
548 |
op->name); |
549 |
break; |
550 |
case EMOTE_BOW: |
551 |
sprintf(buf, "You kiss your toes."); |
552 |
sprintf(buf2, "%s folds up like a jackknife and kisses his" |
553 |
" own toes.", op->name); |
554 |
break; |
555 |
case EMOTE_FROWN: |
556 |
sprintf(buf, "You frown at yourself."); |
557 |
sprintf(buf2, "%s frowns at himself.", op->name); |
558 |
break; |
559 |
case EMOTE_GLARE: |
560 |
sprintf(buf, "You glare icily at your feet, they are " |
561 |
"suddenly very cold."); |
562 |
sprintf(buf2, "%s glares at his feet, what is bothering " |
563 |
"him?", op->name); |
564 |
break; |
565 |
case EMOTE_LICK: |
566 |
sprintf(buf, "You lick yourself."); |
567 |
sprintf(buf2, "%s licks himself - YUCK.", op->name); |
568 |
break; |
569 |
case EMOTE_SLAP: |
570 |
sprintf(buf, "You slap yourself, silly you."); |
571 |
sprintf(buf2, "%s slaps himself, really strange...", |
572 |
op->name); |
573 |
break; |
574 |
case EMOTE_SNEEZE: |
575 |
sprintf(buf, "You sneeze on yourself, what a mess!"); |
576 |
sprintf(buf2, "%s sneezes, and covers himself in a slimy" |
577 |
" substance.", op->name); |
578 |
break; |
579 |
case EMOTE_SNIFF: |
580 |
sprintf(buf, "You sniff yourself."); |
581 |
sprintf(buf2, "%s sniffs himself.", op->name); |
582 |
break; |
583 |
case EMOTE_SPIT: |
584 |
sprintf(buf, "You drool all over yourself."); |
585 |
sprintf(buf2, "%s drools all over himself.", op->name); |
586 |
break; |
587 |
case EMOTE_THANK: |
588 |
sprintf(buf, "You thank yourself since nobody else " |
589 |
"wants to!"); |
590 |
sprintf(buf2, "%s thanks himself since you won't.", |
591 |
op->name); |
592 |
break; |
593 |
case EMOTE_WAVE: |
594 |
sprintf(buf, "Are you going on adventures as well??"); |
595 |
sprintf(buf2, "%s waves goodbye to himself.", op->name); |
596 |
break; |
597 |
case EMOTE_WHISTLE: |
598 |
sprintf(buf, "You whistle while you work."); |
599 |
sprintf(buf2, "%s whistles to himself in boredom.", |
600 |
op->name); |
601 |
break; |
602 |
case EMOTE_WINK: |
603 |
sprintf(buf, "You wink at yourself?? What are you up to?"); |
604 |
sprintf(buf2, "%s winks at himself - something strange " |
605 |
"is going on...", op->name); |
606 |
break; |
607 |
case EMOTE_BLEED: |
608 |
sprintf(buf, "Very impressive! You wipe your blood all " |
609 |
"over yourself."); |
610 |
sprintf(buf2, "%s performs some satanic ritual while " |
611 |
"wiping his blood on himself.", op->name); |
612 |
break; |
613 |
default: |
614 |
sprintf(buf, "My god! is that LEGAL?"); |
615 |
sprintf(buf2, "You look away from %s.", op->name); |
616 |
break; |
617 |
}/*case*/ |
618 |
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); |
619 |
new_info_map_except(NDI_WHITE, op->map, op, buf2); |
620 |
return(0); |
621 |
}/*if self*/ |
622 |
}/*for*/ |
623 |
new_draw_info_format(NDI_UNIQUE, 0, op, "%s is not around.", params); |
624 |
return(1); |
625 |
} /*else*/ |
626 |
|
627 |
return(0); |
628 |
} |
629 |
|
630 |
/* |
631 |
* everything from here on out are just wrapper calls to basic_emote |
632 |
*/ |
633 |
|
634 |
int command_nod(object *op, char *params) |
635 |
{ |
636 |
return(basic_emote(op, params, EMOTE_NOD)); |
637 |
} |
638 |
|
639 |
int command_dance(object *op, char *params) |
640 |
{ |
641 |
return(basic_emote(op, params, EMOTE_DANCE)); |
642 |
} |
643 |
|
644 |
int command_kiss(object *op, char *params) |
645 |
{ |
646 |
return(basic_emote(op, params, EMOTE_KISS)); |
647 |
} |
648 |
|
649 |
int command_bounce(object *op, char *params) |
650 |
{ |
651 |
return(basic_emote(op, params, EMOTE_BOUNCE)); |
652 |
} |
653 |
|
654 |
int command_smile(object *op, char *params) |
655 |
{ |
656 |
return(basic_emote(op, params, EMOTE_SMILE)); |
657 |
} |
658 |
|
659 |
int command_cackle(object *op, char *params) |
660 |
{ |
661 |
return(basic_emote(op, params, EMOTE_CACKLE)); |
662 |
} |
663 |
|
664 |
int command_laugh(object *op, char *params) |
665 |
{ |
666 |
return(basic_emote(op, params, EMOTE_LAUGH)); |
667 |
} |
668 |
|
669 |
int command_giggle(object *op, char *params) |
670 |
{ |
671 |
return(basic_emote(op, params, EMOTE_GIGGLE)); |
672 |
} |
673 |
|
674 |
int command_shake(object *op, char *params) |
675 |
{ |
676 |
return(basic_emote(op, params, EMOTE_SHAKE)); |
677 |
} |
678 |
|
679 |
int command_puke(object *op, char *params) |
680 |
{ |
681 |
return(basic_emote(op, params, EMOTE_PUKE)); |
682 |
} |
683 |
|
684 |
int command_growl(object *op, char *params) |
685 |
{ |
686 |
return(basic_emote(op, params, EMOTE_GROWL)); |
687 |
} |
688 |
|
689 |
int command_scream(object *op, char *params) |
690 |
{ |
691 |
return(basic_emote(op, params, EMOTE_SCREAM)); |
692 |
} |
693 |
|
694 |
int command_sigh(object *op, char *params) |
695 |
{ |
696 |
return(basic_emote(op, params, EMOTE_SIGH)); |
697 |
} |
698 |
|
699 |
int command_sulk(object *op, char *params) |
700 |
{ |
701 |
return(basic_emote(op, params, EMOTE_SULK)); |
702 |
} |
703 |
|
704 |
int command_hug(object *op, char *params) |
705 |
{ |
706 |
return(basic_emote(op, params, EMOTE_HUG)); |
707 |
} |
708 |
|
709 |
int command_cry(object *op, char *params) |
710 |
{ |
711 |
return(basic_emote(op, params, EMOTE_CRY)); |
712 |
} |
713 |
|
714 |
int command_poke(object *op, char *params) |
715 |
{ |
716 |
return(basic_emote(op, params, EMOTE_POKE)); |
717 |
} |
718 |
|
719 |
int command_accuse(object *op, char *params) |
720 |
{ |
721 |
return(basic_emote(op, params, EMOTE_ACCUSE)); |
722 |
} |
723 |
|
724 |
int command_grin(object *op, char *params) |
725 |
{ |
726 |
return(basic_emote(op, params, EMOTE_GRIN)); |
727 |
} |
728 |
|
729 |
int command_bow(object *op, char *params) |
730 |
{ |
731 |
return(basic_emote(op, params, EMOTE_BOW)); |
732 |
} |
733 |
|
734 |
int command_clap(object *op, char *params) |
735 |
{ |
736 |
return(basic_emote(op, params, EMOTE_CLAP)); |
737 |
} |
738 |
|
739 |
int command_blush(object *op, char *params) |
740 |
{ |
741 |
return(basic_emote(op, params, EMOTE_BLUSH)); |
742 |
} |
743 |
|
744 |
int command_burp(object *op, char *params) |
745 |
{ |
746 |
return(basic_emote(op, params, EMOTE_BURP)); |
747 |
} |
748 |
|
749 |
int command_chuckle(object *op, char *params) |
750 |
{ |
751 |
return(basic_emote(op, params, EMOTE_CHUCKLE)); |
752 |
} |
753 |
|
754 |
int command_cough(object *op, char *params) |
755 |
{ |
756 |
return(basic_emote(op, params, EMOTE_COUGH)); |
757 |
} |
758 |
|
759 |
int command_flip(object *op, char *params) |
760 |
{ |
761 |
return(basic_emote(op, params, EMOTE_FLIP)); |
762 |
} |
763 |
|
764 |
int command_frown(object *op, char *params) |
765 |
{ |
766 |
return(basic_emote(op, params, EMOTE_FROWN)); |
767 |
} |
768 |
|
769 |
int command_gasp(object *op, char *params) |
770 |
{ |
771 |
return(basic_emote(op, params, EMOTE_GASP)); |
772 |
} |
773 |
|
774 |
int command_glare(object *op, char *params) |
775 |
{ |
776 |
return(basic_emote(op, params, EMOTE_GLARE)); |
777 |
} |
778 |
|
779 |
int command_groan(object *op, char *params) |
780 |
{ |
781 |
return(basic_emote(op, params, EMOTE_GROAN)); |
782 |
} |
783 |
|
784 |
int command_hiccup(object *op, char *params) |
785 |
{ |
786 |
return(basic_emote(op, params, EMOTE_HICCUP)); |
787 |
} |
788 |
|
789 |
int command_lick(object *op, char *params) |
790 |
{ |
791 |
return(basic_emote(op, params, EMOTE_LICK)); |
792 |
} |
793 |
|
794 |
int command_pout(object *op, char *params) |
795 |
{ |
796 |
return(basic_emote(op, params, EMOTE_POUT)); |
797 |
} |
798 |
|
799 |
int command_shiver(object *op, char *params) |
800 |
{ |
801 |
return(basic_emote(op, params, EMOTE_SHIVER)); |
802 |
} |
803 |
|
804 |
int command_shrug(object *op, char *params) |
805 |
{ |
806 |
return(basic_emote(op, params, EMOTE_SHRUG)); |
807 |
} |
808 |
|
809 |
int command_slap(object *op, char *params) |
810 |
{ |
811 |
return(basic_emote(op, params, EMOTE_SLAP)); |
812 |
} |
813 |
|
814 |
int command_smirk(object *op, char *params) |
815 |
{ |
816 |
return(basic_emote(op, params, EMOTE_SMIRK)); |
817 |
} |
818 |
|
819 |
int command_snap(object *op, char *params) |
820 |
{ |
821 |
return(basic_emote(op, params, EMOTE_SNAP)); |
822 |
} |
823 |
|
824 |
int command_sneeze(object *op, char *params) |
825 |
{ |
826 |
return(basic_emote(op, params, EMOTE_SNEEZE)); |
827 |
} |
828 |
|
829 |
int command_snicker(object *op, char *params) |
830 |
{ |
831 |
return(basic_emote(op, params, EMOTE_SNICKER)); |
832 |
} |
833 |
|
834 |
int command_sniff(object *op, char *params) |
835 |
{ |
836 |
return(basic_emote(op, params, EMOTE_SNIFF)); |
837 |
} |
838 |
|
839 |
int command_snore(object *op, char *params) |
840 |
{ |
841 |
return(basic_emote(op, params, EMOTE_SNORE)); |
842 |
} |
843 |
|
844 |
int command_spit(object *op, char *params) |
845 |
{ |
846 |
return(basic_emote(op, params, EMOTE_SPIT)); |
847 |
} |
848 |
|
849 |
int command_strut(object *op, char *params) |
850 |
{ |
851 |
return(basic_emote(op, params, EMOTE_STRUT)); |
852 |
} |
853 |
|
854 |
int command_thank(object *op, char *params) |
855 |
{ |
856 |
return(basic_emote(op, params, EMOTE_THANK)); |
857 |
} |
858 |
|
859 |
int command_twiddle(object *op, char *params) |
860 |
{ |
861 |
return(basic_emote(op, params, EMOTE_TWIDDLE)); |
862 |
} |
863 |
|
864 |
int command_wave(object *op, char *params) |
865 |
{ |
866 |
return(basic_emote(op, params, EMOTE_WAVE)); |
867 |
} |
868 |
|
869 |
int command_whistle(object *op, char *params) |
870 |
{ |
871 |
return(basic_emote(op, params, EMOTE_WHISTLE)); |
872 |
} |
873 |
|
874 |
int command_wink(object *op, char *params) |
875 |
{ |
876 |
return(basic_emote(op, params, EMOTE_WINK)); |
877 |
} |
878 |
|
879 |
int command_yawn(object *op, char *params) |
880 |
{ |
881 |
return(basic_emote(op, params, EMOTE_YAWN)); |
882 |
} |
883 |
|
884 |
int command_beg(object *op, char *params) |
885 |
{ |
886 |
return(basic_emote(op, params, EMOTE_BEG)); |
887 |
} |
888 |
|
889 |
int command_bleed(object *op, char *params) |
890 |
{ |
891 |
return(basic_emote(op, params, EMOTE_BLEED)); |
892 |
} |
893 |
|
894 |
int command_cringe(object *op, char *params) |
895 |
{ |
896 |
return(basic_emote(op, params, EMOTE_CRINGE)); |
897 |
} |
898 |
|
899 |
int command_think(object *op, char *params) |
900 |
{ |
901 |
return(basic_emote(op, params, EMOTE_THINK)); |
902 |
} |