Replaced dialogue inherits some of its old data
Dialogue entries that are replaced in a plug-in can continue to use some of the data from the original dialogue.
Load the attached .esp file. All it does is replace the highest priority greeting in the game (Beginning "You can't be in here, %PCRace." and used by guards in Chun-Ook, Upper Level) with a new one that says "Test." and has as its only condition that the NPC be in Seyda Neen. The original dialogue starts combat and forces the player to select "Goodbye." but I removed these for the new dialogue.
In the original engine, this works fine. All NPCs in Seyda Neen will say "Test." for their greeting,and won't fight you.
In OpenMW, most NPCs will not use the new greeting, but guards will. They will also start combat and force you to select "Goodbye" because they are using the original dialogue's scripting.
It seems that some data from the original dialogue is still being used. The way it seems to be working is that if the replacement dialogue does not define something new for a condition that was defined in the original, the original's condition is used. In this case, no class condition is given for the new dialogue, so the original's class condition (Guard) is used. If nothing is defined for the cell condition, the original cell condition "Chun-Ook, Upper Level" is used, so for testing purposes I defined a new one of "Seyda Neen."
So far I've seen that data inherited this way includes:
Scripting result (startcombat, etc.) Class condition Cell condition Faction condition NPC ID
On the other hand, it seems like function conditions like (Alarmed = 1) are not inherited.
Tested with 0.39.0 nightly (64fdc5a2), Windows 64-bit.
(RM-3394 from redmine: created on 2016-05-15 by R. D., , closed on 2016-05-15 by scrawl ., relates #1360 (closed))
Attachments: testoverride.ESP