/
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";

/* this is the low level background poison */

void    create()
{
    set_boundaries( ({ -50000, -50000 }), ({ 50000, 50000 }) );
}

int     backdrop()
{
    return 1;
}

query_attrs( coord )
{
    int     total;

    total = (coord[ 0 ] < 0) ? -coord[ 0 ] : coord[ 0 ];
    total += (coord[ 1 ] < 0) ? -coord[ 1 ] : coord[ 1 ];
    return({ 5, 95, ({ }), ({ ({ "icky green", ( total < 100 ) ? total : 100 }) }),
	     ({ ({ "bile", ( total < 100 ) ? total : 100 }) }),
	     ({ ({ "bile", ( total < 100 ) ? total : 100 }) }) });
}

query_coordinate()
{
    return({ -20, -20 });	/* hopefully some decent value.  If it gets masked, then we'll have to move it won't we? */
}

action_drunk( ob, coord, quantity )
{
    int     total;

    if( quantity < 5 )
    {				/* taste amount */
	tell_object( ob, "You feel quite ill briefly.\n" );
	tell_room( environment( ob ),
		   ob->query_cap_name() + " looks green for a moment.\n", ob );
	return;
    }
    /* I want to add a long-term effect on to the player ... */
    tell_object( ob, "You feel really really ill.\n" );
    tell_object( ob, "You are racked with spasms of vomiting.\n" );
    tell_room( environment( ob ),
	       ob->query_cap_name() + " looks incredibly ill, and vomits violently.\n", ob );
    total = (coord[ 0 ] < 0) ? -coord[ 0 ] : coord[ 0 ];
    total += (coord[ 1 ] < 0) ? -coord[ 1 ] : coord[ 1 ];
    ob->adjust_hp( -random( total * quantity / 100 ) );
    return;
}