1 |
elmex |
1.1 |
/* |
2 |
|
|
* static char *rcsid_c_chat_c = |
3 |
|
|
* "$Id$"; |
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_say (object *op, char *params) |
34 |
|
|
{ |
35 |
|
|
char buf[MAX_BUF]; |
36 |
|
|
|
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 |
|
|
|
46 |
|
|
int 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); |
52 |
|
|
new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); |
53 |
|
|
|
54 |
|
|
return 0; |
55 |
|
|
} |
56 |
|
|
|
57 |
|
|
|
58 |
|
|
int command_cointoss(object *op, char *params) |
59 |
|
|
{ |
60 |
|
|
char buf[MAX_BUF]; |
61 |
|
|
char buf2[MAX_BUF]; |
62 |
|
|
int i; |
63 |
|
|
|
64 |
|
|
i = rndm(1, 2); |
65 |
|
|
if (i == 1) { |
66 |
|
|
snprintf(buf, MAX_BUF-1, "%s flips a coin.... Heads!", op->name); |
67 |
|
|
snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!"); |
68 |
|
|
} else { |
69 |
|
|
snprintf(buf, MAX_BUF-1, "%s flips a coin.... Tails!", op->name); |
70 |
|
|
snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!"); |
71 |
|
|
} |
72 |
|
|
new_draw_info(NDI_UNIQUE, 0, op, buf2); |
73 |
|
|
new_info_map_except(NDI_WHITE, op->map, op, buf); |
74 |
|
|
return 0; |
75 |
|
|
} |
76 |
|
|
|
77 |
|
|
static const char* const orcknuckle[7] = {"none", "beholder", "ghost", "knight", |
78 |
|
|
"princess", "dragon", "orc"}; |
79 |
|
|
|
80 |
|
|
int command_orcknuckle(object *op, char *params) |
81 |
|
|
{ |
82 |
|
|
char buf[MAX_BUF]; |
83 |
|
|
char buf2[MAX_BUF]; |
84 |
|
|
int i, j, k, l; |
85 |
|
|
|
86 |
|
|
i = rndm(1, 5); |
87 |
|
|
j = rndm(1, 5); |
88 |
|
|
k = rndm(1, 5); |
89 |
|
|
l = rndm(1, 6); |
90 |
|
|
|
91 |
|
|
snprintf(buf2, MAX_BUF-1, "%s rolls %s, %s, %s, %s!", op->name, |
92 |
|
|
orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
93 |
|
|
snprintf(buf, MAX_BUF-1, "You roll %s, %s, %s, %s!", |
94 |
|
|
orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
95 |
|
|
new_draw_info(NDI_UNIQUE, 0, op, buf); |
96 |
|
|
new_info_map_except(NDI_UNIQUE, op->map, op, buf2); |
97 |
|
|
return 0; |
98 |
|
|
} |
99 |
|
|
|
100 |
|
|
static 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 |
|
|
|
119 |
|
|
int command_shout (object *op, char *params) |
120 |
|
|
{ |
121 |
|
|
return command_tell_all(op, params, 1, NDI_RED, "shouts"); |
122 |
|
|
} |
123 |
|
|
|
124 |
|
|
int command_chat (object *op, char *params) |
125 |
|
|
{ |
126 |
|
|
return command_tell_all(op, params, 9, NDI_BLUE, "chats"); |
127 |
|
|
} |
128 |
|
|
|
129 |
|
|
|
130 |
|
|
|
131 |
|
|
int 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] */ |
174 |
|
|
int 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 |
|
|
} |
204 |
|
|
|
205 |
|
|
/* |
206 |
|
|
* 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, |
208 |
|
|
* or directed at nobody. The first set is nobody, the second at someone, and |
209 |
|
|
* the third is directed at oneself. Every emotion does not have to be |
210 |
|
|
* filled out in every category. The default case will take care of the ones |
211 |
|
|
* that are not. Helper functions will call basic_emote with the proper |
212 |
|
|
* arguments, translating them into commands. Adding a new emotion can be |
213 |
|
|
* done by editing command.c and command.h. |
214 |
|
|
* [garbled 09-25-2001] |
215 |
|
|
*/ |
216 |
|
|
|
217 |
|
|
static int basic_emote(object *op, char *params, int emotion) |
218 |
|
|
{ |
219 |
|
|
char buf[MAX_BUF], buf2[MAX_BUF], buf3[MAX_BUF]; |
220 |
|
|
player *pl; |
221 |
|
|
|
222 |
|
|
if (!params) { |
223 |
|
|
switch(emotion) { |
224 |
|
|
case EMOTE_NOD: |
225 |
|
|
sprintf(buf, "%s nods solemnly.", op->name); |
226 |
|
|
sprintf(buf2, "You nod solemnly."); |
227 |
|
|
break; |
228 |
|
|
case EMOTE_DANCE: |
229 |
|
|
sprintf(buf, "%s expresses himself through interpretive dance.", |
230 |
|
|
op->name); |
231 |
|
|
sprintf(buf2, "You dance with glee."); |
232 |
|
|
break; |
233 |
|
|
case EMOTE_KISS: |
234 |
|
|
sprintf(buf, "%s makes a weird facial contortion", op->name); |
235 |
|
|
sprintf(buf2, "All the lonely people.."); |
236 |
|
|
break; |
237 |
|
|
case EMOTE_BOUNCE: |
238 |
|
|
sprintf(buf, "%s bounces around.", op->name); |
239 |
|
|
sprintf(buf2, "BOIINNNNNNGG!"); |
240 |
|
|
break; |
241 |
|
|
case EMOTE_SMILE: |
242 |
|
|
sprintf(buf, "%s smiles happily.", op->name); |
243 |
|
|
sprintf(buf2, "You smile happily."); |
244 |
|
|
break; |
245 |
|
|
case EMOTE_CACKLE: |
246 |
|
|
sprintf(buf, "%s throws back his head and cackles with insane " |
247 |
|
|
"glee!", op->name); |
248 |
|
|
sprintf(buf2, "You cackle gleefully."); |
249 |
|
|
break; |
250 |
|
|
case EMOTE_LAUGH: |
251 |
|
|
sprintf(buf, "%s falls down laughing.", op->name); |
252 |
|
|
sprintf(buf2, "You fall down laughing."); |
253 |
|
|
break; |
254 |
|
|
case EMOTE_GIGGLE: |
255 |
|
|
sprintf(buf, "%s giggles.", op->name); |
256 |
|
|
sprintf(buf2, "You giggle."); |
257 |
|
|
break; |
258 |
|
|
case EMOTE_SHAKE: |
259 |
|
|
sprintf(buf, "%s shakes his head.", op->name); |
260 |
|
|
sprintf(buf2, "You shake your head."); |
261 |
|
|
break; |
262 |
|
|
case EMOTE_PUKE: |
263 |
|
|
sprintf(buf, "%s pukes.", op->name); |
264 |
|
|
sprintf(buf2, "Bleaaaaaghhhhhhh!"); |
265 |
|
|
break; |
266 |
|
|
case EMOTE_GROWL: |
267 |
|
|
sprintf(buf, "%s growls.", op->name); |
268 |
|
|
sprintf(buf2, "Grrrrrrrrr...."); |
269 |
|
|
break; |
270 |
|
|
case EMOTE_SCREAM: |
271 |
|
|
sprintf(buf, "%s screams at the top of his lungs!", op->name); |
272 |
|
|
sprintf(buf2, "ARRRRRRRRRRGH!!!!!"); |
273 |
|
|
break; |
274 |
|
|
case EMOTE_SIGH: |
275 |
|
|
sprintf(buf, "%s sighs loudly.", op->name); |
276 |
|
|
sprintf(buf2, "You sigh."); |
277 |
|
|
break; |
278 |
|
|
case EMOTE_SULK: |
279 |
|
|
sprintf(buf, "%s sulks in the corner.", op->name); |
280 |
|
|
sprintf(buf2, "You sulk."); |
281 |
|
|
break; |
282 |
|
|
case EMOTE_CRY: |
283 |
|
|
sprintf(buf, "%s bursts into tears.", op->name); |
284 |
|
|
sprintf(buf2, "Waaaaaaahhh.."); |
285 |
|
|
break; |
286 |
|
|
case EMOTE_GRIN: |
287 |
|
|
sprintf(buf, "%s grins evilly.", op->name); |
288 |
|
|
sprintf(buf2, "You grin evilly."); |
289 |
|
|
break; |
290 |
|
|
case EMOTE_BOW: |
291 |
|
|
sprintf(buf, "%s bows deeply.", op->name); |
292 |
|
|
sprintf(buf2, "You bow deeply."); |
293 |
|
|
break; |
294 |
|
|
case EMOTE_CLAP: |
295 |
|
|
sprintf(buf, "%s gives a round of applause.", op->name); |
296 |
|
|
sprintf(buf2, "Clap, clap, clap."); |
297 |
|
|
break; |
298 |
|
|
case EMOTE_BLUSH: |
299 |
|
|
sprintf(buf, "%s blushes.", op->name); |
300 |
|
|
sprintf(buf2, "Your cheeks are burning."); |
301 |
|
|
break; |
302 |
|
|
case EMOTE_BURP: |
303 |
|
|
sprintf(buf, "%s burps loudly.", op->name); |
304 |
|
|
sprintf(buf2, "You burp loudly."); |
305 |
|
|
break; |
306 |
|
|
case EMOTE_CHUCKLE: |
307 |
|
|
sprintf(buf, "%s chuckles politely.", op->name); |
308 |
|
|
sprintf(buf2, "You chuckle politely"); |
309 |
|
|
break; |
310 |
|
|
case EMOTE_COUGH: |
311 |
|
|
sprintf(buf, "%s coughs loudly.", op->name); |
312 |
|
|
sprintf(buf2, "Yuck, try to cover your mouth next time!"); |
313 |
|
|
break; |
314 |
|
|
case EMOTE_FLIP: |
315 |
|
|
sprintf(buf, "%s flips head over heels.", op->name); |
316 |
|
|
sprintf(buf2, "You flip head over heels."); |
317 |
|
|
break; |
318 |
|
|
case EMOTE_FROWN: |
319 |
|
|
sprintf(buf, "%s frowns.", op->name); |
320 |
|
|
sprintf(buf2, "What's bothering you?"); |
321 |
|
|
break; |
322 |
|
|
case EMOTE_GASP: |
323 |
|
|
sprintf(buf, "%s gasps in astonishment.", op->name); |
324 |
|
|
sprintf(buf2, "You gasp in astonishment."); |
325 |
|
|
break; |
326 |
|
|
case EMOTE_GLARE: |
327 |
|
|
sprintf(buf, "%s glares around him.", op->name); |
328 |
|
|
sprintf(buf2, "You glare at nothing in particular."); |
329 |
|
|
break; |
330 |
|
|
case EMOTE_GROAN: |
331 |
|
|
sprintf(buf, "%s groans loudly.", op->name); |
332 |
|
|
sprintf(buf2, "You groan loudly."); |
333 |
|
|
break; |
334 |
|
|
case EMOTE_HICCUP: |
335 |
|
|
sprintf(buf, "%s hiccups.", op->name); |
336 |
|
|
sprintf(buf2, "*HIC*"); |
337 |
|
|
break; |
338 |
|
|
case EMOTE_LICK: |
339 |
|
|
sprintf(buf, "%s licks his mouth and smiles.", op->name); |
340 |
|
|
sprintf(buf2, "You lick your mouth and smile."); |
341 |
|
|
break; |
342 |
|
|
case EMOTE_POUT: |
343 |
|
|
sprintf(buf, "%s pouts.", op->name); |
344 |
|
|
sprintf(buf2, "Aww, don't take it so hard."); |
345 |
|
|
break; |
346 |
|
|
case EMOTE_SHIVER: |
347 |
|
|
sprintf(buf, "%s shivers uncomfortably.", op->name); |
348 |
|
|
sprintf(buf2, "Brrrrrrrrr."); |
349 |
|
|
break; |
350 |
|
|
case EMOTE_SHRUG: |
351 |
|
|
sprintf(buf, "%s shrugs helplessly.", op->name); |
352 |
|
|
sprintf(buf2, "You shrug."); |
353 |
|
|
break; |
354 |
|
|
case EMOTE_SMIRK: |
355 |
|
|
sprintf(buf, "%s smirks.", op->name); |
356 |
|
|
sprintf(buf2, "You smirk."); |
357 |
|
|
break; |
358 |
|
|
case EMOTE_SNAP: |
359 |
|
|
sprintf(buf, "%s snaps his fingers.", op->name); |
360 |
|
|
sprintf(buf2, "PRONTO! You snap your fingers."); |
361 |
|
|
break; |
362 |
|
|
case EMOTE_SNEEZE: |
363 |
|
|
sprintf(buf, "%s sneezes.", op->name); |
364 |
|
|
sprintf(buf2, "Gesundheit!"); |
365 |
|
|
break; |
366 |
|
|
case EMOTE_SNICKER: |
367 |
|
|
sprintf(buf, "%s snickers softly.", op->name); |
368 |
|
|
sprintf(buf2, "You snicker softly."); |
369 |
|
|
break; |
370 |
|
|
case EMOTE_SNIFF: |
371 |
|
|
sprintf(buf, "%s sniffs sadly.", op->name); |
372 |
|
|
sprintf(buf2, "You sniff sadly. *SNIFF*"); |
373 |
|
|
break; |
374 |
|
|
case EMOTE_SNORE: |
375 |
|
|
sprintf(buf, "%s snores loudly.", op->name); |
376 |
|
|
sprintf(buf2, "Zzzzzzzzzzzzzzz."); |
377 |
|
|
break; |
378 |
|
|
case EMOTE_SPIT: |
379 |
|
|
sprintf(buf, "%s spits over his left shoulder.", op->name); |
380 |
|
|
sprintf(buf2, "You spit over your left shoulder."); |
381 |
|
|
break; |
382 |
|
|
case EMOTE_STRUT: |
383 |
|
|
sprintf(buf, "%s struts proudly.", op->name); |
384 |
|
|
sprintf(buf2, "Strut your stuff."); |
385 |
|
|
break; |
386 |
|
|
case EMOTE_TWIDDLE: |
387 |
|
|
sprintf(buf, "%s patiently twiddles his thumbs.", op->name); |
388 |
|
|
sprintf(buf2, "You patiently twiddle your thumbs."); |
389 |
|
|
break; |
390 |
|
|
case EMOTE_WAVE: |
391 |
|
|
sprintf(buf, "%s waves happily.", op->name); |
392 |
|
|
sprintf(buf2, "You wave."); |
393 |
|
|
break; |
394 |
|
|
case EMOTE_WHISTLE: |
395 |
|
|
sprintf(buf, "%s whistles appreciatively.", op->name); |
396 |
|
|
sprintf(buf2, "You whistle appreciatively."); |
397 |
|
|
break; |
398 |
|
|
case EMOTE_WINK: |
399 |
|
|
sprintf(buf, "%s winks suggestively.", op->name); |
400 |
|
|
sprintf(buf2, "Have you got something in your eye?"); |
401 |
|
|
break; |
402 |
|
|
case EMOTE_YAWN: |
403 |
|
|
sprintf(buf, "%s yawns sleepily.", op->name); |
404 |
|
|
sprintf(buf2, "You open up your yap and let out a big breeze " |
405 |
|
|
"of stale air."); |
406 |
|
|
break; |
407 |
|
|
case EMOTE_CRINGE: |
408 |
|
|
sprintf(buf, "%s cringes in terror!", op->name); |
409 |
|
|
sprintf(buf2, "You cringe in terror."); |
410 |
|
|
break; |
411 |
|
|
case EMOTE_BLEED: |
412 |
|
|
sprintf(buf, "%s is bleeding all over the carpet" |
413 |
|
|
" - got a spare tourniquet?", op->name); |
414 |
|
|
sprintf(buf2, "You bleed all over your nice new armour."); |
415 |
|
|
break; |
416 |
|
|
case EMOTE_THINK: |
417 |
|
|
sprintf(buf, "%s closes his eyes and thinks really hard.", |
418 |
|
|
op->name); |
419 |
|
|
sprintf(buf2, "Anything in particular that you'd care to think " |
420 |
|
|
"about?"); |
421 |
|
|
break; |
422 |
|
|
default: |
423 |
|
|
sprintf(buf, "%s dances with glee.", op->name); |
424 |
|
|
sprintf(buf2, "You are a nut."); |
425 |
|
|
break; |
426 |
|
|
} /*case*/ |
427 |
|
|
new_info_map_except(NDI_WHITE, op->map, op, buf); |
428 |
|
|
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf2); |
429 |
|
|
return(0); |
430 |
|
|
} else { |
431 |
|
|
for(pl=first_player;pl!=NULL;pl=pl->next) { |
432 |
|
|
if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && |
433 |
|
|
pl->ob->map == op->map && pl->ob != op &&
|
434 |
|
|
!(QUERY_FLAG(pl->ob,FLAG_WIZ) && pl->ob->contr->hidden)) {
|
435 |
|
|
/* Hidden dms are not affected by emotions*/
|
436 |
|
|
switch(emotion) { |
437 |
|
|
case EMOTE_NOD: |
438 |
|
|
sprintf(buf, "You nod solemnly to %s.", pl->ob->name); |
439 |
|
|
sprintf(buf2, "%s nods solemnly to you.", op->name); |
440 |
|
|
sprintf(buf3, "%s nods solemnly to %s.", op->name, |
441 |
|
|
pl->ob->name); |
442 |
|
|
break; |
443 |
|
|
case EMOTE_DANCE: |
444 |
|
|
sprintf(buf, "You grab %s and begin doing the Cha-Cha!", |
445 |
|
|
pl->ob->name); |
446 |
|
|
sprintf(buf2, "%s grabs you, and begins dancing!", |
447 |
|
|
op->name); |
448 |
|
|
sprintf(buf3, "Yipe! %s and %s are doing the Macarena!", |
449 |
|
|
op->name, pl->ob->name); |
450 |
|
|
break; |
451 |
|
|
case EMOTE_KISS: |
452 |
|
|
sprintf(buf, "You kiss %s.", pl->ob->name); |
453 |
|
|
sprintf(buf2, "%s kisses you.", op->name); |
454 |
|
|
sprintf(buf3, "%s kisses %s.", op->name, pl->ob->name); |
455 |
|
|
break; |
456 |
|
|
case EMOTE_BOUNCE: |
457 |
|
|
sprintf(buf, "You bounce around the room with %s.", |
458 |
|
|
pl->ob->name); |
459 |
|
|
sprintf(buf2, "%s bounces around the room with you.", |
460 |
|
|
op->name); |
461 |
|
|
sprintf(buf3, "%s bounces around the room with %s.", |
462 |
|
|
op->name, pl->ob->name); |
463 |
|
|
break; |
464 |
|
|
case EMOTE_SMILE: |
465 |
|
|
sprintf(buf, "You smile at %s.", pl->ob->name); |
466 |
|
|
sprintf(buf2, "%s smiles at you.", op->name); |
467 |
|
|
sprintf(buf3, "%s beams a smile at %s.", op->name, |
468 |
|
|
pl->ob->name); |
469 |
|
|
break; |
470 |
|
|
case EMOTE_LAUGH: |
471 |
|
|
sprintf(buf, "You take one look at %s and fall down " |
472 |
|
|
"laughing.", pl->ob->name); |
473 |
|
|
sprintf(buf2, "%s looks at you and falls down on the " |
474 |
|
|
"ground laughing.", op->name); |
475 |
|
|
sprintf(buf3, "%s looks at %s and falls down on the " |
476 |
|
|
"ground laughing.", op->name, pl->ob->name); |
477 |
|
|
break; |
478 |
|
|
case EMOTE_SHAKE: |
479 |
|
|
sprintf(buf, "You shake %s's hand.", pl->ob->name); |
480 |
|
|
sprintf(buf2, "%s shakes your hand.", op->name); |
481 |
|
|
sprintf(buf3, "%s shakes %s's hand.", op->name, |
482 |
|
|
pl->ob->name); |
483 |
|
|
break; |
484 |
|
|
case EMOTE_PUKE: |
485 |
|
|
sprintf(buf, "You puke on %s.", pl->ob->name); |
486 |
|
|
sprintf(buf2, "%s pukes on your clothes!", op->name); |
487 |
|
|
sprintf(buf3, "%s pukes on %s.", op->name, pl->ob->name); |
488 |
|
|
break; |
489 |
|
|
case EMOTE_HUG: |
490 |
|
|
sprintf(buf, "You hug %s.", pl->ob->name); |
491 |
|
|
sprintf(buf2, "%s hugs you.", op->name); |
492 |
|
|
sprintf(buf3, "%s hugs %s.", op->name, pl->ob->name); |
493 |
|
|
break; |
494 |
|
|
case EMOTE_CRY: |
495 |
|
|
sprintf(buf, "You cry on %s's shoulder.", pl->ob->name); |
496 |
|
|
sprintf(buf2, "%s cries on your shoulder.", op->name); |
497 |
|
|
sprintf(buf3, "%s cries on %s's shoulder.", op->name, |
498 |
|
|
pl->ob->name); |
499 |
|
|
break; |
500 |
|
|
case EMOTE_POKE: |
501 |
|
|
sprintf(buf, "You poke %s in the ribs.", pl->ob->name); |
502 |
|
|
sprintf(buf2, "%s pokes you in the ribs.", op->name); |
503 |
|
|
sprintf(buf3, "%s pokes %s in the ribs.", op->name, |
504 |
|
|
pl->ob->name); |
505 |
|
|
break; |
506 |
|
|
case EMOTE_ACCUSE: |
507 |
|
|
sprintf(buf, "You look accusingly at %s.", pl->ob->name); |
508 |
|
|
sprintf(buf2, "%s looks accusingly at you.", op->name); |
509 |
|
|
sprintf(buf3, "%s looks accusingly at %s.", op->name, |
510 |
|
|
pl->ob->name); |
511 |
|
|
break; |
512 |
|
|
case EMOTE_GRIN: |
513 |
|
|
sprintf(buf, "You grin at %s.", pl->ob->name); |
514 |
|
|
sprintf(buf2, "%s grins evilly at you.", op->name); |
515 |
|
|
sprintf(buf3, "%s grins evilly at %s.", op->name, |
516 |
|
|
pl->ob->name); |
517 |
|
|
break; |
518 |
|
|
case EMOTE_BOW: |
519 |
|
|
sprintf(buf, "You bow before %s.", pl->ob->name); |
520 |
|
|
sprintf(buf2, "%s bows before you.", op->name); |
521 |
|
|
sprintf(buf3, "%s bows before %s.", op->name, |
522 |
|
|
pl->ob->name); |
523 |
|
|
break; |
524 |
|
|
case EMOTE_FROWN: |
525 |
|
|
sprintf(buf, "You frown darkly at %s.", pl->ob->name); |
526 |
|
|
sprintf(buf2, "%s frowns darkly at you.", op->name); |
527 |
|
|
sprintf(buf3, "%s frowns darkly at %s.", op->name, |
528 |
|
|
pl->ob->name); |
529 |
|
|
break; |
530 |
|
|
case EMOTE_GLARE: |
531 |
|
|
sprintf(buf, "You glare icily at %s.", pl->ob->name); |
532 |
|
|
sprintf(buf2, "%s glares icily at you, you feel cold to" |
533 |
|
|
" your bones.", op->name); |
534 |
|
|
sprintf(buf3, "%s glares at %s.", op->name, pl->ob->name); |
535 |
|
|
break; |
536 |
|
|
case EMOTE_LICK: |
537 |
|
|
sprintf(buf, "You lick %s.", pl->ob->name); |
538 |
|
|
sprintf(buf2, "%s licks you.", op->name); |
539 |
|
|
sprintf(buf3, "%s licks %s.", op->name, pl->ob->name); |
540 |
|
|
break; |
541 |
|
|
case EMOTE_SHRUG: |
542 |
|
|
sprintf(buf, "You shrug at %s.", pl->ob->name); |
543 |
|
|
sprintf(buf2, "%s shrugs at you.", op->name); |
544 |
|
|
sprintf(buf3, "%s shrugs at %s.", op->name, pl->ob->name); |
545 |
|
|
break; |
546 |
|
|
case EMOTE_SLAP: |
547 |
|
|
sprintf(buf, "You slap %s.", pl->ob->name); |
548 |
|
|
sprintf(buf2, "You are slapped by %s.", op->name); |
549 |
|
|
sprintf(buf3, "%s slaps %s.", op->name, pl->ob->name); |
550 |
|
|
break; |
551 |
|
|
case EMOTE_SNEEZE: |
552 |
|
|
sprintf(buf, "You sneeze at %s and a film of snot shoots" |
553 |
|
|
" onto him.", pl->ob->name); |
554 |
|
|
sprintf(buf2, "%s sneezes on you, you feel the snot cover" |
555 |
|
|
" you. EEEEEEW.", op->name); |
556 |
|
|
sprintf(buf3, "%s sneezes on %s and a film of snot covers" |
557 |
|
|
" him.", op->name, pl->ob->name); |
558 |
|
|
break; |
559 |
|
|
case EMOTE_SNIFF: |
560 |
|
|
sprintf(buf, "You sniff %s.", pl->ob->name); |
561 |
|
|
sprintf(buf2, "%s sniffs you.", op->name); |
562 |
|
|
sprintf(buf3, "%s sniffs %s", op->name, pl->ob->name); |
563 |
|
|
break; |
564 |
|
|
case EMOTE_SPIT: |
565 |
|
|
sprintf(buf, "You spit on %s.", pl->ob->name); |
566 |
|
|
sprintf(buf2, "%s spits in your face!", op->name); |
567 |
|
|
sprintf(buf3, "%s spits in %s's face.", op->name, |
568 |
|
|
pl->ob->name); |
569 |
|
|
break; |
570 |
|
|
case EMOTE_THANK: |
571 |
|
|
sprintf(buf, "You thank %s heartily.", pl->ob->name); |
572 |
|
|
sprintf(buf2, "%s thanks you heartily.", op->name); |
573 |
|
|
sprintf(buf3, "%s thanks %s heartily.", op->name, |
574 |
|
|
pl->ob->name); |
575 |
|
|
break; |
576 |
|
|
case EMOTE_WAVE: |
577 |
|
|
sprintf(buf, "You wave goodbye to %s.", pl->ob->name); |
578 |
|
|
sprintf(buf2, "%s waves goodbye to you. Have a good" |
579 |
|
|
" journey.", op->name); |
580 |
|
|
sprintf(buf3, "%s waves goodbye to %s.", op->name, |
581 |
|
|
pl->ob->name); |
582 |
|
|
break; |
583 |
|
|
case EMOTE_WHISTLE: |
584 |
|
|
sprintf(buf, "You whistle at %s.", pl->ob->name); |
585 |
|
|
sprintf(buf2, "%s whistles at you.", op->name); |
586 |
|
|
sprintf(buf2, "%s whistles at %s.", op->name, pl->ob->name); |
587 |
|
|
break; |
588 |
|
|
case EMOTE_WINK: |
589 |
|
|
sprintf(buf, "You wink suggestively at %s.", pl->ob->name); |
590 |
|
|
sprintf(buf2, "%s winks suggestively at you.", op->name); |
591 |
|
|
sprintf(buf2, "%s winks at %s.", op->name, pl->ob->name); |
592 |
|
|
break; |
593 |
|
|
case EMOTE_BEG: |
594 |
|
|
sprintf(buf, "You beg %s for mercy.", pl->ob->name); |
595 |
|
|
sprintf(buf2, "%s begs you for mercy! Show no quarter!", |
596 |
|
|
op->name); |
597 |
|
|
sprintf(buf2, "%s begs %s for mercy!", op->name, |
598 |
|
|
pl->ob->name); |
599 |
|
|
break; |
600 |
|
|
case EMOTE_BLEED: |
601 |
|
|
sprintf(buf, "You slash your wrist and bleed all over %s", |
602 |
|
|
pl->ob->name); |
603 |
|
|
sprintf(buf2, "%s slashes his wrist and bleeds all over" |
604 |
|
|
" you.", op->name); |
605 |
|
|
sprintf(buf2, "%s slashes his wrist and bleeds all " |
606 |
|
|
"over %s.", op->name, pl->ob->name); |
607 |
|
|
break; |
608 |
|
|
case EMOTE_CRINGE: |
609 |
|
|
sprintf(buf, "You cringe away from %s.", pl->ob->name); |
610 |
|
|
sprintf(buf2, "%s cringes away from you.", op->name); |
611 |
|
|
sprintf(buf2, "%s cringes away from %s in mortal terror.", |
612 |
|
|
op->name, pl->ob->name); |
613 |
|
|
break; |
614 |
|
|
default: |
615 |
|
|
sprintf(buf, "You are still nuts."); |
616 |
|
|
sprintf(buf2, "You get the distinct feeling that %s is nuts.", |
617 |
|
|
op->name); |
618 |
|
|
sprintf(buf3, "%s is eyeing %s quizzically.", pl->ob->name, |
619 |
|
|
op->name); |
620 |
|
|
break; |
621 |
|
|
} /*case*/ |
622 |
|
|
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); |
623 |
|
|
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, pl->ob, buf2); |
624 |
|
|
new_info_map_except2(NDI_WHITE, op->map, op, pl->ob, buf3); |
625 |
|
|
return(0); |
626 |
|
|
} |
627 |
|
|
if(strncasecmp(pl->ob->name, params, MAX_NAME)==0 && |
628 |
|
|
pl->ob->map == op->map && pl->ob == op) { |
629 |
|
|
switch(emotion) { |
630 |
|
|
case EMOTE_DANCE: |
631 |
|
|
sprintf(buf, "You skip and dance around by yourself."); |
632 |
|
|
sprintf(buf2, "%s embraces himself and begins to dance!", |
633 |
|
|
op->name); |
634 |
|
|
break; |
635 |
|
|
case EMOTE_LAUGH: |
636 |
|
|
sprintf(buf, "Laugh at yourself all you want, the others " |
637 |
|
|
"won't understand."); |
638 |
|
|
sprintf(buf2, "%s is laughing at something.", op->name); |
639 |
|
|
break; |
640 |
|
|
case EMOTE_SHAKE: |
641 |
|
|
sprintf(buf, "You are shaken by yourself."); |
642 |
|
|
sprintf(buf2, "%s shakes and quivers like a bowlful of " |
643 |
|
|
"jelly.", op->name); |
644 |
|
|
break; |
645 |
|
|
case EMOTE_PUKE: |
646 |
|
|
sprintf(buf, "You puke on yourself."); |
647 |
|
|
sprintf(buf2, "%s pukes on his clothes.", op->name); |
648 |
|
|
break; |
649 |
|
|
case EMOTE_HUG: |
650 |
|
|
sprintf(buf, "You hug yourself."); |
651 |
|
|
sprintf(buf2, "%s hugs himself.", op->name); |
652 |
|
|
break; |
653 |
|
|
case EMOTE_CRY: |
654 |
|
|
sprintf(buf, "You cry to yourself."); |
655 |
|
|
sprintf(buf2, "%s sobs quietly to himself.", op->name); |
656 |
|
|
break; |
657 |
|
|
case EMOTE_POKE: |
658 |
|
|
sprintf(buf, "You poke yourself in the ribs, feeling very" |
659 |
|
|
" silly."); |
660 |
|
|
sprintf(buf2, "%s pokes himself in the ribs, looking very" |
661 |
|
|
" sheepish.", op->name); |
662 |
|
|
break; |
663 |
|
|
case EMOTE_ACCUSE: |
664 |
|
|
sprintf(buf, "You accuse yourself."); |
665 |
|
|
sprintf(buf2, "%s seems to have a bad conscience.", |
666 |
|
|
op->name); |
667 |
|
|
break; |
668 |
|
|
case EMOTE_BOW: |
669 |
|
|
sprintf(buf, "You kiss your toes."); |
670 |
|
|
sprintf(buf2, "%s folds up like a jackknife and kisses his" |
671 |
|
|
" own toes.", op->name); |
672 |
|
|
break; |
673 |
|
|
case EMOTE_FROWN: |
674 |
|
|
sprintf(buf, "You frown at yourself."); |
675 |
|
|
sprintf(buf2, "%s frowns at himself.", op->name); |
676 |
|
|
break; |
677 |
|
|
case EMOTE_GLARE: |
678 |
|
|
sprintf(buf, "You glare icily at your feet, they are " |
679 |
|
|
"suddenly very cold."); |
680 |
|
|
sprintf(buf2, "%s glares at his feet, what is bothering " |
681 |
|
|
"him?", op->name); |
682 |
|
|
break; |
683 |
|
|
case EMOTE_LICK: |
684 |
|
|
sprintf(buf, "You lick yourself."); |
685 |
|
|
sprintf(buf2, "%s licks himself - YUCK.", op->name); |
686 |
|
|
break; |
687 |
|
|
case EMOTE_SLAP: |
688 |
|
|
sprintf(buf, "You slap yourself, silly you."); |
689 |
|
|
sprintf(buf2, "%s slaps himself, really strange...", |
690 |
|
|
op->name); |
691 |
|
|
break; |
692 |
|
|
case EMOTE_SNEEZE: |
693 |
|
|
sprintf(buf, "You sneeze on yourself, what a mess!"); |
694 |
|
|
sprintf(buf2, "%s sneezes, and covers himself in a slimy" |
695 |
|
|
" substance.", op->name); |
696 |
|
|
break; |
697 |
|
|
case EMOTE_SNIFF: |
698 |
|
|
sprintf(buf, "You sniff yourself."); |
699 |
|
|
sprintf(buf2, "%s sniffs himself.", op->name); |
700 |
|
|
break; |
701 |
|
|
case EMOTE_SPIT: |
702 |
|
|
sprintf(buf, "You drool all over yourself."); |
703 |
|
|
sprintf(buf2, "%s drools all over himself.", op->name); |
704 |
|
|
break; |
705 |
|
|
case EMOTE_THANK: |
706 |
|
|
sprintf(buf, "You thank yourself since nobody else " |
707 |
|
|
"wants to!"); |
708 |
|
|
sprintf(buf2, "%s thanks himself since you won't.", |
709 |
|
|
op->name); |
710 |
|
|
break; |
711 |
|
|
case EMOTE_WAVE: |
712 |
|
|
sprintf(buf, "Are you going on adventures as well??"); |
713 |
|
|
sprintf(buf2, "%s waves goodbye to himself.", op->name); |
714 |
|
|
break; |
715 |
|
|
case EMOTE_WHISTLE: |
716 |
|
|
sprintf(buf, "You whistle while you work."); |
717 |
|
|
sprintf(buf2, "%s whistles to himself in boredom.", |
718 |
|
|
op->name); |
719 |
|
|
break; |
720 |
|
|
case EMOTE_WINK: |
721 |
|
|
sprintf(buf, "You wink at yourself?? What are you up to?"); |
722 |
|
|
sprintf(buf2, "%s winks at himself - something strange " |
723 |
|
|
"is going on...", op->name); |
724 |
|
|
break; |
725 |
|
|
case EMOTE_BLEED: |
726 |
|
|
sprintf(buf, "Very impressive! You wipe your blood all " |
727 |
|
|
"over yourself."); |
728 |
|
|
sprintf(buf2, "%s performs some satanic ritual while " |
729 |
|
|
"wiping his blood on himself.", op->name); |
730 |
|
|
break; |
731 |
|
|
default: |
732 |
|
|
sprintf(buf, "My god! is that LEGAL?"); |
733 |
|
|
sprintf(buf2, "You look away from %s.", op->name); |
734 |
|
|
break; |
735 |
|
|
}/*case*/ |
736 |
|
|
new_draw_info(NDI_UNIQUE|NDI_WHITE, 0, op, buf); |
737 |
|
|
new_info_map_except(NDI_WHITE, op->map, op, buf2); |
738 |
|
|
return(0); |
739 |
|
|
}/*if self*/ |
740 |
|
|
}/*for*/ |
741 |
|
|
new_draw_info_format(NDI_UNIQUE, 0, op, "%s is not around.", params); |
742 |
|
|
return(1); |
743 |
|
|
} /*else*/ |
744 |
|
|
|
745 |
|
|
return(0); |
746 |
|
|
} |
747 |
|
|
|
748 |
|
|
/* |
749 |
|
|
* everything from here on out are just wrapper calls to basic_emote |
750 |
|
|
*/ |
751 |
|
|
|
752 |
|
|
int command_nod(object *op, char *params) |
753 |
|
|
{ |
754 |
|
|
return(basic_emote(op, params, EMOTE_NOD)); |
755 |
|
|
} |
756 |
|
|
|
757 |
|
|
int command_dance(object *op, char *params) |
758 |
|
|
{ |
759 |
|
|
return(basic_emote(op, params, EMOTE_DANCE)); |
760 |
|
|
} |
761 |
|
|
|
762 |
|
|
int command_kiss(object *op, char *params) |
763 |
|
|
{ |
764 |
|
|
return(basic_emote(op, params, EMOTE_KISS)); |
765 |
|
|
} |
766 |
|
|
|
767 |
|
|
int command_bounce(object *op, char *params) |
768 |
|
|
{ |
769 |
|
|
return(basic_emote(op, params, EMOTE_BOUNCE)); |
770 |
|
|
} |
771 |
|
|
|
772 |
|
|
int command_smile(object *op, char *params) |
773 |
|
|
{ |
774 |
|
|
return(basic_emote(op, params, EMOTE_SMILE)); |
775 |
|
|
} |
776 |
|
|
|
777 |
|
|
int command_cackle(object *op, char *params) |
778 |
|
|
{ |
779 |
|
|
return(basic_emote(op, params, EMOTE_CACKLE)); |
780 |
|
|
} |
781 |
|
|
|
782 |
|
|
int command_laugh(object *op, char *params) |
783 |
|
|
{ |
784 |
|
|
return(basic_emote(op, params, EMOTE_LAUGH)); |
785 |
|
|
} |
786 |
|
|
|
787 |
|
|
int command_giggle(object *op, char *params) |
788 |
|
|
{ |
789 |
|
|
return(basic_emote(op, params, EMOTE_GIGGLE)); |
790 |
|
|
} |
791 |
|
|
|
792 |
|
|
int command_shake(object *op, char *params) |
793 |
|
|
{ |
794 |
|
|
return(basic_emote(op, params, EMOTE_SHAKE)); |
795 |
|
|
} |
796 |
|
|
|
797 |
|
|
int command_puke(object *op, char *params) |
798 |
|
|
{ |
799 |
|
|
return(basic_emote(op, params, EMOTE_PUKE)); |
800 |
|
|
} |
801 |
|
|
|
802 |
|
|
int command_growl(object *op, char *params) |
803 |
|
|
{ |
804 |
|
|
return(basic_emote(op, params, EMOTE_GROWL)); |
805 |
|
|
} |
806 |
|
|
|
807 |
|
|
int command_scream(object *op, char *params) |
808 |
|
|
{ |
809 |
|
|
return(basic_emote(op, params, EMOTE_SCREAM)); |
810 |
|
|
} |
811 |
|
|
|
812 |
|
|
int command_sigh(object *op, char *params) |
813 |
|
|
{ |
814 |
|
|
return(basic_emote(op, params, EMOTE_SIGH)); |
815 |
|
|
} |
816 |
|
|
|
817 |
|
|
int command_sulk(object *op, char *params) |
818 |
|
|
{ |
819 |
|
|
return(basic_emote(op, params, EMOTE_SULK)); |
820 |
|
|
} |
821 |
|
|
|
822 |
|
|
int command_hug(object *op, char *params) |
823 |
|
|
{ |
824 |
|
|
return(basic_emote(op, params, EMOTE_HUG)); |
825 |
|
|
} |
826 |
|
|
|
827 |
|
|
int command_cry(object *op, char *params) |
828 |
|
|
{ |
829 |
|
|
return(basic_emote(op, params, EMOTE_CRY)); |
830 |
|
|
} |
831 |
|
|
|
832 |
|
|
int command_poke(object *op, char *params) |
833 |
|
|
{ |
834 |
|
|
return(basic_emote(op, params, EMOTE_POKE)); |
835 |
|
|
} |
836 |
|
|
|
837 |
|
|
int command_accuse(object *op, char *params) |
838 |
|
|
{ |
839 |
|
|
return(basic_emote(op, params, EMOTE_ACCUSE)); |
840 |
|
|
} |
841 |
|
|
|
842 |
|
|
int command_grin(object *op, char *params) |
843 |
|
|
{ |
844 |
|
|
return(basic_emote(op, params, EMOTE_GRIN)); |
845 |
|
|
} |
846 |
|
|
|
847 |
|
|
int command_bow(object *op, char *params) |
848 |
|
|
{ |
849 |
|
|
return(basic_emote(op, params, EMOTE_BOW)); |
850 |
|
|
} |
851 |
|
|
|
852 |
|
|
int command_clap(object *op, char *params) |
853 |
|
|
{ |
854 |
|
|
return(basic_emote(op, params, EMOTE_CLAP)); |
855 |
|
|
} |
856 |
|
|
|
857 |
|
|
int command_blush(object *op, char *params) |
858 |
|
|
{ |
859 |
|
|
return(basic_emote(op, params, EMOTE_BLUSH)); |
860 |
|
|
} |
861 |
|
|
|
862 |
|
|
int command_burp(object *op, char *params) |
863 |
|
|
{ |
864 |
|
|
return(basic_emote(op, params, EMOTE_BURP)); |
865 |
|
|
} |
866 |
|
|
|
867 |
|
|
int command_chuckle(object *op, char *params) |
868 |
|
|
{ |
869 |
|
|
return(basic_emote(op, params, EMOTE_CHUCKLE)); |
870 |
|
|
} |
871 |
|
|
|
872 |
|
|
int command_cough(object *op, char *params) |
873 |
|
|
{ |
874 |
|
|
return(basic_emote(op, params, EMOTE_COUGH)); |
875 |
|
|
} |
876 |
|
|
|
877 |
|
|
int command_flip(object *op, char *params) |
878 |
|
|
{ |
879 |
|
|
return(basic_emote(op, params, EMOTE_FLIP)); |
880 |
|
|
} |
881 |
|
|
|
882 |
|
|
int command_frown(object *op, char *params) |
883 |
|
|
{ |
884 |
|
|
return(basic_emote(op, params, EMOTE_FROWN)); |
885 |
|
|
} |
886 |
|
|
|
887 |
|
|
int command_gasp(object *op, char *params) |
888 |
|
|
{ |
889 |
|
|
return(basic_emote(op, params, EMOTE_GASP)); |
890 |
|
|
} |
891 |
|
|
|
892 |
|
|
int command_glare(object *op, char *params) |
893 |
|
|
{ |
894 |
|
|
return(basic_emote(op, params, EMOTE_GLARE)); |
895 |
|
|
} |
896 |
|
|
|
897 |
|
|
int command_groan(object *op, char *params) |
898 |
|
|
{ |
899 |
|
|
return(basic_emote(op, params, EMOTE_GROAN)); |
900 |
|
|
} |
901 |
|
|
|
902 |
|
|
int command_hiccup(object *op, char *params) |
903 |
|
|
{ |
904 |
|
|
return(basic_emote(op, params, EMOTE_HICCUP)); |
905 |
|
|
} |
906 |
|
|
|
907 |
|
|
int command_lick(object *op, char *params) |
908 |
|
|
{ |
909 |
|
|
return(basic_emote(op, params, EMOTE_LICK)); |
910 |
|
|
} |
911 |
|
|
|
912 |
|
|
int command_pout(object *op, char *params) |
913 |
|
|
{ |
914 |
|
|
return(basic_emote(op, params, EMOTE_POUT)); |
915 |
|
|
} |
916 |
|
|
|
917 |
|
|
int command_shiver(object *op, char *params) |
918 |
|
|
{ |
919 |
|
|
return(basic_emote(op, params, EMOTE_SHIVER)); |
920 |
|
|
} |
921 |
|
|
|
922 |
|
|
int command_shrug(object *op, char *params) |
923 |
|
|
{ |
924 |
|
|
return(basic_emote(op, params, EMOTE_SHRUG)); |
925 |
|
|
} |
926 |
|
|
|
927 |
|
|
int command_slap(object *op, char *params) |
928 |
|
|
{ |
929 |
|
|
return(basic_emote(op, params, EMOTE_SLAP)); |
930 |
|
|
} |
931 |
|
|
|
932 |
|
|
int command_smirk(object *op, char *params) |
933 |
|
|
{ |
934 |
|
|
return(basic_emote(op, params, EMOTE_SMIRK)); |
935 |
|
|
} |
936 |
|
|
|
937 |
|
|
int command_snap(object *op, char *params) |
938 |
|
|
{ |
939 |
|
|
return(basic_emote(op, params, EMOTE_SNAP)); |
940 |
|
|
} |
941 |
|
|
|
942 |
|
|
int command_sneeze(object *op, char *params) |
943 |
|
|
{ |
944 |
|
|
return(basic_emote(op, params, EMOTE_SNEEZE)); |
945 |
|
|
} |
946 |
|
|
|
947 |
|
|
int command_snicker(object *op, char *params) |
948 |
|
|
{ |
949 |
|
|
return(basic_emote(op, params, EMOTE_SNICKER)); |
950 |
|
|
} |
951 |
|
|
|
952 |
|
|
int command_sniff(object *op, char *params) |
953 |
|
|
{ |
954 |
|
|
return(basic_emote(op, params, EMOTE_SNIFF)); |
955 |
|
|
} |
956 |
|
|
|
957 |
|
|
int command_snore(object *op, char *params) |
958 |
|
|
{ |
959 |
|
|
return(basic_emote(op, params, EMOTE_SNORE)); |
960 |
|
|
} |
961 |
|
|
|
962 |
|
|
int command_spit(object *op, char *params) |
963 |
|
|
{ |
964 |
|
|
return(basic_emote(op, params, EMOTE_SPIT)); |
965 |
|
|
} |
966 |
|
|
|
967 |
|
|
int command_strut(object *op, char *params) |
968 |
|
|
{ |
969 |
|
|
return(basic_emote(op, params, EMOTE_STRUT)); |
970 |
|
|
} |
971 |
|
|
|
972 |
|
|
int command_thank(object *op, char *params) |
973 |
|
|
{ |
974 |
|
|
return(basic_emote(op, params, EMOTE_THANK)); |
975 |
|
|
} |
976 |
|
|
|
977 |
|
|
int command_twiddle(object *op, char *params) |
978 |
|
|
{ |
979 |
|
|
return(basic_emote(op, params, EMOTE_TWIDDLE)); |
980 |
|
|
} |
981 |
|
|
|
982 |
|
|
int command_wave(object *op, char *params) |
983 |
|
|
{ |
984 |
|
|
return(basic_emote(op, params, EMOTE_WAVE)); |
985 |
|
|
} |
986 |
|
|
|
987 |
|
|
int command_whistle(object *op, char *params) |
988 |
|
|
{ |
989 |
|
|
return(basic_emote(op, params, EMOTE_WHISTLE)); |
990 |
|
|
} |
991 |
|
|
|
992 |
|
|
int command_wink(object *op, char *params) |
993 |
|
|
{ |
994 |
|
|
return(basic_emote(op, params, EMOTE_WINK)); |
995 |
|
|
} |
996 |
|
|
|
997 |
|
|
int command_yawn(object *op, char *params) |
998 |
|
|
{ |
999 |
|
|
return(basic_emote(op, params, EMOTE_YAWN)); |
1000 |
|
|
} |
1001 |
|
|
|
1002 |
|
|
int command_beg(object *op, char *params) |
1003 |
|
|
{ |
1004 |
|
|
return(basic_emote(op, params, EMOTE_BEG)); |
1005 |
|
|
} |
1006 |
|
|
|
1007 |
|
|
int command_bleed(object *op, char *params) |
1008 |
|
|
{ |
1009 |
|
|
return(basic_emote(op, params, EMOTE_BLEED)); |
1010 |
|
|
} |
1011 |
|
|
|
1012 |
|
|
int command_cringe(object *op, char *params) |
1013 |
|
|
{ |
1014 |
|
|
return(basic_emote(op, params, EMOTE_CRINGE)); |
1015 |
|
|
} |
1016 |
|
|
|
1017 |
|
|
int command_think(object *op, char *params) |
1018 |
|
|
{ |
1019 |
|
|
return(basic_emote(op, params, EMOTE_THINK)); |
1020 |
|
|
} |