fbpx
Joanna Maciejewska

Pacts Arcane and Otherwise series

Pacts Arcane and Otherwise is epic fantasy following Kamira and Veelk, an unlikely duo of arcanist and mage killer who discover a secret that could change everything that people know about magic and the Cataclysm that ravaged the continent 400 years ago.

By the Pact

Available now

By the Pact Cover

High mages lied: Veranesh, the demon who destroyed the continent is still alive. And it’s up to their former student to expose the truth—even if it means another Cataclysm.
When Kamira, a once high mage student turned arcanist, discovers an imprisoned demon in underground ruins, she is forced into a pact that grants her powerful magic, but also ties her to the very demon that once devastated the continent… and Veranesh wants his freedom.
With one friend by her side, Veelk, a mage killer bound on protecting her, Kamira will have to outwit the archmages, other demons, and possibly her own demonic benefactor to survive. Her chances are slim, but with Veelk’s ever-present sarcastic repartee, Kamira might just pull through.
Plots and schemes, power and means—sometimes the price for victory is choosing which friend will die, but when you only have one friend, the choice is… easy?

Read a sample: Chapter 1

Add By the Pact to your Goodreads.

If you’d like to receive a copy for review,  contact me or apply via StoryOrigin.

Get your COPY at:

Amazon || Kobo || Google Play || Barnes & Noble || Smashwords || Apple || Book Depository || All other retailers

 

Scars of Stone

Available now
Discovering the truth about magic is one thing. Doing something about it will require bloodletting, backstabbing, and a bunch of lies.
The battle with a demonic foe had opened Kamira’s and Veelk’s eyes: they were unprepared for their task. If they want a chance of freeing Veranesh from his crystal prison, they need the help of a brilliant inventor imprisoned by Gildya, a man also desired by the refugee queen, Cahala, who will stop at nothing to slake her thirst for magic.
Time is also of the essence as Archmage Yoreus maneuvers for power. Once he claims the title of the first archmage for himself, he will tie up all loose ends, and that entails burying Kamira, Veelk, and a long line of secrets he’d prefer to be forgotten.
Kamira and Veelk have a rule, “no heroics, survival first.”
When dealing with demons, avoiding heroics is easy. But survival? Not so much.

Add Scars of Stone to your Goodreads.

Get your COPY at:

Amazon || Kobo || Google Play || Barnes & Noble || Smashwords || Apple || Book Depository || All other retailers

Shadows Over Kaighal

Available on March 12, 2022 – preorder now

When one’s plan to save the world includes setting a powerful demon free, one might want to consider what happens afterwards. Kamira was hoping she could just go about her life again, and that was a mistake.

To finally have a chance at freeing Veranesh, Kamira had made some risky decisions, surrendering herself to the mercy of the archmages and trusting that her companions, Veelk and Koshmarnyk, would carry out other essential parts of their plan.

In her wildest dreams she hadn’t expected that her actions would leave her with more trouble than less. Now she has a whole city on her shoulders, two demons around—one shrewder than the other, and plenty of enemies to pick from. Even with the demon invasion imminent, Gildya is fussing about Koshmarnyk’s presence in the city, the kingdom of Tivarashan is making its moves to conquer Kaighal, and Kamira would love to toss it all out for a lone journey to find out whether Veelk is still alive. But first, she will need to clean up her mess, one way or another.

The archmage is dead! Long live the archmage…! That is, if she can survive assassins, politics, and the lack of Veelk’s biting humor.

Add Shadows Over Kaighal to your Goodreads.

PREORDER at:

Amazon || Kobo || Google Play || Barnes & Noble || Smashwords || Apple || Book Depository || All other retailers

Demon Siege

To be announced at a later date.

Follow

Get the latest posts delivered to your mailbox: