1 | /* |
1 | /* |
2 | * static char *rcsid_c_chat_c = |
2 | * CrossFire, A Multiplayer game for X-windows |
3 | * "$Id: c_chat.C,v 1.3 2006/08/29 08:01:37 root 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_me (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 %s",op->name, params); |
37 | if (i == 1) |
39 | new_info_map(NDI_UNIQUE|NDI_BLUE,op->map, buf); |
38 | { |
40 | |
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); |
|
|
48 | new_info_map_except (NDI_WHITE, op->map, op, buf); |
41 | return 0; |
49 | return 0; |
42 | } |
50 | } |
43 | |
51 | |
|
|
52 | static const char *const orcknuckle[7] = { "none", "beholder", "ghost", "knight", |
|
|
53 | "princess", "dragon", "orc" |
|
|
54 | }; |
44 | |
55 | |
|
|
56 | int |
45 | int command_cointoss(object *op, char *params) |
57 | command_orcknuckle (object *op, char *params) |
46 | { |
58 | { |
47 | char buf[MAX_BUF]; |
59 | char buf[MAX_BUF]; |
48 | char buf2[MAX_BUF]; |
60 | char buf2[MAX_BUF]; |
49 | int i; |
61 | int i, j, k, l; |
50 | |
62 | |
51 | i = rndm(1, 2); |
63 | i = rndm (1, 5); |
52 | if (i == 1) { |
64 | j = rndm (1, 5); |
53 | snprintf(buf, MAX_BUF-1, "%s flips a coin.... Heads!", op->name); |
65 | k = rndm (1, 5); |
54 | snprintf(buf2, MAX_BUF-1, "You flip a coin.... Heads!"); |
66 | l = rndm (1, 6); |
55 | } else { |
67 | |
56 | snprintf(buf, MAX_BUF-1, "%s flips a coin.... Tails!", op->name); |
68 | snprintf (buf2, MAX_BUF - 1, "%s rolls %s, %s, %s, %s!", &op->name, orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
57 | snprintf(buf2, MAX_BUF-1, "You flip a coin.... Tails!"); |
69 | snprintf (buf, MAX_BUF - 1, "You roll %s, %s, %s, %s!", orcknuckle[i], orcknuckle[j], orcknuckle[k], orcknuckle[l]); |
58 | } |
|
|
59 | new_draw_info(NDI_UNIQUE, 0, op, buf2); |
70 | new_draw_info (NDI_UNIQUE, 0, op, buf); |
60 | new_info_map_except(NDI_WHITE, op->map, op, buf); |
71 | new_info_map_except (NDI_UNIQUE, op->map, op, buf2); |
61 | return 0; |
72 | return 0; |
62 | } |
73 | } |
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 | } |
|
|