/* -*- LPC -*- */ /* * $Locker: $ * $Id: blind.c,v 1.1 1998/01/06 04:20:30 ceres Exp $ * $Log: blind.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.avoidance". * <p> * Describe the arguments in here. * @classification mind.avoidance * @see help::effects */ /* This effect blinds you. Unpleasant if used at the wrong time */ /* A quantity of 100 gives a blindness effect of about 40 seconds. */ inherit "/std/effects/basic"; #include "effect.h" #include "path.h" void create() { set_boundaries( ({ 21, 31 }), ({ 40, 70 }) ); } int query_pass_through(int *coord){ return 30; } mixed *query_attrs( int *coord ) { int total; total = distance_within_region(coord) * 100 / 50; if (total > 100) total = 100; return ({ 60, 30, ({ }), ({ ({"dull brown", total }) }), ({ ({"oranges", total/2 }) }), ({ ({"oranges", total }) }) }); } void action_drunk( object ob, int *coord, int quantity ) { int str; object shadow; str = (distance_within_region(coord) * quantity) / 25; shadow = clone_object("/std/spells/priest/items/blind_shadow"); shadow->setup_shadow(this_player()); shadow->remove_shadow(str); return ; }