inherit "/std/effect_shadow"; void add_effect(string eff, mixed arg){ if(member_array("blind", explode( eff->query_classification(), ".")) != -1 && (random(3+ (player->query_skill_bonus("other.perception")/200))>1)){ tell_object(player, "A bright flash of light " "seems to reflect off your eyes.\n"); if(environment(player)) tell_room(environment(player), capitalize(player->query_short())+ " looks momentarially dazed, but recovers.\n", ({player})); return; } player->add_effect(eff, arg); } int check_dark(int light){ return player->check_dark((60*light)/100); } int query_skill_bonus(string skill, int true){ if(skill == "other.perception" && !true) return((80*(player->query_skill_bonus(skill)))/100); return player->query_skill_bonus(skill); } int add_skill_level(string skill, int level, int xp){ if(!xp && skill == "other.perception") return 0; return player->add_skill_level(skill, level, xp); }