void drop_or_handle( const item &newit, player &p ) { if( newit.made_of( LIQUID ) && &p == &g->u ) { // TODO: what about NPCs? g->handle_all_liquid( newit, PICKUP_RANGE ); } else { item tmp( newit ); p.i_add_or_drop( tmp ); } }