Actions

Work Header

Doormat's Kinktober 2025

Summary:

Welcome to Dopamine Deprived Doormats’ Kinktober (㇏(•̀ᵥᵥ•́)ノ)

I’ll be writing mostly for Call of Duty (with a focus on Ghost/Soap and other TF141 ships), but you’ll also find several days dedicated to Hannigram. Ship details will always be listed in the chapter titles.

Some prompts will dive into dd:dne territory. Proper warnings will be included both in the tags and author's notes, and some will be obvious from the chapter titles. If that’s not your cup of tea, feel free to skip those chapters and stick to the tamer ones.

Enjoy the ride, and remember to wash your hands when you're done (I jest)

𓉸♱𓉸

Notes:

Here is a full list of the kinks for each day:

1. Uniforms
2. Gun Play
3. Medical Play
4. CBT
5. Pet Play
6. Drugged Sex
7. Dacryphilia
8. Edging/Orgasm Control
9. Blasphemy
10. Blood Play
11. Public Sex
12. BDSM
13. Selfcest
14. Stripping
15. Gloryholes
16. Sugar Daddies
17. Watersports
18. Incest
19. Necrophilia
20. Age Play
21. Latex
22. Cock Warming
23. Werewolves
24. Sex Toys
25. Free Use
26. Master/Slave
27. Temperature Play
28. Virginity
29. Humiliation
30. Scent/Omegaverse
31. Snuff Videos

Chapter 1: Uniforms (Ghost/Soap)

Notes:

(See the end of the chapter for notes.)

Chapter Text

The sun had barely crept over the horizon, its pale orange glow filtering through the thin curtains, casting Ghost’s room in a soft, almost angelic light.

The room itself was half bare and no nonsense, like the man who lived in it. A narrow bed sat pushed against the wall, sheets plain but meticulously kept, though Soap had learned they rarely stayed neat when he was in them. A metal desk stood opposite, papers stacked in disciplined order beside a battered mug and a small lamp that threw more shadow than light. Ghost’s gear was lined up with precision along the floor — boots polished, weapons maintained, clothes folded so tight they looked pressed flat.

It wasn’t warm or inviting, not at first glance. But Soap had come to know the room’s quiet atmosphere, its rigid order, as something steady. A place that anchored Ghost, and by extension, him.

Soap’d spent the night here again, same as so many others. What had started as a one-off—crashing in Ghost’s quarters after a late op or a rough mission—had become habit. Normal, almost. Nobody questioned why Soap always ended up in Ghost’s room, and if they did, they were smart enough not to ask. The sheets still carried Ghost’s warmth when Soap finally stirred, his body heavy with the comfort of it.

He’d woken up with a semi pressing against the fabric of his boxers, breath hot in the crook of his own arm where he’d slept. The sheets had tangled around his legs, damp with sweat, his body filled with the heat of a dream that cut itself short too soon. The ache in his cock hadn’t eased even after he’d pulled on his uniform, leaving him restless and unsteady beneath the neat, disciplined look of a soldier.

Now, leaning against the closed door of the room, Soap looked sharp as ever — boots laced tight, camo trousers snug across his thighs, shirt tucked crisp against his torso, sleeves rolled just enough to bare the muscle of his forearms. To anyone else, he looked ready for duty, composed and prepared. But the blush on his face and the measured up-and-down movement of his chest as he breathed, would give him away to a trained eye.

His eyes were fixed, drawn to Ghost with a pull he couldn’t fight. He tracked every motion: the roll of his shoulders, the flex of muscle underneath fabric, the quiet control in the way Ghost dressed.

It wasn’t the usual black gear this morning, instead, Ghost pulled on camo. Soap’s breath caught as his gaze roamed shamelessly over the mottled green and brown, the way the uniform hugged Ghost’s frame, how it shaped itself over wide shoulders before tapering to a taut waist. Each strap cinched, each buckle pulled, each movement precise. Soap could only imagine how that fabric would feel bunched in his fists, Ghost looming over him, close enough to catch the word “sir” on his lips before it even slipped free.

A rush of blood quickly went south, memories of their past encounters colliding with the sight in front of him — Ghost pinning him down, weight heavy and immovable, commands whispered in his ear. The ache between his legs throbbed insistently, turning his semi into a full bulge beneath the fabric of his cargos. He shifted against the door, trying to mask the movement as casual, but it did little to ease the restless pulse hammering low in his body.

