1 | /* |
1 | /* |
2 | * static char *rcsid_c_chat_c = |
2 | * CrossFire, A Multiplayer game for X-windows |
3 | * "$Id: c_chat.C,v 1.1 2006/08/13 17:16:03 elmex Exp $"; |
3 | * |
|
|
4 | * Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team |
|
|
5 | * Copyright (C) 2002 Mark Wedel & Crossfire Development Team |
|
|
6 | * Copyright (C) 1992 Frank Tore Johansen |
|
|
7 | * |
|
|
8 | * This program is free software; you can redistribute it and/or modify |
|
|
9 | * it under the terms of the GNU General Public License as published by |
|
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
|
11 | * (at your option) any later version. |
|
|
12 | * |
|
|
13 | * This program is distributed in the hope that it will be useful, |
|
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
16 | * GNU General Public License for more details. |
|
|
17 | * |
|
|
18 | * You should have received a copy of the GNU General Public License |
|
|
19 | * along with this program; if not, write to the Free Software |
|
|
20 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
|
|
21 | * |
|
|
22 | * The authors can be reached via e-mail at <crossfire@schmorp.de> |
4 | */ |
23 | */ |
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 | |
24 | |
29 | #include <global.h> |
25 | #include <global.h> |
30 | #include <loader.h> |
26 | #include <loader.h> |
31 | #include <sproto.h> |
27 | #include <sproto.h> |
32 | |
28 | |
|
|
29 | int |
33 | int command_say (object *op, char *params) |
30 | command_cointoss (object *op, char *params) |
34 | { |
31 | { |
35 | char buf[MAX_BUF]; |
32 | char buf[MAX_BUF]; |
|
|
33 | char buf2[MAX_BUF]; |
|
|
34 | int i; |
36 | |
35 | |
37 | if (!params) return 0; |
36 | i = rndm (1, 2); |
38 | snprintf(buf, MAX_BUF-1, "%s says: %s",op->name, params); |
37 | if (i == 1) |
|
|
38 | { |
|
|
39 | snprintf (buf, MAX_BUF - 1, "%s flips a coin.... Heads!", &op->name); |
|
|
40 | snprintf (buf2, MAX_BUF - 1, "You flip a coin.... Heads!"); |
|
|
41 | } |
|
|
42 | else |
|
|
43 | { |
|
|
44 | snprintf (buf, MAX_BUF - 1, "%s flips a coin.... Tails!", &op->name); |
|
|
45 | snprintf (buf2, MAX_BUF - 1, "You flip a coin.... Tails!"); |
|
|
46 | } |
|
|
47 | new_draw_info (NDI_UNIQUE, 0, op, buf2); |
39 | new_info_map(NDI_WHITE,op->map, buf); |
48 | new_info_map_except (NDI_WHITE, op->map, op, buf); |
40 | communicate(op, params); |
|
|
41 | |
|
|
42 | return 0; |
49 | return 0; |
43 | } |
50 | } |
44 | |
51 | |
|
|
52 | static const char *const orcknuckle[7] = { "none", "beholder", "ghost", "knight", |
|
|
53 | "princess", "dragon", "orc" |
|
|
54 | }; |
45 | |
55 | |
|
|
56 | int |
46 | int command_me (object *op, char *params) |
57 | command_orcknuckle (object *op, char *params) |
47 | { |
58 | { |
48 | char buf[MAX_BUF]; |
59 | char buf[MAX_BUF]; |
|
|
60 | char buf2[MAX_BUF]; |
|
|
61 | int i, j, k, l; |
49 | |
62 | |
50 | if (!params) return 0; |
63 | i = rndm (1, 5); |
51 | snprintf(buf, MAX_BUF-1, "%s %s",op->name, params); |
64 | j = rndm (1, 5); |
52 | new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); |
65 | k = rndm (1, 5); |
|
|
66 | l = rndm (1, 6); |
53 | |
67 | |
|
|
68 | snprintf (buf2, MAX_BUF - 1, "%s rolls %s, %s, %s, %s!", &op->name, orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
|
|
69 | snprintf (buf, MAX_BUF - 1, "You roll %s, %s, %s, %s!", orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
|
|
70 | new_draw_info (NDI_UNIQUE, 0, op, buf); |
|
|
71 | new_info_map_except (NDI_UNIQUE, op->map, op, buf2); |
54 | return 0; |
72 | return 0; |
55 | } |
73 | } |
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 | } |
|
|