The 2 skills 'sense magic' and 'sense curse' don't work on item under the player, as opposed to other identifying skills. Here's a patch to fix that (imo the skills should be coherent & all check ground items). Nicolas 'Ryo' -------------- next part -------------- Index: server/skills.c =================================================================== RCS file: /cvsroot/crossfire/crossfire/server/skills.c,v retrieving revision 1.43 diff -u -r1.43 skills.c --- server/skills.c 14 Nov 2003 07:53:08 -0000 1.43 +++ server/skills.c 23 Nov 2003 11:54:58 -0000 @@ -513,6 +513,17 @@ esrv_update_item(UPD_FLAGS, pl, tmp); success+= calc_skill_exp(pl,tmp, skill); } + + /* Check ground, too */ + for(tmp=get_map_ob(pl->map,pl->x,pl->y);tmp;tmp=tmp->above) + if (!QUERY_FLAG(tmp,FLAG_IDENTIFIED) && !QUERY_FLAG(tmp,FLAG_KNOWN_CURSED) + && (QUERY_FLAG(tmp,FLAG_CURSED) || QUERY_FLAG(tmp,FLAG_DAMNED)) && + tmp->item_power < skill->level) { + SET_FLAG(tmp,FLAG_KNOWN_CURSED); + esrv_update_item(UPD_FLAGS, pl, tmp); + success+= calc_skill_exp(pl,tmp, skill); + } + return success; } @@ -527,6 +538,16 @@ esrv_update_item(UPD_FLAGS, pl, tmp); success+=calc_skill_exp(pl,tmp, skill); } + + /* Check ground, too */ + for(tmp=get_map_ob(pl->map,pl->x,pl->y);tmp;tmp=tmp->above) + if(!QUERY_FLAG(tmp,FLAG_IDENTIFIED) && !QUERY_FLAG(tmp,FLAG_KNOWN_MAGICAL) + && (is_magical(tmp)) && tmp->item_power < skill->level) { + SET_FLAG(tmp,FLAG_KNOWN_MAGICAL); + esrv_update_item(UPD_FLAGS, pl, tmp); + success+=calc_skill_exp(pl,tmp, skill); + } + return success; } -------------- next part -------------- _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel