It's strange, there are no hidden conditions for meeting the cat in the script.
IF
NpcLeavesRegion(NPC_Hero, REGION_castle_arhu2)
AND
InRegion(NPC_Hero, REGION_castle_arhu1)
THEN
StartScene(7);
PROC
DoStartScene(7)
THEN
StartScriptFrame(NPC_Arhu, "Arhu castle run by");
IF
NpcSees(NPC_Hero, NPC_Arhu)
AND NOT
Triggered("Arhu meets Hero in castle")
THEN
Triggered("Arhu meets Hero in castle");
ShiftToNpc(NPC_Arhu);
LaunchTimer(ENGINE_GAME, "Arhu meet hero", 30);
LockStarted(4);
PROC
EndLock(4)
THEN
EndScene(7);
GoalCompleted;
IF
TimerFinished(ENGINE_GAME, "Arhu meet hero")
THEN
StartMonologue(ENGINE_GAME, "MONO_psst");
IF
MonologueEvent(ENGINE_GAME, "MONO_psst Ends")
THEN
SetAndStartDialog(NPC_Arhu, DIALOG_Arhu, 0);
IF
DialogEnds(DIALOG_Arhu, _, _)
THEN
ShiftToNpc(NPC_Hero);
EndScene(7);
GoalCompleted;
PROC
PROC_CompleteGoal("Arhu meet hero in castle")
THEN
GoalCompleted;
You've already been to the Dwarven Breath Inn and spoken to Wouter.