Redanien verbündet sich mit Cintra und stoppt den nilfgaardischen Angriff auf das Flüchtlingslager. Doch der cintrische General Vissegerd nimmt Geralt und Jaskier gefangen und gibt dem Hexer die Schuld am Schicksal Calanthes und Ciris. Eva, einst Philippas Geliebte und nun deren Spionin, schleust die beiden weiter: Jaskier zu König Radovid, Geralt zu Dijkstra.
Istredd hat das Buch entschlüsselt: Ciris Blutlinie erlaubt es ihr, Portale durch die Zeit und in andere Welten zu öffnen – ihre Macht lässt sich nutzen, indem man ihr die Lebenskraft raubt. Als Fringilla beim Lauschen ertappt wird, schaltet Vilgefortz sie und Istredd aus. Unterdessen bringt Triss die Hexer Vesemir, Coen und Lambert ins Spiel; widerwillig helfen sie Yennefers Plan, Vilgefortz in eine Falle zu locken und zu töten. Vesemir beschließt schließlich, den Magier selbst zu erschlagen.
Dijkstra foltert Geralt zum Schein mit einer Schreibfeder – ein abgekartetes Spiel, das Radovid aus seiner Antriebslosigkeit reißen soll. Radovid und Jaskier haben ein kurzes Wiedersehen, doch als Jaskier sich weigert, Ciri im Stich zu lassen, lässt der gekränkte König ihn erneut festsetzen. Dijkstra wird am Ende von Eva verhaftet und von Radovid verbannt, der nun mit neuem Elan die Kriegsführung übernimmt.
Ciri lässt sich von Mistle die Haare schneiden und verändert ihr Äußeres – erstmals fühlt sie sich wieder wie sie selbst. Auf einem Ausflug stellt sie sich einem infizierten Ungeheuer und tötet es. Mistle hat Ciris wahre Identität längst durchschaut, liebt sie aber dennoch und will sie nicht allein lassen.
Als Vissegerd nachts versucht, Geralt und Jaskier zu töten, rettet Regis sie und gibt sich als Vampir zu erkennen; er hat aus Geralts Blut ein stärkendes Elixier gebraut. Beim anschließenden nilfgaardischen Überfall trinkt Geralt das Elixier und schlägt sich frei. Erneut trifft er auf Cahir, der ihnen hilft, doch Geralt will ihn töten – erst als Jaskier verletzt wird, hält er inne und schleppt den Freund aus dem Lager.