Got a working test install and confirmed: the underlying idea works fine.
BUT - reminder if someone is looking this up in the future - you can't code an I_C_T like a CHAIN. The output of the above code produces
c-aranj.dlg
// creator : DLTCEP_enhanced_WeiDU (version 21200)
// argument : C-ARANJ.DLG
// game : .
// source : ./override/C-ARANJ.DLG
// dialog : ./dialog.tlk
// dialogF : (none)
BEGIN ~C-ARANJ~
IF ~~ THEN BEGIN 0 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN GOTO 1
END
IF ~~ THEN BEGIN 1 // from: 0.1
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 2 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN GOTO 3
END
IF ~~ THEN BEGIN 3 // from: 2.1
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 4 // from:
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 5 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN GOTO 6
END
IF ~~ THEN BEGIN 6 // from: 5.1
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
END
definitely *not* what is being tried out - coding the above as a series of I_C_Ts with passback results in the expected behavior -
ict.d
BEGIN ~c-aranj~
/* SoA: Mithrest Inn */
I_C_T ~WWENCH~ 0 c-aranmithrest /* ~Welcome to the Mithrest, <SIRMAAM>. Please see Pugney if you wish to partake of the lavish splendors of the Inn.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) !Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
I_C_T ~WWENCH~ 0 c-aranmithrest /* ~Welcome to the Mithrest, <SIRMAAM>. Please see Pugney if you wish to partake of the lavish splendors of the Inn.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] not hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
I_C_T ~WWENCH~ 1 c-aranmithrest /* ~Please enjoy your stay here, <LADYLORD>.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) !Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
I_C_T ~WWENCH~ 1 c-aranmithrest /* ~Please enjoy your stay here, <LADYLORD>.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] not hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
I_C_T ~WWENCH~ 2 c-aranmithrest /* ~I must not dally, <SIRMAAM>. I shall be fired if Pugney catches me shirking.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) !Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
I_C_T ~WWENCH~ 2 c-aranmithrest /* ~I must not dally, <SIRMAAM>. I shall be fired if Pugney catches me shirking.~ */
== ~c-aranj~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[ARAN] not hit on waitress ~
== ~WWENCH~ IF ~InParty("c-aran") InMyArea("c-aran") !StateCheck("c-aran",CD_STATE_NOTVALID) Global("c-aranrom","GLOBAL",2)~ THEN ~[WWENCH] cool your jets, big boy ~
END
results in the wanted structure
// creator : DLTCEP_enhanced_WeiDU (version 21200)
// argument : WWENCH.DLG
// game : .
// source : ./override/WWENCH.DLG
// dialog : ./dialog.tlk
// dialogF : (none)
BEGIN ~WWENCH~ 2 // non-zero flags may indicate non-pausing dialogue
IF ~RandomNum(3,1)
~ THEN BEGIN 0 // from:
SAY #28787 /* ~Welcome to the Mithrest, <SIRMAAM>. Please see Pugney if you wish to partake of the lavish splendors of the Inn.~ */
IF ~~ THEN EXIT
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
!Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 0
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 1
END
IF ~RandomNum(3,2)
~ THEN BEGIN 1 // from:
SAY #28790 /* ~Please enjoy your stay here, <LADYLORD>.~ */
IF ~~ THEN EXIT
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
!Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 2
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 3
END
IF ~RandomNum(3,3)
~ THEN BEGIN 2 // from:
SAY #28792 /* ~I must not dally, <SIRMAAM>. I shall be fired if Pugney catches me shirking.~ */
IF ~~ THEN EXIT
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
!Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 4
IF ~Global("c-aranmithrest","GLOBAL",0)
InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN DO ~SetGlobal("c-aranmithrest","GLOBAL",1)~ EXTERN ~C-ARANJ~ 5
END
IF ~~ THEN BEGIN 3 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 4 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 5 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 6 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 7 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
IF ~~ THEN BEGIN 8 // from:
SAY #74109 /* ~[WWENCH] cool your jets, big boy ~ */
IF ~~ THEN EXIT
END
c-aranj.dlg
// creator : DLTCEP_enhanced_WeiDU (version 21200)
// argument : C-ARANJ.DLG
// game : .
// source : ./override/C-ARANJ.DLG
// dialog : ./dialog.tlk
// dialogF : (none)
BEGIN ~C-ARANJ~
IF ~~ THEN BEGIN 0 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 3
END
IF ~~ THEN BEGIN 1 // from:
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 4
END
IF ~~ THEN BEGIN 2 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 5
END
IF ~~ THEN BEGIN 3 // from:
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 6
END
IF ~~ THEN BEGIN 4 // from:
SAY #74107 /* ~[ARAN] hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 7
END
IF ~~ THEN BEGIN 5 // from:
SAY #74108 /* ~[ARAN] not hit on waitress ~ */
IF ~~ THEN EXIT
IF ~InParty("c-aran")
InMyArea("c-aran")
!StateCheck("c-aran",STATE_NORMAL)
Global("c-aranrom","GLOBAL",2)
~ THEN EXTERN ~WWENCH~ 8
END