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 }) }) });
}
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;
}