> well you could do that, but then you couldnt use:
> if (get_pos(ch) <= pos_xxx)
>
> so it poses minor problems, most notably that the player
> would be able to do
> anything in the position they could do standing, they could
> do meditating.
> there is no way to restrict it. have you ever seen someone
> fighting and
> meditating at the same time? how about walking around? i sure
Instead of using POS_ for things like that, I just used AFF_ flags for both
paralyzed and meditating. Works well and doesn't pose any of the problems
that have been discussed. To prevent people from doing things while
paralyzed or meditating, I did the following in interpreter.c under the
'broke' label:
else if (AFF_FLAGGED(ch, AFF_PARALYZE) &&
str_cmp(cmd_info[cmd].command, "quit!") &&
str_cmp(cmd_info[cmd].command, "return"))
send_to_char("You are paralyzed and unable to "
"do anything at all!\r\n", ch);
else if (AFF_FLAGGED(ch, AFF_MEDITATING) &&
str_cmp(cmd_info[cmd].command, "stand") &&
str_cmp(cmd_info[cmd].command, "quit") &&
str_cmp(cmd_info[cmd].command, "quit!"))
send_to_char("You are too relaxed to do anything but meditate.\r\n",
ch);
If you use this code, you will want to make sure that you have 'rent' or
'camp' installed or something similar.. Unless you want meditate and/or
paralyze to totally trap someone in the mud.
--
Zeavon Calatin, Spear of Insanity
http://spear.kilnar.com/ telnet://spear.kilnar.com:1066
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT