What we are missing is a clear understanding of how Reputation and Happiness work in the BG2 engine
Player report on Tutu and BG2 is that with low reputations, Imoens' BreakPoint() triggers, and the P file leave party dialogue triggers. Usually it hangs. The same happens with Jaheira at high reputation levels - at 19 or 20, she leaves the party (in both cases this is on unmodded or BG1 NPC'd installs, without modification of the 2da ). Changing Jaheira to Neutral Good stops this, as does applying the Happy Patch, which changes this:
// stop rep complaints
COPY_EXISTING ~happy.2da~ ~override~
FOR (row = 0 ; row < 8 ; row = row + 1) BEGIN
SET_2DA_ENTRY %row% 1 4 ~0~
END
FOR (row = 0 ; row < 5 ; row = row + 1) BEGIN
SET_2DA_ENTRY %row% 2 4 ~0~
END
FOR (row = 18 ; row < 20 ; row = row + 1) BEGIN
SET_2DA_ENTRY %row% 2 4 ~0~
END
FOR (row = 12 ; row < 20 ; row = row + 1) BEGIN
SET_2DA_ENTRY %row% 3 4 ~0~
END
BUT_ONLY_IF_IT_CHANGES
and this in the DPLAYER2.BCS (both Tutu and BG2) is supposed to trigger the "I'm outta here" speech if BreakingPoint(0) is reached:
IF
Breakingpoint()
THEN
RESPONSE #100
Setglobal("IHATEYOUALL","LOCALS",1)
Setleavepartydialoguefile()
Wait(1)
Startdialognoset(Player1)
Changeaiscript("",DEFAULT)
Setglobal("IHATEYOUALL","LOCALS",0)
END
IF
Global("IHATEYOUALL","LOCALS",1)
Inparty(Myself)
THEN
RESPONSE #100
Setleavepartydialoguefile()
Wait(1)
Startdialognoset(Player1)
Changeaiscript("",DEFAULT)
Leaveparty()
Setglobal("IHATEYOUALL","LOCALS",0)
END
Players report different experiences when they set reputation in SK, and when they do an in-game action, for instance, SKing rep does not help, as the reputation is not read by the engine until it *changes*, at which point the happy.2da and reputation.2da et all seem to interact. SK'ing the rep does not change the reactions, while killing an innocent does. ( this I can report from personal experience
).
We know both EasyTutu and Tutu use HappinessLT(0) triggers for the P file dialogue option to leave the party in disgust.
We know the same values in BG2 NPCs are HappinessLT(-290) or HappinessLT(-250), etc.
We know that in BGT and Tutu v4 and EasyTutu, players report the same errors - Imoen is supposed to stick with you, but at low rep leaves.
We know that BG1 uses a different mechanism, as they have the P file option for leaving as ~False~, which in BG1 scripting means it is only approached as a directly called state (though how they call that on the P file, I don't know).