Grim Squeaker Posted January 18, 2005 Share Posted January 18, 2005 In DOGHMA.dlg there are many repeated triggers for asking about curing from vampirism. One of them (in state 9) incorrectly has the trigger of: Global("RevealUmar","GLOBAL",1) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo") Instead of: Global("RevealUmar","GLOBAL",1) OR(4) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo") This could be fixed with a quick DECOMPILE, R_T and RECOMPILE, if it hasn't been fixed by something already. Link to comment
Grim Squeaker Posted January 19, 2005 Author Share Posted January 19, 2005 I guess the fix would be: COPY_EXISTING ~doghma.dlg~ ~override~ DECOMPILE_DLG_TO_D REPLACE_TEXTUALLY ~Global("RevealUmar","GLOBAL",1) PartyHasItem("miscbl")~ ~Global("RevealUmar","GLOBAL",1) OR(4) PartyHasItem("miscbl")~ COMPILE_D_TO_DLG Link to comment
CamDawg Posted February 24, 2005 Share Posted February 24, 2005 Included in alpha v2. Changed to d fix: REPLACE_TRIGGER_TEXT DOGHMA ~Global("RevealUmar","GLOBAL",1) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo")~ ~Global("RevealUmar","GLOBAL",1) OR(4) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo")~ Link to comment
SimDing0 Posted February 25, 2005 Share Posted February 25, 2005 Are you sure that works? The actions are probably stored in the same line in the DLG. In Virtue, to replace multiple triggers, I had to use a regexp. You might make it: REPLACE_TRIGGER_TEXT DOGHMA ~Global("RevealUmar","GLOBAL",1)[^!]*PartyHasItem("miscbl")[^!]*PartyHasItem("miscbm")[^!]*PartyHasItem("miscbn")[^!]*PartyHasItem("miscbo")~ ~Global("RevealUmar","GLOBAL",1) OR(4) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo")~ Link to comment
CamDawg Posted February 26, 2005 Share Posted February 26, 2005 Ah you're right, that patch fails. However (and I know I'm being very anal here) I do not wish to use something like Global("RevealUmar","GLOBAL",1)[^!]*PartyHasItem("miscbl") as this would potentially match a trigger of the form Global("RevealUmar","GLOBAL",1) (any triggers that do not use !) PartyHasItem("miscbl") I can't use " +" between the conditions either, as there are comments for the item names. Rather than some big-ass regexp to get around that, I False()'d the existing transition and EXTENDed the bottom of state 9. The last option on state 9 was also False()'d and restored to preserve ordering in the PC replies. Not as elegant, but it works. ADD_TRANS_TRIGGER DOGHMA 9 ~False()~ DO 3 4 EXTEND_BOTTOM DOGHMA 9 IF ~Global("RevealUmar","GLOBAL",1) OR(4) PartyHasItem("miscbl") PartyHasItem("miscbm") PartyHasItem("miscbn") PartyHasItem("miscbo")~ THEN REPLY #57922 GOTO 10 IF ~~ THEN REPLY #45755 GOTO 1 END Included in alpha v2 and confirmed as working. Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.