Die Skripte können nur überprüfen, ob in dem Moment Feinde in der Nähe sind oder gerade ein Kampf läuft - das schließt man natürlich aus. Ob es dem Spieler gerade in den Kram passt weiß man trotzdem nicht. Es gibt hier Möglichkeiten, damit umzugehen:
Meine Devise ist immer: Ein Dialog - ein Thema. Spricht also Xaliana von sich aus, dann erzählt sie zuerst über die Amazonen an sich, dann über ihre königin, dann über die Wolfkriegrinnen - alles jeweils einzelne Dialoge, nicht ein langer.
Du kannst auch eine Option "Können wir später darüber sprechen?" einfügen, die den Dialogtimer neu setzt und die Variable nochmal runterzählt - dann würde Xaliana denselben Dialog später nochmal starten, wenn es hoffentlich besser passt.
Die einfachste Möglichkeit, es dem Spieler zu überlassen, sind die Player Initiated Dialogues (PID). Brandock zum Beispiel kannst Du zu manchen Themen Löcher in den Bauch fragen. Er erzählt in einem von ihm gestarteten Dialog, dass er in Alisarhold, der großen Bibliothek war. Dann über PID kann man ihn fragen: Wie seid Ihr da hingekommen, wann wart Ihr da, wie lange, etcpp.