Superhero AU written for the Porn Battle Prompt "sidekick"
Frank hovers above the streetlights, hiding in the shadows, watching for threats on the streets below. Fortunately, the man walking on the sidewalk, whistling and swinging his portfolio by his side, seems to be alone. Frank follows him the whole way home, just in case. The neighborhood isn't that great, and there's been a string of muggings recently, something the guy down there knows too well. At least he isn't limping anymore.
Frank flies up the side of his building, sitting on the ledge outside his window until Frank's sure that Gerard has secured all of the locks on his door. When he putters into the kitchen, Frank zips up to the top of the building to check in with Bob.
"You done babysitting, Bullet?"
"Suck nine dicks, Atlas."
Bob snorts. "We've got a situation on 9th and Broad, I want you here in three minutes."
"Yes, sir."
Frank hopes there's a big fight. Maybe he'll get to use his knives.
***
Frank's waiting outside the studio the next night, too; he found a good tree to wait in. Gerard is whistling again and Frank thinks he might recognize the song, so he drifts a little lower, still staying out of the cone of light from the street lamps.
He thinks it's Astro Zombies, but he's not used to hearing The Misfits whistled, you know? Maybe he's thinking too hard, but he stops focusing on his following technique and drifts a little too close and winds up with a can of mace in his face.
He thinks Gerard must be as surprised as he is.
"Bullet?" he says, voice high and confused.
"Um, hi?" Frank says, dropping to the ground.
"You're the one - have you been following me all week?" Gerard asks, slowly lowering the spray can.
Bob's going to give him so much shit for this. "I just wanted to make sure you got home safe."
"I. Wow, uh, thanks?" Gerard shoves some hair out of his face. "I don't think any muggers are going to be hitting this block for at least a little while. Not after what you and Atlas did to those guys last week."
"You can never be too careful," Frank says seriously. "Sometimes criminals count on that logic and come back to hit the same spot. No one expects them to be where they just were."
"Oh," Gerard says. "Well, uh, you might as well walk down here with me. I mean, if you want. Just, then they'd know you're watching. If that doesn't interfere with like, the superhero guidebook or anything. You probably know better than I do, I just read the comic books, you know?"
Frank grins at him. "I'll walk with you, if you want."
"Okay. Cool." Gerard says, switching his portfolio to his now mace free hand. "My building is just on the next block."
"I know," Frank says. He realizes that might sound creepy, but Gerard already caught Frank following him, so he figures it was implied.
From this close, he can see the faded outline of a bruise on Gerard's cheek, it's that ugly green and brown shade now, and he figures it'll be gone altogether in a few days. "I see you're healing up okay," Frank says, lifting a hand to Gerard's cheek. He presses slightly at the edge of the bruise, before he realizes what he's doing. Gerard's breath hitches.
"Oh, sorry," Frank says, dropping his hand quickly. He wishes the domino mask would hide more of the redness in his cheeks.
But Gerard doesn't look like he's in pain. He's staring at Frank and when Frank glances at his mouth, Gerard's tongue darts out to wet the bottom one.
For a long second, Frank debates just dragging Gerard to the nearest alley, but instead asks, "Did you leave your kitchen window open again?"
It comes out a little more breathless than Frank intended, and it takes Gerard a minute to process the question. "Uh, maybe?"
That's good enough for Frank. He picks Gerard up and flies straight to Gerard's building, Gerard's portfolio hitting against his back in the wind. Fortunately Gerard is on the sixth floor, so there aren't any bars on the window, but it's still a tight fit with both of them. When Frank sets Gerard down next to the couch, Gerard is staring at him. "Sorry, if that was uh, presumptuous-"
"Mikey's never going to believe this," Gerard says, grabbing the front of Frank's uniform and pulling him in for a kiss.
It's wet and sloppy, and Frank can feel Gerard's hands shaking a little, but more importantly, he can feel Gerard's dick, already hard against his thigh. He slides his hands underneath Gerard's jacket, and encourages him to take it off, pushing it off his shoulders, only to find another one underneath.
"What the fuck, how many jackets do you need?" Frank asks, panting the words a little.
"Fuck you, where's your motherfucking zipper?" Gerard asks, hands running over the black fabric of Frank's uniform.
Frank unclips the belt at his waist and tosses it on the coffee table, then separates the top of the uniform from the pants and throws it aside. Gerard's staring at his chest, and Frank's feeling a little smug, because yeah, he's kind of ripped. Not that he has left over issues from middle school or anything. Gerard's hands trace the bright purple bruise under Frank's ribs; the situation last night got plenty interesting, and Frank's stomach flinches away from the touch.
"Sorry," Gerard says, but he doesn't sound terribly sorry, and his hand doesn't move far. "Yours are way worse than mine."
"I'm used to it," Frank says. "Now you, come on."
Gerard squeezes Frank's side just under the bruise, before pulling his hand back so he can shed his second jacket and t-shirt. He's pale and soft, and Frank wants to touch him everywhere, but his hands go to the mottled green that stands out even more than the marks on his face. Frank drops to his knees to get a closer look, and Gerard's stomach goes completely still. Frank presses a soft kiss to the still purple middle, and then a firmer one out towards the edge.
"Breathe, Gerard."
Gerard blinks at him, like that hadn't even occurred to him, before his whole chest heaves and he starts breathing normally.
Frank laughs and reaches for the zipper on Gerard's jeans to start relieving Gerard of his pants problem when Gerard stops him. His eyes are wide and terrified and his grip on Frank's wrist is surprisingly strong. "Could you just not look, for like one second?"
Frank stares. "I'm gonna see your dick, man. And then I'm gonna put it in my mouth. I kind of have to see it."
Gerard makes a strangled noise in the back of his throat. "That's awesome, no problem. Now could you close your eyes?"
"What? Would could it possibly-" Frank looks at the band of Gerard's boxers peeking out of the top of his jeans, more specifically, the pattern. "Are those?"
"Just don't tell him, please," Gerard begs.
"I'm not telling B-Atlas you were wearing his underwear," Frank promises. "Do I have underwear?"
"Yes," Gerard says. He sounds like he wants to die, so Frank rubs his dick through the denim.
"Next time, you should wear mine," he says, and pulls down Gerard's pants and the boxers with Bob's logo on it. He hopes Gerard has some, even if Frank is just the sidekick.
"Will do," Gerard says, shuffling back to the couch, pants bunched around his ankles.
Frank gives Gerard a chance to sit down before he wraps his hand around Gerard's cock, and uses his thumb to spread the bit of pre-come leaking out the tip. Gerard spreads his knees as wide as he can to give Frank room between them. Luckily, Frank doesn't need a lot, because Gerard still has his shoes on, so his pants are kind of stuck.
Frank jacks Gerard's dick a few times, watching how Gerard's eyes close and his mouth falls open, and his cheeks are already flushed and he's just so fucking pretty. He takes just the tip of Gerard's cock into his mouth at first, and Gerard's hips lift off the couch, pushing it in a little further, so Frank anchors one hand on Gerard's hip, pinning it to the couch as he takes more of him into his mouth.
"Fuck, oh Jesus fuck, Bullet," Gerard babbles, as his head falls back against the couch.
Frank hollows his cheeks as he pulls up on the shaft, and Gerard moans. He's probably the most responsive guy Frank's ever blown, and Frank can't help trying to get fancy with every trick he knows. He wants to see how Gerard's gonna react, if twisting here and pressing there will open the floodgate of words or turn him non-verbal. It's the hottest science experiment Frank's even done, and he's pretty sure he'll need a few more trials at least.
He's so focused on Gerard's cock and what's coming from Gerard's mouth that he doesn't even notice his comm beeping until Gerard grabs his wrist.
Gerard accidentally hits the button, and suddenly Bob is swearing at them. "Fucking Christ, Bullet if you've been kidnapped again- Bullet?"
Frank groans, but Gerard's dick is still in his mouth, and Gerard ends up moaning in response, even as he tries to reply. "Um, he's good. Real, good. Busy. But excellent."
Frank pulls off and stretches his jaw for a second. "Sorry, Atlas. Um, I'm on break."
"Did you finally stop lurking on that dude's window sill?"
"BYE," Frank says, clicking the comm off. "Sorry. I'm just usually back by now."
Gerard laughs at him. "It's fine."
He grabs Frank's hand and pulls him off the floor and half onto his lap. His dick, wet with Frank's saliva, rubs against the fabric of Frank's pants, and Frank's own erection is wedged between their thighs.
"Why are your pants still on?" Gerard asks, even as he kisses Frank again, so Frank's tongue is too busy to answer.
He figures it was more of a rhetorical question, anyway, and shoves down his pants so his dick is finally, finally free, and ready to get acquainted with Gerard's.
Gerard leans Frank back onto the couch until he's lying down with Gerard on top of him. They probably look ridiculous, rubbing against each other with their pants around their ankles, and Frank's still got his fucking mask on. He'd take it off, but he'd have to stop kissing Gerard, and take the hand out of Gerard's hair or off of Gerard's ass.
"Fuck, Bullet, I'm gonna-"
"Frank. It's Frank," he says.
Gerard beams down at him. "Frank." And then his face is going slack, and he's coming. Frank's cock has more lubrication to move between them, and even though he wasn't the one getting his dick sucked, he's pretty close himself. When Gerard pushes up a little, relieving the pressure, Frank makes a disgruntled sound, but it's okay in the end, when he wraps a hand around Frank's cock.
"Oh, fuck." Frank pushes up into Gerard's hand.
"I wanna blow you next time," Gerard says. "I'd do it now, but I want to take my time, go slow, you know? And I'm not sure-" Frank moans and comes in Gerard's hand. "-you're up for that right now."
Frank makes a huffing sound and pulls Gerard back down. He's vaguely aware that the bruises on his chest and thighs might not like this position later, but right now he's riding the endorphin high.
"You've got a bed, right?"
"Mm hm. We don't have to go there now, do we? Moving," Gerard says the last word like it kicked his puppy and pushes his face into Frank's neck.
"Mmm," Frank agrees.
He feels Gerard clue in when they're about half way down the hall, by the way his shoulders tense and his knees lock around Frank's shins. "I'm getting another boner," he tells Frank as he floats them into Gerard's bedroom.
"Cool," Frank says, settling them down on the bed.