move npc interaction to packet handler