Jump to content

Is this fixed by anything?


Recommended Posts

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

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

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

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

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...