void activity_handlers::stash_do_turn( player_activity *act, player *p ) { const tripoint pos = act->placement + p->pos(); monster *pet = g->critter_at<monster>( pos ); if( pet != nullptr && pet->has_effect( effect_pet ) ) { stash_on_pet( obtain_activity_items( *act, *p ), *pet ); } else { p->add_msg_if_player( _( "The pet has moved somewhere else." ) ); p->cancel_activity(); } }
void activity_handlers::drop_do_turn( player_activity *act, player *p ) { const tripoint pos = act->placement + p->pos(); bool force_ground = false; for( auto &it : act->str_values ) { if( it == "force_ground" ) { force_ground = true; break; } } put_into_vehicle_or_drop( *p, item_drop_reason::deliberate, obtain_activity_items( *act, *p ), pos, force_ground ); }
void activity_handlers::drop_do_turn( player_activity *act, player *p ) { const tripoint pos = act->placement + p->pos(); put_into_vehicle_or_drop( *p, obtain_activity_items( *act, *p ), pos ); }