Version: Current CVS version (0.98.0) Problem: Suppose player A is a follower of Mostrai, and B a follower of Sorig. B fails a priest casting and creates flowers all around. A takes some of these flowers and magically behaves like a follower of Sorig (can pray on Sorig altar but not on Mostrai's, gets Sorig's special stuff, etc) until dropping flowers or exiting the game (The divine flowers will never be saved). Source: in gods.c, function determine_god: for players, the inventory is browsed until a 'divine' object is encountered. That object is the praying skill 90% of the time, but it may also be 'divine' flowers. Proposed solution: Adding a skill check in the loop; the code: /* If we are player, lets search a bit harder for the god. This * is a fix for perceive self (before, we just looked at the active * skill.) */ if(op->type==PLAYER) { object *tmp; for (tmp=op->inv; tmp!=NULL; tmp=tmp->below) { if (tmp->exp_obj && tmp->exp_obj->title) return tmp->exp_obj->title; } } will become: /* If we are player, lets search a bit harder for the god. This * is a fix for perceive self (before, we just looked at the active * skill.) */ if(op->type==PLAYER) { object *tmp; for (tmp=op->inv; tmp!=NULL; tmp=tmp->below) { if (tmp->type == SKILL) { if (tmp->exp_obj && tmp->exp_obj->title) return tmp->exp_obj->title; } } } Note that the extra test should not slow the whole thing a lot, since for all non-skill objects, we only do one test. Commander Gros Ad Dwarvam Aeternam !