The way Live handles quest dialogue is, or at least was, different from the Emu. On Live, NPCs respond to dialogue within say distance. So, if multiple NPCs in the same area respond to the same phrase, they will all speak at once (I can't remember where it was, maybe Neriak or something, that I saw this firsthand and made that discovery). So, on Live, when you hail an NPC, it doesn't respond to the Hail, portion, it responds to "Hail, NPC_001".
I believe the Emu handles quests the way it does for 2 main reasons: server resources and simplicity/directness.
1st, if you have every NPC run through all of the quest stuff, even if you pick out mobs within a certain radius of you, then execute, it's a lot more expensive than just running it through your specific target. This is because, even if you don't have really anything being done, all of the variables available to the quest have to be exported (unless there's a check to see if an NPC doesn't have a quest file?). Just imagine if you had a custom death emote on a bunch of mobs in a zone, and a group AEs them, then tries to talk to one while killing them. All of that processing at once would make the processor blow a gasket.
2nd, if you know what specific mob you want to handle the quest, you don't have to worry about multiple mobs being around each other making everything confusing.
I think if we can find a cost effective way to handle 1, the benefits should outweigh the negatives of 2.
|