On 12/5/97 3:01 PM, Angus Mezick (angus@EDGIL.CCMAIL.COMPUSERVE.COM) stated: > > 2) if it is, is this line wrong or am I confused: > if (!ob->carried_by && !ob->in_obj && !ob->worn_by & > !ob->contains > && (world[ob->in_room].zone == zone) > && (!IS_SET(world[ob->in_room].room_flags, ROOM_HOUSE))) > extract_object(ob); > > notice the single & symbol after worn_by. that just seem wrong. Also could be shortened to: if ((ob->in_room != NOWHERE) && (world[ob->in_room].zone == zone) && !IS_SET(ROOM_FLAGGED(ob->in_room, ROOM_HOUSE))) extract_object(ob); The reason? ob->in_room SHOULD NOT BE NOWHERE if all the other checks pass... 'sides that it also works just in case all the other checks pass and ob->in_room is still NOWHERE for some odd reason (obj_from_room /etc without following obj_to call) - Chris Jacobson +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST