The story opens with Geralt in a fetid sewer in Aedd Gynvael, fighting a zeugl. After dispatching the beast, the witcher heads back to the inn where he and Yennefer have been staying. She greets him with "You stink!" and demands that he bathe immediately, in cold water. Once the witcher is sufficiently cleaned up, the sorceress magically dumps the water from the bath out the window, outraging a passerby. The two get to talking about the fact that Istredd has moved to town and that Yennefer has been not only working with him, but also sleeping with him. Geralt is quite obviously jealous of this.
That said, the witcher still has business to conclude and leaves to find Herbolth, the alderman who hired him to kill the zeugl, and claim his reward. However, before he can approach the alderman, he is stopped by Ivo Mirce aka "Cicada", a mercenary who happens to be working as a bodyguard for the alderman. Mirce eyes the witcher's sword enviously as he "confiscates" the weapon — for reasons of security, of course. The usual formalities ensue with Herbolth cheating the witcher out of the previously agreed sum.
After that business is concluded, Geralt heads over to Istredd's home. The mage explains to the witcher that he loves Yennefer and wants to marry her. Geralt tries to convince him that this is unwise because he and Yennefer are meant for each other. The mage accuses him of being delusional, calling the witcher merely a toy for the sorceress. Geralt is incensed and suggests that it is Istredd who is being used. It's clear that the two cannot settle things by talking it through so they decide that they should settle things with a manly and honourable duel.
Back at the inn, Yennefer and Geralt argue some more about their relationship and about Yennefer and Istredd's relationship, but they resolve nothing.
Herbolth gets wind of this plan and tracks Geralt to the inn where the witcher is now sulking and drinking. The alderman throws down a purse with the originally agreed sum for the zeugl, and tells the witcher to take the money and get out of town — now. He explains that the city cannot afford to find another mage and that Istredd is far more useful to them than a witcher. He also explains that he can't simply throw the witcher in a dungeon as Istredd would never agree to such a breach of honour. Geralt suggests that the alderman pray for Istredd then and refuses to change his plans and leave. The alderman is exasperated and tells the witcher that they can go ahead and kill each then, for all he cares.
After leaving the inn, Geralt is set upon by bandits, one of whom he recognizes from a dark corner of the inn earlier. The would-be thieves soon discover that they have chosen the wrong victim when one of them grabs the witcher's medallion. Needless to say, they don't stick around. Geralt decides to spend the night in the stables rather than go back to the inn and Yennefer. During the night, he receives a message from the sorceress, delivered by a bird.
The next morning, Geralt sets off for his appointment with Istredd but is once again accosted by Cicada and his men. Mirce is intent on fighting the witcher, but Geralt is having none of it. Insults fly back and forth until finally the witcher loses his patience and punches Mirce in the mouth, knocking him into a mud puddle. He then decides to punch him again and finally finishes him off with a good swift kick. Ivo is left humiliated and bleeding in the mud.
Geralt continues on his original path to meet the mage for their duel. He soon learns that Istredd also received a message from Yennefer, by bird-messenger and that his message was the same. The mage readies his sword, his chosen weapon as using magic against a mere witcher would be dishonourable. Geralt, however, refuses to fight, bids the mage good-bye and leaves.