Open up jaheira.bcs in NI. Near the top, you'll see some blocks that look like this:
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalGT("D0Happiness","LOCALS",8)
GlobalLT("D0Happiness","LOCALS",13)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,HAPPY)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
OR(2)
GlobalGT("D0Happiness","LOCALS",18)
GlobalLT("D0Happiness","LOCALS",6)
OR(2)
GlobalGT("D0Happiness","LOCALS",18)
GlobalGT("D0Happiness","LOCALS",3)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_ANNOYED)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalLT("D0Happiness","LOCALS",4)
GlobalGT("D0Happiness","LOCALS",1)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_SERIOUS)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalLT("D0Happiness","LOCALS",2)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_BREAKING_POINT)
Continue()
END
Replace these with:
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalGT("D0Happiness","LOCALS",12)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,HAPPY)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalLT("D0Happiness","LOCALS",9)
GlobalGT("D0Happiness","LOCALS",5)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_ANNOYED)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalLT("D0Happiness","LOCALS",6)
GlobalGT("D0Happiness","LOCALS",2)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_SERIOUS)
Continue()
END
IF
ActionListEmpty()
!ModalState(BATTLESONG)
!ModalState(DETECTTRAPS)
!ModalState(STEALTH)
!ModalState(TURNUNDEAD)
InParty(Myself)
GlobalLT("D0Happiness","LOCALS",3)
RealGlobalTimerExpired("D0Speak","LOCALS")
THEN
RESPONSE #100
VerbalConstant(Myself,UNHAPPY_BREAKING_POINT)
Continue()
END