This is the code that works on BG:EE, Tutu, and BGT:
ACTION_IF GAME_IS ~tutu tutu_totsc bgt bgee~ THEN BEGIN
<<<<<<<< ...inlined/harbor.d
REPLACE_ACTION_TEXT %tutu_var%harbor ~EscapeArea()~ ~MoveToPoint([431.171])
CreateCreatureImpassable("%tutu_var%DELTAN2",[449.121],14)
Wait(1)
MoveToPoint([461.197])
Face(0)
DialogInterrupt(TRUE)~
REPLACE_ACTION_TEXT %tutu_var%harbor ~ActionOverride("Eltan2",SetNumTimesTalkedTo(100))~ ~DestroyItem("%tutu_var%MISC55")~
ADD_TRANS_ACTION %tutu_var%harbor BEGIN 9 END BEGIN END ~DialogInterrupt(FALSE)~
REPLACE_TRIGGER_TEXT %tutu_var%deltan2 ~True()~ ~Dead("Rashad") Global("EltanMove","GLOBAL",0)~
ADD_STATE_TRIGGER %tutu_var%deltan2 1 ~Global("EltanMove","GLOBAL",1)~
ADD_TRANS_ACTION %tutu_var%deltan2 BEGIN 1 END BEGIN END ~SetGlobal("EltanMove","GLOBAL",2)~
ADD_STATE_TRIGGER %tutu_var%deltan2 2 ~Global("EltanMove","GLOBAL",2)~
>>>>>>>>
COMPILE EVALUATE_BUFFER ~...inlined/harbor.d~
END
Since the cre cannot be created on the bench for vanilla BG1, I would go with something along the lines of your version for it, but let "DELTAN.cre" be spawned, so he doesn't lie on the floor... This works:
ACTION_IF GAME_IS ~bg1 totsc~ THEN BEGIN
<<<<<<<< ...inlined/harbor.d
REPLACE_ACTION_TEXT harbor ~EscapeArea()~ ~MoveToPoint([406.206])
CreateCreature("DELTAN",[426.160]%FACE_0%)
ActionOverride("Eltan",DestroyItem("PLAT04"))
ActionOverride("Eltan",DestroyItem("SHLD03"))
ActionOverride("Eltan",DestroyItem("SW1H05"))
ActionOverride("Eltan",DestroyItem("BOOK68"))
Wait(1)
MoveToPoint([465.193])
Face(2)
DialogInterrupt(TRUE)~
REPLACE_ACTION_TEXT harbor ~ActionOverride("Eltan2",SetNumTimesTalkedTo(100))~ ~DestroyItem("%tutu_var%MISC55")~
ADD_TRANS_ACTION harbor BEGIN 9 END BEGIN END ~DialogInterrupt(FALSE)~
>>>>>>>>
COMPILE EVALUATE_BUFFER ~...inlined/harbor.d~
END
BG1RE is my current mod project in testing
"Romantic Encounters for BG1" which has a component "Duke Eltan's Spare Minute" and introduces Duke Eltan into the Harbor Master's Building with additional dialogue (patched on to the original one). I am using your code there, too, so I was worried about compatibility. Currently, if the above code is applied by two mods, the patching is only done once, but the "DialogInterrupt(FALSE)" is then present two times in a row. This doesn't have any influence in the game, though, so I guess I'll declare the two mods compatible.