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

/* ink.  ... bit of a dummy effect really */

create()
{
    set_boundaries( 
		       ({ -10, -10 }), ({ 10, -1 }) );
}

backdrop()
{
    return 1;
}				/* important due to the messages in drunk */

query_ink()
{
    return 1;
}

query_attrs( coord )
{
    return({ 20, 0,
	     ({ ({ "black ink", 100 }) }),
	     ({ ({ "black", 100 }) }),
	     ({ }),		/* no smell */
	     ({ ({ "ink", 100 }) })
	      });
}


action_taste( ob, coord, quantity )
{
    tell_object( ob, "The ink tastes so bad you spit it out immediately.\n" );
    tell_room( environment( ob ), ob->query_cap_name() +
	       " spits black ink out with a look of distaste.\n" );
}

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

    if( quantity < 5 )
    {				/* taste amount */
	action_taste( ob, coord, quantity );
	return;
    }
    tell_object( ob, "That ink was really awful.\n" );
    tell_object( ob, "You vomit.\n" );
    tell_room( environment( ob ),
	       ob->query_cap_name() +
	       " looks queasy and vomits black ink everywhere.\n", ob );
    ob->adjust_hp( -random( quantity ) );
    return;
}