/
LIB3/
LIB3/D/ADMIN/
LIB3/D/ADMIN/OBJ/
LIB3/D/ADMIN/ROOM/W/
LIB3/D/HOME/
LIB3/D/HOME/CITY/ARENA/
LIB3/D/HOME/CITY/ITEMS/
LIB3/D/HOME/CITY/POSTOFFI/
LIB3/DOC/
LIB3/GLOBAL/SPECIAL/
LIB3/GLOBAL/VIRTUAL/
LIB3/NET/
LIB3/NET/CONFIG/
LIB3/NET/DAEMON/CHARS/
LIB3/NET/GOPHER/
LIB3/NET/INHERIT/
LIB3/NET/OBJ/
LIB3/NET/SAVE/
LIB3/NET/VIRTUAL/
LIB3/OBJ/B_DAY/
LIB3/OBJ/HANDLERS/TERM_TYP/
LIB3/PLAYERS/B/
LIB3/PLAYERS/N/
LIB3/ROOM/
LIB3/SAVE/
LIB3/SAVE/BOARDS/
LIB3/SAVE/ENVIRON/
LIB3/SAVE/POST/
LIB3/STD/COMMANDS/SHADOWS/
LIB3/STD/CREATOR/
LIB3/STD/DOM/
LIB3/STD/EFFECTS/
LIB3/STD/EFFECTS/HEALING/
LIB3/STD/EFFECTS/OTHER/
LIB3/STD/EFFECTS/POISONS/
LIB3/STD/ENVIRON/
LIB3/STD/GUILDS/
LIB3/STD/LIQUIDS/
LIB3/STD/ROOM/
LIB3/STD/TRIGGER/SHADOW/
LIB3/W/
LIB3/W/BANNOR/
LIB3/W/NEWSTYLE/
inherit "/std/effects/basic";

/* Hit point reducing poison */

void    create()
{
    set_boundaries( ({ 0, -60 }), ({ 30, -20 }) );
}

int     backdrop()
{
    return 1;
}

query_attrs( coord )
{
    int     total, intens;

    total = distance_within_region( coord );
    intens = total * 2;
    if( intens > 100 )
	intens = 100;

    return({ 5, 95, ({ }), ({ ({ "sparkling purple", intens }) }),
	     ({ ({ "wax", intens / 2 }) }),
	     ({ ({ "sugar", intens }),
		({ "wax", intens / 2 }) })
	      });
}

action_drunk( ob, coord, quantity )
{
    int     total, dam;
    string  obmess, roommess;

    total = distance_within_region( coord );

    dam = total * quantity;

    switch( dam )
    {
	case 0..200:
	    obmess = "You feel a bit sick.\n";
	    roommess = ob->query_cap_name() + " looks a little ill.\n";
	    break;
	case 201..300:
	    obmess = "You feel a sharp pain, and clench your teeth.\n";
	    roommess = ob->query_cap_name() + "clenches " + ob->query_possessive() + " teeth in agony.\n";
	    "teeth in agony.\n";
	    break;
	case 301..400:
	    obmess = "You feel like someone has punched you visciously in the stomach.\n";
	    roommess = ob->query_cap_name() + " nearly collapses.\n";
	    break;
	case 401..1000:
	    obmess = "You collapse and go very pale.\n";
	    roommess = ob->query_cap_name() + " collapses and goes very pale.\n";
	    break;
	default:
	    obmess = "You reel and collapse with all your health fleeing your body.\n";
	    roommess = ob->query_cap_name() + " collapses with a face palid as the " +
		"face death would have if death had a face.\n";
	    break;
    }

    tell_object( ob, obmess );
    tell_room( environment( ob ), roommess, ob );
    ob->adjust_hp( -dam );
    ob->reset_all();
    return;
}

action_taste( ob, coord, quantity )
{
    if( quantity >= 1 )
	tell_object( ob, "Your tongue feels numb.\n" );
}