NPC's should be revamped in a way that it is not too "clicky." For example, npc's that you talk to to turn in items for rewards. They only give u 1 reward and then you have to start the whole conversation all over again. Instead of the conversation just ending, why not make a script that allows people to keep turning in items without having to start the NPC dialogue all over again. For example, you turn in items to npc. Then, the NPC should ask "do you want to trade in more?" so this reduces the amount of clicking, therefore, reducing the tedious and excruciating torture that people have to go through to get all their items turn in to get their rewards.
Just look at the Quiver NPC. Now, thats what you call a finely tuned NPC. He straight up just ask you, do you want to turn in arrows for quivers and allows you to turn in as much as possible to get as much quivers as possible all in 1 option! Why cant GM's take the coding from this NPC and use this as a good example of how NPC's should be like.