I was afraid that it would be a scripting issue. I prefer to use the basic madness status, because I'm not an expert with scripting and it's my first mod.
I only found those entries in the Script Editor.
(Shared -> Game -> Statuses)



EVENT CharacterSetMadness
VARS
CHARACTER:_Character
LIST<STATUS>:_RemoveList
STATUS:_Result
ON
FetchCharacterApplyStatusData(_Character, MADNESS)
ACTIONS
Set(_Result,MADNESS)
ListClear(_RemoveList)
IF "c1"
CharacterHasStatus(_Character, CLEAR_MINDED)
THEN
ListAdd(_RemoveList, CLEAR_MINDED)
Set(_Result,null)
ENDIF
RETURN(_RemoveList,_Result,null)



I highly doubt that I can just replace MADNESS with PSYCHOSIS! XD
Actually, I'm glad to know how it really work, I might give it a shot someday.

Many thanks to both of you for your help! I'm already quite happy with my mod and what I have done.



Baguette.