Work Text:
Sapnap was, he would like to be absolutely clear, trying to do his job.
Tragically, with being a hero came the unfortunate consequence of fighting villains, and these two had a rather different outlook on their professions to him.
“So, Pyro…” Freeze Tag giggled, glancing from his partner to the hero. “How’ve you been?”
Growling, Sapnap raised his hands, firing pure flame at the villain, who darted out of the way with a delighted laugh.
“Terrible. You’re here.”
“Oh, amor, he’s being rude.”
Puppeteer tutted, and Sapnap shot him a dirty look. Freeze Tag’s partner wasn’t even doing the basic courtesy of fighting on a level field. No, the shrike was sitting on top of the fire escape of the building they were fighting on, a metre and a half above the two of them and seeming quite happy to just watch, wings at ease on his back.
“You’re lucky we don’t want to kill you, Py.” Freeze Tag twirled like he was dancing, his coat flying in psychedelic colours as his tail swished hypnotically. “Do we, baby?”
Puppeteer watched his partner for a second, and Sapnap scoffed under his breath at the affection in the shrike’s gaze, watching Freeze Tag dance solo on a rooftop.
“Hey, Puppeteer.” Sapnap rolled his eyes, feeling like he was playing matchmaker in their own relationship. “Your partner’s asking if you want to kill me.”
“Thanks, Incendiaria, I hadn’t noticed.” Puppeteer replied sarcastically, swinging his legs. “I’m thinking yes, if you’re not having as much fun as we are.”
Sapnap groaned quietly. He shouldn’t piss them off. That was what Dad was always telling him, every time he got too hotheaded with a confrontation. And it wasn’t like he could just fly away from this one, not when Puppeteer was ready to drag him back with those annoying strings. He just had to keep his cool, and not overreact to their taunting.
“I think we should kill him, babe.”
Sapnap flinched, because Freeze Tag had stopped dancing, and was now less than a foot away from him face, examining him curiously. His wings tensed, ready for the peacock to try something.
“Please- don’t.”
Taking a deep breath, Sapnap closed his eyes, trying to will the flames away from his eyes. Now wasn’t the time. If he attacked Freeze, Puppeteer would just strangle him on the spot.
“Nah. He’s funny. Look-“
Puppeteer went quiet, and Sapnap only had time to open his eyes before he felt familiar snake of red string on the back of his neck, and was spinning around even as the little fuckers began to wind down his arms. Fuck manners, and fuck this.
Flames exploded from his skin, incinerating the strings on contact, and Sapnap had to make a gigantic effort not to set Freeze’s feathers on fire while he was there. Instead, he just breathed in deeply, frustration building in his throat even as he reigned his powers back in, to linger just below the surface.
“Ooh, feisty~” Freeze Tag’s gloved fingers ghosted over his glowing cheeks, then vanished, twirling to the other side of the rooftop playfully. “Come catch me, Py, if you want to…”
Sapnap did, in fact, want to, but one glance up at Puppeteer reminded him that Freeze was hardly the biggest threat here.
The shrike villain had tilted his head, strings undulating just around his shoulders, looking like tiny snakes, ready to pounce. As Sapnap gritted his teeth, Puppeteer smiled coldly, and shook his head.
“I wouldn’t, Incendiaria.” Puppeteer laughed lightly, trailing off into a vicious trill. “In fact…”
Puppeteer hopped off his perch, walking slowly towards Sapnap. Who, to his credit, was trying not to laugh at just how much shorter the shrike was than him. No. this was important, and dangerous, and not the time to get distracted.
“I wouldn’t mess with me again, ok?”
Puppeteer patted his shoulder, and Sapnap forced down a smirk, instead nodding seriously.
“I- I won’t. Promise.”
Talons buried themselves in his feathers without warning, and Sapnap chirped in shock, only for Puppeteer’s strings to wrap around his neck without warning.
“Stay still, Py, I just need a few minutes…”
From behind him, Freeze Tag had the nerve to sound irritated, which pissed Sapnap off, particularly as Puppeteer gave him a disapproving look.
“He won’t be long, Pyro. Let him be. And…” The shrike villain laughed, the end of the string around Sapnap’s neck trailing into his hand like a leash. “I get you to myself. Sit.”
Sapnap almost objected, before he realised it was a command, not a request, and yet more strings had wrapped around his wrists to tug him to the ground. He landed hard on the rooftop, and painfully, with Freeze’s claws hardly leaving his wings for a moment.
Puppeteer sat just in front of him, grinning like a bird mad on power, the picture of deadly composure as he let one scarlet string wrap around his own finger.
“So, mi Incendiaria… why do you keep coming back into our territory?”
Sapnap shifted, uncomfortable both from the feeling of his feathers being forcibly preened on his back, and Puppeteer’s piercing scarlet gaze. With his guard caught half-down, and his patience beginning to smoulder, he didn’t think as hard as he should have before snapping back a reply.
“I don’t. I’m just trying to- oh, fuck, Freeze-“
Freeze Tag chirped happily as Sapnap sucked in a low breath, closing his eyes in an effort to keep himself composed. That was a trick Dad had taught him. Darkness to smother fire.
“Hey, amor. Keep doing whatever you’re doing. This is adorable.”
Sapnap cracked his eyes open just enough to shoot Puppeteer a glare, then squeezed them shut again as Puppeteer chirped cheerful confirmation, scratching at the base of the hero’s wings.
“You know, I’ve always wondered what heroes would be like…”
One of Puppeteer’s strings trailed under his chin, and Sapnap tried to breathe carefully, not letting his air turn to fire.
“Not… delighted to see you…”
“I meant as pets, mi Incendiaria.”
“Oh… good.” Sapnap scowled, eyes still closed, displeasure with the whole situation building. Surely, Dad would excuse incinerating just two villains? “Are you done?”
“Could be. Could be wondering how you’d look in my nest.”
“I hate you-“ Sapnap cut himself off, seething even as ripples spread across his wings, courtesy of a delighted Freeze Tag. “Get. Off.”
“Now, Py, that’s not very polite.” Freeze sounded pouty, running his claws through Sapnap’s hair like a dog. “Babe, tell him to play nice.’
“Play nice, Pyro.”
Puppeteer curled his claws into a fist, and Sapnap felt the strings around his neck tighten like a noose. He narrowed his eyes, refusing to give either of them the satisfaction of begging, but did concede to being quiet, and letting Freeze work in peace.
Annoyingly, this wasn’t even the first time the peacock villain had touched his wings. The last time had been in far nicer circumstances too, and Sapnap was resisting the urge to complain that Freeze really didn’t know how to pick his moment.
“Babe… he’s really cute…”
Sapnap tuned back in, realising with some indignation that while he’d been trying to fucking mediate, the villains were having some kind of discussion in mock-whispers.
“Oh, I know. Want to keep him?”
“Please.” Sapnap gritted his teeth, fire simmering in his throat. “Do not.”
“Aw, he’s being really patient…” Freeze giggled, talons hooking under Puppeteer string and tugging gently, strangling Sapnap.
“Mhm, I know…” Puppeteer’s claws traced from his temple to the corner of his lips, and Sapnap breathed slowly through his nose, trying not to betray any reactions to both villains touching him at once. “How you doing in there, mi Incendiaria?”
The shrike’s claws tapped against his forehead, making Freeze giggle. Sapnap sighed, trying for the epitome of a frustrated, but restrained hero. Not flustered. He wasn’t flustered.
“Not- not the best…”
Well, way to fuck that one up. Sapnap cursed himself internally, hearing the strain in his own voice. He needed to control himself. Control, control, control. Neither of them were bothering with self-control.
“Oh?” Puppeteer flicked his fingers, strings wrapped around Sapnap’s wrist in idle entertainment for the villain. “Shame.”
“Babe, don’t be mean.” Freeze Tag made a chirpy, exasperated noise, wings audibly ruffling. “I’m nearly done, then you can play.”
Dread curled in Sapnap’s stomach, and fire bristled up his neck, licking out around Puppeteer’s makeshift collar.
“Freeze…” Sapnap spoke through his teeth, refusing to talk to Puppeteer on principle. “Please. Leave me alone. I will-“
String curled around his head, forcing itself into his mouth as Sapnap was cut off into indignant noises, glaring at Puppeteer.
Fuck this. His dad would understand. Villains were asshole.
Gritting his teeth around the string filling his mouth, Sapnap pushed his anger out through his skin, incinerating the string around his neck and head on contact, sending a wave of fire down his wings and making Freeze Tag yelp.
“Py-!”
“Sorry, Freeze. You’re dating an asshole.”
Sapnap got to his feet, still bristling with flames, and shot Puppeteer a dirty look. The shrike was glaring back, frustration evident as he tried strings from every angle, only for them to crumble to dust as soon as they got within an inch of the hero’s burning skin.
“Ugh.” Puppeteer hissed, wings flaring in exasperation. “I told you not to piss me off.”
“Fuck you two.” Sapnap pulled his wings in, scowling at Freeze as the peacock skipped round, eyes wide in worry. “Leave me the hell alone, ok?”
“Py- we’re really sorry. Babe, tell him you’re sorry.”
Freeze Tag nudged his partner, but Puppeteer just hissed, pulling away in radiating anger almost strong as Sapnap’s fire.
“No. He came past us.”
“Py. Baby, please.” Freeze Tag turned to Sapnap, reaching out his hand pleadingly. “I’m sorry. Puppet’s overreacting, he’s just-“
Sapnap was fairly sure there was nothing Freeze could say to excuse his partner, but still, he relented, just a little. His fire dropped, just for a moment.
Grinning, the peacock villain grabbed his hand, and Sapnap felt an uncomfortable freezing sensation rushing through his veins before he had time to scream.
Freeze Tag squealed, clapping his hands in excitement as Sapnap seethed in pure, incandescent fury, frozen in place. Puppeteer relaxed slightly, raising one eyebrow in slight admiration.
“Nice work, amor. Thought you were actually being nice.”
“Nope! I mean- sorry, Py. But you were going to mess up your wings!”
Sapnap hated these two. So much. Freeze Tag especially, he’d decided. At least Puppeteer didn’t pretend to have a conscience.
Also, real fear started to creep in, as Freeze Tag circled him in a fit of giggles. This was exactly what he was meant to avoid. Being caught with his guard down, getting trapped with two villains he’d just pissed off.
“So, what’s the plan, amor?” Puppeteer crossed his arms, smirking at Sapnap like he’d planned this. “Keep him?”
“Hmm…” Freeze ran his claws across the back of Sapnap’s neck, who mentally gritted his teeth. “No-o… I don’t think so… not yet. I think we’ve scared him enough today, right, Py?”
Well, Sapnap couldn’t respond. But internally, he was violent to agreeing with Freeze, and silently vowing to go nowhere near these two again ever again.
Puppeteer huffed, but grudgingly nodded, relaxing a little.
“Alright. Your call, amor. You want to be nice?”
“Mhm! Only because he’s cute. We’ll kill the next one, promise.”
Sapnap felt his skin prickle, but he knew procedure. He’d report them, as soon as they let him go, but he wouldn’t try to engage.
“Alright.” Puppeteer went on tiptoes, kissing his partner’s forehead fondly, before turning to the immobilised hero. “Oh, Pyro? Don’t come after us again.”
“Or do!” Freeze Tag grinned, hand clasped around Puppeteer’s. “But don’t expect to get away!”
Sapnap watched, stomach sinking as Freeze Tag skipped away, giggling as he dragged Puppeteer with him. He was going nowhere until the peacock villain’s powers wore off.
Puppeteer lingered, just long enough to wave at Sapnap, smirking.
“Bye, mi Incendiaria. See you soon.”

Katie_Whitewater Wed 10 Sep 2025 01:43PM UTC
Comment Actions
BelladonnaAddict Thu 11 Sep 2025 06:54PM UTC
Comment Actions
Katie_Whitewater Thu 11 Sep 2025 08:17PM UTC
Comment Actions