He let out a controlled breath, an attempt to steady himself. He smoothed his face into something neutral, stoic, but he knew the look in his eyes was a tell he couldn’t hide. Ghost always noticed. And sure enough, Ghost paused mid-motion, head tilting ever so slightly, as if he could feel Soap’s stare like a physical touch.

Soap didn’t look away. Couldn’t.

“Staring again?” Ghost’s voice cut through the silence, muffled under the balaclava but dripping with quiet amusement. He adjusted his belt, drawing out the moment. Soap could hear the smirk in his tone that Ghost wasn’t showing.

His throat went dry. He shifted again, disguising it as a lazy roll of his shoulders when it was really to relieve the pressure of his cock pressing uncomfortably against his uniform. “Can’t help it, Lieutenant,” Soap replied, letting the rank roll tauntingly off his tongue. He knew what he was doing. “Y’know I’ve got a thing for uniforms.”

Ghost’s hand stilled at his collar, then lowered, every movement suddenly slowed. Finally, he turned, meeting Soap’s gaze head-on.

“Careful with that,” Ghost murmured. He closed the distance with a step, the sound of his boots heavy against the floor. “You know what happens when you call me that.”

Soap’s pulse kicked up, adrenaline mixing with something far hotter. His fingers twitched against his biceps where his arms were crossed, itching to reach for Ghost, to test just how far he could push.

He licked his lips, a grin tugging at the corner despite the tension crackling in the air. “Aye,” Soap said, gaze flicking over Ghost’s camo-clad frame once more before snapping back to his eyes. “That’s why I said it.”

“Trying to make us late to PT, Sergeant?” Ghost asked, the words more of a warning than a question. His gloved hand rose, fingers wrapping firm around Soap’s neck. The grip wasn’t crushing, but it was enough to make Soap’s breath hitch, enough to remind him of his place.

Ghost’s thumb pressed lightly under his jaw, tilting his chin up, forcing Soap to hold eye contact without flinching. The world seemed to narrow to that single point of contact — his throat under Ghost’s hand, his pulse thrumming wildly against the pressure.

Then, Ghost’s hand slid higher, palm cradling the back of Soap’s head before he gave a sharp tug to his hair. Soap let out a low sound, half laugh, half groan, eyes fluttering shut for a heartbeat as he bit his lip. The pull sent heat darting down his spine, his cock giving a twitch against the confines of his trousers.

Soap’s grin widened, cheeky even as his body betrayed him. “Couldn’t care less about PT right now, sir,” he teased, the title deliberate bait.

Ghost stepped in, closing the last inches of space between them until Soap could feel the heat radiating off him, the warm rush of breath ghosting through the fabric of the balaclava.

“Little fuckin’ whore,” Ghost rasped filthily. His boots scraped against the floor as he shifted, widening his stance. His hips pressed flush to Soap’s in a sudden, heavy grind that dragged along Soap’s aching cock, apparently just as affected.

Soap sucked in a sharp breath, his head knocking lightly against the doorframe. The friction sent a shudder rolling through him, his grin faltering into something breathless, hungry. He bit down on the sound rising in his throat but couldn’t smother the groan that slipped out.

Ghost pulled back only enough to give another rough hump, slower this time, grinding down hard enough that Soap swore he saw stars at the edges of his vision. The pressure, the weight, the sheer command in the movement left him gasping.

“Thought you liked uniforms,” Ghost murmured darkly, giving Soap’s hair another sharp tug, forcing him to tilt his head back and look up at him. “You’ll be creasing mine if you keep rubbin’ up me like this.”

Soap’s lips curved again, shaky but defiant, voice rough as he pushed into Ghost’s hips with desperation. “Worth it, sir.”

Slowly, Ghost tugged his balaclava up, revealing just enough to expose the lower half of his face. Before Soap could get a word out, Ghost leant forward, capturing his mouth in a kiss that was rough and unrestrained. It wasn’t polished or careful; sloppy and hot, the kind of kiss that left Soap reeling. He moaned into it, the sound muffled as Ghost swallowed it down, dragging him closer by the fistful of camo clutched in Soap’s hands. The fabric crumpled under his grip, that mottled green becoming something he could feel, taste, breathe in. It was maddening — Ghost in uniform, Ghost pressed to him, all of it hitting the centre of Soap’s chest like a strike.

Ghost’s grip in his hair tightened, tugging his head back just enough to keep him open and pliant while his tongue shoved deep, commanding every inch. Soap shivered under it, grinding forward helplessly, his cock rutting against Ghost's, the fabric scraping and dragging in a way that made Soap’s pulse pound in his throat. The rough press of combat trousers and belts grinding together made him fucking leak, the burn only making him push further into the pressure, rutting against Ghost like he needed it to breathe.

