But if we were to recode to I_T_C4,
the code
I_C_T4 ~%tutu_var%DYNAHE~ 10 X#AjantisDynaheir
== ~%AJANTIS_JOINED%~ IF ~InParty("ajantis") InMyArea("ajantis") !StateCheck("ajantis",CD_STATE_NOTVALID)~
THEN @21 DO ~LeaveParty() SetLeavePartyDialogFile() ChangeAIScript("",DEFAULT) Enemy() SetGlobal("X#AjantisRomanceActive","GLOBAL",3)~
== ~%KIVAN_JOINED%~ IF ~InParty("kivan") InMyArea("kivan") !StateCheck("kivan",CD_STATE_NOTVALID)~
THEN @33
DO ~ActionOverride("kivan",LeaveParty()) ActionOverride("kivan",Enemy())~
END
would NOT work, as 1. actions are left with the original speaker, but 2. the interjections themselves introduce new transitional actions
so the code would be
/* Dynaheir hostile leave if attacked */
I_C_T4 ~%tutu_var%DYNAHE~ 10 X#AjantisDynaheir
== ~%AJANTIS_JOINED%~ IF ~valid~ THEN @21 DO ~
ActionOverride("ajantis",LeaveParty())
ActionOverride("ajantis",SetLeavePartyDialogFile())
ActionOverride("ajantis",ChangeAIScript("",DEFAULT))
ActionOverride("ajantis",Enemy())
SetGlobal("X#AjantisRomanceActive","GLOBAL",3)~
== ~%KIVAN_JOINED%~ IF ~valid~ THEN @33 DO ~
ActionOverride("kivan",LeaveParty())
ActionOverride("kivan",SetLeavePartyDialogFile())
ActionOverride("kivan",ChangeAIScript("",DEFAULT))
ActionOverride("kivan",Enemy())~
END
as long as all actions added in the interjection that are speaker-specific are turned into ActionOverrides (thus being kicked out of the regular processing order and assigned to their actor directly).
Or would this be a simple I_C_T? The original state has only one potential transition. We are adding transitional actions in the first case which need to carry to specific actors. In the second case, we are taking that out of play by use of ActionOverride. By my figuring, that means that simple I_C_T1 could be used, as no actor-specific actions are added.