Ouch. This is an important abuse. Rather than apply your fix, how about disabling the stupid flowers? Many have complained about them. PeterM > 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 ! > _______________________________________________ > crossfire-devel mailing list > crossfire-devel at lists.real-time.com > https://mailman.real-time.com/mailman/listinfo/crossfire-devel