Ghost’s free hand locked down on his hip, fingers bruising through his clothes, guiding Soap into a rhythm that was relentless. Each thrust had Soap gasping and whining into the kiss, chasing it shamelessly, his chest heaving with the effort. The neatness of his shirt and crisp sleeves meant nothing now — it was wrinkled, creased under Ghost’s grip.

The kiss finally broke, their lips shiny with saliva, breath mixing hot between them. Ghost’s mouth hovered close, breaking into a seductive grin as he rasped, “Messy fuckin’ slut for the kit, aren’t you?” His teeth caught Soap’s lower lip, biting hard enough to sting before shoving their mouths back together, grinding their cocks rougher through uniform cloth until Soap’s vision went hazy.

A whimper tore from Soap before he could stop it, all pretence of control slipping through his fingers. The world narrowed to the feel of his superior pressed against him, solid and overwhelming, every shift of his hips setting Soap alight. He hooked one leg up instinctively, wrapping it around Ghost’s waist to drag him closer still. Ghost caught him without hesitation, one large hand sliding under his thigh, squeezing hard enough to leave fingerprints in his skin. The possessive grip made Soap shudder, nails biting into Ghost’s shoulders through his shirt.

“Fuck—s’ fuckin’ good, LT—” Soap slurred, words broken on a gasp as Ghost rolled their hips together again, relentless, unforgiving. His head tipped back against the door, lips slack, pupils blown wide as Ghost took him apart with nothing but fabric and force.

Ghost groaned hotly, the sound reverberating through Soap’s ribs as he leaned in close, lips ghosting over his ear. “Call me that again,” he ordered, his hand tightening possessively on Soap’s thigh as he pinned him harder against the door. “Louder.”

Soap’s head tipped forward, falling into the crook of Ghost’s neck, where the heat of his skin radiated. His chest heaved, the pressure between their hips dizzying, unbearable. He let it spill out of him, raw and unrestrained, a loud, shameless whine. “Lieutenant!”

The title cracked something open. Ghost’s whole body shuddered against him, his hips snapping forward in a rough, punishing grind that forced a cry from Soap’s throat. The door rattled under the force, his back arching as he clung tighter, fingers knotting into Ghost’s shirt like he could tear the fabric apart just to get closer.

“Fuck,” Ghost huffed out, like Soap’s desperation had dragged the restraint out of him. He bit down hard on Soap’s neck, teeth sinking through skin just enough to leave an ache behind, and then dragged his mouth up to claim his jaw in a messy trail of kisses and bites.

Soap gasped, every nerve alight, rutting helplessly against Ghost’s hips as his dick pulsed painfully in his trousers. “Sir—fuck—sir—” he babbled, half-plea and half-praise.

Ghost gripped tighter, hauling him higher by the thigh until Soap’s boot barely scraped the floor, holding him against the doorframe like he weighed nothing. The sheer strength of it, the way Ghost’s body caged and supported him, had another hot leak soaking into his briefs and leaving a spreading patch dark on his fatigues.

Ghost growled against his jaw, the sound feral, pushing his hips up in ruthless, grinding thrusts that had both of them dragging rough and fast against each other.

“Need your LT to take care of you, huh? Need your superior to call you a slut just so you can get off, hm?”

Soap let out a whorish groan, hips jerking erratically as he came hard in his trousers, cock twitching violently, cum spilling hot and wet into the ruined fabric. His whole body shuddered, caught between Ghost’s strength and the relentless friction that pushed him past the edge.

Ghost followed seconds later, a guttural groan ripping from his chest as his thrusts stuttered, pressing Soap hard into the doorframe as he ground out his release. His cock pulsed through his trousers, warmth flooding his underwear, the wet mess spreading between them as he held Soap tight against his body.

For a long, trembling moment, neither moved—just panting into each other’s mouths, lips brushing, sweat dampening the air between them. Soap sagged against Ghost’s chest, head spinning, his boxers clinging to his skin.

Ghost’s hand flexed once more on his thigh before sliding slowly down, steadying him back onto both feet. His tone was softer, smiling cheekily with satisfaction as he muttered against Soap’s lips:

"Fuckin' bootlicker."

Notes:

If you want to vote on decisions for my writing, or just want to hang out in the little community I've got going on, then join my discord server