I was a little unsure about this one, since what brought me to the first book was how it involved mountain climbing, and this one takes place almost entirely in the city of Ninavel, a sort of desert Sin City where mages have free rein in return for keeping the water flowing.
The great thing is that it's even better than the first book in that not only does it have the same streetwise outlook of Dev, and Kiran's emotional journey back to the city he fled, but it's a crack mystery, with turn on turn of events as they all try to solve the attacks on the city's source of power and also its water supply. Attacks that are not only baffling to the darkest of mages, but which threaten to destroy the entire city.
As with the first book, you never know what will happen next, or who can be trusted, and you're taken along for a ride as Dev tries to navigate both the backstreets he grew up in and the world of mages and their power plays at the highest levels of the city.
The heart of the story, though, is his friendship with Kiran, and here it's tested in a way neither could have expected. I won't give it away, but it's gripping in how the events unfold from it as Kiran struggles with being a blood mage with strong bonds to his fellow assistant and their master, Ruslan, who'd like nothing more than to wipe out Dev and his companions.
Working with Dev are the Alathians, the more refined mages from the neighboring kingdom, who have held Kiran hostage and are using Dev to help them save the power source that protects their border. They have no trust of Ruslan, and even fight within themselves in how to fulfill their mission.
What works really well is how, even with all this conflict, the plot doesn't simply set one group against the other - they're forced by circumstance to work together to solve the mystery and discover the source of their attacker's power, which both frightens and confounds them. This really adds to the tension as each group tries to outmaneuver the other.
The worldbuilding is excellent with layers of history and various cultures, and yet you're not told anything you don't need to know, and each character not only reacts to the world and its various subcultures, but is motivated by it as well. It was also great to see most of the characters from Whitefire reappear, some in surprising ways.
The title Tainted City is a play on those with the Taint, a form of magic only a few children can wield, and it's these few that ganglords use to commit robberies, which adds a touch of Dickens. How the author sets this untraceable, more rudimentary magic against the higher levels of the mages makes for some dramatic moments, in which even the strongest mages are vulnerable.
About the only fault is one stretch in chapter five that's a bit slow, as they prepare to take on their mission, but it gives time to add depth to the characters before they're thrown into the fire of Ninavel.
In short, it's like a fantasy take on "Chinatown," with deceit, revenge, street chases, murders, backroom deals, cool magic, and spies, all centered around a mystery that Dev and Kiran must solve to save themselves and the city. And yet the core of the story is how they're tested again and again in their friendship and trust. And if that weren't enough, there's even some mountain climbing, too.