Hi all, After testing my new flying monster, Katia & I found out that it cannot steal because it's flying (pick_up() fails). In the process, we uncovered a bug in the stealing code, that tells the player something was stolen even if pick_up() subsequently fails. I tried to move the call to esrv_del_item to inside the if-statement that checks if the item was picked up, but it didn't work (apparently it's not as simple as I thought; if the thief wasn't a player, the if-statement fails). Perhaps Mark or somebody can figure out the correct fix for this bug. But anyway, it seems to be a bad limitation that flying monsters cannot steal; so I've patched pick_up() to allow pickup by flying monsters. The patch follows the end of this email. Levitating players still cannot pick up objects (and cannot steal either---not sure if that's a bug or a feature), but now flying monsters can pick up stuff and steal as well. I thought I'd bring it up for discussion before checking it into CVS. Thoughts? Objections? T -- A bend in the road is not the end of the road unless you fail to make the turn. -- Brian White Index: crossfire/server/c_object.c =================================================================== RCS file: /cvsroot/crossfire/crossfire/server/c_object.c,v retrieving revision 1.54 diff -u -r1.54 c_object.c --- crossfire/server/c_object.c 27 Oct 2003 09:48:34 -0000 1.54 +++ crossfire/server/c_object.c 17 Nov 2003 13:27:36 -0000 @@ -556,8 +556,8 @@ * (sack, luggage, etc), tmp->env->env then points to the player (nested * containers not allowed as of now) */ - if(QUERY_FLAG(pl, FLAG_FLYING) && !QUERY_FLAG(pl, FLAG_WIZ) && - is_player_inv(tmp)!=pl) { + if (pl->type==PLAYER && QUERY_FLAG(pl, FLAG_FLYING) && + !QUERY_FLAG(pl, FLAG_WIZ) && is_player_inv(tmp)!=pl) { new_draw_info(NDI_UNIQUE, 0,pl, "You are levitating, you can't reach the ground!"); return; } _______________________________________________ crossfire-devel mailing list crossfire-devel at lists.real-time.com https://mailman.real-time.com/mailman/listinfo/crossfire-devel