/*#
#status: RELEASED 0.1.0.0
#ignore_spell: irondrone
#*/
Initial Gender Pronouns:
<<listbox "$pc.gender" autoselect>>
<<option "male">>
<<option "female">>
<</listbox>><br>
<br>
Initial Genitals:<br>
Vagina?
<<listbox "$pc.vagina" autoselect>>
<<option "none">>
<<option "yes">>
<</listbox>><br>
Penis?
<<listbox "$pc.penis" autoselect>>
<<option "none">>
<<option "small">>
<<option "medium">>
<<option "large">>
<</listbox>><br>
<br>
Your Name: <<textbox "$pc.name" $pc.name>><br>
<br>
IronDrone Mode (no continuing after "Game Over"): <label><<checkbox "$hardcore" false true autocheck>></label><br>
<br>
<<moveTo "p_fetish" "Adjust Content Flags.">><br>
<<moveTo "p_detail_config" "Additional Configurations.">> WARNING: SPOILERS<br>
<<moveTo "p_prologue_intro_1" "Start Game.">>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: ie,pcs
#*/
Non-sexual content warnings:<br>
The game takes place in a futuristic dystopia, and contains gameplay/mechanics driven by poverty.<br>
<br>
The following sexual and fetish content types are built into the game and unavoidable:<br>
Aphrodisiacs.<br>
Bondage.<br>
Brainwashing.<br>
Chastity.<br>
Collars.<br>
Corsets.<br>
Corruption.<br>
De-Gendering (ie: conversion to "it" pronouns).<br>
Dronification.<br>
Forced Orgasm.<br>
Gags.<br>
Genital Re-Assignment.<br>
High Heels.<br>
Latex.<br>
Machine Sex.<br>
Objectification.<br>
Orgasm Denial.<br>
Sex.<br>
Sex-Objectification.<br>
Sex Toys.<br>
<br>
Optional Fetishes:<br>
Cum Consumption: <label><<checkbox "$fetish.cum" false true autocheck>></label><br>
Breast Augmentation: <label><<checkbox "$fetish.breasts" false true autocheck>></label><br>
Nullge/Null Bulges: <label><<checkbox "$fetish.nullge" false true autocheck>></label><br>
Forced Sex (Machine): <label><<checkbox "$fetish.sex_machine" false true autocheck>></label> <<hint "Sex is required for game progression, this toggles explicitly forced variants/encounters from automated devices such as sex toys, bondage machines.">><br>
Forced Sex (Human/Drone): <label><<checkbox "$fetish.sex" false true autocheck>></label> <<hint "Sex is required for game progression, this toggles explicitly forced variants/encounters from other humans/drones.">><br>
<<if $pc.gender == "male">>
Use Of The Word "Sissy" (only applies to initially-male PCs): <label><<checkbox "$fetish.sissy" false true autocheck>></label><br>
<<else>>
<<set $fetish.sissy=false>>
<</if>>
Use Of The Word "Slave": <label><<checkbox "$fetish.slave" false true autocheck>></label><br>
Tail-Plugs: <label><<checkbox "$fetish.tail" false true autocheck>></label><br>
<br>
<<moveTo "p_detail_config" "Additional Configurations.">> WARNING: SPOILERS<br>
<<moveTo "p_prologue_intro_1" "Start Game.">><br>Your Future Drone Designation: <<textbox "$pc.drone" $pc.drone>><br>
Your Rival's Name: <<textbox "$rival.name" $rival.name>><br>
Your Rival's Gender: <<listbox "$rival.gender" autoselect>>
<<option "male">>
<<option "female">>
<</listbox>><br><br>
Your Rival's Initial Genitals:<br>
Vagina?
<<listbox "$rival.vagina" autoselect>>
<<option "none">>
<<option "yes">>
<</listbox>><br>
Penis?
<<listbox "$rival.penis" autoselect>>
<<option "none">>
<<option "small">>
<<option "medium">>
<<option "large">>
<</listbox>><br>
<br>
Your Rival's Drone Designation: <<textbox "$rival.drone" $rival.drone>><br>
Your Landlord's Name: <<textbox "$landlord.name" $landlord.name>><br>
Your Landlord's Gender: <<listbox "$landlord.gender" autoselect>>
<<option "male">>
<<option "female">>
<</listbox>><br>
Your Landlord's Drone Designation: <<textbox "$landlord.drone" $landlord.drone>><br>
Fellow Thief 1's Name: <<textbox "$thief1.name" $thief1.name>><br>
Fellow Thief 1's Gender: <<listbox "$thief1.gender" autoselect>>
<<option "male">>
<<option "female">>
<</listbox>><br>
Fellow Thief 1's Drone Designation: <<textbox "$thief1.drone" $thief1.drone>><br>
Fellow Thief 2's Name: <<textbox "$thief2.name" $thief2.name>><br>
Fellow Thief 2's Gender: <<listbox "$thief2.gender" autoselect>>
<<option "male">>
<<option "female">>
<</listbox>><br>
Fellow Thief 2's Drone Designation: <<textbox "$thief1.drone" $thief1.drone>><br>
<br>
Drone Genitals:<br>
Vagina?
<<listbox "$drone.vagina" autoselect>>
<<option "none">>
<<option "yes">>
<</listbox>><br>
Penis?
<<listbox "$drone.penis" autoselect>>
<<option "none">>
<<option "small">>
<<option "medium">>
<<option "large">>
<<option "massive">>
<</listbox>><br>
<br>
<<moveTo "p_fetish" "Adjust Content Flags.">><br>
<<moveTo "p_prologue_intro_1" "Start Game.">>You spend some time watching the routine of <<=setup.ps(setup.getName("rival"))>> route before choosing the perfect spot to ambush her. From your hiding spot you wait, ears perked as you listen for the precise click, click, click of the drone's heels approaching, and then moving past you.<br>
<br>
With silent stealth you slip out of the shadow, creeping up on your unsuspecting foe from behind...<br>
<br>
<<moveTo "g_prologue_ambush_fail_2" "All too easy...">>You're within arms reach of your target when without warning <<pn 'he' rival>> points a hand directly at you. <<pn "He" rival>> never even turns <<pn "his" rival>> head to look at you as something shoots out from the tip of <<pn 'his' rival>> pointed finger and your body lights up in pain... and paralysis.<br>
<br>
You jolt as some unknown quantity of electricity courses through you, your every muscle freezing up for a moment. You lose balance, falling backwards like a toppled statue, still unable to move as <<=setup.getName("rival")>> looms over you, <<pn 'his' rival>> polished head showing no emotion, not even looking down as <<pn 'he' rival>> pulls your wrists together, and then flips you over to bring them to your ankles and bind them all together.<br>
<br>
In seconds you have gone from a perfect backstab position to trussed and hog-tied, your twitching muscles still not responding to commands as your fate is sealed with a gag shoved into your mouth, your cries for help muffled as a hood is pulled over your face and you are plunged into darkness.<br>
<br>
<<printThought "How did <<pn 'he' rival>>?">><br>
<br>
<<moveTo "g_prologue_ambush_fail_3" "Continue.">>You are drone, your pained final few moments of freedom and individuality scrubbed away along with your delusional dreams of becoming anything more.<br>
<br>
Another cog in the FIRESec machine you aren't even the last thief to fall as the hive efficiently assimilates the underworld... And then the city itself.<br>
<br>
<<include "m_gameover_revert">>Your so-called legend is over before it even began, your cowardice and hesitancy overextending your resources and leaving you starving on the street, unable to resist when you're scooped up for vagrancy and shipped off to a fate worse than drone...<br>
<br>
<<include "m_gameover_revert">><<include "j_1_intro">>
<br><br>
<<moveTo "p_prologue_wake_1" "Put your journal away and hit the hay." true>>/*#
#status: RELEASED 0.1.0.0
#*/
You awaken. You don't quite feel the full bravado of last night's journalling, but you attempt to channel it anyway. After all, what choice do you have? It's either wither away or make a big move... And big moves require bold thieves...<br>
<br>
<<moveTo "p_prologue_wake_2" "Look around your room.">>/*#
#status: RELEASED 0.1.0.0
#*/
You look around your tiny flat. A bed, a workbench, a mirror, a small rack of clothes, and a shelf of your supplies... it's not much, but all great heroes have meagre beginnings, right?<br>
<br>
<<moveTo "r_prologue_home" "What to do...">>/*#
#status: RELEASED 0.1.0.0
#*/
<<set $scene = {}>>
You are home in your one-room flat.<br>
<br>
<<if $pc.fatigue >= 4>>
[@@.link_locked;You are too tired to do anything.@@]<br>
<<include "s_sleep">>
<<else>>
<<if State.hasPlayed("p_prologue_6")>>
<<if State.hasPlayed("p_prologue_craft_1")>>
<<printThought "I've got what I need to go after <<=setup.getName('rival')>>... all that's left is to put the plan into motion...">>
<<else>>
<<printThought "If I'm going to put my plan into motion and go after <<=setup.getName('rival')>> I need to do some crafting...">>
<</if>>
<br><br>
<</if>>
<<moveTo "i_self" "Look yourself over in the mirror.">><br>
<<moveTo "i_supplies" "Check your supplies.">><br>
<<if $pc.fatigue <= 3>>
<<moveTo "r_research" "Use your workbench.">><br>
<<else>>
[@@.link_locked;You are too tired to use your workbench.@@]<br>
<</if>>
<<include "s_sleep">><br>
<<include "s_quickwear">><br>
<<if $pc.fatigue <= 2>>
<<if setup.checkDressedLeave()>>
<<if State.hasPlayed("p_prologue_6")>>
<<moveTo "p_prologue_town" "Leave your flat." true>><br>
<<else>>
<<moveTo "p_prologue_1" "Leave your flat." false>><br>
<</if>>
<<else>>
[@@.link_locked;You are not dressed to leave.@@] <<hint "<<=setup.checkDressedLeaveReason()>>">>
<</if>>
<<else>>
[@@.link_locked;You do not have the energy to leave your flat.@@]
<</if>>
<</if>>/*#
#status: RELEASED 0.1.0.0
#*/
You exit your flat. After winding through the maze of hallways that make up your building you take the stairs to the ground floor. Of course the elevator is busted. Fucking landlord can bleed you dry but can't keep the lifts running. You step out of the elevator and throw your shoulder into the heavy, and constantly sticking, side door to the building and step outside.<br>
<br>
You shiver,
<<switch $timeslot>>
<<case 0>>
the morning air is cool, but somehow the grey sky feels colder. The sun obscured by
<<case 1>>
the afternoon is chilly, the sky grey and the sun obscured by
<<case 2>>
the evening is cold, the dim, smog-obscured light of the sun all but gone, your world lit only by led lamps beneath the
<<case 3>>
the night are is cold, neither stars nor moon visible thanks to the
<<default>>
ERROR: unexpected time slot <<=$timeslot>>
<</switch>>
looming shadows of skyscrapers and the ever-present smog that floats over the city.<br>
<br>
Huddled for warmth, you rub your <<if setup.isWorn("jacket")>>hands and silently wish for some gloves<<else>>arms and silently wish for a coat<</if>>, but that is another expense your meagre savings cannot afford. <<printThought "I need to find some work soon...">><br>
<br>
The eighth rule of thievery is to not bring your work troubles home with you. That means pulling jobs away from whatever rock you call home.<br>
<br>
<<moveTo "p_prologue_2" "Head further into the city." false>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: brokie
#*/
You continue further into town. If there's one benefit to being broke, it's that you blend in with every other brokie in the city. Anonymity means safety... and makes casing your next target easier. You meld into a crowd of laborers and continue further into town, casually blending in to the bustle of the city as you keep an eye out for opportunities. Cruising the nearby industrial district you pass by a warehouse that you've hit before, it was never a prime target, but that simultaneously meant that the owners cheaped out on security.<br>
<br>
Your hopes are dashed a few moments later when a drone steps out from the far corner of the building.<br>
<br>
<<printThought "Even a shithole like this has FIRESec protection now?">><br>
<br>
Instincts on point, you've already fallen into the back of the crowd, preparing your getaway, when you notice something about this particular drone. You linger, eyes tracing over its rubberised body...<br>
<br>
<<moveTo "p_prologue_3" "Watch the drone for a bit." true>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: smartglass
#*/
You watch the drone make its patrol. It looks like every other drone in the city, an inhuman figure of shiny black latex, polarised smartglass, and cybernetic augmentation. Its face is obscured by a round helmet, its form an androgynous mix that runs the line between the binaries. Oversized breasts, pinched waist, wide hips, and packing some serious firepower between those thighs.
<<if $fetish.tail>>
As if the ambiguous gender extremes wasn't enough, it steers away from humanity entirely with a prehensile tail that sways behind it, landing somewhere between a cat's balance... and a scorpion's threatening curve.<</if>><<if $fetish.tail>>
Stranger, still, is the tail swaying behind its body, the figure standing
<<else>>
Deceptively tall, the figure stands
<</if>>
tall thanks to steep heels that it balances on with catlike grace.<br>
<br>
Covered head to toe in its shiny uniform, the drone SHOULD be interchangeable with any of its brethren... but as you look closer you have a realisation... This isn't just "some drone"... you KNOW this person. Or, at least you did...<br>
<br>
The longer you stare the more certain you are, underneath all that anonymising drone equipment, you recognise something deeper. Heights can be augmented, waists can be pinched, hips can be padded,<<if $fetish.breasts>> and of course the massive rack draws more than its share of attention, <</if>>but it is other, smaller things. Those tiny, individual movements that you don't even consciously perform, reflexive motions and habits built up over a lifetime that combine for something as unique as a fingerprint... for one sharp enough to notice. Your keen thief's eyes put it together and come to an irrefutable conclusion. You're looking at a long-time fellow thief, part-time competition, hazily remembered, or drunkenly dreamt one-time one-night stand, and full time rival... <<=setup.getName("rival")>>!<br>
<br>
<<moveTo "p_prologue_4" "The implications...">>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: corpo,tzu
#*/
The recognition of <<=setup.getName("rival")>> hits you like a battering ram. The proliferation of FIRESec wasn't just them providing security and capturing your fellow thieves... They've been turning those self-same thieves into more drones!<br>
<br>
On some level you have to admire the efficiency, the old "to catch a thief" adage while coming to mind... alongside something darker. It's sick but it's the kind of thing that makes sense if you're some psychopathic corpo-suit looking at a spreadsheet. You turn your opponent's numbers into your numbers. You think Sun Tzu said something about this. You doubt he'd approve of what you're seeing... or maybe he would. You don't know him that well.<br>
<br>
Caught up in your shock, you keep staring at <<=setup.getName("rival")>> until <<pn 'he' rival>> <<printThought "Or is that it?">> rounds the corner out of view.<br>
<br>
As shattering as this discovery has been, you start to smile, an idea forming in your head. You have some work to do, but you have a plan...<br>
<br>
<<moveTo "p_prologue_5" "Head home." true>>Your mind spins with every step as you travel home, a grin spreading across your face as you figure out exactly how you're going to turn FIRESec's plans back on themselves and make your mark...<br>
<br>
<<moveTo "p_prologue_6" "Time to journal." true>><<include "j_2_plan">><br>
<br>
<<include "s_sleep">>There's a lot you don't know about drones... which means that capturing <<=setup.getName("rival")>> is going to be a risk... but one you have no choice but to take.<br>
<br>
Sitting down at your workbench, you get to work, constructing the devices that you will use to enact your daring plan. It's a real chicken-and-egg issue that having a drone suit would help you capture other drones but you can't get a drone suit without capturing a drone unawares. With the precise capabilities of drones an outstanding question you craft up a little bit of everything (even if it means using more Construction Cubes than you'd like) to make sure that your ambush will be a success.<br>
<br>
<<moveTo "r_prologue_home" "Finish up and step away from the workbench." true>>You return to town<<if State.hasPlayed("p_prologue_craft_1")>>, ambush supplies in hand.<<else>>with nothing but the clothes on your back. <<printThought "This isn't the plan...">><</if>><br>
<br>
<<include "s_prologue_town">><<moveTo "r_prologue_home" "Go back to your flat.">><br>
<<moveTo "r_shopping" "Go shopping.">><br>
<<if passage() == "p_scrounging">>
<<moveTo "p_scrounging" "Scrounge for supplies." true "<<if $scene.supplies == 0>><<set $scene.supplies=random(1,3)>><<else>><<set $scene.supplies=random(0,1)>><</if>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<<else>>
<<moveTo "p_scrounging" "Scrounge for more supplies." true "<<set $scene.supplies=random(0,3)>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<</if>>
<<moveTo "p_prologue_ambush_1" "Go searching for <<=setup.getName('rival')>>." true>>You retrace your prior steps to the warehouse you saw <<=setup.getName('rival')>> patrolling, silently hoping that drone shifts are consistent. You let out a sigh of relief when a drone walks around the building and you again recognise the familiar gait and mannerisms.<br>
<br>
<<if State.hasPlayed("p_prologue_craft_1")>>
<<moveTo "p_prologue_capture_1" "Deploy your trap and make your move." true>>
<<else>>
<<moveTo "g_prologue_ambush_fail_1" "YOLO, just take <<pn 'him' rival>> down!" "attempt to raw-dog taking down <<=setup.getName('rival')>>.">>
<</if>><<=setup.ps(setup.getName('rival'))>> patrol route is all but mechanical in its precision, the click, click, click of <<pn 'his' rival>> heels on the pavement as reliable as a metronome, and giving you a simple method to track your target unseen as you deploy your trap.<br>
<br>
Given their efficient coordination, and the fact that you have never once witnessed a drone speak, it was an obvious conclusion that they are in wireless communication with their hive. This factor complicated what was essentially a smash and grab... but that was where my preparations came in. An innocuous access grate along <<=setup.ps(setup.getName('rival'))>> route was removed and replaced by a visually identical simulacrum... after I turned the drainage chamber below into a nice temporary little Faraday cage.<br>
<br>
<<moveTo "p_prologue_capture_2" "Hide and wait for <<pn 'him' rival>> to fall into your trap...">>Hidden from view, you listen intently for the click, click, click of <<=setup.ps(setup.getName('rival'))>> as <<pn 'he' rival>> <<pn 'his' rival>> next round. You hold your breath as you silently track your target, crouched and keenly listening to each precise footstep... and then...<br>
<br>
You'd likely have blown your cover laughing if anyone else was around. The sight of the drone stepping into nothing and falling into your trap will live in your memory forever.<br>
<br>
<<moveTo "p_prologue_capture_3" "There is a sudden CRASH of the drone literally falling into your trap.">>You rush forward, every second counting as you spot the top of the drone's helmet disappear into the ground. Your first move is to toss a pair of canisters down the hole. The knock-out gas triggers first, but whatever filtration system is built into the drone's helmet seems to filter it out... but the second canister bursts into a wave of rapidly expanding restraint foam that swiftly begins to fill the small chamber.<br>
<br>
The slick drone material proves resistant against the normally-sticky foam, but in such a cramped space it doesn't matter. In a few moments <<=setup.getName("rival")>> is unable to even squirm, and you finish things off with a knock-out injection. Barely has <<=setup.getName("rival")>> gone limp when you're on to stage 2...<br>
<br>
<<moveTo "p_prologue_capture_4" "Claim your prize.">>With your target unconscious, you toss in the dissolver for the foam and drop into the underground chamber. Behind you, you pull the original cover back into place to disguise your efforts from any passers-by.<br>
<br>
<<printThought "Smash: Done... Now for the grab portion, and literally stealing the clothes off someone's back...">><br>
<br>
Covered in its drone get-up, the figure at your feet glistens in the dim light. You feel a chill shoot down your spine as you trace a finger over the slick rubber uniform. The drone's artificial skin is slick to the touch, seamless like a second skin. You zero in on the cuffs as the "outermost" layer... and thus your starting point.<br>
<br>
All good thieves these days have a bit of hacking skills, and yours are, of course, better than most. Still, the clock is ticking as you are forced to unlock each cuff and the heavy and constrictive waist-piece separately. Your heart skips a beat as you remove the waist-piece and <<=setup.getName("rival")>> lets out a sigh. Fortunately, <<pn 'he' rival>> remains asleep... though she has lost a bit of the eye-catching hourglass figure that waist-piece had compressed her into. You take a deep breath to calm yourself as you put the various locking cuffs aside and open the helmet to have your first true surprise.<br>
<br>
Rather than revealing the expected face of <<=setup.getName("rival")>> you find a second mask underneath the drone helmet. Hurriedly, you peel the thin mask... and then extract a long mouth insert, and in so doing finally have your theories confirmed as you stand over a sleeping <<=setup.getName("rival")>>, <<pn 'his' rival>> shaved head now peeking out from the otherwise anonymising, and still secure, drone outfit that yet covers <<pn 'him' rival>> from the neck down.<br>
<br>
<<moveTo "p_prologue_capture_5" "Keep working.">>You don't know how long you have before the drone's disappearance might raise an alarm. You have a feeling you'll have to sacrifice <<=setup.ps(setup.getName("rival"))>> modesty to get this done quickly. You're sure <<pn "he'd" rival>> do the same if the roles were reversed.<br>
<br>
With the cuffs removed the gloves come off easily... but the armpit height shoulder-to-shoulder coverings only serve to expose the drone's fingertips, five dots of flesh to match the head peeking out above.<br>
<br>
The drone's collar is next. As much as it may resemble the cuffs from before, it takes even longer to hack into, your sweat pooling on your brow. You give a triumphant fist pump when it finally detaches without setting off an alarm or exploding. The collar's removal reveals the upper opening of the rubbery suit beneath and then you have the somewhat challenging effort of peeling off the full-body suit, the outfit seamless, but stretchy enough for you to pull it over <<=setup.ps(setup.getName("rival"))>> shoulders and extract <<pn 'his' rival>> arms, the material even slipperier on the inside thanks to either sweat, or some sort of application compound, the combination making for quite a fragrance as you all but peel it down <<=setup.ps(setup.getName("rival"))>> body.<br>
<br>
Your next surprise<<='/'>>challenge comes just past the waist when you reach the drone's tail. You had thought it was merely part of the suit... but it turns out that it is actually, for lack of a better word, rooted inside, and you are forced to pull it free, revealing a plug larger than your fist by which it had been socketed inside <<=setup.ps(setup.getName("rival"))>> rear.<br>
<br>
There's no time to think on such matters as you continue on, removing <<=setup.ps(setup.getName("rival"))>> boots so that you can finish removing the toes-to-head suit.<br>
<br>
<<moveTo "p_prologue_capture_6" "Things are unwrapped, so wrap things up.">>The removal of <<=setup.ps(setup.getName("rival"))>> catsuit has nearly all of <<pn 'his' rival>> flesh on display... nearly, that is, save for a sort of metallic underwear, the shiny <<if $fetish.breasts>>pieces<<else>>piece<</if>> the lone elements of the outfit that are not the uniform jet black.<br>
<br>
<<if $fetish.breasts>>
The bra and crotch-piece make for quite a sight, each serving to endow its wearer with protrusions FAR larger than your lithe rival used to sport<<if $rival.penis != "large">>... particularly downstairs, where <<pn 'he' rival>> sports a massive bulge indeed!<<else>>.<</if>>
<<else>>
The crotch-piece makes for quite a sight, serving to endow its wearer with QUITE a protrusion, your lithe rival <<if $rival.penis == "large">>somehow looking even more lewdly large downstairs than you remember<<else>>sporting a massive bulge indeed!<</if>>
<</if>>
<br><br>
For a brief moment you consider leaving the underwear, but you can't risk the loss of intelligence in leaving anything behind if you're to figure out how to infiltrate the drones.<br>
<br>
An even more secure encryption locks <<if $fetish.breasts>>the bra, and panties<<else>>the panties<</if>> to present a true nail-biting challenge for even your skills. Your heart races as you try to focus in on cracking what has to be one of the most secure things you've ever encountered at this scale... but you finally manage to slice through successfully, feeling a wave of relief as the <<if $fetish.breasts>>last of the <</if>>excessively secured underwear clicks open.<br>
<br>
<<if $fetish.breasts>>
As near-comically large of a rack as the bra provided, removing it reveals that <<=setup.getName("rival")>> is now sporting a no-less head-turning rack beneath. You can't fathom what purpose such modifications might have, but you stuff the removed bra in with the rest of your treasures and continue down, your heart racing for more reasons than one.<br>
<br>
<</if>>
<<moveTo "p_prologue_capture_7" "Finish up and get out of here.">><<switch $drone.penis>>
<<case "none">>
<<if $fetish.breasts>>
Where the bra had been merely boosting an already oversized bosom, the bulge below
<<else>>
With the metal underwear removed, the bulge
<</if>>
turns out to be pure phantom.
<<if $drone.vagina>>
Underneath you find a perfectly normal vagina... well, normal, aside from the far-from-small artificial phallus that the strange panties had kept locked inside.
<<else>>
Underneath you find... nothing at all, an eerily smooth crotch devoid of hole or pole, either.
<</if>>
<<case "small">>
<<if $fetish.breasts>>
While the bra had been boosting an already oversized bosom, the bulge below
<<else>>
The bulge
<</if>>
turns out to have been a bit of a mirage over a cute, tiny cock.<<if $drone.vagina>>.. And behind that, a dripping cunt in which an even larger artificial phallus had been locked.<</if>>
<<case "medium">>
<<if $fetish.breasts>>
While the bra had been boosting an already oversized bosom, the bulge below
<<else>>
The bulge
<</if>>
turns out to have been a bit of a mirage over an average-sized cock.<<if $drone.vagina>>.. And behind that, a dripping cunt in which an even larger artificial phallus had been locked.<</if>>
<<case "large">>
<<if $fetish.breasts>>
Just as the bra had been boosting an already oversized bosom, the bulge below
<<else>>
The bulge
<</if>>
turns out to have been tightly containing <<=setup.ps(setup.getName("rival"))>> large member.<<if $drone.vagina>>.. And behind that, a dripping cunt in which an even larger artificial phallus had been locked.<</if>>
<<case "massive">>
<<if $fetish.breasts>>
Just as the bra had been boosting an already oversized bosom, the bulge
<<else>>
The bulge
<</if>>
turns out to have been tightly containing a <<if $fetish.breasts>>similarly <</if>>massive member.<<if $drone.vagina>>.. And behind that, a dripping cunt in which a similarly massive artificial phallus had been locked.<</if>>
<</switch>>
<br><br>
As you finish
<<if $drone.vagina>>
withdrawing the panty-attached dildo from <<=setup.ps(setup.getName("rival"))>> dripping snatch
<<else>>
removing the metal underwear from around <<=setup.ps(setup.getName("rival"))>> waist
<</if>>
<<pn 'he' rival>> starts to stir.<br>
<br>
You spare one final glance at <<=setup.ps(setup.getName("rival"))>> now-naked body... puzzled at the seemingly superfluous surgery done <<if $drone.vagina != $rival.vagina || $drone.penis != $rival.penis>>both above and below <</if>>as part of <<pn 'his' rival>> dronification... and then you scramble up out of the hole and drop your final bit of tech, a single-use transmitter that calls in an anonymous report of a drone "ripping at its attire." With the radio-dampening bag containing the drone equipment safely slung your shoulder you resist the urge to run. You are giddy with excitement but you cannot bring attention to yourself.<br>
<br>
Rule number thirteen of thievery: celebrate when the job is done and not a moment before.<br>
<br>
<<moveTo "p_prologue_capture_8" "Race home." true>>Though your prize is far from light, you know enough than to go directly home after a job, and you take a circuitous route through town, on the way passing by some sort of protest against the regional FIRESec headquarters.<br>
<br>
You realise that you'd never thought of things from the "other side," but it seems that the drones are proving an existential threat to both sides of the cops and robbers equations, ex-security workers picketing with "STOP THE HIVE" and "NO DRONE" signs.<br>
<br>
The last thing you want is to get caught for someone ELSE'S disruption, so you quickly detour around the protest, circling a bit further out before finally making your way home...<br>
<br>
<<moveTo "p_prologue_capture_9" "Mission: Success!" true>>Home at last, you dump your prize on your workbench. You are torn between your desire to start tinkering and the adrenaline dump-induced exhaustion weighing on you. You give in to neither impulse as you remember your duty to posterity and sit down to journal.<br>
<br>
<<moveTo "p_stage0_start_1" "Update your journal, and THEN enjoy a well-earned rest.">><<if !State.hasPlayed("p_drone_organize_5")>>
<<printThought "First things first. I need to go through all that drone equipment.">>
<</if>>
<br><br>
<<if $pc.fatigue >= 4>>
[@@.link_locked;You are too tired to do anything.@@]<br>
<<include "s_sleep">>
<<elseif $pc.food < 0>>
[@@.link_locked;You are out of food, you need to venture forth for supplies before you waste away.@@]<br>
<<if $pc.fatigue <= 2>>
<<if setup.checkDressedLeave()>>
<<include "m_stage0_town">>
<<else>>
[@@.link_locked;You are not dressed to leave.@@] <<hint "<<=setup.checkDressedLeaveReason()>>">>
<</if>>
<<else>>
[@@.link_locked;You do not have the energy to leave your flat.@@]
<</if>>
<<else>>
<<moveTo "i_self" "Look yourself over in the mirror.">><br>
<<moveTo "i_supplies" "Check your supplies.">><br>
<<if $pc.fatigue <= 3>>
<<moveTo "r_research" "Use your workbench.">><br>
<<else>>
[@@.link_locked;You are too tired to use your workbench.@@]<br>
<</if>>
<<moveTo "r_masturbate" "Masturbate.">><br>
<<include "s_sleep">><br>
<<include "s_quickwear">><br>
<<if !State.hasPlayed("p_drone_organize_5")>>
[@@.link_locked;The pile of uncategorised drone equipment on your workbench is FAR more enticing than anything in town.@@]<br>
<<elseif !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You've got plenty of supplies... and no interest in leaving until you've gotten an initial understanding of all the drone items.@@]<br>
<<elseif $pc.fatigue <= 2>>
<<if setup.checkDressedLeave()>>
<<include "m_stage0_town">>
<<else>>
[@@.link_locked;You are not dressed to leave.@@] <<hint "<<=setup.checkDressedLeaveReason()>>">>
<</if>>
<<else>>
[@@.link_locked;You do not have the energy to leave your flat.@@]
<</if>>
<</if>><<addItem 'helmet'>>
Your body tingling with excitement and arousal, you take a seat at your workbench and unpack your prizes, spreading the drone equipment out and doing a more detailed inventory than you were able to perform in the field.<br>
<br>
<<printThought "Let's start at the top...">><br>
<br>
The first, and perhaps most iconic, piece of the drone equipment is the outer helmet. Built in a clamshell design, it securely mount to the separate collar and fully encases the head in a padded interior. The only breaks in its smooth, polished appearance are a trio of ports on the lower front. One lines up with the mouth... and sports a large, phallic insert, with the other two looking to be filtered air intakes.<br>
<br>
You start to bring the mask to your face, but think better of it. Sure, your flat is theoretically secured against outside transmissions... But it's probably best to spend time researching each piece of the drone outfit individually before you actually try anything on.<br>
<br>
<<moveTo "p_drone_organize_2" "Put the helmet aside and move on to the next item." true>><br><<addItem "mask">>
<<addItem "collar">>
<<addItem "cuffs">>
<<addItem "corset">>
<<addItem "boots">>
The helmet almost seems to stare at you from the corner of the workbench as you begin to more brusquely categorise the other pieces.<br>
<br>
The first layer "in" from the helmet is its accompanying mask. Strangely, despite the mask/hood having a more human-shaped face, you find it less fascinating than the helmet. For all its jet black shine and smooth curves, and the hollow mouth insert, it just doesn't hit as hard as the round helmet that would seal over it.<br>
<br>
Moving down from the two head items comes the neckpiece. Rigid and steep, it is more like a posture collar than anything else. Wearing it would all but prevent the wearer from turning their head, which explains some of the alien patterns of drone movement, even if you cannot conceive of why such restriction would be effective.<br>
<br>
Matching the collar are the eight cuffs. Sleek and secure they serve to lock the rest of the outfit in place, though a cursory inspection does not turn up anything else of interest at this time. The final "securing" item is the waist/chest-piece. Something more than a belt, but not quite a cuirass, you find yourself thinking back to a piece of clothing you saw in an old history book once... something called a corset? Whatever the item is, it is VERY sturdy, and wearing it will enforce a tall posture, and a stunning figure.<br>
<br>
The final piece of what you deem as "outer" attire are the boots. Rising up past the thigh cuffs, they wed fashion and industry, an ultra-steep arch, supported by a springing rear blade that gives drones their speed, and a characteristic spring to their step.<br>
<br>
<<moveTo "p_drone_organize_3" "With the outer layers peeled away, its time to move deeper." true>><<addItem "gloves">>
<<if $fetish.breasts>>
<<addItem "bra">>
<</if>>
<<addItem "suit">>
You opt to leave the complexity of the drone crotch equipment to the end as you review the remaining "clothing" items of the suit.<br>
<br>
The bodysuit is simultaneously one of the most alluring, and the most straightforward, amongst the entire ensemble. Made of a slippery and stretchy latex-like substance, it covers the wearer almost entirely. The "face" hole is the only real opening, meaning that the wearer must step, stretch, and slither their way in before being covered completely seamlessly. The full-body second skin fully formed to the body, with integrated fingertip-less gloves, and individually moulded toes.<br>
<br>
Over the gloves integrated into the suit comes another pair of standalone gloves. These form a single piece, running from fingertips, up to the armpit, then across the shoulders in a bolero configuration, before extending down the other arm. The gloves are thicker than the suit, and seem both redundant and excessive to cover the otherwise exposed fingertips. <<printThought "Why not just have the suit cover everything?">><br>
<br>
Answering that question will have to wait for some deeper research, for now you can only conclude that the independent gloves are made durable for combat purposes. They'll be easier to replace if they get punctured or worn down if they can be removed with a simple strap instead of having to completely disrobe.<br>
<br>
<<if $fetish.breasts>>
The final non-crotch-piece garment is the bra, which is actually a fairly standard example of its kind, discounting the substantial size of breasts it is designed to contain, support... and to further enhance.<br>
<br>
<</if>>
You take a few extra moments to array the outfit thus far, the helmet continuing to stare at you as you eye the remaining items.<br>
<br>
<<moveTo "p_drone_organize_4" "Take a deep breath and finish up." true>><<addItem "chastity">>
<<if $fetish.tail>>
<<addItem "tail">>
<<else>>
<<addItem "plug">>
<</if>>
While many aspects of the drone outfit and transformation confuse you, nothing is quite as baffling as the "crotch" situation.<br>
<br>
In the back is the
<<if $fetish.tail>>
tail... which you can understand on some level as an articulating "third arm" the fact that it "roots" itself in place with a gargantuan buttplug is a whole other mystery that
<<else>>
massive plug that was filling <<=setup.ps(setup.getName("rival"))>> rear, and whose purpose
<</if>>
will certainly require additional research.<br>
<br>
Going over top of things is the "underwear" itself... though it is like no underwear you have ever seen. Made of locking rigid metal, the
<<if $drone.vagina == "yes" && $drone.penis != "none">>
moulded interior isolates and secures the drone's unit... and holding a pair of large inserts to stuff its two lower holes.
<<elseif $drone.vagina == "yes" && $drone.penis == "none">>
moulded interior includes a pair of large inserts to stuff its two lower holes.
<<elseif $drone.vagina == "none" && $drone.penis != "none">>
moulded interior isolates and secures the drone's unit and secures the hollow rear sheath insert.
<<elseif $drone.vagina == "none" && $drone.penis == "none">>
moulded interior further streamlines the drone's smooth lower area while securing a hollow rear sheath insert.
<<else>>
ERROR: unexpected drone genitals
<</if>>
Finally, there is the matter of the large codpiece-like protrusion at the front of the crotch, a
<<switch $drone.penis>>
<<case "none">>
massive, slightly squishy bulge
<<case "small">>
squishy bulge FAR more massive than the member it had contained
<<case "medium">>
squishy bulge much more massive than the drone's average sized-member it had contained
<<case "large">>
squishy bulge massive than the drone's large member it had contained
<<case "massive">>
squishy bulge even larger than the drone's massive member it had contained
<<default>>
ERROR: unexpected drone.penis <<=$drone.penis>>
<</switch>>
that, like so much else of the drone outfit, seems to defy practical utility.<br>
<br>
Arrayed out, rather than layered over a victim, the drone attire takes up the better part of your workbench. You shudder at the thought of wearing all of it at once, scarcely able to believe that all of those intimidating security drones that FIRESec has scattered across the city are walking around with their every hole stuffed full, compressed and locked in head to toe latex.<br>
<br>
<<printThought "And that's going to be me, too, if I'm to put this plan into effect...">> You eye the massive <<if $fetish.tail>>tail-<</if>>plug<<if $drone.vagina == "yes">>,<<else>> and<</if>> the dual phallus/spreader mouth-gag arrangement<<if $drone.vagina == "yes">>, and the large vaginal insert<<if $pc.vagina == "none">>... that corresponds to a hole you do not even have!<</if>>.<</if>><br>
<br>
<<printThought "Perhaps after some modifications...">> You think as you take a break and rise from the workbench.<br>
<br>
<<moveTo "p_drone_organize_5" "Have a stretch and step back from the workbench.">><<include "j_4_catalogue">><br>
<br>
<<moveTo "m_sleep" "Sleep." true "<<include 'u_sleep'>>">><<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
<<moveTo "p_stage0_post_research" "Continue.">>
<<else>>
<<moveTo "r_research_links" "Look at the other drone equipment.">><br>
<<include "m_home">>
<</if>><<include "j_5_initial_research">><br>
<br>
<<moveTo "m_sleep" "Get some sleep." true "<<include 'u_sleep'>>">><<set $pc.stage = 0>>
<<include "j_3_capture">><br>
<br>
<<moveTo "p_stage0_start_2" "Sleep." true "<<include 'u_sleep'>>">>Having taken the first big step forward on your mission, you flop into bed and immediately fall asleep.<br>
<br>
You dream of the future, your triumph over FIRESec bringing you riches, glory, fame, and fortune. You walk through a great mansion, not on a job, but because it is YOUR mansion, its nigh infinite halls the opulent fruits of your success. You pass by the public areas, the ballrooms and guest quarters where you entertain and host parties. You come to a secure elevator and descend, emerging in a private storeroom, the secret room empty save for a single display... a drone outfit, no THE drone outfit posed in the centre of the room, standing as if at attention.<br>
<br>
<<moveTo "p_stage0_start_3" "Approach the drone outfit...">>You walk towards the polished drone outfit, ascending a trio of steps to bring you face-to-mask with the drone. The tinted surface acts as a mirror, showing the room behind you. You shift your head, searching for your own reflection... And finding yourself looking at an infinity of reflected drones...<br>
<br>
<<moveTo "p_stage0_start_4" "You wake up.">>You ascend to consciousness on a wave arousal. Your eyes flicker open as you find yourself with
<<if $pc.vagina == "yes" && $pc.penis != "none">>
one hand wrapped around your rock-hard cock... and the other three fingers deep in your sensitive, sopping cunt.
<<elseif $pc.vagina == "yes" && $pc.penis == "none">>
three fingers deep in your sensitive, sopping cunt.
<<elseif $pc.vagina == "none" && $pc.penis != "none">>
one hand wrapped around your rock-hard cock.
<<else>>
a hand between your legs, eagerly rubbing your sensitive smoothness.
<</if>>
While not exactly a stranger to sex, you also haven't been active recently... and you've NEVER felt this aroused. You softly moan as you hump your hand, <<if $pc.vagina == "yes" && $pc.penis != "none">>wishing you had a third arm to <<if $pc.gender == "female">>grope your breasts<<else>>play with your nipples<</if>> while you double-fist your genitals<<else>>your free hand reaching up to <<if $pc.gender == "female">>grope your breasts<<else>>play with your nipples<</if>><</if>>.<br>
<br>
<<printThought "Fuck... I'm so close...">><br>
<br>
<<moveTo "p_stage0_start_5" "Finish yourself off." true>>Your arousal is like a raging fire inside your body. Consuming every thought, burning through every nerve much as FIRESec and its drones spread through the city. Thrashing, sweating, and almost sobbing, you do not so much masturbate, as ravage yourself, both hand <<if $pc.penis != "none">>stroking and <</if>>groping <<if $pc.vagina == "yes">>and fingering <</if>>and fondling, even sliding a spare finger into your rear to firework-explosions of ecstasy.<br>
<br>
You all but lose track of time in your self-debauchery, <<if $pc.penis != "none" && $fetish.cum>>an explosive climax that further ruins the sweat-stained sheets<<else>>a mind-shattering climax that <<if $pc.vagina == "yes">>has you gushing across the<<else>>leaves you tangled in<</if>> sweat-stained sheets<</if>>.<br>
<br>
<<printThought "Fuck... I guess I needed that...">><br>
<br>
<<moveTo "p_stage0_start_6" "Get up.">>Still a bit light-headed and breathless you roll out of bed and back to your feet, looking back at the mess you made in your sheets, and the smell of sweat <<if $pc.penis != "none" && $fetish.cum>>and cum <</if>>that now fills the small room.<br>
<br>
Despite the explosive climax, you still feel tingles of arousal, energy that you attempt to direct towards productivity, your hedonistic indulgence having already put you behind.<br>
<br>
<<printThought "I guess I have been a bit pent up with stress... Still, that was... Intense.">><br>
<br>
<<moveTo "r_stage0_home" "Now to actually get some things done...">><<if setup.checkDroneItemWorn()>>
<<else>>
<<moveTo "p_stage0_town" "Leave your flat." true>>
<</if>>You leave your flat and head in to town.<br>
<br>
<<include "s_stage0_town">><<moveTo "r_stage0_home" "Go back to your flat.">><br>
<<moveTo "r_shopping" "Go shopping.">><br>
<<if passage() == "p_scrounging">>
<<moveTo "p_scrounging" "Scrounge for supplies." true "<<if $scene.supplies == 0>><<set $scene.supplies=random(1,3)>><<else>><<set $scene.supplies=random(0,1)>><</if>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<<else>>
<<moveTo "p_scrounging" "Scrounge for more supplies." true "<<set $scene.supplies=random(0,3)>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: subscribestar
#*/
You have reached the end of this version. Follow us on [<a target="_blank" href="https://subscribestar.adult/deedee">SubscribeStar</a>] or [<a target="_blank" href="https://www.patreon.com/_deedee">Patreon</a>] for the next release!<br>
<br>
/%TODO <<include "m_stage1_town">>%/<<set $pc.stage = 1>>
<<include "j_6_partial_wear">><br>
<br>
<<moveTo "p_stage1_start_2" "Sleep." true "<<include 'u_sleep'>>">>Your sleep is full of fragmented dreams. Just as you worked your way through the individual pieces of the drone outfit in isolation, your mind flits between those pieces. The feel of the catsuit gliding against your skin, the raised, precarious perspective of the heels, the claustrophobic, but sensory enhanced feeling of the helmet, the compression of the corset, the stuffed and stretch feeling of the "inserts..." All these and more sensations dance in your dreams, exciting you, enticing you... but leaving you apprehensive of how they would feel combined, of the unimaginable intensity of being a drone...<br>
<br>
<<moveTo "p_stage1_start_3" "Wake up." false>>You wake up tangled in sweaty sheets. There is a moment of panic at the restraints, and your thrashing sees you tumble out of the bed and unwind, the impact with the floor booting you back to full consciousness as you return to reality, and realise the silliness of your shock.<br>
<br>
<<printThought "Too much time thinking about all the restraints drones wear... Though... I wonder, how DO they sleep? Do they remove all of that stuff in private... Or is their personalised prison 24/7? Merely stowed in pods for recharge like dolls boxed up on shelves...">><br>
<br>
You stare at the drone items filling your workbench, trying to imagine what it would be like to sleep with all of it equipped, particularly drawn to the cuffs... <<printThought "I mean, I just literally fell out of bed, one could argue cuffing myself to my cot would be safer, if nothing else...">><br>
<br>
You shake your head to clear such perverse thoughts, as you realise that your sweatiness was not just on account of your sheets. The apartment is notably warm and you curse the landlord and how <<pn 'he' landlord>> cheaps out on AC. <<printThought "Maybe the climate-controlled suit would be the better move... Certainly more comfortable than THIS.">><br>
<br>
Unable to tear your thoughts away from the suit, you decide it would be good to get out of the cramped apartment to cool off and clear your head.<br>
<br>
<<moveTo "p_stage1_start_4" "Dress and head in to town for a bit." true "<<=setup.wearItem('shirt')>><<=setup.wearItem('pants')>><<=setup.wearItem('shoes')>>">>You get dressed, in normal clothes, of course, not drone equipment, and head in to town.<br>
<br>
Though the streets are more comfortable than your too-hot flat, that comes at a different price, as you cough slightly at the heavy, polluted stench that pervades this side of town.<br>
<br>
<<printThought "The drone mask doesn't sound bad about now... though wearing the helmet on its own in public would somewhat stand out...">><br>
<br>
This thought raises a larger concern about your drone disguise. In the short term you don't want to do all of your training cooped up inside... and in the long term there's what might happen if a drone was seen leaving your flat...<br>
<br>
<<printThought "Maybe some clothes shopping is in order for some better concealment...">><br>
<br>
<<moveTo "r_shopping" "You turn a corner and head towards the nearest market.">>As you're heading home, you pass by a pile of junk, what looks like the picked-over remains of someone's apartment left on the side of the street.<br>
<br>
<<printThought "A reminder that I need to stay on top of my own rent... no matter how much of a jerk my landlord is...">><br>
<br>
Others look to have already stripped out anything of value, and you're about to continue on your way when you notice what looks like a mannequin partway buried in the pile.<br>
<br>
<<printThought "Hmm... That'd give me more space on the workbench, and be a convenient display stand for all that drone stuff...">><br>
<br>
<<moveTo "p_stage1_mannequin_2" "Snag the mannequin and head home.">>You dig out the mannequin. It's definitely seen some wear, and you doubt a shop would do much business with it in the window... but it's functional, and remarkably close to you in size, and that's all you need.<br>
<br>
Back at your flat you spend a few minutes draping the mannequin in the drone equipment, shivering as you layer things up and contemplate how it would feel to be wearing everything yourself...<br>
<br>
<<printThought "Someday...">><br>
<br>
You balance the helmet atop the mannequin like the star at the top of a holiday tree and step back, shivering slightly at the "drone" staring back at you, your face reflected back in the shiny material.<br>
<br>
<<printThought "Definitely more convenient this way... Though might take a bit to get used to it looming over me like that...">><br>
<br>
<<moveTo "r_stage1_home" "On to other things...">><<include "j_7_full_wear">><br>
<br>
<<moveTo "r_stage1_home" "You're done journaling, for now.">><<include "j_8_full_wear_addendum">><br>
<br>
You stare at the looming drone outfit... Somehow it is back on the mannequin, its faceless helmet staring down at you...<br>
<br>
<<moveTo "m_sleep" "Get some sleep." true "<<include 'u_sleep'>>">><<if setup.checkDroneItemWorn()>>
<<else>>
<<moveTo "p_stage1_town" "Leave your flat." true>>
<</if>>You leave your flat and head in to town.<br>
<br>
<<include "s_stage1_town">><<if State.hasPlayed("p_stage1_mannequin_1")>>
<<moveTo "r_stage1_home" "Go back to your flat." true>><br>
<<else>>
<<moveTo "p_stage1_mannequin_1" "Go back to your flat." true>><br>
<</if>>
<<moveTo "r_shopping" "Go shopping.">><br>
<<if passage() == "p_scrounging">>
<<moveTo "p_scrounging" "Scrounge for supplies." true "<<if $scene.supplies == 0>><<set $scene.supplies=random(1,3)>><<else>><<set $scene.supplies=random(0,1)>><</if>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<<else>>
<<moveTo "p_scrounging" "Scrounge for more supplies." true "<<set $scene.supplies=random(0,3)>><<=setup.spendSupplies(-$scene.supplies)>>">><br>
<</if>><<if false>><<=_NYIimage>><</if>>
Day: <<=$day>>, <<=["morning", "afternoon", "evening", "night"][$timeslot]>><br>
Credits: <<=$money>><br>
You are feeling <<=["energetic", "fine", "slightly fatigued", "tired", "exhausted"][$pc.fatigue]>>[[StoryData]]
[[StoryTitle]]
[[StoryCaption]]
[[u_links]]
[[r_debug_island]]
[[s_tutText]]
[[p_start_game]]/*#
#status: RELEASED 0.1.0.0
#ignore_spell: deedee,subscribestar
#*/
<<include "u_init_vars">>
<div align="middle">Welcome to Drone Thief, a DeeDee games production.</div><br> /% NYI: font %/
<br>
<div align="middle" style="color:red">WARNING!</div><br>
<br>
This game is still in active development! While the game is large and playable, it is not complete and (like all software) there may yet be the odd bug. New content is released for free every other month. If you would like to help with early testing and participate in polls to choose which content gets prioritised for release, you can join us on [<a target="_blank" href="https://subscribestar.adult/deedee">SubscribeStar</a>] or [<a target="_blank" href="https://www.patreon.com/_deedee">Patreon</a>]. If you have any questions, find us on:<br>
<div align="middle"><a target="_blank" href="https://discord.gg/XShMmqr">Secretary Discord Server</a></div>
<br>
Content note:<br>
This is an adult game that deals with sex, objectification, forced transformation, techno-dystopia, and other themes. While there is some configuration available to adjust the play experience if these aren't your things, this probably isn't your game.<br>
<br>
*<a target="_blank" href="https://rpgmuseum.fandom.com/wiki/No_fascists">Olivia Hill Rule Here.</a><br>
<br>
<div align="middle">Thank you for playing!</div>
<br>
<div align="middle"><<moveTo "p_init_config" "Start Game.">></div><<goto "p_no_food">> /% TODO: late game variants %/You wake up to find your food stores down to less than crumbs. Your <<if setup.isWorn("corset")>>corset-compressed <</if>>belly rumbles. If you don't want to waste away to nothing, you'll need to venture forth and find more supplies.<br>
<br>
<<include "m_home">>You fail to produce rent and <<=setup.ps(setup.getName("landlord"))>> already brusque demeanour becomes actively hostile.<br>
<br>
"@@.landlord;Do you think I am running a charity here? That you can scam me out of a place to stay?@@" <<pn "He" landlord>> storms off... returning minutes later with security in tow to toss you out on the street...<br>
<br>
<<moveTo "g_no_rent" "Oh no...">><<switch $pc.stage>>
<<case -1>>
<<goto "g_prologue_fail">>
<<case 0 1>>
<<goto "g_prologue_fail">> /% TODO: placeholder? %/
<</switch>><<executeOps _ops>>
<<set $day += 1>>
<<set $timeslot = 0>>
<<if $food <= 3>>
<<set $food = 3>>
<</if>>
<<if $money <= 0>>
<<set $money = 0>>
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: ui
#*/
<<if $hardcore>>
<<=setup.ps(setup.getName("pc"))>> story is at an end, you have failed to prove your legend.<br>
<br>
<<link "New Game">><<script>>UI.restart();<</script>><</link>>
/%TODO: [[Restart, retaining configurations]]%/
<<else>>
<<if false>>
<<include 's_gameover_suppy_reset'>>
<</if>>
Reality twists... Your legend will not be denied... Or perhaps this failure was merely a warning dream?<br>
<br>
<<switch $pc.stage>>
<<case -1>>
<<moveTo "r_prologue_home" "Wake up at home, with another chance..." false "<<include 's_gameover_suppy_reset'>>">>
<<case 0>>
<<moveTo "r_stage0_home" "Wake up at home, with another chance..." false "<<include 's_gameover_suppy_reset'>>">>
<<case 1>>
<<moveTo "r_stage1_home" "Wake up at home, with another chance..." false "<<include 's_gameover_suppy_reset'>>">>
<<default>>
ERROR: unexpected stage <<=$pc.stage>>
<</switch>>
<</if>>Journal Of <<=setup.getName("pc")>>, The World's Greatest Thief: Day <<=$day>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: corpos,corpo
#*/
<<include "s_journal_header">>:
<br><br>
Anyone reading this in the future will surely know my name... but I suppose it makes sense to preface things... to "call my shot" as it were.<br>
<br>
So welcome future fans and historians! My name is <<=setup.getName("pc")>>, and in the following journal you will be able to follow along as I perform the greatest heist of the age and cement the name that you now surely know.<br>
<br>
First off, the state of the world, or the city, really... which is big enough that it's basically the world for all us souls living in it. Things had been... Well, not harmonious, but the balance between the corpos and the workers, the security firms and us who work outside the law had been in a sort of balance... and then the Future Integrity Retention Expert Security attacked. It seemed like overnight the squeeze was on. The drones that FIRESec provide are unlike any security firm we've ever seen, fast, strong, hyper-vigilant, unbribable, and WAY too cunning.<br>
<br>
At first it was just a few places that shelled out for FIRESec protection... but it wasn't long before things spread, the security drones were so much more effective that adoption snowballed with more and more targets were switching over, "cleaning the streets" and disappearing more of us thieves in the process. It wasn't long before what used to be a milk run. It'd be lucky if anyone came back without being disappeared.<br>
<br>
... or, at least, that's what everyone believes: that FIRESec drones leverage some sort of new tech and training that runners and the rest of us just couldn't deal with. In reality, well... there's the old saying "it takes a thief to catch a thief"... and FIRESec took that literally. Whatever their initial roll-out was, the "recruitment" is some sort of brainwashing retraining of the very thieves that they're protecting from.<br>
<br>
And that brings us back to me, <<=setup.getName("pc")>>, thief extraordinaire. Not only am I one of the few working thieves to have survived the proliferation of FIRESec, I'm the ONLY one clever enough to figure out the corpo scheme, and from that... a plan! Or, at least, I will... I've got that feeling, y'know? And your reading this is proof of my inevitable triumph!<br>
<br>
And on that I think I'm done for the night. Don't let anyone tell you different, but writing is hard work!<<include "s_journal_header">>:
<br><br>
Welcome back, future fans and historians! You may remember that I was going to form a plan most daring, yes? Well now I have one, and it's not just any plan, you see. No this is THE plan, the plan that will start building the legend that has you reading this now! Well, your now, my future... time is almost as complicated as writing, anyway! You probably know what happens next since I am likely now a world famous dashing rogue but a true connoisseur must thirst for details, for the TRUTH behind the legend... and so I shall write it out as it happens, my gift to posterity. Maybe my genius will inspire you in your own time of need.<br>
<br>
So, it all came together when I was casing a joint. I realised that the drone controlling the place wasn't JUST a drone... or at least, they hadn't always been such. No, my sharp eye and cunning judgement saw through the shiny distracting latex to see <<=setup.getName("rival")>>... a fellow thief and long-time rival, who had disappeared early on as FIRESec swept the city.<br>
<br>
This wasn't just a realisation of how FIRESec handled recruiting and the drones REALLY worked... it opened things up for the plan I'm about to initiate. You see, <<=setup.getName("rival")>> wasn't just a rival, <<pn 'he' rival>> could have passed for my body double... and that made <<pn 'him' rival>> a massive pain in the ass, a perennial thorn in my reputation, similar height, similar build... a few times <<pn 'he' rival>> even got credit for a job I pulled! Well, now that annoyance is a boon... because those similarities give me an opportunity to go undercover and crack this whole thing open.<br>
<br>
Normal jobs may be how I survive, but to thrive, to become a legend? I'm going for the BIG score, because if I can crack FIRESec itself, well... that opens the way for anything. With how locked-down FIRESec has so much of the city, us remaining thieves in the city are pushed to the periphery, nibbling at the edges... Well the fifth rule of thievery is to be daring. Strike them where they least expect it. And I'm damn sure that they aren't expecting a hit at the heart of their operation. I'm going to prove that I'm the best alive at what I do... maybe even the best to ever do it! Even better than the gods!<br>
<br>
So, yeah, that's the plan: swap places with my old rival, infiltrate FIRESec, and then see how many priceless treasures and corporate secrets I can stuff in a latex bodysuit. After that, it's a retirement filled with lavish comfort, immortal fame, and hedonistic indulgence.<br>
<br>
I'd say wish me luck in step one of that plan, but reading this you're well familiar with my success! You want that juicy, personal insight into the truth behind the legend. Well strap in, future fans, because tomorrow is when I put my plan into motion, start my ascent... and have <<=setup.getName("rival")>> make good on all past debts.../*#
#status: RELEASED 0.1.0.0
#ignore_spell: turny
#*/
<<include "s_journal_header">>:
<br><br>
Well, fair readers... The first step of my ascension is done, and the surprises have already started... but I suppose it's those exact twisty turny details you're reading this for, right? So lean back and enjoy the TRUE story of the rise of the greatest thief in the world! (And, I'm sure, your favourite one, as well!)<br>
<br>
My initial planning was perfect, and I subdued <<=setup.getName("rival")>> with nary an issue and I swiftly moved to part 2: extracting the drone equipment.<br>
<br>
I confess, this was the more dangerous part of things... what if dronification had been cybernetic... or my theory was wrong and they were actual robots! This whole scheme might have been for naught! Fortunately fortune continues to smile on this thief, and all of the drone equipment turned out to be quite removable... eventually. A lesser hacker would have certainly faced problems with the level of security that keeps drones locked in their outfits, but it caused me no trouble as I removed one piece at a time to further confirm my brilliance and reveal that it, indeed, was <<=setup.getName("rival")>> under all that jet-black sleekness.<br>
<br>
I know we thieves have a reputation for being amoral, but I did feel a twinge of sympathy for my old rival. Sure, we'd never gotten on, but that doesn't mean <<pn 'he' rival>> deserved to be turned into some sort of brainwashed security drone locked in latex hunting the rest of us down! Be that as it may, I had my mission, and it's not like <<pn 'him' rival>> being found out of uniform and going through dronification a second time will leave <<pn 'him' rival>> much worse, right?<br>
<br>
The reveal of the human beneath the drone outfit was not without its surprises, while I scanned to confirm no cybernetic upgrades, <<=setup.getName("rival")>> HAD had some surgical work done... though I remain dumbfounded as to the reason. The <<=setup.getName("rival")>> I knew
<<if $rival.gender == $pc.gender>>
was similar to myself... and
<<elseif $rival.gender == "male">>
was just a slightly-smaller than average guy... and yet now
<<else>>
had what you'd call a tomboy build,
<</if>>
yet now <<pn 'he' rival>> sports breasts that would be the envy of any red-light stripper,
<<if $drone.penis == "none">>
and an excitedly dripping vagina.
<<elseif $drone.penis != "none" && $drone.vagina != "none">>
and dual genitals, to boot!
<<switch $drone.penis>>
<<case "small">>
A cute little cock,
<<case "medium">>
An average sized cock,
<<case "large">>
A large sized cock,
<<case "massive">>
A truly massive cock,
<<default>>
ERROR: unexpected rival.penis <<=$rival.penis>>
<</switch>>
and an excitedly dripping vagina!
<<else>>
and a cock that was not there before!
<</if>>
I wonder if all drones are so equipped... and if so, why?<br>
<br>
Anyway, I'm feeling the old post-job adrenaline dump, so I'm off to bed, but I'll be back tomorrow to report back as I start inspecting those drone devices. I already have a feeling there will be more surprises to come!<<include "s_journal_header">>:
<br><br>
Whew! Short check-in this time, my fans and followers. I spent the day doing an initial cataloging of all the pieces of the drone outfit and... wow. Whoever designed these things was clearly brilliant... maybe crazy, definitely horny, and not, like... run of the mill horny, we're talking full mad-scientist levels of lust. I want to do some more analysis before I draw any further conclusions but, suffice it to say, my plan to don a drone outfit as a disguise may have a few more hurdles to get through before that's even physically possible!<br>
<br>
With that teaser for the future, I'll call it here. Always leave them wanting more, right? I promise I'll be back once I've taken the time to dig into ALL of the items.<<include "s_journal_header">>:
<br><br>
Alright readers, I bet you were waiting for the big reveal about what's ACTUALLY under the shiny rubber skin of a FIRESec drone and... hoo boy, you aren't ready, I know I wasn't! The drone outfit isn't just a uniform... it's a personal prison, plugs in every orifice, tight layers wrapping every centimetre of flesh, sculpting and augmenting a perfect, inhuman figure, and devices controlling every sense... all locked in place.<br>
<br>
I wonder if there's any additional penalty for when <<=setup.getName("rival")>> was discovered unlocked? Given what this crazy ensemble says about the designers, well... better her than me, right?<br>
<br>
All that said... This preliminary investigation just raises more challenges. Not just that the work to modify things to fit me, but the practice I'm going to have to undergo to actually wear things!<br>
<br>
So that's the next task, to start learning to wear things and turn this perverse pile of partially-understood devices into a costume that I can safely wear out, and continue my mission.<br>
<br>
For now? Sleep! Your <<pnp "hero">> has worked hard, and has quite the journey left to go...<<include "s_journal_header">>:
<br><br>
Sorry for skipping a few days of journaling, but I've been heads down in a frenzy of bunch of crafting and coding.<br>
<br>
Where to start... I've now tried on, or at least attempted to wear, every piece of drone equipment and... well, to call it a lot would be an underestimate. I had previously assumed that the conversion from thief to drone was mostly brainwashing or something, but now? I think it might be more about just learning to survive in all of that stuff!<br>
<br>
I mean, where do I start? At the bottom, with those towering, balance-assaulting boots that drones nonetheless prance perfectly in? The various massive inserts that has a drone's insides practically more vibrating artificial cocks than organs? Or maybe it's the exterior? The sleek catsuit, the body-sculpting and constraining corset, the curve-enhancing pads and bra? And to top it all off, that sensory-enclosing, anonymising helmet-over-mask... And all of it being locked on...<br>
<br>
So yeah, your <<pnp "hero">> has certainly set quite the challenge with this audacious "pretend to be a drone" plan... but there's no way I'm pulling back! I guess I'm just built different, but, for all the perverse and extreme challenge... Well, I've worn all the pieces individually, right? So putting it together, and putting in the practice to play the role? Well, it's just a matter of time... and a few more modifications, perhaps.<br>
<br>
The journey is just getting going, and I've got physical challenges ahead, as well as some more software work to make dead certain that I can re-integrate into the drone "hive" when I'm ready to start infiltrating without getting somehow absorbed by such.<<include "s_journal_header">>:
<br><br>
<<=setup.getDrone("pc")>> checking in...<br>
<br>
Not! Sorry for the little joke, after testing things a piece at a time, and doing A LOT of research and modification, I am, for the first time, wearing the full outfit on for the first time, and while I may look the part of an anonymised drone, it didn't suddenly brainwash me or anything... though the suit would have tried if I hadn't done all that work to bend it to my will!<br>
<br>
So, yeah how is the full ensemble? In a word... intense! and a bit alienating. The bodysuit squeezes me from every direction, so tight and slippery, like a second skin... but sexier (full disclosure for historians... I did spend a little time polishing up... for authenticity, of course!) The corset<<if $fetish.bra>>, bra, and boots<<else>> and boots<</if>> give me a figure like WOAH, then the cuffs and collar locking it all on makes everything even more intense... even though I know I can let myself out at any time. Being locked in all this and not in control of the release would be really alienating and submission-inducing... not to mention the restraints!<br>
<br>
I'll confess the suit doesn't quite fit perfectly: the hips have enough elasticity to work with my skinniness, and the corset was more than up to crushing me into a perfect figure<<if $fetish.breasts>>, but <<if $pc.gender=="male">>my flat chest leaves<<else>>my existing breasts leave<</if>> a bit of a cavity under the breast pads. I'm seeing this as an opportunity, though: a bit of space to carry some extra equipment, or maybe a prize once I start pilfering things... a potentially useful thing given that there's otherwise nothing in the way of pockets, or even folds, in this thing!<<else>>, nothing some adjustments couldn't handle, and the rest I figure I'll "grow into" with practice.<</if>><br>
<br>
Anyway, the suit and cuffs are mostly as expected, secure, omnipresent, but not really restricting or anything... almost freeing, in a paradoxical way, given how skin-tight and unrestrictive they are compared to "normal" clothing... Well, except the heels, I've been wearing those for practice while I worked on the rest and I'm getting better, but there's no forgetting wearing them, for how I have to balance in them, the STUNNING long legs and caked up hips they give me, and the way it lifts my perspective higher up... which I kind of like, better visibility!<br>
<br>
Moving on, the collar, mask, and helmet unite to form an air-tight multi-layer system that, combined with the suit, means I'm completely, 100% covered in shiny latex and isolated from the world. It's definitely a bit disorienting and alienating. I wonder if that separation helps with training the drones to turn against their old friends? Not gonna lie, the details of the dronification procedure really fascinates me... but I'll have to figure out a way to observe it from without because I'm obviously never going through it myself!<br>
<br>
Anyway, back to the helmet/mask. I'd tested it out for fit on its own, but wearing it with the entire ensemble is on a whole different level, not just the basic isolation, but the way it takes over my senses, every breath is scrubbed clean and smells of latex, and my hearing can go from dead silent to boosted audio, but the real kicker is the vision. Having full 360 vision is a real trip! Like the rest of the suit, it's a bit disorienting, and I'm going to need to practice with it a bit, but I'm already salivating about the utility of literal eyes in the back of my head! As to the the more hidden part of the helmet... I managed to shrink things down to suck on the proverbial tip rather than the "default" deep-throat, so it's not really that bad... I guess I always had a bit of an oral fixation, but I've only been wearing things for a few minutes while I typed this up and I barely notice it anymore.<br>
<br>
Finally, well... I bet you've been waiting to hear about what it's like wearing the "full lower ensemble." I've said before that this is meant to be a record for posterity, so I'm not going to be hiding anything and well... this is certainly a thing! As I mentioned before, I shrank everything down from the previous kind of ludicrous size, and at this scale the rear plug isn't too bad? Smaller than the last girlfriend who fucked me, at least, so manageable. though the double combo of plug and sheath means I'm never forgetting being stuffed.
<<if $drone.vagina == "none">>
<<if $pc.vagina == "none">>
<<if $pc.penis == "none">>
Up front things are sleek and smooth.
<<else>>
Up front things are stuffed in a different way, with my <<=$pc.penis>> self locked into a padded, private prison under the chastity belt.
<</if>>
<<else>>
Up front I feel somewhat... weirdly empty? Like, given everything else, I'd expect something to be there, but that's bits for you.
<</if>>
<<else>>
<<if $pc.vagina == "none">>
The front plug I couldn't shrink fully, and without a "fore" hole to match I'm left with that as the singular "unused" drone equipment.
<<if $drone.vagina != "none">>
I wonder what the "outie" anatomy version of this thing is, a penis sheath/auto-stroker? (See previous "whoever designed this thing was kinky" postulate).
<</if>>
<<else>>
The front double plug was also still VERY substantial, even at the smallest size, and being double stuffed is definitely more a multiplicative feeling than a linear fill.
<</if>>
<</if>>
<br><br>
So yeah... that's the suit on me. I need to practice with it a bit more before I can go out and start infiltrating, but my plan is progressing forward nicely, and before you know it I'll be infiltrating the "hive" and figuring out where to strike to start building my fortune... and legend! Towards that end I'm going to spend some more time suited up and just puttering around the flat, see how things feel when I'm not full of fresh adrenaline and such. This plan is about precision and patience, after all.<br>
<br>
On a more general note... money is tighter than this "loosest" setting I've got the corset in, but I'm not going to risk it all over-reaching for a big score. That's how the rest of this city's underworld got droned, the greatest thief in the world is gonna stay free and rise triumphant!<<include "s_journal_header">>, addendum:
<br><br>
So I spent some time in the suit and, while I was getting a bit more used to stuff like the <<if $pc.vagina != "none" && $drone.vagina != "none">>plugs<<else>>plug<</if>> and the posture collar and my expanded vision it just keeps feeling more... inhuman. The vision thing, in particular. I've been running things bare-boned for security but I thought, well... What if I tested some of the overlay functions that a drone would normally be using? Without testing each routine individually I can't be totally certain of their effects, but I can make some guesses based on the default scheduling... plus the ones with names like "factory reset," "relaxation" and "recharge programming refresher" are kind of obvious. I figured "standard patrol routine" might give me a better handle on things/bit of a hint for how to better blend in while infiltrating, so I dialed up a couple seconds of that and...<br>
<br>
HO. LEE. SHIT.<br>
<br>
I said I only ran it for a couple seconds, and that, based on the tags, this would be just a "default" background routine for when a drone was working but... just that couple of seconds has me feeling mentally gooey. I can't remember any specific words, but I still feel a lingering urge to rush out and re-join the hive. The moment it turned off I ripped the whole suit off in a panic! I'm sitting here naked, now, my heart is still racing whenever I look over at the outfit piled up in the corner and it's like there's an echo calling me to put it back on... Needless to say, I'm glad for how careful I've been so far, and I'm going to be extra on my toes going forwards, and not just because of these towering heels! To make this plan work.TODO.<<if $scene.fromSleep>>
You've barely gotten out of bed when there is a knock on the door.
<<elseif $scene.fromHome>>
There is a knock on the door.
<<else>>
You've just got home when there is a knock on the door.
<</if>>
<br><br>
"@@.landlord;I know you're in there! Rent's due, ya deadbeat!@@"<br>
<br>
You wince, immediately recognising the voice of your <<pn "landlord" landlord>>. You may be a thief by trade, but <<pn 'he`s' landlord>> the REAL criminal, come around once again to commit veritable highway robbery by demanding the heinous rent <<pn "he" landlord>> charges for your tiny shithole.<br>
<br>
<<if setup.isWorn("jacket") || setup.isWorn("shirt") && setup.isWorn("pants")>>
<<moveTo "p_prologue_rent_first_2" "Open the door." false>>
<<else>>
<<printThought "The <<pn 'landlord' landlord>> is skeevy enough, <<pn 'him' landlord>> seeing me <<if setup.isWorn('shirt')>>topless<<else>>naked<</if>> is... no.">><br>
<br>
<<moveTo "p_prologue_rent_first_2" "Get dressed and open the door." false "<<=setup.wearItem('shirt')>><<=setup.wearItem('pants')>>">>
<</if>>You open the door to find your <<pn 'landlord' landlord>> waiting in the hallway.<br>
<br>
"@@.landlord;Well? Time is money, and you already owe me a hundred credits rent. Hurry it up before I charge you a late fee.@@" <<pn 'He' landlord>> sneers, blunt and avaricious as ever<<if !setup.isWorn("shoes")>>, not even hiding <<pn 'his' landlord>> lecherousness as <<pn 'he' landlord>> creepily leers at your bare feet<</if>>.<br>
<br>
<<if $money >= 100>>
<<moveTo "p_prologue_rent_first_3" "Pay up." false "<<=setup.spendMoney(100)>>">>
<<else>>
<<moveTo "g_first_no_rent" "You don't have enough credits..." "were unable to pay rent.">>
<</if>>You hand <<=setup.getName("landlord")>> a hundred credits and <<pn "he" landlord>> greedily pockets the cash.<br>
<br>
"@@.landlord;Good, good. I'll be back again next week.@@" <<pn "His" landlord>> gaze lingers across your room, as if casing it for valuables. Finding nothing, <<pn "he" landlord>> grunts and leaves.<br>
<br>
<<printThought "How I wish I could afford somewhere less of a shithole... Someday.">><br>
<br>
<<include "m_home">><<if $scene.fromSleep>>
You've barely gotten out of bed when there is a knock on the door.
<<elseif $scene.fromHome>>
There is a knock on the door.
<<else>>
You've just got home when there is a knock on the door.
<</if>>
<<=setup.getName("landlord")>> has returned... which can only mean that rent is due once more.<br>
<br>
<<printThought "The only thing worse than FIRESec sweeping through the city... Landlords.">><br>
<br>
"@@.landlord;Well? I ain't got all day, where's my hundred credits?@@"<br>
<br>
<<if $money >= 100>>
<<moveTo "p_prologue_rent_2" "Pay up." false "<<=setup.spendMoney(100)>>">>
<<else>>
<<moveTo "g_first_no_rent" "You don't have enough credits..." "were unable to pay rent.">>
<</if>>You transfer <<=setup.getName("landlord")>> a hundred credits. <<pn "His" landlord>> eyes light up at the chime of a successful transaction. "@@.landlord;Until next week.@@" <<pn "He" landlord>> smirks before stalking away up the hallway.<br>
<br>
<<include "m_home">><<if false>>[[p_stage0_rent_1]]<</if>>
<<if $scene.fromSleep>>
You've barely gotten out of bed when there is a knock on the door.
<<elseif $scene.fromHome>>
There is a knock on the door.
<<else>>
You've just got home when there is a knock on the door.
<</if>>
<<=setup.getName("landlord")>> has returned... which can only mean that rent is due once more.<br>
<br>
<<printThought "The only thing worse than FIRESec sweeping through the city... Landlords.">><br>
<br>
"@@.landlord;Well? I ain't got all day, where's my hundred credits?@@"<br>
<br>
You refrain from responding, watching as <<=setup.ps(setup.getName("landlord"))>> leer past you to dart around the flat.<br>
<br>
<<printThought "Hmm, better make sure <<pn 'he' landlord>> doesn't spot my drone prize...">><br>
<br>
<<if $money >= 100>>
<<moveTo "p_stage1_rent_2" "Pay up." false "<<=setup.spendMoney(100)>>">>
<<else>>
<<moveTo "g_first_no_rent" "You don't have enough credits..." "were unable to pay rent.">>
<</if>><<if $scene.fromSleep>>
You've barely gotten out of bed when there is a knock on the door.
<<elseif $scene.fromHome>>
There is a knock on the door.
<<else>>
You've just got home when there is a knock on the door.
<</if>>
<<=setup.getName("landlord")>> has returned... which can only mean that rent is due once more.<br>
<br>
<<printThought "The only thing worse than FIRESec sweeping through the city... Landlords.">><br>
<br>
"@@.landlord;Well? I ain't got all day, where's my hundred credits?@@"<br>
<br>
You refrain from responding, watching as <<=setup.ps(setup.getName("landlord"))>> leer past you to dart around the flat.<br>
<br>
<<printThought "Hmm, better make sure <<pn 'he' landlord>> doesn't spot my drone prize...">><br>
<br>
<<if $money >= 100>>
<<moveTo "p_stage1_rent_2" "Pay up." false "<<=setup.spendMoney(100)>>">>
<<else>>
<<moveTo "g_first_no_rent" "You don't have enough credits..." "were unable to pay rent.">>
<</if>>You hand <<=setup.getName("landlord")>> a hundred credits and <<pn "he" landlord>> greedily pockets the cash and slinks away.<br>
<br>
<<include "m_home">>You look at yourself in the mirror.<br>
<br>
You are <<=setup.getName("pc")>>, a small, slender <<pnp "man">>.<br>
<br>
<<if setup.isWorn("jacket") && setup.isWorn("hat")>>
You are anonymously concealed beneath a long coat and a hood.
<<if setup.isWorn("boots") && setup.isWorn("bra") && setup.isWorn("chastity") && setup.isWorn("nullge") && setup.isWorn("collar") && setup.isWorn("corset") && setup.isWorn("cuffs") && setup.isWorn("gloves") && setup.isWorn("gag") && setup.isWorn("mask") && setup.isWorn("helmet") && setup.isWorn("suit") && (setup.isWorn("vaginal") || $pc.vagina == "none" || $drone.vagina == "none") && setup.isWorn("plug") && (setup.isWorn("tail") || !$fetish.tail)>>
Concealed beneath is a complete drone outfit, making you a glorious, shiny butterfly ready to shed its chrysalis and emerge at any moment.
<<elseif setup.isWorn("suit") && (setup.isWorn("helmet") || setup.isWorn("mask"))>>
Concealed beneath your body is concealed by a layer of drone equipment... if not actually a full outfit.
<<elseif setup.isWorn("boots") || setup.isWorn("bra") || setup.isWorn("chastity") || setup.isWorn("nullge") || setup.isWorn("collar") || setup.isWorn("corset") || setup.isWorn("cuffs") || setup.isWorn("gloves") || setup.isWorn("gag") || setup.isWorn("mask") || setup.isWorn("helmet") || setup.isWorn("suit") || setup.isWorn("vaginal") || setup.isWorn("plug") || setup.isWorn("tail")>>
Concealed beneath are fragments of a drone outfit.
<</if>>
<<elseif setup.isWorn("shirt") && setup.isWorn("pants")>>
You are dressed in a nondescript outfit, suitable for going out and not drawing too much attention to yourself.<<if setup.isWorn("helmet")|| setup.isWorn("mask")>>.. If one didn't consider the drone <<if setup.isWorn("helmet")>>helmet<<elseif setup.isWorn("mask")>>mask<</if>> poking out.<</if>>
<<if setup.isWorn("boots")>>
The long pants serve to cover up your drone boots well enough to blend in with normal fashion.
<</if>>
<<if setup.isWorn("boots") && setup.isWorn("bra") && setup.isWorn("chastity") && setup.isWorn("nullge") && setup.isWorn("collar") && setup.isWorn("corset") && setup.isWorn("cuffs") && setup.isWorn("gloves") && setup.isWorn("gag") && setup.isWorn("mask") && setup.isWorn("helmet") && setup.isWorn("suit") && (setup.isWorn("vaginal") || $pc.vagina == "none" || $drone.vagina == "none") && setup.isWorn("plug") && (setup.isWorn("tail") || !$fetish.tail)>>
Concealed beneath is a complete drone outfit, making you a glorious, shiny butterfly ready to shed its chrysalis and emerge at any moment.
<<elseif setup.isWorn("suit") && (setup.isWorn("helmet") || setup.isWorn("mask"))>>
Concealed beneath your body is concealed by a layer of drone equipment... if not actually a full outfit.
<<elseif setup.isWorn("boots") || setup.isWorn("bra") || setup.isWorn("chastity") || setup.isWorn("nullge") || setup.isWorn("collar") || setup.isWorn("corset") || setup.isWorn("cuffs") || setup.isWorn("gloves") || setup.isWorn("gag") || setup.isWorn("mask") || setup.isWorn("helmet") || setup.isWorn("suit") || setup.isWorn("vaginal") || setup.isWorn("plug") || setup.isWorn("tail")>>
Concealed beneath are fragments of a drone outfit.
<</if>>
<<elseif setup.isWorn("boots") && setup.isWorn("bra") && setup.isWorn("chastity") && setup.isWorn("nullge") && setup.isWorn("collar") && setup.isWorn("corset") && setup.isWorn("cuffs") && setup.isWorn("gloves") && setup.isWorn("gag") && setup.isWorn("mask") && setup.isWorn("helmet") && setup.isWorn("suit") && (setup.isWorn("vaginal") || $pc.vagina == "none" || $drone.vagina == "none") && setup.isWorn("plug") && (setup.isWorn("tail") || !$fetish.tail)>>
You are dressed head to toe... and inside, as an anonymous drone.
<<elseif setup.isWorn("suit") && setup.isWorn("helmet")>>
Though not fully equipped, the combination of helmet and suit means that you appear an anonymous drone.
<<elseif setup.isWorn("boots") || setup.isWorn("bra") || setup.isWorn("chastity") || setup.isWorn("nullge") || setup.isWorn("collar") || setup.isWorn("corset") || setup.isWorn("cuffs") || setup.isWorn("gloves") || setup.isWorn("gag") || setup.isWorn("mask") || setup.isWorn("helmet") || setup.isWorn("suit") || setup.isWorn("vaginal") || setup.isWorn("plug") || setup.isWorn("tail")>>
You are wearing fragments of drone equipment, which somehow only draws more attention to the mission pieces of the ensemble.
<<else>>
You are naked.
<</if>>
<br><br>
<<moveTo "i_wardrobe" "Change clothes.">><br>
<<include "m_home">><<if $pc.fatigue >= 4>>
[@@.link_locked;You look at your wardrobe... but are too exhausted to play any more dress-up.@@]<br>
<<include "s_sleep">>
<<else>>
You look through your wardrobe...<br>
<br>
<<printWardrobe>>
<br>
<<moveTo "i_wardrobe" "Save as home outfit." false "<<saveOutfit 'home'>>">>
<<moveTo "i_wardrobe" "Wear home outfit." false "<<wearOutfit 'home'>>">><br>
<<moveTo "i_wardrobe" "Save as outside outfit." false "<<saveOutfit 'outside'>>">>
<<moveTo "i_wardrobe" "Wear outside outfit." false "<<wearOutfit 'outside'>>">><br>
<<include "m_home">>
<</if>><<set _pass = passage()>>
<<moveTo _pass "Wear home outfit." false "<<wearOutfit 'home'>>">>
<<moveTo _pass "Wear outside outfit." false "<<wearOutfit 'outside'>>">>You head for the market. With the proliferation of drones and your fellow thieves all but gone business is down from what it used to be... and the prices are painful, but it's all those of you down here on the bottom of society have...<br>
<br>
You look around for what might be of use.<br>
<br>
<<if State.hasPlayed("p_stage1_start_3")>>
<<if $inventory.hat == 0>>
<<if $money >= 15>>
<<moveTo "p_purchase_hat" "Purchase a face-concealing balaclava for 15 credits." false "<<=setup.spendMoney(15)>><<set $inventory.hat=1>>">><br>
<<else>>
[@@.link_locked;You do not have the 15 credits to purchase a face-concealing balaclava.@@]<br>
<</if>>
<</if>>
<<if $inventory.jacket == 0>>
<<if $money >= 35>>
<<moveTo "p_purchase_jacket" "Purchase a full-length jacket for 35 credits." false "<<=setup.spendMoney(35)>><<set $inventory.jacket=1>>">><br>
<<else>>
[@@.link_locked;You do not have the 35 credits to purchase a full-length jacket.@@]<br>
<</if>>
<</if>>
<</if>>
<<if $money >= 3>>
<<moveTo "p_purchase_cube" "Purchase food for a day for 3 credits." false "<<=setup.spendMoney(3)>><<set $inventory.hat=1>>">><br>
<<if $money >= 18>>
<<moveTo "p_purchase_cube" "Purchase a week's worth of food for 18 credits." false "<<=setup.spendMoney(18)>><<set $inventory.hat=1>>">><br>
<<if $money >= 75>>
<<moveTo "p_purchase_cube" "Purchase a month's worth of food for 75 credits." false "<<=setup.spendMoney(75)>><<set $inventory.hat=1>>">><br>
<</if>>
<</if>>
<</if>>
<<if $money >= 10>>
<<moveTo "p_purchase_cube" "Purchase a Construction Cube for 10 credits." false "<<=setup.spendMoney(10)>><<set $scene.count=1>><<set $supplies+=$scene.count>>">><br>
<<if $money >= 90>>
<<moveTo "p_purchase_cube" "Purchase 10 Construction Cubes for 90 credits." false "<<=setup.spendMoney(90)>><<set $scene.count=10>><<set $supplies+=$scene.count>>">><br>
<<if $money >= 850>>
<<moveTo "p_purchase_cube" "Purchase 100 Construction Cubes for 850 credits." false "<<=setup.spendMoney(850)>><<set $scene.count=100>><<set $supplies+=$scene.count>>">><br>
<</if>>
<</if>>
<<else>>
[@@.link_locked;You do not have enough money to buy even a single Construction Cube.@@]<br>
<</if>>
<<moveTo "p_pickpocket" "Do some pickpocketing..." true "<<set $scene.money=random(0,10)>><<=setup.spendMoney(-$scene.money)>>">><br>You purchase a simple balaclava, it should feel nice in the cold mornings... as well as providing an extra layer of concealment.<br>
<br>
<<moveTo "r_shopping" "Do some more shopping." false>><br>
<<include "m_home">>You purchase a heavy long-coat. It won't be winning any fashion contests, but it has pockets and concealment for the aspiring spy... or flasher.<br>
<br>
<<moveTo "r_shopping" "Do some more shopping." false>><br>
<<include "m_home">>You wince at the price, and shell out for
<<switch $scene.count>>
<<case 1>>
a single Construction Cube. Not enough to do much with on its own... But sometimes it's just about getting that little bit more.
<<case 10>>
ten Construction Cubes, managing to talk the vendor into a bit of a discount. It's not much, but it should let you do a little more research.
<<case 100>>
a hundred Construction Cubes, managing to talk the vendor into a bulk discount. This should make a nice dent in your research.
<</switch>>
<br><br>
<<moveTo "r_shopping" "Do some more shopping." false>><br>
<<include "m_home">><<if $scene.money == 0>>
You sneak around the market looking for a loose purse or heavy pocket... but you find nothing.<br>
<br>
<<printThought "Could be worse, at least I didn't get caught...">>
<<elseif $scene.money == 1>>
You sneak around the market looking for a loose purse or heavy pocket... coming up empty, but finding a single credit on the ground.<br>
<br>
<<printThought "Could be worse, at least I didn't get caught...">>
<<else>>
You spend some time sneaking around the shopping centre and manage to lighten your fellow shoppers of <<=$scene.money>> credits... a paltry sum, but it's hard times for everyone these days.<br>
<br>
<<printThought "I can't live on this, I need a PROPER score. Plus... it's beneath a thief of my stature!">>
<</if>>
<br><br>
<<if $pc.fatigue >= 4>>
[@@.link_locked;You are too tired to do anything but stumble home.@@]<br>
<<else>>
<<moveTo "r_shopping" "Do some more shopping." false>><br>
<</if>>
<<include "m_home">><<if false>>[["u_sleep"]]<</if>>
<<set $pc.fatigue = Math.max(0, $pc.fatigue - 4)>>
<<set _x = setup.removeItem("shoes")>>
<<set _x = setup.removeItem("shirt")>>
<<set _x = setup.removeItem("pants")>>
<<set _x = setup.removeItem("jacket")>>
<<set _x = setup.removeItem("hat")>><<if $pc.fatigue == 0>>
[@@.link_locked;You are full over energy and have no need for sleep at the moment.@@]
<<elseif $pc.fatigue <= 2>>
[@@.link_locked;You are feeling rested and do not have the need for sleep.@@]
<<elseif !State.hasPlayed("p_stage1_first_full_wear_addendum_1") && State.hasPlayed("p_stage1_first_full_wear_1")>>
TODO
<<moveTo "p_stage1_first_full_wear_addendum_1" "Head to bed.">>
<<else>>
<<moveTo "m_sleep" "Sleep." true "<<include 'u_sleep'>>">>
<</if>><<switch $pc.stage>>
<<case -1>>
<<if State.hasPlayed("p_prologue_6")>>
Your dreams tonight are far more exciting. You're in one of those classic cinematic capers. Your flights of fancy see you dressed head to toe in one of those drone costumes, toppling FIRESec's whole corrupt system just in time to pull off your mask and wink to the camera as the credits roll.<br>
<br>
You awake refreshed and full of energy.
<<else>>
You sleep fitfully. You dream that you are floating in a fishbowl, waves of black water crashing over you again and again. You suspect you might be stressed about the future.<br>
<br>
You awake refreshed, but harrowed, desperate to come up with a lifeline before your resources run out.
<</if>>
<br><br>
<<if $food == 0>>
<<moveTo "r_no_food" "Get up.">>
<<else>>
<<moveTo "r_prologue_home" "Get up.">>
<</if>>
<<case 0>>
<<if $food == 0>>
<<moveTo "r_no_food" "Get up.">>
<<else>>
<<moveTo "r_stage0_home" "Get up.">>
<</if>>
<<case 1>>
<<if $food == 0>>
<<moveTo "r_no_food" "Get up.">>
<<else>>
<<moveTo "r_stage1_home" "Get up.">>
<</if>>
<<default>>
ERROR: unexpected stage <<=$pc.stage>>
<</switch>>You review your supply situation.<br>
<br>
You have food for <<=$food>> days.<br>
<br>
You have <<=$money>> credits. Weekly rent of 100 credits is due
<<if Math.floor(($day - 2) / 7) > $paidRent>>
<<if ($day-3)%7 == 0>>
today.
<<elseif (10-$day)%7 == 1>>
tomorrow.
<<else>>
in <<=(10-$day)%7>> days.
<</if>>
<<else>>
in a week.
<</if>>
<br><br>
You have <<=$supplies>> Construction Cubes.<br>
<br>
<<include "m_home">>You wander through back alleyways, scrounging dumpsters for supplies. As valuable as Construction Cubes are, some people are always a bit
<<switch $scene.supplies>>
<<case 0>>
sloppy... Or, at least, that's how it usually goes. Unfortunately luck is not on your side, this time, and your grungy work turns up nothing of value.
<<case 1>>
sloppy... Though your efforts manages to turn up only a single Construction Cube.
<<default>>
sloppy. After some dirty work, you managed to find <<=$scene.supplies>> Construction Cubes.
<</switch>>
<br><br>
<<printThought "Is the world's greatest thief truly reduced to this?">><br>
<br>
<<include "s_town_choices">><<switch $pc.stage>>
<<case -1>>
<<include "s_prologue_town">>
<<case 0>>
<<include "s_stage0_town">>
<<default>>
ERROR: unexpected pc.stage <<=$pc.stage>>
<</switch>>/*#
#status: RELEASED 0.1.0.0
#*/
<<set $start_version = setup.getVersion()>>
<<include "u_init_tracking">>
<<include "u_init_characters">>
<<include "u_init_inventory">>
<<include "u_init_flags">><<set $stage = {}>>
<<set $scene = {}>>
<<set $outfits = {
"home" : ["shirt", "pants"],
"outside" : ["shoes", "shirt", "pants"],
}>>
<<set $day = 0>>
<<set $timeslot = 0>>
<<set $money = 210>>
<<set $food = 20>>
<<set $supplies = 60>>
<<set $paidRent = -1>><<set $pc = {
"name" : "Song",
"drone" : "DRONE-SM-1101",
"gender" : "male",
"vagina" : "none",
"penis" : "medium",
"stage" : -1,
"fatigue" : 1
}>>
<<set $rival = {
"name" : "Rain",
"drone" : "DRONE-DS-0298",
"gender" : "female",
"vagina" : "yes",
"penis" : "none"
}>>
<<set $landlord = {
"name" : "NYI",
"drone" : "NYI",
"gender" : "male"
}>>
<<set $thief1 = {
"name" : "Fox",
"drone" : "NYI",
"gender" : "male"
}>>
<<set $thief2 = {
"name" : "Dana",
"drone" : "NYI",
"gender" : "female"
}>><<set $inventory = {
"shoes" : 1,
"shirt" : 1,
"pants" : 1,
"jacket" : 0,
"hat" : 0,
"boots" : 0,
"bra" : 0,
"chastity" : 0,
"nullge" : 0,
"collar" : 0,
"corset" : 0,
"cuffs" : 0,
"gloves" : 0,
"gag" : 0,
"mask" : 0,
"helmet" : 0,
"vaginal" : 0,
"plug" : 0,
"suit" : 0,
"tail" : 0
}>>
<<if !$drone>>
<<set $drone = {}>>
<</if>>
<<set $drone.boots = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.bra = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.chastity = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.nullge = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.collar = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.corset = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.cuffs = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.gloves = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.gag = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.mask = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.helmet = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.vaginal = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.plug = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.suit = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>>
<<set $drone.tail = { "s" : 0, "r" : 0, "l" : 0, "e" : 0 }>><<set $hardcore = false>>
<<set $fetish = {
"cum" : true,
"breasts" : true,
"sex_machine" : true,
"sex" : true,
"sissy" : true,
"slave" : true,
"tail" : true
}>>
<<if !$drone>>
<<set $drone = {}>>
<</if>>
<<set $drone.vagina = "yes">>
<<set $drone.penis = "massive">>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: [not,consumption]
#*/
You approach your workbench. It isn't much, a hodge-podge of used tools and scavenged supplies, but you're handy enough to make it do what you need. there's many a job you've pulled that would have failed completely without a trinket or gadget made right here. If anything, the lack of resources is a monument to how much you've accomplished with so little... or at least that is what you tell yourself.<br>
<br>
You have <<=$supplies>> Construction Cubes, the universal raw material for crafting, research... pretty much anything you might need [not safe for human consumption].<br>
<br>
<<if !State.hasPlayed("p_stage1_first_full_wear_1") && setup.isDroneWorn()>>
You look at your reflection... And the fully equipped drone staring back at you...<br>
<br>
<<moveTo "p_stage1_first_full_wear_1" 'You feel compelled to record this moment for posterity.' true>>
<<elseif State.hasPlayed("p_drone_organize_5")>>
The drone items you collected are spread out across the workbench, their polished black surface glistening and beckoning you towards them like prize jewels...<br>
<br>
<<include "r_research_links">>
<<elseif State.hasPlayed("p_stage0_start_1")>>
The drone items you collected are stacked somewhat haphazardly on the workbench. The next step is to do some organisation.<br>
<br>
<<moveTo "p_drone_organize_1" 'Organise your trophies.' true>><br>
<<include "m_home">>
<<elseif State.hasPlayed("p_prologue_6")>>
<<if State.hasPlayed("p_prologue_craft_1")>>
[@@.link_locked;You already crafted what you need to capture <<=setup.getName("rival")>>... now to execute your plan.@@]
<<else>>
<<moveTo "p_prologue_craft_1" 'Craft equipment to capture <<=setup.getName("rival")>> (takes 50 Construction Cubes).' true "<<=setup.spendSupplies(50)>>">><br>
<</if>>
<<include "m_home">>
<<else>>
You don't see anything to do at the workbench at this time.<br>
<br>
<<include "m_home">>
<</if>><<if $pc.fatigue >= 4>>
[@@.link_locked;You are too tired to do any further research.@@]<br>
<<include "s_sleep">>
<<else>>
<<if $inventory.suit >= 1>>
<<moveTo "i_suit_inspect" "Inspect the <<=setup.getItemName('suit')>>. (Research Level: <<=setup.calcItemLevel('suit')>>)">><br>
<</if>>
<<if $inventory.boots >= 1>>
<<moveTo "i_boots_inspect" "Inspect the <<=setup.getItemName('boots')>>. (Research Level: <<=setup.calcItemLevel('boots')>>)">><br>
<</if>>
<<if $inventory.bra >= 1>>
<<moveTo "i_bra_inspect" "Inspect the <<=setup.getItemName('bra')>>. (Research Level: <<=setup.calcItemLevel('bra')>>)">><br>
<</if>>
<<if $inventory.gloves >= 1>>
<<moveTo "i_gloves_inspect" "Inspect the <<=setup.getItemName('gloves')>>. (Research Level: <<=setup.calcItemLevel('gloves')>>)">><br>
<</if>>
<<if $inventory.chastity >= 1>>
<<moveTo "i_chastity_inspect" "Inspect the <<=setup.getItemName('chastity')>>. (Research Level: <<=setup.calcItemLevel('chastity')>>)">><br>
<</if>>
<<if $inventory.nullge >= 1>>
<<moveTo "i_nullge_inspect" "Inspect the <<=setup.getItemName('nullge')>>. (Research Level: <<=setup.calcItemLevel('nullge')>>)">><br>
<</if>>
<<if $inventory.collar >= 1>>
<<moveTo "i_collar_inspect" "Inspect the <<=setup.getItemName('collar')>>. (Research Level: <<=setup.calcItemLevel('collar')>>)">><br>
<</if>>
<<if $inventory.corset >= 1>>
<<moveTo "i_corset_inspect" "Inspect the <<=setup.getItemName('corset')>>. (Research Level: <<=setup.calcItemLevel('corset')>>)">><br>
<</if>>
<<if $inventory.cuffs >= 1>>
<<moveTo "i_cuffs_inspect" "Inspect the <<=setup.getItemName('cuffs')>>. (Research Level: <<=setup.calcItemLevel('cuffs')>>)">><br>
<</if>>
<<if $inventory.gag >= 1>>
<<moveTo "i_gag_inspect" "Inspect the <<=setup.getItemName('gag')>>. (Research Level: <<=setup.calcItemLevel('gag')>>)">><br>
<</if>>
<<if $inventory.mask >= 1>>
<<moveTo "i_mask_inspect" "Inspect the <<=setup.getItemName('mask')>>. (Research Level: <<=setup.calcItemLevel('mask')>>)">><br>
<</if>>
<<if $inventory.helmet >= 1>>
<<moveTo "i_helmet_inspect" "Inspect the <<=setup.getItemName('helmet')>>. (Research Level: <<=setup.calcItemLevel('helmet')>>)">><br>
<</if>>
<<if $inventory.vaginal >= 1>>
<<moveTo "i_vaginal_inspect" "Inspect the <<=setup.getItemName('vaginal')>>. (Research Level: <<=setup.calcItemLevel('vaginal')>>)">><br>
<</if>>
<<if $inventory.plug >= 1>>
<<moveTo "i_plug_inspect" "Inspect the <<=setup.getItemName('plug')>>. (Research Level: <<=setup.calcItemLevel('plug')>>)">><br>
<</if>>
<<if $inventory.tail >= 1>>
<<moveTo "i_tail_inspect" "Inspect the <<=setup.getItemName('tail')>>. (Research Level: <<=setup.calcItemLevel('tail')>>)">><br>
<</if>>
<br>
<<include "m_home">>
<</if>><<=setup.capitalizeFirstLetter(setup.getItemName(_droneItem))>>,
Research Stage <<=$drone[_droneItem].s>>,
Progress: <<=$drone[_droneItem].r>>%
<<if $drone[_droneItem].l>>
Experience Level: <<=$drone[_droneItem].l>>,
<<=$drone[_droneItem].e>><<='/'>><<=setup.getLevelXp($drone[_droneItem].l)>>
<</if>><<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the item over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench.<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>><<set _droneItem = "boots">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("boots")>>
<<case 0>>
The footwear you removed from <<=setup.getName("rival")>>.
<<case 1>>
The footwear you removed from <<=setup.getName("rival")>>. They appear to be shiny black thigh-highs with integrated knee protection and intimidatingly steep heels.
<<case 2>>
The drone boots you liberated from <<=setup.getName("rival")>>. They are shiny black thigh-highs with intimidatingly steep heels, knee protection... and integrated locks. Your research has revealed the controls for the locking mechanism, but you suspect the sleek boots harbour further secrets...
<<case 3>>
The drone boots you liberated from <<=setup.getName("rival")>>. They are shiny black thigh-highs with intimidatingly steep, but adjustable, heels, knee protection... and integrated locks. Your research has revealed the controls for the locking mechanism, and that the heels serve multiple purposes: raising the height of the wearer, but also subtly cushioning and balancing their steps allowing a suitably-skilled wearer to not just balance, but move with even greater agility when worn.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("boots")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("boots")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("boots")>>
<<moveTo "p_boots_research" "Spend some time researching the <<=setup.getItemName('boots')>>." true "<<applyResearch 'boots'>>">><br>
<<else>>
<<printResearchReq "boots">><br>
<</if>>
<<else>>
<<moveTo "p_boots_research_1" "Do an in-depth inspection of the <<=setup.getItemName('boots')>>." true "<<applyResearch 'boots'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("boots")>>
You spend some time trying to figure out how the <<=setup.getItemName('boots')>> work...
<<switch setup.calcItemLevel("boots")>>
<<case 0>>
<<case 1>>
<<moveTo "p_boots_research_2" "You've made a breakthrough...">><br>
<<case 2>>
<<moveTo "p_boots_research_3" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("boots")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('boots')>> if you are further comprehend their functionality.
<</if>><<incrementResearchLevel "boots">>
You spread the drone boots out across the table.<br>
<br>
In some ways one of the "simpler" pieces of drone kit, they are nonetheless far from normal. First off, is their height, in both senses of the word. Thigh-highs aren't exactly common outside of the red light district, and these go even higher, not just rising up to the crotch, but spreading out around the hips with padded segments that "enhance" the drone's figure. Continuing the aesthetic improvements, the effective heels on the boots give the drone eye-catching legs for days, raising the wearer up over a dozen centimetres, a boost that had <<=setup.getName("rival")>> towering over you in <<pn 'his' rival>> drone guise.<br>
<br>
The bit that sets the boots apart from any "normal" footwear, be it street-walking or high fashion, is the bonus rear support. Rather than a standard wedge or heel, the foot is held aloft by a curved blade of metal arcing down from the back of the calf. Quite springy, you surmise that it would add additional recoil with each step, cushioning falls, allowing for greater leaps, and swifter motion... provided one had the skill to remain balanced in the steep footwear.<br>
<br>
Presumably to compensate for the risks of said balance challenges, the boots are also equipped with a subtly built in pair of knee-pads.<br>
<br>
<<printThought "Finding out if these have any further secrets is going to require going hands-on... and some Construction Cubes.">><br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_boots_wear]]<</if>>
<<if $drone.boots.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif !State.hasPlayed("p_boots_first_wear_1")>>
<<moveTo "p_boots_first_wear_1" "wear" false "<<=setup.wearItem('boots')>>">>
<<else>>
[@@.link_locked;Additional research required.@@]
<</if>>You slide the boots up your legs, a feeling of power running up your body as the sleek black material envelops your legs. The material moves smoothly over your legs, but clings tight as it sheaths you from hips to heels. You take a deep breath and, with one hand against the wall for support, carefully rise to your feet.<br>
<br>
Wearing them, the heels feel even steeper than they looked, and you steady yourself against a wall as find yourself looking around the flat from a new, higher perspective.<br>
<br>
You wobble as you step over to the mirror, the couple of steps confirming that you're going to need practice, both to handle the increased height, and the "springiness" added to your steps.<br>
<br>
<<printThought "Wow, I look amazing...">> You reflect as you look at the combination of your long, sky-high boosted legs, and hip pads that cling to your body to have you looking quite caked up. <<printThought "I don't know who designed the profile for drones... But they definitely had an eye for the human figure...">><br>
<br>
<<if $drone.boots.l >= 1>>
<<moveTo "p_boots_first_remove_1" "Take the boots off." false "<<=setup.removeItem('boots')>>">><br>
<<else>>
[@@.link_locked;The boots are locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_boots_remove]]<</if>>
<<if $drone.boots.l < 1>>
[@@.link_locked;The boots are locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_boots_first_remove_1")>>
<<moveTo "p_boots_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('boots')>>
You remove the drone boots. Despite wearing the boots for <<if $drone.boots.e == 0>>just a few minutes<<else>>such a short time<</if>>, you feel oddly short... and skinny, a glance at the mirror finding your hips to look normal rather than the impressive padding the boots provided for your figure. You spend a few minutes massaging your feet, feeling relief at your feet no longer being forced into such a steep, borderline en pointe position.<br>
<br>
<<printThought "Definitely going to have to spend more time training if I'm going to wear those comfortably... I wonder if there's any way to adjust the height for practice?">><br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "boots">>
TODO<<incrementResearchLevel "boots">>
TODO<<set _droneItem = "bra">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("bra")>>
<<case 0>>
The strange metal bra that endows the wearer with a massive rack you removed from <<=setup.getName("rival")>>.
<<case 1>>
A metallic, padded bra that "protects" a drone, and endows them with a massive rack.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("bra")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("bra")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("bra")>>
<<moveTo "p_bra_research" "Spend some time researching the <<=setup.getItemName('bra')>>." true "<<applyResearch 'bra'>>">><br>
<<else>>
<<printResearchReq "bra">><br>
<</if>>
<<else>>
<<moveTo "p_bra_research_1" "Do an in-depth inspection of the <<=setup.getItemName('bra')>>." true "<<applyResearch 'bra'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("bra")>>
You spend some time tinkering with the <<=setup.getItemName('bra')>>...
<<switch setup.calcItemLevel("bra")>>
<<case 1>>
<<moveTo "p_bra_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("bra")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('bra')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "bra">>
You take a closer look at the drone "bra." At a surface level, it's like no bra you've ever seen before, closer to a sculpture than a piece of clothing, with a rigid metal exterior over thick pads that simultaneously boost the wearer's effective cup size, while also insulating them from exterior sensation.<br>
<br>
After spending several minutes staring at your reflection in the polished metal you flip the cups over to examine the inside. The padding that bridged the gap between <<=setup.ps(setup.getName("rival"))>> "naturally" large breasts to the full drone's prodigious proportions is slightly firmer than you expected, with a subtle band around the base that has you pretty sure the entire thing would "seal" over the wearer's chest.<br>
<br>
<<printThought "Extra security to keep things in place on top of the heavy straps? I guess that makes sense, given how much breasts that size would weigh...">><br>
<br>
Another detail you discover on this more thorough inspection is that there are divots at the tip of each breast cup, by position they are obviously meant to contain the wearer's nipples... though you don't see the functional purpose for such.<br>
<br>
Pulling out the scanner you take a final glance "inside." Scanning from the outside resists all bands, but flipping things over you're able to discover that the padding layer hides a final surprise, a complex web of electronic circuitry, and what looks like hollow compartments.<br>
<br>
<<printThought "Storage? Or maybe some sort of size adjustment? I won't know until I get to wearing them... which is probably going to take some crafting, given that I <<if $pc.gender=='male'>>don't have breasts at all, much less ones the size that<<else>>don't have breasts anywhere near as large as what<</if>> <<=setup.getName('rival')>> has been enhanced to!">><br>
<br>
You turn the bra over a few more times, but don't find anything else of note, or what the purpose of all the interior electronic complexity could be. Attempts at slicing in to the controls are similarly fruitless, as you run up against a low-level lock that prevents activating any features unless the device detects that it is "equipped." <<printThought "Looks like revealing additional secrets will require wearing this thing... Which my anatomy doesn't quite match up to, at present.">>.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_bra_wear]]<</if>>
<<if $drone.bra.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif $drone.bra.l < 2>>
<<if State.hasPlayed("p_bra_fail_wear_1")>>
[@@.link_locked;Additional research required to wear.@@]
<<else>>
<<moveTo "p_bra_fail_wear_1" "wear">>
<</if>>
<<elseif !State.hasPlayed("p_bra_first_wear_1")>>
<<moveTo "p_bra_first_wear_1" "wear" "<<=setup.wearItem('bra')>>">>
<<else>>
ERROR: unexpected
<</if>>You attempt to slip into the bra, but, despite the flexible straps, it sits awkwardly and unevenly on your body, <<if $pc.gender=="female">>your small breasts all but disappearing in the large compartments<<else>>the large breast compartments sliding back and forth over your flat chest<</if>> while drooping down your front.<br>
<br>
<<printThought "Looks like I'm going to have to play around and make some tweaks if I'm going to be able to wear this... Which means back to the workbench...">><br>
<br>
<<include "u_first_remove">>You pull the modified bra over your chest, the straps automatically pulling tight around your body as you go from <<if $pc.gender=="female">>small<<else>>flat<</if>> to a massive rack.<br>
<br>
The weight is the first thing you notice, feeling subtly pulled forward by the massive things strapped to your chest. You're certain that the inserts you crafted are less dense than the real thing, but the size of it all is still something, though the bra appears to be quite "supportive," your two new extensions bouncing only slightly when you experimentally jump in place.<br>
<br>
A glance at the mirror confirms that you are cutting quite the striking figure, the shiny, artificial tits standing out on your slender frame.<br>
<br>
<<printThought "I still don't understand the purpose of this being part of the drone kit... but at least it's wearable. Good thing my normal clothes are so loose-fitting, otherwise I'd never manage to jam these underneath!">><br>
<br>
<<if $drone.bra.l >= 1>>
<<moveTo "p_bra_first_remove_1" "Take the bra off." false "<<=setup.removeItem('bra')>>">><br>
<<else>>
[@@.link_locked;The bra is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_bra_remove]]<</if>>
<<if $drone.bra.l < 1>>
[@@.link_locked;The bra is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_bra_first_remove_1")>>
<<moveTo "p_bra_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('bra')>>
You remove the drone bra. Even wearing it for <<if $drone.boots.e == 0>>just a few minutes<<else>>but a few hours<</if>>, you feel suddenly lighter, taking a few moments to re-adjust your balance without the dual counterweights that had been pulling you forwards a moment before.<br>
<br>
<<printThought "Weird. Dunno if I'd want to do anything too acrobatic with those on... But they fit well enough now.">><br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "bra">>
TODO: pads<<set _droneItem = "chastity">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("chastity")>>
<<case 0>>
Strange steel underwear you removed from <<=setup.getName("rival")>>.
<<case 1>>
The drone underwear... secure, body-hugging metal that secure its genitals, with
<<if $drone.vagina == "yes">>
dual hollow sheaths that occupy the drone's two lower holes, while interfacing with the drone plug and vaginal dildo.
<<else>>
a hollow sheath that occupies the drone's rear and interfaces with the drone plug.
<</if>>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("chastity")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("chastity")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("chastity")>>
<<moveTo "p_chastity_research" "Spend some time researching the <<=setup.getItemName('chastity')>>." true "<<applyResearch 'chastity'>>">><br>
<<else>>
<<printResearchReq "chastity">><br>
<</if>>
<<else>>
<<moveTo "p_chastity_research_1" "Do an in-depth inspection of the <<=setup.getItemName('chastity')>>." true "<<applyResearch 'chastity'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("chastity")>>
You spend some time trying to figure out how the <<=setup.getItemName('chastity')>> works...
<<switch setup.calcItemLevel("chastity")>>
<<case 1>>
<<moveTo "p_chastity_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("chastity")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('chastity')>> if you are to further comprehend its functionality.
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: ly
#*/
<<incrementResearchLevel "chastity">>
<<if $drone.vagina == "yes">>
<<addItem "vaginal">>
<</if>>
<<if $fetish.nullge>>
<<addItem "nullge">>
<</if>>
You take a deep breath and pull out what might be the most startling piece of drone kit: the sculpted metallic drone panties<<if $drone.vagina == "yes">> and their jaw-dropping interior insert<</if>>.<br>
<br>
Taken on its own, the gleaming metal implement could almost be considered an erotic art piece. The hip-hugging steel bands that dip down between the ass-cheeks, the large, hollow sheath through which the drone's <<if $fetish.tail>>tail-<</if>>plug would fit, the rise of the curves in front to fully secure everything... You pull yourself out of your daydream as you trace a finger along the bizarre codpiece that smoothly disguises <<if $fetish.nullge>>the contents with an obscenely large (and slightly squishy) bulge<<else>>whatever the wearer has beneath<</if>>.<br>
<br>
<<if $drone.vagina == "yes">>
You working systematically and continue on to look at the sizable vaginal insert, wondering how <<=setup.getName("rival")>> could even function with what is practically a bollard-sized cock locked inside of <<pn 'him' rival>>. <<if $pc.vagina == "none">>Mindful of your difference in anatomy, you examine the base and figure out how to detach the cock<<else>>On closer examination you are able to detach the phallus<</if>> from the underwear... well, partially. It turns out that, much like the rear plug, there is a "sheath" built into the panties that remains in place even after detaching the inner, removable dildo. You gawk at the dual inserts (complete with ribbed interior linings) and the large dildo as you set it aside for later examination.<br>
<br>
<</if>>
<<if $fetish.nullge>>
There's something about the difference in material between the squishy bulge and the polished metal of the rest of the device sets your teeth on edge. Your suspicions are confirmed a few minutes later when you successfully detach the two pieces, setting the bulging front-piece to one side for later focused examination.<br>
<br>
<</if>>
<<if $drone.vagina == "yes" && $drone.penis != "none">>
With the dildo insert out of the way you take a closer look at the device's interior. Just forward of the sheath insert that would hold the dildo secretly in place, the metal widens and bulges outwards to provide a pair of pockets for the drone's testicles... and then another compartment for its
<<switch $drone.penis>>
<<case "small">>
small member.
<<case "medium">>
cock.
<<case "large">>
large cock.
<<case "massive">>
massive cock.
<<default>>
ERROR: unexpected drone.penis <<=$drone.penis>>
<</switch>>
<<if $fetish.nullge>>
Without the bulge attachment, the
<<else>>
The
<</if>>
front of the device is actually quite sleek and low-profile, belying the
<<switch $drone.penis>>
<<case "small">>
small surprise
<<case "medium">>
member
<<case "large">>
large unit
<<case "massive">>
massive monster
<<default>>
ERROR: unexpected drone.penis <<=$drone.penis>>
<</switch>>
that was once locked within.
<<elseif $drone.vagina == "yes" && $drone.penis == "none">>
With the dildo insert out of the way you take a closer look at the device's interior. The metal front that holds the sheath insert has a rubbery lining that looks as if it would make a tight seal over the entire crotch area... with additional small, slightly textured nubbins that would be pressed between the wearer's lower lips, and a small pocket that would contain their clit.
<<elseif $drone.vagina == "none" && $drone.penis != "none">>
You turn things over for a clearer view of the device's interior, the sculpted metal that rises up from between the wearer's legs bulginging outwards to provide a pair of pockets for the drone's testicles... and then another compartment for its
<<switch $drone.penis>>
<<case "small">>
small member.
<<case "medium">>
cock.
<<case "large">>
large cock.
<<case "massive">>
massive cock.
<<default>>
ERROR: unexpected drone.penis <<=$drone.penis>>
<</switch>>
<<if $fetish.nullge>>
Without the bulge attachment,
<<else>>
The
<</if>>
front of the device is actually quite sleek and low-profile, belying the
<<switch $drone.penis>>
<<case "small">>
small surprise
<<case "medium">>
member
<<case "large">>
large unit
<<case "massive">>
massive monster
<<default>>
ERROR: unexpected drone.penis <<=$drone.penis>>
<</switch>>
locked within.
<<elseif $drone.vagina == "none" && $drone.penis == "none">>
The sculpted metal sends a slight shiver down your spine, the way it would tightly hug the drone's doll-like smooth crotch, insulating the sleek flesh from stimulation while further accentuating the smooth form... while the inside contains hidden rows of nubs that would surely feel quite intimate rubbing against the wearer with every move.
<<else>>
ERROR: unexpected drone genitals
<</if>>
<br><br>
Exterior scanning of the device proves useless, but whatever shielding is crafted into the metal is easily circumvented by scanning from the inside. This deeper inspection reveals a complex plethora of sensors, servos, and electronics running under the belt... as well as better (but still somewhat inscrutable) view of the incredibly complicated locking mechanism that kept the entire contraption secured to <<=setup.getName("rival")>> before you intervened. You console yourself that you weren't getting stumped by something simple and store-bought, you've seen bank vaults that were less secure, and you were sweating bullets over this in the sewers not that long ago.<br>
<br>
<<printThought "Good thing I'm such a skilled thief or I never would have managed to release this... Though it makes me wonder, if whoever designed this took such extreme efforts at security, is <<=setup.getName('rival')>> going to suffer some sort of punishment for being released?">><br>
<br>
So many questions, so few answers. Pulling out your computer you connect to the device, but the only control you can access is the locking mechanism, everything else seemingly disabled unless the device is "equipped" to a drone. You gingerly place the heavy underwear to one side, certain that there remain more secrets to find within its shiny shell.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_chastity_wear]]<</if>>
<<if $drone.chastity.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif $drone.chastity.l < 2>>
<<if State.hasPlayed("p_chastity_fail_wear_1")>>
[@@.link_locked;Additional research required to wear.@@]
<<else>>
<<moveTo "p_chastity_fail_wear_1" "wear">>
<</if>>
<<elseif !State.hasPlayed("p_chastity_first_wear_1")>>
<<moveTo "p_chastity_first_wear_1" "wear" "<<=setup.wearItem('chastity')>>">>
<<else>>
ERROR: unexpected
<</if>>You bring the steel underwear to your crotch
<<if $pc.vagina == "none" && $drone.vagina == "yes">>
and immediately run into a problem, the front sheath meant to fit into a hole that you do not have... while its rear twin is far too girthy to possibly fit in your rear, your best efforts only serving to partially (and uncomfortably) squish the two inserts up against your body without being anywhere close to properly closing the device.
<<elseif $pc.vagina == "yes" && $drone.vagina == "yes">>
and immediately run into a problem. The interior front sheath, even being somewhat squishy, is far too thick for you to insert... as is the matching rear attachment, your best efforts only serving to partially (and uncomfortably) squish the two inserts up against your body without being anywhere close to properly closing the device.
<<else>>
<<if setup.sizeToInt($pc.penis) == "none" && $drone.penis != "none">>
and find things weirdly awkward, your lack-of-penis matching up against the device's forward compartment in a manner less than comfortable.
<<elseif setup.sizeToInt($pc.penis) != "none" && $drone.penis == "none">>
and run into a problem... the sleek drone device lacking space for your <<=$pc.penis>> cock.
<<elseif setup.sizeToInt($pc.penis) < setup.sizeToInt($drone.penis)>>
and run into a problem. While there is a space for your member, there's TOO much space, your <<=$pc.penis>> cock somewhat flopping around within the more spacious cavity.
<<elseif setup.sizeToInt($pc.penis) > setup.sizeToInt($drone.penis)>>
and run into a problem. While there is a space for the drone's member, it is insufficient for your <<=$pc.penis>> cock, and you feel quite jammed in the too-cramped cavity.
<<else>>
and find yourself feeling quite constrained, your <<=$pc.penis>> seemingly perfectly enveloped in the device's snug forward compartment.
<</if>>
You reach around back, but the rear sheath is far too thick for you to handle, and you end up just squashing it up between your cheeks a few times before you give up.
<</if>>
<br><br>
<<printThought "Looks like I need to make some adjustments if I'm going to equip this thing... That or become some sort of <<if $drone.vagina>>two-hole <</if>>size queen...">><br>
<br>
<<include "u_first_remove">>You nervously pick up the modified drone chastity device. Even
<<if $pc.vagina == "none" && $drone.vagina == "yes">>
with the front sheath removed, and the rear insert reduced in size, you feel a bit intimidated, your lower hole twitching in anticipation as you lube up the smooth anal insert.
<<elseif $pc.vagina == "yes" && $drone.vagina == "yes">>
at their smallest size, the two internal sheaths are far from small, and your lower holes twitch in anticipation as you lube up the dual smooth inserts.
<<else>>
with the rear insert reduced at its smallest size, you feel a bit intimidated, your lower hole twitching in anticipation as you lube up the smooth anal insert.
<</if>>
<br><br>
The metal waist-band locks over your hips and you reach between your legs to pull the rear portion of the crotch piece into position. As if locked on to <<if $pc.vagina == "yes">>their targets, the dual inserts press against your holes<<else>>its target, the rear insert presses against your hole<</if>>. You let out a slow breath and try to relax, pushing harder as you focus on your mission. If drones can handle being perpetually <<if $drone.vagina == "yes">>double-stuffed<<else>>stuffed<</if>>, then so can you.<br>
<br>
You feel something start to slip... and then gasp as <<if $drone.vagina == "yes">>dual inserts<<else>>the slippery insert<</if>> slides into you, your body spreading in welcome, all but sucking things in until the crotch-strap of the belt presses into position, with you feeling full and a little fucked.<br>
<br>
<<printThought "Damn...">><br>
<br>
You catch your breath and wiggle to make sure things are seated properly, feeling every movement magnified as the <<if $drone.vagina == "yes">>dual inserts<<else>>insert<</if>> shifts inside of you, feeling even larger than <<if $drone.vagina == "yes">>they<<else>>it<</if>> looked... and making you wonder how it would be to be stuffed at "full size." <br>
<br>
<<printThought "Focus on the task, the inserts are hidden inside, so all I need to do is WEAR the chastity belt and I can pass as a drone.">><br>
<br>
<<if $pc.penis != "none">>
You stand for a moment, filled, but not fully locked as you muster energy for the final step. Your body has reacted to your <<if $drone.vagina == "yes">>pair of intruders<<else>>intruder<</if>> with clear excitement, and you stare down at your VERY hard member looking far too large to fit into the <<if $pc.penis != $drone.penis>>modified <</if>>sleek front compartment that will complete your chaste prison. Fortunately, you thought ahead, and, even as your other <<if $drone.vagina == "yes">>holes continue<<else>>hole continues<</if>> to quiver in excitement, you use an ice-pack to cool your enthusiasm and, with the help of some more lube, slide yourself into the front compartment of the device.<br>
<br>
<</if>>
With a final burst of motivation, you close the front of the belt, the click of the lock sending a shudder through your body as your imprisonment is complete.<br>
<br>
<<moveTo "p_chastity_first_wear_2" "Continue.">>You tremble, taking short breaths as you adjust to the chastity belt's presence. Every breath, every pulse reminds you of the <<if $drone.vagina == "yes">>dual inserts'<<else>>rear insert's<</if>> presence... and the fact that <<if $drone.vagina == "yes">>those inserts<<else>>said insert<</if>> not only <<if $drone.vagina == "yes">>have<<else>>has<</if>> you full... but open and gaping. Your gaze drifts across the workbench to the <<if $drone.vagina == "yes">>dual dildos<<else>>dildo<</if>> meant to fill your spread <<if $drone.vagina == "yes">>orifices<<else>>orifice<</if>> and you shudder, the thought of how every drone is constantly filled... <<printThought "Or is that fucked?">> Making you <<if $pc.penis>>strain<<else>>drip<</if>> with excitement inside your prison.<br>
<br>
<<printThought "This may be a chastity belt, but it's a perverse inversion of everything that word means... And I'm going to have to practice with it to be able to operate calmly and secretly as a drone...">><br>
<br>
You take a slow, deep breath and try to distract yourself from the sensations in your loins.<br>
<br>
<<if $drone.chastity.l >= 1>>
<<moveTo "p_chastity_first_remove_1" "Remove the chastity belt." false "<<=setup.removeItem('chastity')>>">><br>
<<else>>
[@@.link_locked;The chastity belt is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_chastity_remove]]<</if>>
<<if $drone.chastity.l < 1>>
[@@.link_locked;The chastity belt is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_chastity_first_remove_1")>>
<<moveTo "p_chastity_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('chastity')>>
The sound of the chastity belt unlocking sends a shiver through your body... a shiver that turns to a shudder as the <<if $pc.vagina == "yes">>dual internal plugs<<else>>rear plug<</if>> slides free. You pant, your <<if $pc.vagina == "yes">>holes<<else>>hole<</if>> quivering at the lack of occupant... as you wonder how it would feel if you had been stuffed with the device's original, full-sized <<if $pc.vagina == "yes">>inserts<<else>>insert<</if>> instead of your modification.<br>
<br>
<<if $pc.penis != "none">>
You take another deep breath as you unseal the front compartment, your cock free of its lightless, tight prison. As if intimidated by the experience, your member does not stiffen fully, instead rising to a mere half chub... sensitive, but strange, throbbing as if missing its private domicile and the tight ring that had gripped its base.<br>
<br>
<</if>>
You feel... empty... and exposed.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "chastity">>
TODO.<<set _droneItem = "collar">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("collar")>>
<<case 0>>
A steep collar you removed from <<=setup.ps(setup.getName("rival"))>> throat.
<<case 1>>
The posture collar that keeps a drone's neck protected, and its head locked in position, while also providing attachment points.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("collar")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("collar")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("collar")>>
<<moveTo "p_collar_research" "Spend some time researching the <<=setup.getItemName('collar')>>." true "<<applyResearch 'collar'>>">><br>
<<else>>
<<printResearchReq "collar">><br>
<</if>>
<<else>>
<<moveTo "p_collar_research_1" "Do an in-depth inspection of the <<=setup.getItemName('collar')>>." true "<<applyResearch 'collar'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("collar")>>
You spend some time trying to figure out how the <<=setup.getItemName('collar')>> works...
<<switch setup.calcItemLevel("collar")>>
<<case 1>>
<<moveTo "p_collar_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("collar")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('collar')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "collar">>
You place the drone collar on the bench in front of you. At first glance, it is almost innocuous, a sculpted circle that looks almost sensuous in its subtle curves. Imagining what it would be like to wear the device, however, sends a slight shiver down your spine. So steep and precisely shaped, it would force the wearer's chin up and forward, preventing any movement of the neck, and acting as an anchor point for the drone helmet for even further restriction.<br>
<br>
<<if State.hasPlayed("p_helmet_research_1")>>
You can now see how the helmet's many cameras compensate for this restriction, though you still do not fully grasp why such a restrictive piece makes sense for the active role the drones play.
<<else>>
You wonder if there might be something in the helmet to compensate for this excessive restriction on movement, for how can a drone effectively perform its security role if it cannot even look around or up?
<</if>>
<br><br>
The exterior of the collar resists scans, but the from the inside your tools are able to gain a fuller picture. There is the locking mechanism, of course, and some additional wiring and electronics packed between the solid exterior and the interior padding... but there are some other surprises, as well: a set of attachment points lurking within the collar's thickness.<br>
<br>
Unfortunately, this is where your explorations hit a wall. Despite being able to identify the features, and connect your computer to the collar's control system, you find that activating anything is locked behind the collar detecting that it has been "equipped." You shake your head in frustration, wondering at what the purpose could be for what looks to be several D rings chambered to deploy out the sides of the collar, plus the fancier O and D ring combination at the front of the throat.<br>
<br>
Your only conclusion is that the attachment points are for restraining a drone, but why so many? What purpose could such excessive mounting points serve for such seemingly obedient automatons?<br>
<br>
Your eyes trace over the other drone equipment, particularly the cuffs as you reflect on who <<=setup.getName("rival")>> was before being droned. Is the drone outfit actually a prisoner uniform? Their duties a perverse sort of work-release program?<br>
<br>
<<printThought "Well... work and never released, from what I can tell...">><br>
<br>
Questions continue to swirl as you tug at the mysterious knot that is FIRESec.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_collar_wear]]<</if>>
<<if $drone.collar.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif !State.hasPlayed("p_collar_first_wear_1")>>
<<moveTo "p_collar_first_wear_1" "wear" false "<<=setup.wearItem('collar')>>">>
<<else>>
[@@.link_locked;Additional research required.@@]
<</if>>You raise the collar to your throat, the curved front following the underside of your jaw... and pushing your chin upwards as you push the collar into position, the stiff gorget effectively wedged between your chin and your shoulder by the time you close it around your neck. The lock clicks closed and locks you place, unable to shake your head or nod as the padded posture collar holds you in position.<br>
<br>
Merely looking around your flat instantly becomes an alien experience. Without the benefit of the drone helmet you are perpetually looking down your nose as you are forced to turn your entire body to change perspective. Your hand rises to trace your smooth, elongated neck, certainly you feel supported... and your reflection portrays an elegant, if somewhat haughty, profile... but at what cost?<br>
<br>
The restricted existence of the drones makes you shudder... yet you know that you will need to become accustomed to such yourself if you are to successfully infiltrate their number...<br>
<br>
<<if $drone.collar.l >= 1>>
<<moveTo "p_collar_first_remove_1" "Remove the posture collar." false "<<=setup.removeItem('collar')>>">><br>
<<else>>
[@@.link_locked;The posture collar is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_collar_remove]]<</if>>
<<if $drone.collar.l < 1>>
[@@.link_locked;The posture collar is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_collar_first_remove_1")>>
<<moveTo "p_collar_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('collar')>>
You feel the click of the lock in your spine as the hidden rear clasp of the posture collar releases. Your chin droops as you pull the collar away from your throat, suddenly robbed of its stiff, restrictive support. Turning your head feels strange, as if moving beyond the constrains of the now-absent collar is somehow forbidden, and for a few moments you have to consciously force yourself not to turn your shoulders as you re-adjust to your neck being other than rigid.<br>
<br>
The collar feels strangely heavy in your hands as you look down at it, a simple action that it forbade you while it was in place.<br>
<br>
<<printThought "Could the collar's restrictions be part psychological? Not just forcing a dependence on the drone helmet, but literally restricting it from turning. Always looking forward...">><br>
<br>
You place the collar back down on the workbench... and try not to notice how its polished surface seems to present a reflection that follows you...<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "collar">>
TODO.<<set _droneItem = "corset">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("corset")>>
<<case 0>>
Some sort of oversized waist-piece you removed from <<=setup.ps(setup.getName("rival"))>> waist.
<<case 1>>
The drone corset that gives it perfect posture and a stunning wasp figure.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("corset")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("corset")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("corset")>>
<<moveTo "p_corset_research" "Spend some time researching the <<=setup.getItemName('corset')>>." true "<<applyResearch 'corset'>>">><br>
<<else>>
<<printResearchReq "corset">><br>
<</if>>
<<else>>
<<moveTo "p_corset_research_1" "Do an in-depth inspection of the <<=setup.getItemName('corset')>>." true "<<applyResearch 'corset'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("corset")>>
You spend some time trying to figure out how the <<=setup.getItemName('corset')>> work...
<<switch setup.calcItemLevel("corset")>>
<<case 1>>
<<moveTo "p_corset_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("corset")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('corset')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "corset">>
You place the drone waist-piece in front of you. Even separated from a wearer, its shape is stunning. You recall how it covered from <<=setup.ps(setup.getName("rival"))>> hips up to <<if $fetish.breasts>>just below <<pn 'him' rival>> breasts<<else>><<pn 'him' rival>> upper chest<</if>>, forcing a rigid posture and compressing <<pn 'him' rival>> into an eye-catching and jaw-dropping hourglass figure.<br>
<br>
The longer you look at the device, the more you conclude that there really is no better name for it than "corset." You try to imagine how it would feel to wear it, your body constantly compressed and reshaped, your posture perfect, your waist snatched...<br>
<br>
<<printThought "<<=setup.getName('rival')>> and <<pn 'his' rival>> fellow drones are certainly stunning, but how does that make them better at providing security? Unless guards with statuesque figures is somehow a selling point? There's just so much I don't know...">><br>
<br>
Examining the exterior of the corset a bit more you conclude that it probably does provide some functional armour for the drone's vitals, as well as shielding from exterior scanning. Using your scanner from the inside you're able to detect the stiff vertical boning that will keep the wearer in perfect posture, as well as the horizontal structure in the rear that would both provide the compressive power to lace things down... and securely lock the device in that strenuously tight and constrictive position.<br>
<br>
You do some quick measurements of the corset versus your own dimensions and bite your lip. If you're going to fit into the thing, you're going to have to do some training... <<printThought "Or maybe sacrifice a few ribs...">> You know a few rippers that would do it but you lack the credits. You shake your head and put the corset back on the bench. <<printThought "Another problem for another day.">><br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_corset_wear]]<</if>>
<<if $drone.corset.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif $drone.corset.l < 2>>
<<if State.hasPlayed("p_corset_fail_wear_1")>>
[@@.link_locked;Additional research required to wear.@@]
<<else>>
<<moveTo "p_corset_fail_wear_1" "wear">>
<</if>>
<<elseif !State.hasPlayed("p_corset_first_wear_1")>>
<<moveTo "p_corset_first_wear_1" "wear" "<<=setup.wearItem('corset')>>">>
<<else>>
ERROR: unexpected
<</if>>You attempt to wrap the <<=setup.getItemName("corset")>> around your waist, coming several centimetres shy of closing it around you, even as you gawk at how <<=setup.getName("rival")>> had worn it even tighter, <<pn 'his' rival>> waist pinched stunningly narrow by the rigid, compressive garment.<br>
<br>
<<printThought "I would have sworn we were closer in size... Looks like I'll need to be making some modifications before I can wear this thing...">><br>
<br>
<<include "u_first_remove">>You lift the the modified corset and wrap it around your body. Even with your extensions it is a tight fit, and for a moment you think you might have mis-measured something as you struggle to close it. Only by sucking in everything do you finally manage to pull the front panel together... and then the device takes over.<br>
<br>
With implacable force the already stiff corset squeezes you tighter, not just compressing your waist, but forcing your body to obey its demands, puling you into perfect posture as it tightens... tightens... and just before you think my might be pinched in half, falls still.<br>
<br>
You let out short little pants as your body adjusts to its newly re-arranged state as you look up at your reflection... And gasp. Having seen drones you thought you were prepared for the hourglass profile, but seeing it on yourself, the narrow waist and proud posture.. You can do little else but gawk, your hands following your newly defined curves, and that oh-so-narrow waist... It seems almost unreal.<br>
<br>
<<printThought "And this is several centimetres wider than what <<=setup.getName('rival')>> was wearing!">><br>
<br>
You imagine your organs accommodating into their newly-rearranged positions as you continue to admire your stunning figure as your breathing slowly settles into a new rhythm.<br>
<br>
<<printThought "Dunno how long I can go around like this... Another thing to practice before I can play the part of a drone in public...">><br>
<br>
<<if $drone.corset.l >= 1>>
<<moveTo "p_corset_first_remove_1" "Remove the corset." false "<<=setup.removeItem('corset')>>">><br>
<<else>>
[@@.link_locked;The corset is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_corset_remove]]<</if>>
<<if $drone.corset.l < 1>>
[@@.link_locked;The corset is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_corset_first_remove_1")>>
<<moveTo "p_corset_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('corset')>>
You release the corset and feel your body almost burst back to normal size. You take a long-denied deep breath and slouch slightly as you lose the support of the corset and consider your reflection.<br>
<br>
<<printThought "Am I really this shapeless?">> You shake your head, the initial thought put aside as you recognise that you are as you were before... And that anything would look a bit flat compared to the rigidly stunning profile the corset forced you into.<br>
<br>
You turn and stretch your spine and imagine your insides descending back to their normal, roomier positions as you put the corset aside.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "corset">>
TODO.<<set _droneItem = "cuffs">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("cuffs")>>
<<case 0>>
Eight matching cuffs you removed from <<=setup.ps(setup.getName("rival"))>> ankles, thighs, wrists, and biceps.
<<case 1>>
The eight drone cuffs that lock the rest of its attire at ankle, thigh, wrist, and bicep. Secure and capable of deploying attachment points, restraints, and thigh hand-holds.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("cuffs")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("cuffs")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("cuffs")>>
<<moveTo "p_cuffs_research" "Spend some time researching the <<=setup.getItemName('cuffs')>>." true "<<applyResearch 'cuffs'>>">><br>
<<else>>
<<printResearchReq "cuffs">><br>
<</if>>
<<else>>
<<moveTo "p_cuffs_research_1" "Do an in-depth inspection of the <<=setup.getItemName('cuffs')>>." true "<<applyResearch 'cuffs'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("cuffs")>>
You spend some time trying to figure out how the <<=setup.getItemName('cuffs')>> work...
<<switch setup.calcItemLevel("cuffs")>>
<<case 1>>
<<moveTo "p_cuffs_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("cuffs")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('cuffs')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "cuffs">>
You lay the four pairs of cuffs out across the workbench. Alike in style, each one is sleek on the outside, and modestly padded on the inside, and ever-so-slightly different in size, the pairs seemingly subtly differing to account for slight asymmetries between dominant and non-dominant sides of the drone's body.<br>
<br>
The level of precision, and thus security, should be surprising... but it's actually what you've come to expect from whatever mad designer architected the drone systems. <<printThought "At least the cuffs, like... Make sense as a security measure for drones... Unlike some of this other stuff.">><br>
<br>
Scanning the cuffs from the inside you confirm their locking system... as well as some additional electronics, and hidden "attachment points." You attempt to hack your way into this newly discovered functionality, but all you're able to control is the locking mechanism, as everything else is hard-locked behind the devices being equipped to a drone. You sigh in frustration, spending a bit more time with the scanner to trace out what you estimate is about half a dozen centimetres of linking cables, and up to four D-ring attachment mounts, and in the case of the large thigh cuffs, what look almost like handles.<br>
<br>
<<printThought "A method for restraining drones? Or perhaps they can remove cuffs and apply them to captives?">><br>
<br>
Either option honestly seems equally likely to you, at this point, between the various excessive security measures and perversions of the drone equipment, as well as the practical consideration that a drone would need some manner to restrain a suspect, and you have never seen a drone carry any gear beyond their complex locked-on "uniforms." <br>
<br>
<<printThought "Even a simple component leaves more questions... ">><br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_cuffs_wear]]<</if>>
<<if $drone.cuffs.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_cuffs_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_cuffs_first_wear_1" "wear" false "<<=setup.wearItem('cuffs')>>">>
<</if>>One at a time the cuffs click closed around your limbs. Wrist, bicep, thigh, ankle... you are technically unrestrained, and yet you feel... contained, the slightly bulky accessories symbolically locking your body in a sort of portable prison, while being harbingers of further restriction.<br>
<br>
<<printThought "I can't forget they're here,">> You think as you move your limbs experimentally,
<<if $drone.cuffs.l >= 1>>
<<printThought "But they aren't really in the way... At least, not now.">><br>
<br>
You consider the attachment points and restraints lurking within the cuffs' sleek shape, imagining how it would feel to be hobbled, or have your arms bound behind your back. <<printThought "Being a drone really is a sort of prison-labour job... Which I guess makes my challenge all the harder, since the very uniform I have to wear could be my doom...">>
<<else>>
<<printThought "Kind of curiously excessive as accessories go... but I guess that describes quite a bit of the drone ensemble. I really need to do more research...">>
<</if>>
<br><br>
You take a few more moments to admire your reflection and the bold shape of the cuffs studding your body. <<printThought "Striking... but straightforward, as drone equipment goes...">><br>
<br>
<<if $drone.cuffs.l >= 1>>
<<moveTo "p_cuffs_first_remove_1" "Remove the cuffs." false "<<=setup.removeItem('cuffs')>>">><br>
<<else>>
[@@.link_locked;The cuffs are locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_cuffs_remove]]<</if>>
<<if $drone.cuffs.l < 1>>
[@@.link_locked;The cuffs are locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_cuffs_first_remove_1")>>
<<moveTo "p_cuffs_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('cuffs')>>
One by one, you remove the cuffs, your arms and legs feeling suddenly lighter with each removed restraint. Most peculiar of all is that you feel a stir of restlessness, an urge to stretch and swing and dance, as if the restraints, even merely locked onto you, had been subtly subdueing you.<br>
<br>
<<printThought "Strange... Though I guess it will help with mimicing drone movement, they really do have an almost robotic economy of motion, to say nothing of their creepy, statuesque stillness when they are standing at attention...">><br>
<br>
You re-organise the cuffs on your workbench and consider what to do next.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "cuffs">>
TODO.<<set _droneItem = "gag">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("gag")>>
<<case 0>>
An artificial phallus you extracted from <<=setup.ps(setup.getName("rival"))>> helmet.
<<case 1>>
A flexible phallus that fits into the front of the drone helmet, extending to the back of the drone's mouth.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("gag")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("gag")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("gag")>>
<<moveTo "p_gag_research" "Spend some time researching the <<=setup.getItemName('gag')>>." true "<<applyResearch 'gag'>>">><br>
<<else>>
<<printResearchReq "gag">><br>
<</if>>
<<else>>
<<moveTo "p_gag_research_1" "Do an in-depth inspection of the <<=setup.getItemName('gag')>>." true "<<applyResearch 'gag'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("gag")>>
You spend some time trying to figure out how the <<=setup.getItemName('gag')>> works...
<<switch setup.calcItemLevel("gag")>>
<<case 1>>
<<moveTo "p_gag_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("gag")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('gag')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "gag">>
You examine the phallus you removed from the front of the drone helmet. You still can't quite wrap your head around the reality that every drone you see patrolling around down is, and you really see no other way to put it, constantly deepthroating a cock. And yet... You have no reason to suspect that <<=setup.getName("rival")>> is anything other than "standard issue," so you can come to no other conclusion.<br>
<br>
The phallus itself is a few centimetres wide, and a little over a dozen long. You hold it up to your own face, confirming that, even allowing for a few centimetres of the base to extend past your lips and mount to the helmet, it would brush the rear of the wearer's mouth, though not quite making the corner to move down their throat.<br>
<br>
<<printThought "Eternally nearly choking on cock... What a life...">><br>
<br>
Further confirming your assessment is how the dildo's density varies slightly along its length, with a bit of a taper and a bit of a natural curve to "help" it make the corner at the back of the wearer's throat. The surface of the thing is quite smooth, even without any sort of lubricant and you find yourself wondering how it would feel to slip into position.<br>
<br>
<<printThought 'I suppose I will have to find out, eventually... Unless I can modify things to present as a drone externally without dealing with the full range of "internal" components...'>><br>
<br>
This thought sparks another thought and you do an internal scan of the phallus to confirm that it's more than just a solid shaft. Following up you pull out you computer, managing to connect to the phallus and make some adjustments. Under your control the shaft grows and shrinks, almost slithering across the ground. You sit stunned for several minutes at this discovery. Not only are drones constantly deepthroating a dildo... that dildo seems capable of secretly face-fucking them, as well?<br>
<br>
<<printThought "How bizarre... Though at least this means I don't have to choke down the full length... Though even retracted it'd nearly be hitting the back of my throat...">><br>
<br>
Shaking your head, you turn off the dildo and push it over next to the helmet, the empty front orifice of the former looking even more of an empty void with its "standard" occupant resting beside.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_gag_wear]]<</if>>
<<if $drone.gag.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn(['helmet'])>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_gag_first_wear_1")>>
<<if setup.isWorn("helmet")>>
[@@.link_locked;Additional research required.@@]
<<else>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("helmet")>>.@@]
<</if>>
<<else>>
<<if setup.isWorn("helmet")>>
<<moveTo "p_gag_first_wear_1" "wear" false "<<=setup.wearItem('gag')>>">>
<<elseif !State.hasPlayed("p_gag_fail_wear_1")>>
<<moveTo "p_gag_fail_wear_1" "wear">>
<<else>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("helmet")>>.@@]
<</if>>
<</if>>You stare at the long drone "gag" and slowly bring it to your lips. There is no ignoring its suggestive cylindrical shape, but you have a task ahead of you, and you open your mouth and lean forward. Smooth, and relatively neutral in taste, it glides past your lips... and then runs into a barrier at the back of your mouth. You cough reflexively, the base still a few centimetres out from your face... which is really the problem. Without the drone helmet there is nothing for the gag to mount to to hold it in place, and thus, you are left holding it with one hand as you suck.<br>
<br>
<<printThought "Yeah, this is pretty pointless without the helmet...">><br>
<br>
You slide the gag free and clear your throat, eying the drone helmet as you wonder how it would feel to have the gag locked inside you...<br>
<br>
<<printThought "If a drone can handle it, surely I can, as well?">><br>
<br>
<<include "u_first_remove">>With your head all but enveloped in the helmet you bring the phallic gag to the port that exposes your mouth. You take a deep breath and lick your lips as you slide the tip forwards. The smooth shaft slides easily over your moist lips, your heart beating faster with excitement as your tongue runs along the underside of the shaft.<br>
You tense as the tip of the gag starts to brush the rear of your mouth, but you're almost there, and with a final push you hear a click, and feel a twist as the base mates with the helmet, sealing your closed... and locking the gag into your mouth.<br>
<br>
<<printThought "Well that wasn't so bad...">> You think,
<<if $fetish.sex_machine>>
having but a moment to adjust to the phallus filling your mouth... when it suddenly grows.<br>
<br>
Silently within the concealing helmet the phallus that had tickled the back of your mouth thrusts deeper, turning the corner to ram its way down your helpless throat, face-fucking you as your hands come to your face, fingers uselessly slipping across the smooth surface of the helmet as the gag plunges deeper down your throat.<br>
<br>
Your fumbles come to naught attempting to remove the gag from the front of the helmet and you follow it down, feeling <<if setup.isWorn("collar")>>the bulge in your throat even through the thick posture collar<<else>>the gag bulging your throat with each stroke<</if>>. Even as it ravages you, the gag serves its purpose, your howls stifled as you thrash and flail... And the phallus finally falls silent.<br>
<br>
You pant, your throat now full of the elongated gag, as you suck in filtered air through your nostril tubes. Your incredulity as to drones is raised as you ponder if, rather than merely constantly sucking on a pseudo-cock, every drone you've seen is actually locked in a constant deep-throat <<printThought "And occasional face-rape?">> You shudder... and continue to helplessly suck, wondering just how many violations you must submit yourself to in pursuit of your plan...
<<else>>
on constant alert to the phallus filling your mouth, but able to breath comfortably through the helmet's nostril tubes, even as you continue to helplessly suck on the pseudo-cock locked inside your mouth.
<</if>>
<br><br>
<<if $drone.gag.l >= 1>>
<<moveTo "p_gag_first_remove_1" "Remove the gag." false "<<=setup.removeItem('gag')>>">><br>
<<else>>
[@@.link_locked;The gag is locked down your throat! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_gag_remove]]<</if>>
<<if $drone.gag.l < 1>>
[@@.link_locked;The gag is locked down your throat! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_gag_first_remove_1")>>
<<moveTo "p_gag_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('gag')>>
<<if $fetish.sex_machine>>
Having thoroughly ravaged, and occupied, your throat, the helmet finally allows the gag to be unlocked and removed. You feel flutters of nausea as you extract the elongated phallus, momentarily boggling at its length before it shrinks back to its initial size.<br>
<br>
<<printThought "Shit that is...">> Your thoughts trail off as you continue to stare at the "gag" wondering just what sort of training you're going to have to do to be able to calmly operate with something like that thrust down your throat.<br>
<br>
<<printThought "If the drones can do it, so can I... but still...">>
<<else>>
You carefully extract the gag from your mouth, a trail of saliva running from the squat phallus to the now exposed front orifice of the helmet.<br>
<br>
<<printThought "That is... definitely something that is going to take more practice to wear calmly. But if the drones can do it, well... So can I.">>
<</if>>
<br><br>
<<if !State.hasPlayed("p_helmet_first_remove_1")>>
<<if $drone.helmet.l >= 1>>
<<moveTo "p_helmet_first_remove_1" "Remove the helmet." false "<<=setup.removeItem('helmet')>>">><br>
<</if>>
<<include "u_first_remove">>
<<else>>
<<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the gag over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench... and the helmet still covering your head...<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Remove the helmet and head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Remove the helmet." false "<<=setup.removeItem('helmet')>>">><br>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>>
<</if>><<incrementResearchLevel "gag">>
TODO<<set _droneItem = "gloves">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("gloves")>>
<<case 0>>
A pair of armpit-length gloves connected across the shoulders.
<<case 1>>
A pair of touch-enhancing, protective drone opera gloves, linked across the shoulder.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("gloves")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("gloves")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("gloves")>>
<<moveTo "p_gloves_research" "Spend some time researching the <<=setup.getItemName('gloves')>>." true "<<applyResearch 'gloves'>>">><br>
<<else>>
<<printResearchReq "gloves">><br>
<</if>>
<<else>>
<<moveTo "p_gloves_research_1" "Do an in-depth inspection of the <<=setup.getItemName('gloves')>>." true "<<applyResearch 'gloves'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("gloves")>>
You spend some time trying to figure out how the <<=setup.getItemName('gloves')>> work...
<<switch setup.calcItemLevel("gloves")>>
<<case 1>>
<<moveTo "p_gloves_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("gloves")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('gloves')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "gloves">>
You lay the gloves out across your workbench. On first blush they're fairly straightforward, looking like a shiny pair of opera gloves linked across the shoulder. In a way, it rides a weird line between fashionable and protective equipment, the stretchy material feeling surprisingly durable, smooth, and slippery... except for the hands.<br>
<br>
You inspect the palms and fingertips to find that they are slightly textured, not quite fingerprints, but similar. <<printThought "That makes sense, after all, drones need to be able to hold onto things, right?">><br>
<br>
A deep scan of the gloves reveals that there is a whole network of wiring lurking between the rubbery layers, sensors, you presume, but efforts to interface with things come to naught and you have a feeling you'll need to go properly "hands on" to discover anything further.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_gloves_wear]]<</if>>
<<if $drone.gloves.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_gloves_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_gloves_first_wear_1" "wear" false "<<=setup.wearItem('gloves')>>">>
<</if>>Though technically gloves, the connection across the shoulder makes the drone gloves a bit different to put on than normal. After some experimentation, you end up putting them on normally, then stretching the connecting piece up and over your head. It snaps in place across your shoulders with a slight sting, the constant tension slightly pulling your shoulders back.<br>
<br>
<<printThought "Huh, I guess I do round my shoulders a bit... Too much time spent hunched over this workbench!">><br>
<br>
Other than the constant squeeze of the material around your arms, you don't feel anything particular from the gloves, the protective wear acting like a second skin, perfectly moulded to your hands and leaving you with full range of motion. You had expected a dulled sense of touch, but as you experimentally reach out you discover the opposite is true. Though you cannot see any indication in the gloves' smooth, shiny surface, it appears that there is some sort of haptic boosting going on, as you find your sense of touch even more acute than normal, and you spend a few minutes intrigued at how familiar items around your flat feel with this enhanced sense.<br>
<br>
<<printThought "Intriguing... I could see some uses for these...">><br>
<br>
You take a final few moments to admire the sleek, dark appearance of your limbs that wouldn't look out of place at most clubs.<br>
<br>
<<if $drone.gloves.l >= 1>>
<<moveTo "p_gloves_first_remove_1" "Remove the gloves." false "<<=setup.removeItem('gloves')>>">><br>
<<else>>
[@@.link_locked;The gloves are locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_gloves_remove]]<</if>>
<<if $drone.gloves.l < 1>>
[@@.link_locked;The gloves are locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_gloves_first_remove_1")>>
<<moveTo "p_gloves_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('gloves')>>
You peel off the gloves and immediately feel goosebumps spreading across your arms. You hadn't noticed, but the gloves appear to have provided a bit of insulation... and your cheap-ass landlord is hardly one to spend on keeping your flat heated.<br>
<br>
<<printThought "Even with all I have to pay for this dump... Well, we'll see, once I pull this heist it'll be lux accommodations for this master thief!">><br>
<br>
You carefully fold the gloves and place them back with the other drone items.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "gloves">>
TODO.<<set _droneItem = "helmet">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("helmet")>>
<<case 0>>
The anonymising drone helmet you removed from <<=setup.getName("rival")>>.
<<case 1>>
A drone helmet, the central iconic piece of drone equipment that isolates and empowers its wearer.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("helmet")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("helmet")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("helmet")>>
<<moveTo "p_helmet_research" "Spend some time researching the <<=setup.getItemName('helmet')>>." true "<<applyResearch 'helmet'>>">><br>
<<else>>
<<printResearchReq "helmet">><br>
<</if>>
<<else>>
<<moveTo "p_helmet_research_1" "Do an in-depth inspection of the <<=setup.getItemName('helmet')>>." true "<<applyResearch 'helmet'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("helmet")>>
You spend some time trying to figure out how the <<=setup.getItemName('helmet')>> works...
<<switch setup.calcItemLevel("helmet")>>
<<case 1>>
<<moveTo "p_helmet_research_2" "You've made a breakthrough...">><br>
<<case 2>>
<<moveTo "p_helmet_research_3" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("helmet")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('helmet')>> if you are to further comprehend its functionality.
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: 360+
#*/
<<incrementResearchLevel "helmet">>
<<addItem "gag">>
You spend some time doing a thorough visual inspection of the drone helmet's capabilities. From the outside one might describe it as a sort of combination gas-mask and a protective helmet, the thick shell, smooth shape, and internal padding combine for unmatched protection. Integrated with the drone outfit's collar, it would seal completely about the wearer's head, extending the protection from physical blows and insulating from airborne pathogens. The twin filters on either side of the lower front of the mask are of a non-standard design, but their filtration purpose is obvious, their channels leading up and into a pair of short tubes that would extend into the wearer's nostrils for a constant, unrestricted feed of clean oxygen.<br>
<br>
<<printThought "Clean... given the air quality in the city, that's a feature all on its own.">><br>
<br>
Though you are careful not to seal the helmet over your head, you test its fit one half at a time and conclude that the insulation is almost certainly soundproof. In addition, the only visual feed for the wearer comes by way of a pair of high resolution cameras in front of their eyes. You use some tools to scan deeper into the helmet. While the outer shell proves impervious to the penetrating sight of the scanner, coming from the interior proves more fruitful. Nestled in beneath the padding, just inside the shell, you detect what has to be hundreds of sensor devices.<br>
<br>
A picture comes together, and an explanation for how the drone's can operate effectively as security without ever moving their heads. You surmise that the sensors combine to grant full 360+ degree vision, allowing the drone to constantly see all around, and above, presumably also including expanded spectrum, as well as similarly boosted audio senses.<br>
<br>
You wonder how it would feel to have such an all-encompassing view... and how long it takes to learn to process so much information without getting overwhelmed.<br>
<br>
Speaking of "overwhelmed," your attentions turn to the most distinctive part of the helmets internals... The large artificial phallus that extends back from the ring between the twin air filters... and that the wearer would be not just sucking, but taking all the way down their throat.<br>
<br>
A closer inspection of the phallus finds that there is actually a release. With the helmet in full "open" mode the cock threads free leaving an empty hole at the front of the helmet. You place the pecker gag to one side for further analysis, concluding that you have gathered as much information as you currently can concerning the helmet.<br>
<br>
<<printThought "Pushing further is going to require going hands-on... and some Construction Cubes.">><br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_helmet_wear]]<</if>>
<<if $drone.helmet.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif $drone.helmet.l >= 2>>
<<if State.hasPlayed("p_helmet_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_helmet_first_wear_1" "wear" false "<<=setup.wearItem('helmet')>>">>
<</if>>
<<else>>
<<moveTo "p_helmet_fail_wear_1" "wear" false "<<=setup.wearItem('helmet')>>">>
<</if>>You lower the drone helmet over your head, the padded interior pressing into you from all sides as you slide it down until it seals over your head<<if setup.isWorn("collar")>>... and locks into your collar<</if>>.<br>
<br>
"@@.computer;ERROR. Lack of signal. Executing drone recovery protocol.@@"<br>
<br>
<<printThought "Oh shit oh shit oh shit!">><br>
<br>
<<if setup.isWorn("collar")>>
<<moveTo "g_helmet_1" "Tear off the helmet." false "<<set $scene.removeHelmet=true>>">><br>
<<else>>
<<moveTo "p_helmet_fail_wear_2" "Tear off the helmet." false "<<=setup.removeItem('helmet')>>">><br>
<</if>>
<<moveTo "g_helmet_1" "See what happens..." "<<set $scene.removeHelmet=false>>">><<if $scene.removeHelmet>>
You pull at the helmet, but its connection to the collar means that it hardly moves. Screens inside the helmet light up and you close your eyes... but you cannot close your ears to the near-deafening words tunneling into your ears and echoing through your skull.
<<else>>
You sit serene, waiting to see what will happen, only to flinch as screens inside the helmet blast you with light. Your body's reflexive defensive response is unfortunately less effective well against the near-deafening words tunneling into your ears and echoing through your skull.
<</if>>
<br><br>
"@@.computer;SURRENDER. SUBMIT...@@"<br>
<br>
Your will starts to falter, your blind groping for controls to release the collar coming to a stop as your arms go limp.<br>
<br>
<<printThought "Why am I fighting?">><br>
<br>
Your eyes flutter open, the dark blindness of the helmet replaced with swirls of light. Combined with the sound in your ears all thoughts are driven from your skull. In a trance, you instinctively move towards the door...<br>
<br>
<<printThought "It is malfunctioning. It must return for service...">><br>
<br>
<<set _ops = "<<unset $scene.removeHelmet>><<=setup.removeItem('helmet')>><<=setup.removeItem('collar')>>">>
<<include "m_gameover_revert">>In a panic, you close your eyes and yank on the helmet, feeling it squeeze down on your head as lights flash in front of you and sound plays in your ears. Your heart races as the computerised voice whispers for you to "@@.computer;SURRENDER. SUBMIT...@@" and then the helmet pops loose, squishing your face and ears a bit on the way out as you end up throwing the helmet across the room.<br>
<br>
You pant, collecting your bearings as you recover from the too-close-call. <<printThought "That was almost really bad...">><br>
<br>
You walk over to the helmet, the shiny egg sitting innocuous on the ground, whatever recording it had been playing seemingly stopping the moment it no longer had a prisoner to subject to it.<br>
<br>
<<printThought "I'm going to have to do some more research before I can wear that thing safely...">> You think as you carefully pick up the helmet to put it back on the workbench.<br>
<br>
<<include "u_first_remove">>You lower the drone helmet over your head, the padded interior pressing into you from all sides as you slide it down until it seals over your head<<if setup.isWorn("collar")>>... and locks into your collar<</if>>.<br>
<br>
A moment later and the interior displays light up. Though you disabled the helmet's automatic brainwashing feature, you still find yourself somewhat disoriented, as a full 360 degree view is packed into the single display.<br>
<br>
<<printThought "Woah...">><br>
<br>
While you gain a fresh understanding of how the drones are able to be so alert and stoic... You also gain an appreciation of the skill required for such. Just looking around your flat has you a bit off-balance as you are forced to focus in on the narrow segment of the display that corresponds to a more "normal" viewing angle, only the familiarity of your surroundings keeping the functionally extended peripheral vision from leaving you totally lost.<br>
<br>
In addition to the distorted vision, you realise that your sense of hearing has become sharper, fragments of a conversation from somewhere else in the apartment building sharpening as you focus in.<br>
<br>
<<printThought "I can appreciate the awareness boost... But how do you get used to this information overload?">><br>
<br>
<<if $drone.helmet.l >= 1>>
<<moveTo "p_helmet_first_remove_1" "Remove the helmet." false "<<=setup.removeItem('helmet')>>">><br>
<<else>>
[@@.link_locked;The helmet is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_helmet_remove]]<</if>>
<<if $drone.helmet.l < 1>>
[@@.link_locked;The helmet is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_helmet_first_remove_1")>>
<<moveTo "p_helmet_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: omni
#*/
<<set _x = setup.removeItem('helmet')>>
You carefully remove the helmet, wincing slightly as it drags over your ears... and leaves you blinking in fresh confusion, your world suddenly silent and shrunk, your senses no longer boosted by the helmet, your cone of vision returned to the small human normal rather than the near omni-directional drone perspective.<br>
<br>
<<printThought "Are drones helmeted 24/7? I can't imagine going back and forth like this with any frequency...">><br>
<br>
You shiver at the thought, that, for all their sensory power, the helmets are their own sort of permanent prison for those wearing them...<br>
<br>
<<if !State.hasPlayed("p_helmet_first_remove_1")>>
<<if $drone.helmet.l >= 1>>
<<moveTo "p_helmet_first_remove_1" "Remove the helmet." false "<<=setup.removeItem('helmet')>>">><br>
<</if>>
<<include "u_first_remove">>
<<else>>
<<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the helmet over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench... and the mask still covering your face...<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Remove the mask and head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Remove the mask." false "<<=setup.removeItem('mask')>>">><br>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>>
<</if>><<incrementResearchLevel "helmet">>
TODO.<<incrementResearchLevel "helmet">>
TODO.<<set _droneItem = "mask">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("mask")>>
<<case 0>>
A face-covering doll-like hood you removed from <<=setup.getName("rival")>>.
<<case 1>>
The drone mask that provides a hidden layer of protection and concealment, while interfacing with the drone helmet.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("mask")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("mask")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("mask")>>
<<moveTo "p_mask_research" "Spend some time researching the <<=setup.getItemName('mask')>>." true "<<applyResearch 'mask'>>">><br>
<<else>>
<<printResearchReq "mask">><br>
<</if>>
<<else>>
<<moveTo "p_mask_research_1" "Do an in-depth inspection of the <<=setup.getItemName('mask')>>." true "<<applyResearch 'mask'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("mask")>>
You spend some time trying to figure out how the <<=setup.getItemName('mask')>> works...
<<switch setup.calcItemLevel("mask")>>
<<case 1>>
<<moveTo "p_mask_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("mask")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('mask')>> if you are to further comprehend its functionality.
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: hud
#*/
<<incrementResearchLevel "mask">>
You pull out the "mask" that <<=setup.getName("rival")>> was secretly wearing beneath the drone helmet. The jet black face stares back at you, enticing and intimidating in equal measure.<br>
<br>
<<printThought "Why bother with something like this when it's all covered by the drone helmet?">><br>
<br>
Your question falls on silent ears... Silent like the wearer of the mask itself would be, what with its mouth-spreading gag.<br>
<br>
Carefully, you partially invert the mask to examine the interior, in so doing finding that it is a bit more complex then the smooth outer silhouette concealed. The first new discovery is the ears, not just slightly padded, but with a pair of earbud inserts, meaning that beneath the helmet the wearer could listen to anything at all, a private isolation even before the helmet was sealed over.<br>
<br>
Just as the mask fills and covers the ears, so, too, are there a pair of nostril inserts, tubes extending several centimetres that would need to be carefully threaded into the wearer's nostrils as part of donning the mask. <<printThought "Hmm, I bet they line up with the helmet's breathing channels, I suppose that makes sense, given the double gag filling the wearer's mouth...">><br>
<br>
Speaking of gags, the mouth insert does more than merely hold the drones mouth open wide for the helmet's phallic insert, your closer inspection turning up that the mask is effectively a liner for most of the wearer's mouth, turning that orifice into little more than a hole... a hole lined with rubbery ribbing... perhaps for greater friction with the helmet? You can't quite figure it out, the practical function of either of the gags continuing to escape you.<br>
<br>
Putting the mask's "fill every orifice" suite of insertables to one side, you inspect the lenses that would cover the wearer's eyes. From the outside they are perfectly shiny and opaque, the same polished jet-black material as the rest of the mask, and most of the rest of the drone equipment, in general, but looking from the inside (while being careful not to actually don the mask), and helped by your scanning device, you suss out that they are actually transparent viewscreens, tiny augmented reality displays that you presume present the drone with some sort of HUD or other vision enhancements.<br>
<br>
<<printThought "It seems like the drones are designed to work with the mask alone... And yet they have the helmet, too... Redundancy?">><br>
<br>
Once again discoveries have left you with more questions, and you spend a little longer peering at the drone mask, wondering what all the generic face has seen from under its hood...<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_mask_wear]]<</if>>
<<if $drone.mask.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_mask_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_mask_first_wear_1" "wear" false "<<=setup.wearItem('mask')>>">>
<</if>>You bring the drone mask to your face, puzzling out the best way to put it on.<br>
<br>
You start with the mouth insert, lightly gripping it between your teeth and breathing calmly as you carefully arrange the nostril tubes. The twin slippery tubes sliding up your nose is a curious feeling as they soon creep deeper than you've ever felt anything there before. You have a fleeting thought of the black tendrils groping up into your brain when things seat into position, the artificial nose resting over your own as you find yourself robbed of your sense of smell, the tubes bypassing your olfactory nerves.<br>
<br>
<<printThought "What a weird sensation... Makes breathing feel so mechanical...">><br>
<br>
You take another deep breath and stretch the rest of the mask over your head, arranging the lenses over your eyes and smoothing your hair out as you slide the rubbery fabric down the back of your skull. More than anything, the mask feels tight, squeezing your head from every direction, containing you, becoming a second skin encompassing you. With the front and back smoothed out, you turn to the sides, arranging the ear-pieces into position and then tugging at the neck-piece of the hood.<br>
<br>
You finish pulling the neck portion of the hood smooth, and then the entire thing squeezes tighter, sucking more firmly into place over your head as the five inserts tunnel deeper. Your vision goes dark for a moment as the nostril and ear inserts extend deeper, probing down the back of your throat and closing off sound. The mouth-piece, too, pulls tight, forcing your jaw a little wider as it turns your mouth into a constantly-open sheath.<br>
<br>
Your heart beats a little faster and you try not to panic as your hearing and eyesight return, a slight tint to your vision as you look around the room, everything just a tad sharper as the lenses and earpieces enhance your senses and you behold your reflection.<br>
<br>
Staring back at you is an artificial-faced doll, its features androgynously muted, eyes unblinking, mouth open and inviting, head smooth and polished. You feel strangely disjoint from your own body as you touch your face, hand feeling only slippery rubber, while the sensation on your cheek is muted and flat. Each breath feels alien in its own way air coming in only through your nostrils as you are robbed of both taste and scent, even the normal sound of your breathing erased by the earpieces, in a sense removing you from your own world as your senses reach out wider, able to hear sounds from neighboring apartments.<br>
<br>
<<printThought "It's like I'm a living sentry...">> You ponder as you experimentally turn off the lights in your flat... The mask's lenses reacting in an instant to grant you sharp night-vision. <<printThought "Almost like super-powers... Sight and sound improved at the cost of scent, taste... and speech.">><br>
<br>
Despite the compressed and jaw-spread position the mask is actually quite comfortable and with enough time you imagine you might eventually forget you were even wearing it... And perhaps become reliant on the enhanced hearing and sight.<br>
<br>
<<if $drone.mask.l >= 1>>
<<moveTo "p_mask_first_remove_1" "Remove the mask." false "<<=setup.removeItem('mask')>>">><br>
<<else>>
[@@.link_locked;The mask is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_mask_remove]]<</if>>
<<if $drone.mask.l < 1>>
[@@.link_locked;The mask is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_mask_first_remove_1")>>
<<moveTo "p_mask_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('mask')>>
It takes some effort to get your fingers under the lower edge of the hood to begin stretching it back over your head. It feels more like you are peeling it off rather than just removing the hood, the material clinging to your face as you pull, feeling the inserts slowly retract from your orifices as you stretch your jaw and finally spit free the mouthpiece, trails of saliva running from your face to the mask, the long tubes that had been in your nose and ears shrinking back down to their shorter, insertion dimensions.<br>
<br>
You blink, everything suddenly seems darker and a smidge blurry without the boosted vision of the lenses, your "normal" senses feeling imbalanced as your hearing returns to normal, the sound of your breath taking several moments to feel normal as you wrinkle your nose at the return of your olfactory senses... and the far-from pleasant smell that suffuses your apartment.<br>
<br>
You turn the mask over and stare into the black eyes, shivering at the melding of power and cost it represents. More than any of the rest of the drone equipment you can see the utility of the thing, masking your identity and boosting your senses... and yet even that at a dehumanising price...<br>
<br>
You exercise your surprisingly not-sore jaw as you carefully place the mask back with the other drone equipment.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "mask">>
TODO.<<set _droneItem = "nullge">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("nullge")>>
<<case 0>>
The padded crotch-piece you removed from <<=setup.getName("rival")>>.
<<case 1>>
The drone crotch-piece that gives it its distinct bulge while insulating it from stimulation.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("nullge")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("nullge")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("nullge")>>
<<moveTo "p_nullge_research" "Spend some time researching the <<=setup.getItemName('nullge')>>." true "<<applyResearch 'nullge'>>">><br>
<<else>>
<<printResearchReq "nullge">><br>
<</if>>
<<else>>
<<moveTo "p_nullge_research_1" "Do an in-depth inspection of the <<=setup.getItemName('nullge')>>." true "<<applyResearch 'nullge'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("nullge")>>
You spend some time trying to figure out how the <<=setup.getItemName('nullge')>> works...
<<switch setup.calcItemLevel("nullge")>>
<<case 1>>
<<moveTo "p_nullge_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("nullge")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('nullge')>> if you are further comprehend their functionality.
<</if>><<incrementResearchLevel "nullge">>
You examine the "bulge" that attaches to the front of the <<=setup.getItemName("chastity")>>. It is made of the same shiny, jet-black material as the suit but is somewhat unique compared to the rest of the drone kit in being oddly squishy. Where the rest of the drone exterior is sleek and so tight as to be effectively firm, you now face a straining balloon that gave the <<if $fetish.breasts>>buxom <</if>>drone the appearance of having a massive package.<<if $drone.penis != "none">>.. A bulge
<<switch $drone.penis>>
<<case "small">>
many times bigger than the petite member <<=setup.getName("rival")>> had locked within the metal drone underwear.
<<case "medium">>
significantly larger than the average-sized member <<=setup.getName("rival")>> had locked within the metal drone underwear.
<<case "large">>
even larger than the sizable member <<=setup.getName("rival")>> had locked within the metal drone underwear.
<<case "massive">>
even more massive than the monster
<<default>>
ERROR: unexpected rival.penis <<=$rival.penis>>
<</switch>>
<<=setup.getName("rival")>> had locked within the metal drone underwear.
<</if>>
<br><br>
<<printThought "Some of the drone aesthetic choices are certainly... Unique... FIREsec seems to have that almost as a trademark compared to... well, literally anyone that isn't making equipment for sex workers. That said, this one doesn't seem like it would impact performance negatively.">> You consider the reason for such design choices as you glance over at the towering drone boots and restrictive neck and body corsets.<br>
<br>
As fun as it is to squeeze the crotch-piece, you're curious if there's anything else going on inside. Like many other pieces of the kit, the exterior side resists scanning, but from the interior you're able to detect that there's actually quite a number of sensors crammed inside the package. Try as you might, you can't seem to get whatever is coiled within to "deploy"... The system seemingly hard-locked to not activate unless worn.<br>
<br>
<<printThought "Another mystery that will only be resolved by going hands-on.">> You glance at the underwear that the bulge attaches to<<if $drone.vagina == "yes">>... and its large inserts<<else>>, and its large rear insert<</if>> as you wonder just how many pieces need to be equipped <<printThought "... or should I say, locked on,">> to gain unlock access to full functionality.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_nullge_wear]]<</if>>
<<if $drone.nullge.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn(['chastity'])>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_nullge_first_wear_1")>>
<<if setup.isWorn("chastity")>>
[@@.link_locked;Additional research required.@@]
<<else>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("chastity")>>.@@]
<</if>>
<<else>>
<<if setup.isWorn("chastity")>>
<<moveTo "p_nullge_first_wear_1" "wear" false "<<=setup.wearItem('nullge')>>">>
<<elseif !State.hasPlayed("p_nullge_fail_wear_1")>>
<<moveTo "p_nullge_fail_wear_1" "wear">>
<<else>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("chastity")>>.@@]
<</if>>
<</if>>Without the drone <<=setup.getItemName("chastity")>> equipped, you have nothing to attach the nullge to.<br>
<br>
<<include "u_first_remove">>You re-attach the nullge to the front of the drone chastity belt. With your bits "safely" locked beneath, the nullge doesn't really change anything... other than the obvious bulge it adds to your crotch. You stand in profile and look at your reflection, the angle making your artificial protrusion even more obvious as you wonder just what the purpose of this device could be to a drone.<br>
<br>
<<printThought "It's a bit squishy... Protection?">> You ponder as you grope yourself, feeling an odd thrill as you squeeze yourself, your fingers digging in to the slightly squishy protrusion as you continue to feel nothing below<<if $pc.penis != "none">>... even as you strain <<if $pc.vagina == "yes">>and drip <</if>>beneath the more rigid chastity belt beneath<<elseif $pc.vagina == "yes">>... even as you drip the chastity device<</if>>.<br>
<br>
<<printThought "Strange.">><br>
<br>
<<if $drone.nullge.l >= 1>>
<<moveTo "p_nullge_first_remove_1" "Remove the nullge." false "<<=setup.removeItem('nullge')>>">><br>
<<else>>
[@@.link_locked;The nullge is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_nullge_remove]]<</if>>
<<if $drone.nullge.l < 1>>
[@@.link_locked;The nullge is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_nullge_first_remove_1")>>
<<moveTo "p_nullge_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('nullge')>>
You detach the nullge from the front of your chastity belt, for a brief moment feeling strangely flat as you reveal the sleek metal front of the chastity device.<br>
<br>
<<printThought "Weird, could the nullge be entirely for psychological effects?">> You ponder as you place it to one side.<br>
<br>
<<if !State.hasPlayed("p_chastity_first_remove_1")>>
<<if $drone.chastity.l >= 1>>
<<moveTo "p_chastity_first_remove_1" "Remove the chastity device." false "<<=setup.removeItem('chastity')>>">><br>
<</if>>
<<include "u_first_remove">>
<<else>>
<<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the nullge over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench... and the remaining piece still locked around your crotch.<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Remove the chastity device and head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Remove the chastity device." false "<<=setup.removeItem('chastity')>>">><br>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>>
<</if>><<incrementResearchLevel "nullge">>
TODO.<<set _droneItem = "plug">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("plug")>>
<<case 0>>
The device you extracted from <<=setup.ps(setup.getName("rival"))>> rear.
<<case 1>>
The massive drone butt-plug that fills its rear<<if $fetish.tail>>, and provides a mounting point for its tail<</if>>.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("plug")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("plug")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("plug")>>
<<moveTo "p_plug_research" "Spend some time researching the <<=setup.getItemName('plug')>>." true "<<applyResearch 'plug'>>">><br>
<<else>>
<<printResearchReq "plug">><br>
<</if>>
<<else>>
<<moveTo "p_plug_research_1" "Do an in-depth inspection of the <<=setup.getItemName('plug')>>." true "<<applyResearch 'plug'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("plug")>>
You spend some time trying to figure out how the <<=setup.getItemName('plug')>> works...
<<switch setup.calcItemLevel("plug")>>
<<case 1>>
<<moveTo "p_plug_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("plug")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('plug')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "plug">>
You examine the large plug that <<if $fetish.tail>>served as the connection between the drone tail and the drone itself<<else>>you extracted from <<=setup.ps(setup.getName("rival"))>> rear<</if>>.<br>
<br>
A slick, girthy plug, it would be quite the rear-gaping device on its own, even before taking into account the sheath insert built into the drone underwear that it would seat into. You take some time to examine the exact manner of attachment between the three parts, noting that, after the smooth, bulbous, main portion of the plug is inserted, the flange actually has some threading, and a half-turn screw would "lock" it into (an ever-so-slightly deeper) position.<br>
<br>
<<if $fetish.tail>>
At the exterior base of the plug, the tail attaches by way of a ten centimetre rod that slides into the centre of the plug, securing itself deep and making for a bit of a counterweight anchor for the length of the tail extending out from the body.<br>
<br>
<</if>>
Scanning the plug's interior picks up quite a bit of machinery, though you are unable to activate any of it to see how it works. While you are able to access the control system, there is some sort of hard-coded, machine-level lock that restricts activating anything unless a device is "installed"... which means further research is going to require some hands on (or, rather, plugged-in) testing.<br>
<br>
The question of how you're even going to manage to fit the plug's massive girth inside of you hangs heavy as you put it to one side and move on.<br>
<br>
<<printThought "I know it fit in <<=setup.getName('rival')>>, and we're similar size... but that thing is massive!">><br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_plug_wear]]<</if>>
<<if $drone.plug.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif $drone.plug.l >= 2>>
<<if State.hasPlayed("p_plug_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_plug_first_wear_1" "wear" false "<<=setup.wearItem('plug')>>">>
<</if>>
<<else>>
<<if State.hasPlayed("p_plug_fail_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_plug_fail_wear_1" "wear">>
<</if>>
<</if>>You stare at the plug. You're not totally inexperienced... there's no way you could fit something of that in your rear<<if setup.isWorn("chastity")>>, even pre-gaped by the chastity belt's sheath<</if>>.<br>
<br>
<<printThought "More research, I think... There has to be a way to modify it to be a more manageable size...">><br>
<br>
<<include "u_first_remove">>You lube up the plug and take a final look at it. Even at its minimum size, it is far from small... <<if setup.isWorn("chastity")>>especially when it will be stacking up with the chastity sheath already locked in your rear<<else>>and you aren't even doubling up with the chastity sheath that a drone would normally be wearing<</if>>.<br>
<br>
<<printThought "Nobody said pretending to be a drone would be easy...">> You think as you take a deep breath and bring the plug behind to your <<if setup.isWorn("chastity")>>sheath-spread<<else>>tight<</if>> rear hole. You slowly release your breath as you press the narrow tip into you and focus on relaxing. The tip may be narrow, but every millimetre the plug gets wider and harder, its full width wider than all but the largest cock and you take several breaths as you push, getting steadily deeper before hitting a wall beyond which your rear does not seem to want to spread.<br>
<br>
<<printThought "Come on...">> You whisper to yourself as you turn around and back into the workbench, balancing against the plug as you let you weight aid the push. Your heart beats faster and your breaths come faster as the plug probes deeper... and you spread further.<br>
<br>
You're panting now, feeling all but split in half, worried that even at its reduced size the plug is just too big for you to handle... and then something slips, a slight twist letting the final crest of the plug clear your sphincter where the down-hill of the flange, and your weight pushing back against the workbench, causes the plug to suck into you, the base slamming into the outside of your hole<<if setup.isWorn("chastity")>> as the plug locks in to the chastity belt's rear shield<</if>>.<br>
<br>
<<printThought "Oh <<pn 'God'>>...">> You pant as you steady yourself against the workbench, feeling the plug stuffing your rear... <br>
<br>
<<moveTo "p_plug_first_wear_2" "It's moving!">>The plug has no sooner seated itself in your rear than it starts vibrating, wiggling its way a little deeper and more snugly into position... Before swelling within you.<br>
<br>
You cry out, the plug had already felt massive, and now it throbs even larger, approaching its original size... or perhaps larger? You have no way to tell, thrashing on the floor as it grows within you, your body overwhelmed with sensation as you imagine your organs being pushed aside by the massive, buzzing plug.<br>
<br>
Seconds drag on as you gasp and buck, feeling like you're being fucked as the plug throbs inside of you, continuing to grow with each pulse until it finally settles... leaving you feeling stretched and stuffed, and slowly calming down.<br>
<br>
<<printThought "Fuuuuuck...">><br>
<br>
Feeling as if you're carring a small globe inside of you, you rise to your feet and check your reflection. <<if setup.isWorn("chastity")>>The base of the plug has all but melded with the chastity belt, tucked deep inside of you and making your cheeks pop<<else>>The base of the plug boldly speaks to the even larger insert, spreading your cheeks and making your ass pop<</if>>. Despite feeling beyond full, every movement causes the plug to shift inside of you, sending tremors of pleasure through your body... And reminding you of the even more bone-rattling sensation if it vibrating inside of you.<br>
<br>
<<printThought "Just standing stuffed is a challenge... It's going to take practice if I'm going to smoothly imitate a drone with this monstrosity stuffed inside of me...">><br>
<br>
<<if $drone.plug.l >= 1>>
<<moveTo "p_plug_first_remove_1" "Remove the plug." false "<<=setup.removeItem('plug')>>">><br>
<<else>>
[@@.link_locked;The anal plug is locked in! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_plug_remove]]<</if>>
<<if $drone.plug.l < 1>>
[@@.link_locked;The anal plug is locked in! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_plug_first_remove_1")>>
<<moveTo "p_plug_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('plug')>>
You unlock the plug and reduce its side to slowly extract it from your rear. You're almost tearing up as you stretch wider, once again feeling like you're going to be split in half as your body tugs on the plug with perverse hunger. Eyes closed, tears welling up, you give a final tug and the plug pops free. You gasp.
<<if setup.isWorn("chastity")>>
Even with the large inner plug removed, your chastity belt has the insulating sheath locked inside of you, your hole gaped... yet still feeling empty.
<<else>>
Your hole twitches, so freshly gaped, you are relieved to relax without the plug forcing you open... and yet you simultaneously feel empty without its presence.
<</if>>
You pant, your lip trembling as you look at the plug, gleaming... Massive... <<printThought "Was that really inside of me? And why do I feel empty now that it's not...">><br>
<br>
You stagger slightly as you carefully place the plug back on the workbench as you remember it rumbling inside of you.<br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "plug">>
TODO.<<set _droneItem = "suit">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("suit")>>
<<case 0>>
The shiny bodysuit you peeled off of <<=setup.getName("rival")>>.
<<case 1>>
The shiny, slick drone bodysuit that acts as a second skin across nearly its entire body, while advertising its FIRESec corporate owner.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("suit")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("suit")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("suit")>>
<<moveTo "p_suit_research" "Spend some time researching the <<=setup.getItemName('suit')>>." true "<<applyResearch 'suit'>>">><br>
<<else>>
<<printResearchReq "suit">><br>
<</if>>
<<else>>
<<moveTo "p_suit_research_1" "Do an in-depth inspection of the <<=setup.getItemName('suit')>>." true "<<applyResearch 'suit'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("suit")>>
You spend some time trying to figure out how the <<=setup.getItemName('suit')>> works...
<<switch setup.calcItemLevel("suit")>>
<<case 1>>
<<moveTo "p_suit_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("suit")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('suit')>> if you are to further comprehend its functionality.
<</if>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: corpo
#*/
<<incrementResearchLevel "suit">>
The suit. You shiver as you spread the drone's base outfit across your workbench, the slick, shiny material sending tingles through your body at every touch. Other than the helmet, it's easily the most distinct item of drone kit... and perhaps even more isolating, given that it nearly completely seals the wearer off from the world. It is a second skin in all but name, coating the wearer in the company's embrace. <<printThought "Or perhaps grasp would be more accurate...">><br>
<br>
Slippery and stretchy, the material is quite durable. Mindful that repairing the suit would present its own challenges, you experiment with some careful, and then not-so-careful, stretching, marveling at just how strong the suit is, despite its thinness. The moment you stop pulling the suit returns to its original dimensions without a single sign of wear, and you invert the whole thing to get a better look at the interior.<br>
<br>
There is a slight difference between interior and exterior, with the inside being matte and even lower friction, while the exterior is shiny and polished, with the only break from the jet-black sleekness a massive corporate logo on the back... just in case someone forgot who owned<<='/'>>supplied the fucking things.<br>
<br>
While you do not put it on, you do some experimentation and confirm that, as thin as the suit is, it is quite well insulated as far as temperature goes, as well as being totally air and water-tight.<br>
<br>
As expansive and iconic as the item is, there really doesn't seem to be any more to examine, and you carefully hang it up beside the workbench, the long suit seeming to loom over the room, beckoning you to slip it on.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_suit_wear]]<</if>>
<<if $drone.suit.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn()>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_suit_first_wear_1")>>
[@@.link_locked;Additional research required.@@]
<<else>>
<<moveTo "p_suit_first_wear_1" "wear" false "<<=setup.wearItem('suit')>>">>
<</if>>You run your hand over the drone catsuit. While perhaps not as iconic as the helmet, it feels like the most transformative item of the drone kit, slippery, shiny black latex that will cover nearly your entire body like a second skin.<br>
<br>
<<printThought "Here goes...">> You think to yourself as you step through the neck hole. Your legs slide easily, and you strain slightly to stretch the suit over your hips as the blackness creeps up your body.<br>
<br>
As tight as it is, the interior of the suit is slippery-smooth, and it almost crawls up your body, as if eager to swallow you up.<br>
<br>
<<printThought "Woah...">><br>
<br>
<<moveTo "p_suit_first_wear_2" "Finish sliding the suit on.">>Your heart beats faster, and your skin tingles in anticipation as you pull the suit higher up your body. One arm, then the other, slides in to the tight sleeves, a final shrug causing the suit to slide up over your shoulders and up your neck, leaving you covered from chin to toes, the only gaps the one for your head, the slit between your legs, and your fingertips peeking out through each gloves, five tiny dots of flesh poking out from the shiny blackness.<br>
<br>
You shiver, checking to see if you need to smooth out any wrinkles... and then gasp as the suit makes a final adjustment, sucking even tighter to your body until you might as well have been dipped in the rubbery material, the way it clings to your every muscle and curve, a true second skin, caressing your every movement and reminding you of its presence with constant tension... even as it restricts you movement not at all.<br>
<br>
<<printThought "I could get used to this...">><br>
<br>
As alien as the suit feels, you can't help but love it, feeling sleek, secretive and... as you check your reflection... sexy, the tight material sculpting your body as it simultaneously covers you almost completely... while making you feel exposed in some ineffable way.<br>
<br>
In addition to the suit itself you feel... comfortable, the slight lingering chill of your apartment neutralised by the suit's insulation, holding your body tight and at a seemingly perfect temperature. Your gaze lingers over the rest of the drone equipment as you trace your fingertips over your body, enjoying the smoothness... and the every-so-slight dulling of sensation. Some of the other items will be a struggle but this? Even in these few minutes the catsuit feels like it was made for you, more comfortable than anything you've ever worn... And you fantasise about wearing it out, a dark ghost moving through the shadows of the city...<br>
<br>
<<if $drone.suit.l >= 1>>
<<moveTo "p_suit_first_remove_1" "Remove the suit." false "<<=setup.removeItem('suit')>>">><br>
<<else>>
[@@.link_locked;The suit is locked on! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_suit_remove]]<</if>>
<<if $drone.suit.l < 1>>
[@@.link_locked;The suit is locked on! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_suit_first_remove_1")>>
<<moveTo "p_suit_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('suit')>>
You have to summon your most analytical self to slide your fingers under the neck of the suit and begin stretching it over your shoulders. Wearing it just feels too good, and you shiver in a mix of chill and disappointment as you force yourself to pull it down your body, unable to suppress a slight sneer of disgust at the sight of your flesh being exposed as the gorgeous black latex recedes.<br>
<br>
Only after you have finished sliding the suit down your legs and stepped free do you have a moment of more rational thought. Hanging in your hand the suit is both lifeless... and enticing. You cast your own memories into doubt, disbelieving that a mere garment could have imprinted on you so strongly... While, like an addict, a voice in the back of your head whispers to put it back on and feel it hugging your body once more.<br>
<br>
<<printThought "Must be all the excitement...">> You try to rationalise, your hand running along the outside of the suit as you fold it back up, feeling but a pale imitation of how the material felt pressed around your body.<br>
<br>
<<printThought "Well, at least one part of this drone costume will be easy to cope with.">><br>
<br>
<<include "u_first_remove">><<incrementResearchLevel "suit">>
TODO.<<set _droneItem = "tail">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("tail")>>
<<case 0>>
The flexible tail you removed from <<=setup.ps(setup.getName("rival"))>> rear.
<<case 1>>
The flexible drone tail that mounts to its rear plug and acts as an additional utility limb.
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("tail")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("tail")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("tail")>>
<<moveTo "p_tail_research" "Spend some time researching the <<=setup.getItemName('tail')>>." true "<<applyResearch 'tail'>>">><br>
<<else>>
<<printResearchReq "tail">><br>
<</if>>
<<else>>
<<moveTo "p_tail_research_1" "Do an in-depth inspection of the <<=setup.getItemName('tail')>>." true "<<applyResearch 'tail'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("tail")>>
You spend some time trying to figure out how the <<=setup.getItemName('tail')>> works...
<<switch setup.calcItemLevel("tail")>>
<<case 1>>
<<moveTo "p_tail_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("tail")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('tail')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "tail">>
<<addItem "plug">>
You examine the tail and plug that you extracted from <<=setup.ps(setup.getName("rival"))>> rear. Roughly a metre long and flexible, it is currently quite stiff... though from seeing how drone's move the thing you're certain that's a function of it being deactivated at present.<br>
<br>
Starting from the plug itself, you've barely started poking around when you find a release and separate the tail from the plug. You place the plug to one side for further study and set back to work on the tail.<br>
<br>
Sleek, shiny, and the same jet black as most of the drone equipment, the tail resists your attempts to scan its interior, the shiny skin reflecting the penetrating frequencies and leaving you to rely on less technological means. On that front, the tail is mostly uniform, a metal rod that locks into the plug to both attach and somewhat counterbalance, then the smooth, flexible section ending in a blunt tip. As you examine the tip further you conclude that there's something more there, a faint seam a dozen centimeters back pointing to the possibility that the tip might even be interchangeable... Though for what, you couldn't say, as whatever controls there are for the tail appear to be dormant with it detached from both its base, and the drone it is meant to be a part of.<br>
<br>
<<printThought "So strange, something of a third hand?">><br>
<br>
You carefully arrange the tail so that it won't go flopping off the bench and consider what to investigate next.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_tail_wear]]<</if>>
<<if $drone.tail.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn(['chastity','plug'])>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_tail_first_wear_1")>>
<<if setup.isWorn("chastity") && setup.isWorn("plug")>>
[@@.link_locked;Additional research required.@@]
<<else>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("plug")>> and <<=setup.getItemName("chastity")>>.@@]
<</if>>
<<else>>
<<if setup.isWorn("chastity") && setup.isWorn("plug")>>
<<moveTo "p_tail_first_wear_1" "wear" false "<<=setup.wearItem('tail')>>">>
<<else>>
<<moveTo "p_tail_fail_wear_1" "wear">>
<</if>>
<</if>><<if $scene.wornPlug>>
You attach the tail to the plug... and the weight pulls the plug out of your rear.<br>
<br>
<<printThought "Looks like the plug as an anchor isn't enough. I need the chastity belt to provide additional support.">>
<<else>>
You attempt to equip the drone tail... But without wearing the plug you have nothing to attach it to!
<</if>>
<br><br>
<<include "u_first_remove">>With the plug securely locked stuffing your rear, you reach behind and hook up the tail. You gasp as the plug swells even larger inside of you, securely anchoring the tail now hanging behind you... while making you feel like you're being fucked by a bollard.<br>
<br>
<<printThought "This is what drones have stuffed inside of them?">><br>
<br>
You experimentally wiggle your hips, the tail swinging back and forth in response... and causing the plug to shift inside of you. You clench and the tail springs to life, thrashing up and slightly forward and making you jump.<br>
<br>
<<printThought "Seriously? THAT'S how its controlled?">> You focus in and squeeze again, experimentally trying to move the tail more smoothly, to the mildest of success... and the rapid fatigue of your straining sphincter. <<printThought "This is going to take A LOT of practice...">><br>
<br>
<<if $drone.tail.l >= 1>>
<<moveTo "p_tail_first_remove_1" "Detach the tail." false "<<=setup.removeItem('tail')>>">><br>
<<else>>
[@@.link_locked;The tail is locked on to you! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_tail_remove]]<</if>>
<<if $drone.tail.l < 1>>
[@@.link_locked;The tail is locked on to you! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_tail_first_remove_1")>>
<<moveTo "p_tail_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('tail')>>
You reach behind and detach the tail from your rear, the shift in weight causing you to stagger forward slightly as the plug still locked in your ass buzzes slightly.<br>
<br>
<<printThought "Whew... Having another limb is weird... But I can definitely see the utility...">><br>
<br>
You look at the tail, hanging limp in your hands, pondering just how much practice it'll take for you to be able to wield it like a third arm. You shiver, clenching around the plug in your rear in anticipation of the work ahead...<br>
<br>
<<if !State.hasPlayed("p_plug_first_remove_1")>>
<<if $drone.plug.l >= 1>>
<<moveTo "p_plug_first_remove_1" "Remove the plug." false "<<=setup.removeItem('plug')>>">><br>
<</if>>
<<include "u_first_remove">>
<<else>>
<<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the tail over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench... and the remaining item still stuffed in your rear.<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Remove the plug and head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Remove the plug." false "<<=setup.removeItem('plug')>>">><br>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>>
<</if>><<incrementResearchLevel "tail">>
TODO<<set _droneItem = "vaginal">>
<<include "s_research_header">><br>
<br>
<<switch setup.calcItemLevel("vaginal")>>
<<case 0>>
The large vaginal insert that was locked in <<=setup.getName("rival")>>.
<<case 1>>
The large vaginal insert
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("vaginal")>>
<</switch>>
<br><br>
<<if setup.calcItemLevel("vaginal")>>
<<if !State.hasPlayed("p_stage1_start_1")>>
[@@.link_locked;You feel like you should finish trying on all drone items before you drill deeper.@@]<br>
<<moveTo "i_wardrobe" "Try things on.">><br>
<<elseif setup.canResearch("vaginal")>>
<<moveTo "p_vaginal_research" "Spend some time researching the <<=setup.getItemName('vaginal')>>." true "<<applyResearch 'vaginal'>>">><br>
<<else>>
<<printResearchReq "vaginal">><br>
<</if>>
<<else>>
<<moveTo "p_vaginal_research_1" "Do an in-depth inspection of the <<=setup.getItemName('vaginal')>>." true "<<applyResearch 'vaginal'>>">><br>
<</if>>
<<moveTo "r_research_links" "Look at other drone equipment.">><br>
<<include "m_home">><<if setup.calcBreakthrough("vaginal")>>
You spend some time trying to figure out how the <<=setup.getItemName('vaginal')>> works...
<<switch setup.calcItemLevel("vaginal")>>
<<case 1>>
<<moveTo "p_vaginal_research_2" "You've made a breakthrough...">><br>
<<default>>
ERROR: unexpected item level: <<=setup.calcItemLevel("vaginal")>>
<</switch>>
<<elseif $scene.researchSuccess>>
You make some progress, but nothing concrete. Further progress will take additional research time and materials.
<<else>>
You fail to make any progress, you will need to spend more time practicing with the <<=setup.getItemName('vaginal')>> if you are to further comprehend its functionality.
<</if>><<incrementResearchLevel "vaginal">>
You examine the large dildo you extracted from <<=setup.ps(setup.getName("rival"))>> front hole. Even putting aside the sheath built into the drone underwear that the dildo had seated inside, it is a LARGE phallus. Nearly thirty centimeters long, and just under four in diameter, it is
<<switch $pc.penis>>
<<case "none">>
quite the large cock,
<<case "small">>
quite the large cock, especially compared to your own,
<<case "medium">>
significantly above average,
<<case "large">>
even a bit larger than your own large member,
<<default>>
ERROR: unexpected pc.penis <<=$pc.penis>>
<</switch>>
<<if $drone.penis == "massive">>
of comparable size to the massive cock that <<=setup.getName("rival")>> was sporting,
<</if>>
and yet one would never know from the outside that drone cunts were locked full with such, even as one would have to feel its size with literally every step and motion.<br>
<br>
Though you doubt they would be felt through the sheath in which it was inserted, the phallus is also textured, subtle bumps and ridges running its full length that would only make its insertion feel more intense.<br>
<br>
Somewhat fleshy in texture, it has about as much give as the "real thing," with the base centimeter or so being a bit more rigid and designed to "lock in" once fully inserted.<br>
<br>
Pulling out your scanner you confirm that the interior is far from empty, a tightly packed set of motors and wiring that would enable the device to vibrate... and, you believe, thrust slightly... Though you find that you are unable to confirm this theory as attempts to control the device are stymied by a shutoff that prevents activation unless the device is "installed" in a drone.<br>
<br>
<<printThought "Are drones really at the mercy of being fucked or vibrated at any time?">> You think as you gawk at the large phallus a little longer, wondering how <<if $pc.vagina>>such a monstrosity would feel<<else>>it would feel to have a vagina filled by such a monstrosity<</if>>.<br>
<br>
Gingerly, you place the dildo back down on the workbench and consider what to inspect next.<br>
<br>
<<include "m_stage0_post_research">><<if false>>[[m_vaginal_wear]]<</if>>
<<if $drone.vaginal.l < 1>>
[@@.link_locked;Putting things on before an initial inspection seems ill-advised.@@]
<<elseif $pc.stage == 0 && setup.isAnyDroneWorn(['chastity'])>>
[@@.link_locked;For the first time, one drone item at a time would give cleaner data.@@]
<<elseif State.hasPlayed("p_vaginal_first_wear_1")>>
<<if $pc.vagina == "none">>
[@@.link_locked;You have no forward hole in which to insert the vaginal dildo.@@]
<<elseif !setup.isWorn("chastity")>>
[@@.link_locked;Cannot equip without wearing <<=setup.getItemName("chastity")>>.@@]
<<else>>
[@@.link_locked;Additional research required.@@]
<</if>>
<<else>>
<<if $pc.vagina != "none" && setup.isWorn("chastity")>>
<<moveTo "p_vaginal_first_wear_1" "wear" false "<<=setup.wearItem('vaginal')>>">>
<<else>>
<<moveTo "p_vaginal_fail_wear_1" "wear">>
<</if>>
<</if>><<if $pc.vagina == "none">>
Not personally having a vagina, you don't really have anywhere to stick the drone vaginal insert.<br>
<br>
<<printThought "Well... technically I could stick it in my ass or suck on it... but the drone ensemble already has a plug and a gag for those purposes, so this is just kind of useless for my anatomy... To say nothing of how large this thing is!">>
<<elseif $drone.vaginal.l < 2>>
You lube the drone vaginal dildo and take a deep breath, staring at the large artificial cock for several long anticipatory moments before bringing it between your legs.<br>
<br>
<<if setup.isWorn("chastity")>>
The chastity insert already has you stretched and gaped... But adding the thick shaft of the dildo is too much. Even merely attempting to insert the tip has you feeling nigh split in half and you give up in frustration lest you injure yourself in the effort.
<<else>>
Your heart races just from running the thick shaft between your folds as you build up courage to insert the tip. Panting and trembling you push... but just the first few centimeters has you feeling painfully tight. The dildo is just too big for you to handle.
<</if>>
<br><br>
<<printThought "Time to spend some time on the workbench, I think...">>
<<else>>
You slide the modified dildo between your folds, and then ease it into your cunt.<br>
<br>
Your eyes flutter and you let out a shuddering moan, it's been a long time since you've fucked and there's something about the drone dildo that, despite its smoothness, is just really hitting the spot.<br>
<br>
You are
<<if $pc.penis == "none">>
dripping
<<else>>
rock hard
<</if>>
with arousal as you start pumping the dildo inside of you.
<<if $drone.vagina.l >= 1>>
Your thoughts turn to the motors inside... but without locking into the chastity device, the dildo remains silent.
<</if>>
Each stroke has you even more excited, and you lean back, <<if $player.penis == "none">>groping yourself <<else>>jerking yourself off<</if>> with one hand as you fuck yourself with the other. Biting your lip, you fantasise about what it would feel if the dildo was at its original, full girth... and that thought sends you over the top, an orgasm roaring through your body, your palm against your taint as you shove the dildo all the way in<<if $player.penis != "none" && $fetish.cum>> and cum your brains out<</if>>.<br>
<br>
<<printThought "Fuck... Am I that pent up? Or does this drone stuff just really get me off?">><br>
<br>
Eventually catching your breath, you relax and let the dildo slide free, staring at it for several moments before cleaning it off and putting it away... while fantasising about how it would feel to wear it "properly" in combination with the drone chastity belt...
<</if>>
<br><br>
<<include "u_first_remove">>Technically, you are already filled by the chastity belt, but the vaginal insert slides in easily, centimetre after centimetre of artificial cock disappearing into you as the chastity belt's sheath stretches wider inside your cunt. Your palm presses up against the base as you make the final push and you hear a click, the base of the dildo locking into the chastity belt and sending a ripple of excitement through your body.<br>
<br>
<<printThought "Locked full, I feel so-">><br>
<br>
Your thoughts are cut off as the dildo comes to life, not just buzzing inside of you, but thrusting up and down, its size changing to not just fuck you, but fuck you in a way that no living cock could, thrusting, vibrating and changing thickness in a wave of sensation that sends you to your knees, your hand uselessly stroking the smooth front of the chastity belt as you are secretly, and helplessly fucked to one... two... and then all but limp from a third orgasm before the stimulation dies down and you are able to somewhat catch your breath.<br>
<br>
<<printThought "Fuuuuuck...">><br>
<br>
On pins and needles lest your guest come alive for round two <<printThought "Or would that be round four?">>, you pull yourself up to your feet and stare at your reflection. The chastity belt gleaming sleek and smooth in front, the only evidence of what lies beneath are your still-trembling legs and the juices that have escaped down your thighs as you wonder just how the turbo fuck-fest fits in with the drone systems.<br>
<br>
<<printThought "A reward system? I'm going to have to keep researching and... practicing if I don't want to risk breaking my cover...">><br>
<br>
<<if $drone.vaginal.l >= 1>>
<<moveTo "p_vaginal_first_remove_1" "Remove the vaginal insert." false "<<=setup.removeItem('vaginal')>>">><br>
<<else>>
[@@.link_locked;The vaginal insert is locked inside you! You need to do more research.@@]<br>
<</if>>
<<moveTo "i_wardrobe" "Return to your wardrobe.">><br>
<<include "m_home">><<if false>>[[m_vaginal_remove]]<</if>>
<<if $drone.vaginal.l < 1>>
[@@.link_locked;The vaginal insert is locked inside you! You need to do more research.@@]<br>
<<elseif !State.hasPlayed("p_vaginal_first_remove_1")>>
<<moveTo "p_vaginal_first_remove_1" "remove" false>>
<<else>>
ERROR: unexpected
<</if>><<set _x = setup.removeItem('vaginal')>>
A bit of digital defusing unlocks the vaginal insert with a click and it falls free of your tired, well-fucked cunt. The integrated sheath still inside of you means you can't fully tighten up, but you still feel a bit more relaxed not being double full... and yet also keenly aware of the relative emptiness as you stare at the smooth dildo that had so recently come alive inside of you.<br>
<br>
<<printThought "Definitely... definitely will need to build up my endurance...">> You think quietly to yourself as you resist the urge to shove the dildo back where it "belongs" in favour of wiping it clean and placing it back on the workbench.<br>
<br>
<<if !State.hasPlayed("p_chastity_first_remove_1")>>
<<if $drone.chastity.l >= 1>>
<<moveTo "p_chastity_first_remove_1" "Remove the chastity device." false "<<=setup.removeItem('chastity')>>">><br>
<</if>>
<<include "u_first_remove">>
<<else>>
<<if !State.hasPlayed("p_stage1_start_1") && setup.checkAdvance(0)>>
You look the vaginal insert over one more time and then put it with its comrades, taking a moment to organise the drone equipment on your workbench, shivering in memory of how each item felt to wear. <<printThought "Well... attempt, at least...">><br>
<br>
<<printThought "One step forward... But if I'm to pull this off I'm going to eventually have to not just wear everything... but wear it all at once... And not for just a few minutes...">><br>
<br>
Your experience so far has you simultaneously scared... and every-so-slightly giddy at this prospect, the sheer extent of the drone outfit spread out to almost cover the workbench... and the remaining piece still locked around your crotch.<br>
<br>
<<printThought "One problem at a time. For now, some well-earned rest...">><br>
<br>
<<moveTo "p_stage1_start_1" "Remove the chastity device and head to bed.">>
<<else>>
<<moveTo "i_wardrobe" "Remove the chastity device." false "<<=setup.removeItem('chastity')>>">><br>
<<moveTo "i_wardrobe" "Back to your wardrobe.">><br>
<<include "m_home">>
<</if>>
<</if>><<incrementResearchLevel "vaginal">>
TODO./*#
#status: RELEASED 0.1.0.0
#*/
<<=$scene.tutText>><br>
<br>
<<button "Okay">>
<<script>>
Dialog.close();
<</script>>
<</button>>/*#
#status: RELEASED 0.1.0.0
#ignore_spell: bugfix,gamestate
#*/
<<switch $scene.code>>
<</switch>>
Oops! You have reached a broken gamestate, please save, update to latest bugfix version, reload your save and, if still occuring, save to disc and upload to the secretary discord #bugs channel so that we can fix this problem.<br>
<br>
Code: <<=$scene.code>> Source: <<=$scene.dest>><br>
<br>
Discord link:
<div align="middle"><a target="_blank" href="https://discord.gg/XShMmqr">Secretary Discord Server</a></div><br>
<br>
<<moveTo $scene.dest "Fix game and continue.">><<if setup.inPassageTag(passage(),"home")>>
<<switch $pc.stage>>
<<case -1>>
<<moveTo "r_prologue_home" "Return to your room.">>
<<case 0>>
<<moveTo "r_stage0_home" "Return to your room.">>
<<case 1>>
<<moveTo "r_stage1_home" "Return to your room.">>
<<default>>
ERROR: unexpected stage <<=$pc.stage>>
<</switch>>
<<else>>
<<switch $pc.stage>>
<<case -1>>
<<moveTo "r_prologue_home" "Return home." true>>
<<case 0>>
<<moveTo "r_stage0_home" "Return home." true>>
<<case 1>>
<<moveTo "r_stage1_home" "Return home." true>>
<<default>>
ERROR: unexpected stage <<=$pc.stage>>
<</switch>>
<</if>>[[s_jslinks]]
[[p_prologue_rent_first_1]]
[[p_prologue_rent_1]]
[[p_stage1_rent_1]]