Kohl Desenee
------------
drunkwalk v1.1

What's New?
-----------
1.1 - I wrote the snippet in pine rather than with hotmail so.. it's
      spaced better. :)
    - I spent more time on it after I remembered right after I sent the
      last version that I forgot all about messages for entering a room.
      Some bug fixes too.. 'Homer!'
    - I talk less.. Suuure.. ;)

1.2 - I actually installed it myself before mailing it once again. ;)
    - I fixed 5 nasty little bugs that reminded me just how awful my code
      is when it's written in the wee hours of the morning. *snicker*
    - I now believe this code to be perfection itself, if you care to
      dispute that, email me about why. :)
    - Added to copyright hoopla at bottom.. Woo!

At the top of move_char put this:

    if (!IS_NPC(ch))
    {
      /* Uh oh, another drunk Frenchman on the loose! :) */
      if (ch->pcdata->condition[COND_DRUNK] > 10)
      {
        if (ch->pcdata->condition[COND_DRUNK] > number_percent())
        {
          act("You feel a little drunk.. not to mention kind of lost..",
              ch,NULL,NULL,TO_CHAR);
          act("$n looks a little drunk.. not to mention kind of lost..",
              ch,NULL,NULL,TO_ROOM);
          door = number_range(0,5);
        }
        else
        {
          act("You feel a little.. drunk..",ch,NULL,NULL,TO_CHAR);
          act("$n looks a little.. drunk..",ch,NULL,NULL,TO_ROOM);
        }
      }
    }


Then you'll want to drop down to where it gives you an exit message:

    if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
        act("$n stumbles off drunkenly on $s way $T.",
            ch,NULL,dir_name[door],TO_ROOM);
    else
        act("$n leaves $T.",ch,NULL,dir_name[door],TO_ROOM);


After that go to the entrance message and replace it with:

    if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
        act("$n stumbles in drunkenly, looking all nice and French.",
            ch,NULL,NULL,TO_ROOM);
    else
        act("$n has arrived.",ch,NULL,NULL,TO_ROOM);


Now if you really want to be a dork, go to where it says 'Alas, you can
not go that way.' and put this in its stead (you will probably want to do 
the same thing, more or less, where it says that the door is closed):

    if ((IS_NPC(ch) && number_percent() < 10)
    || (!IS_NPC(ch) && number_percent() < (10 +
        ch->pcdata->condition[COND_DRUNK])))
    {
      if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
      {
        act("You drunkenly slam face-first into the 'exit' on your way
            $T.",ch,NULL,dir_name[door],TO_CHAR);
        act("$n drunkenly slams face-first into the 'exit' on $s way $T.",
            ch,NULL,dir_name[door],TO_ROOM);
        damage_old(ch,ch,3,0,DAM_BASH,FALSE);
      }
      else
      {
        act("You drunkenly face-first into the 'exit' on your way $T.
            WHAM!",ch,NULL,dir_name[door],TO_CHAR);
        act("$n slams face-first into the 'exit' on $s way $T. WHAM!",
            ch,NULL,dir_name[door],TO_ROOM);
        damage_old(ch,ch,3,0,DAM_BASH,FALSE);
      }
    }
    else
    {
      if (!IS_NPC(ch) && ch->pcdata->condition[COND_DRUNK] > 10)
      {
        act("You stumble about aimlessly and fall down drunk.",
            ch,NULL,dir_name[door],TO_CHAR);
        act("$n stumbles about aimlessly and falls down drunk.",
            ch,NULL,dir_name[door],TO_ROOM);
         ch->position = POS_RESTING;
      }
      else
      {
        act("You almost go $T, but suddenly realize that there's no exit
            there.",ch,NULL,dir_name[door],TO_CHAR);
        act("$n looks like $e's about to go $T, but suddenly stops short
            and looks confused.",ch,NULL,dir_name[door],TO_ROOM);
      }
    }

mud code ends here
------------------

Bug free? I think so. Let me know if not..

When I bother to implement this on my own mud, there will be checks for
sector and such that will greatly enhance the different messages.. There
will also be cutesy stuff for each of the other uh ohs.. such as trying to
go into an air room without flight, etc. If I feel so inclined, I might
release that too. Other code snippets soon to come. :)

Feel free to accredit Kohl Desenee for the above, just don't brag that you
wrote it yourself or, um, I shall send several drunken Frenchmen from
Canada to hunt you down and bring me.. more booze..

In fact! Now you absolutely have to accredit me to use this code. :) As
long as you accredit me properly for my work, you have full permission to
use this on your mud, but permission to post this on a code snippet page
belongs solely to Darkoth and myself. :) I've now put actual thought into
this software and so I think a little show of appreciation is in order..

Any questions, comments, etc. to be directed to foxyrev@hotmail.com

Anthony Michael Tregre (pronounced 'tray-share' for those of you who don't
                        speak a lick of French ;)