/* -*- LPC -*- */
/*
* $Locker: $
* $Id: ink.c,v 1.1 1998/01/06 04:20:30 ceres Exp $
* $Log: ink.c,v $
* Revision 1.1 1998/01/06 04:20:30 ceres
* Initial revision
*
*/
/**
* This is the effect skelton docs. This effect
* has a classification of "mind.fluster".
* <p>
* Describe the arguments in here.
* @classification mind.fluster
* @see help::effects
*/
inherit "/std/effects/basic";
/* ink. ... bit of a dummy effect really */
void create() {
set_boundaries(
({ -10, -10 }), ({ 10, -1 }) );
}
int backdrop() { return 1; } /* important due to the messages in drunk */
int query_ink() { return 1; }
mixed *query_attrs(int *coord)
{
return ({ 20, 0,
({ ({ "black ink", 100 }) }),
({ ({ "black", 100 }) }),
({ }), /* no smell */
({ ({ "ink", 100 }) })
});
}
void action_taste(object ob, int *coord, int quantity)
{
tell_object(ob, "The ink tastes so bad you spit it out immediately.\n");
tell_room(environment(ob), ob->one_short() +
" spits black ink out with a look of distaste.\n");
}
void action_drunk(object ob, int *coord, int quantity)
{
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->one_short() +
" looks queasy and vomits black ink everywhere.\n", ob);
ob->adjust_hp(-random(quantity));
return;
}