JavaScript is required. Please enable it to continue.
Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<div id="game"> <header id="header"> <a href="#" data-target='#logo-dropdown' class="dropdown-toggle logo"></a> <div id="logo-dropdown" class="dropdown-content"> <a id="aboutId" href="#">About</a> <a id="websiteId" href="https://www.patreon.com/crushstation" target="_blank">Website</a> <a id="devToolsId" href="#">Dev Tools</a> <a id="restartId" href="#">Restart</a> </div> <div id="menu"> <a id="characterId" href="#">Character sheet</a> <a id="savesId" href="#">Saves</a> <a id="settingsId" href="#">Settings</a> <a id="debugId" href="#">Bug Report</a> </div> </header> <div id="game-inner"> <div id="avatar" class="avatar"> <div class="avatar-inner"> <div class="avatar-abs"> <div id="avatar-container" data-passage="StoryCaption" class="avatar-image"> </div> </div> </div> </div> <div id="passages" class="game-main detail-marker-container"></div> </div> <footer id="footer"> </footer> </div>
<<nobr>> <<avatar>> <</nobr>>
<<nobr>> <<silently>><<include variables>><</silently>> <div id="page" class="page page-adult-content-warning"> <div class="page-inner"> <h1>Adult content warning</h1> <h3>You must be 18 or older to play this game.</h3> <div class="decisions"> <a class="yes" data-passage="changelog"> I confirm that I’m over 18, that I know this game contains nudity and sexually explicit content, and that I’m not offended by such content. </a> <a class="no" href="https://www.google.com"> I am under 18 and/or don’t want to play this game </a> </div> </div> </div><</nobr>>
<<nobr>><div class="row"> <div class="col col-4 group contents-centered"> <img class="logo-agency" src="http://www.femaleagentgame.com/wp-content/uploads/assets/agency-logo.svg" /> </div> <div class="col col-8 group"> <h1>top secret strap3 uk eyes only</h1> <h3>Service Personnel File</h3> <hr/> <div class="row"> <div class="col col-6"> <div class="input"> <label for="surname">Surname: </label> <div> <<textbox "$kate.surName" $kate.surName>> <a href="#" class="randomizer"></a> </div> </div> <div class="input"> <label for="firstname">First Name: </label> <div> <<textbox "$kate.firsName" $kate.firsName>> <a href="#" class="randomizer"></a> </div> </div> </div> <div class="col col-6"> <div class="input"> <div class="label">Age:</div> <span class="input-align-left" id="age">26</span> </div> <div class="input"> <div class="label">Rank:</div> <span class="input-align-left" id="rank">Intelligence Officer</span> </div> </div> </div> </div> </div> <div class="row"> <div class="col col-12"> <h2 class="group-heading">Physical Description</h2> </div> </div> <div class="physical-description group"> <div class="row basics"> <div class="col col-12 col-highlight row"> <div class="col col-4"> <div class="input"> <label for="nationality">Nationality: </label> <select id="nationality" name="nationality"> <option value="british">British</option> </select> </div> </div> <div class="col col-4"> <div class="input"> <label for="ethnicity">Ethnicity: </label> <select id="ethnicity" name="ethnicity"> <option value="english">English</option> </select> </div> </div> <div class="col col-4"> <div class="input"> <label for="complexion">Complexion: </label> <select id="complexion" name="complexion"> <option value="fair">Fair</option> </select> </div> </div> </div> </div> <div class="row details"> <div class="col col-4 col-highlight row"> <div class="col col-12"> <div class="input"> <label for="hair">Hair: </label> <select id="hair" name="hair"> <option value="long">Long</option> </select> </div> <div class="input"> <label for="hair-colour">Color: </label> <select id="hair-colour" name="hair-colour"> <option value="dark-brown">Dark Brown</option> </select> </div> </div> </div> <div class="col col-4 col-highlight row"> <div class="col col-12"> <div class="input"> <label for="eyes">Eyes: </label> <<dropdownCustom "$kate.eyeShape" "Almond" "Cat" "Downturned" "Round" "Wide">> <<replace "#avatar-container">><<avatar>><</replace>> <</dropdownCustom>> </div> <div class="input"> <label for="eye-colour">Colour: </label> <<dropdownCustom "$kate.eyeColour" "Blue" "Chestnut" "Emerald" "Grey" "Hazel" "Sapphire">> <<replace "#avatar-container">><<avatar>><</replace>> <</dropdownCustom>> </div> </div> </div> <div class="col col-4 col-highlight row"> <div class="col col-12"> <div class="input"> <label for="nose">Nose: </label> <<dropdownCustom "$kate.noseShape" "Celestial" "Greek" "Nubian" "Princess" "Roman">> <<replace "#avatar-container">><<avatar>><</replace>> <</dropdownCustom>> </div> <div class="input"> <label for="mouth">Mouth: </label> <<dropdownCustom "$kate.mouthShape" "Cupid" "Hollywood" "Pearlique" "Rubina" "Thin">> <<replace "#avatar-container">><<avatar>><</replace>> <</dropdownCustom>> </div> </div> </div> </div> <div class="row details"> <div class="col col-7 col-highlight row"> <div class="col col-12"> <div class="input input-face-shape"> <div class="label">Face Shape:</div> <div class="radio-inputs"> <div class="radio-input"> <<set $onclick = "functionHeadShape(this.value, '<<replace \"#avatar-container\">><<avatar>><</replace>>')">> <<if $kate.faceShape == "round">> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-round" value="round" checked/> <<else>> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-round" value="round" /> <</if>> <label for="face-shape-round"> Round <svg xmlns="http://www.w3.org/2000/svg" width="21.073" height="21.073" viewBox="0 0 21.073 21.073"> <circle cx="10.537" cy="10.537" r="10.537" /> </svg> </label> </div> <div class="radio-input"> <<if $kate.faceShape == "heart">> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-heart" value="heart" checked/> <<else>> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-heart" value="heart" /> <</if>> <label for="face-shape-heart"> Heart <svg xmlns="http://www.w3.org/2000/svg" width="21.721" height="21.073" viewBox="0 0 21.721 21.073"> <path d="M467.919,742.948a5.843,5.843,0,0,0-5.3-3.542,5.709,5.709,0,0,0-5.183,3.324,5.709,5.709,0,0,0-5.183-3.324,5.843,5.843,0,0,0-5.3,3.542,5.748,5.748,0,0,0-.231,3.393,13.243,13.243,0,0,0,1.608,3.893,39.707,39.707,0,0,0,9.1,10.245h0a39.725,39.725,0,0,0,9.1-10.245,13.214,13.214,0,0,0,1.607-3.893A5.74,5.74,0,0,0,467.919,742.948Z" transform="translate(-446.579 -739.406)" /> </svg> </label> </div> <div class="radio-input"> <<if $kate.faceShape == "square">> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-square" value="square" checked/> <<else>> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-square" value="square" /> <</if>> <label for="face-shape-square"> Square <svg xmlns="http://www.w3.org/2000/svg" width="14.378" height="21.073" viewBox="0 0 14.378 21.073"> <rect width="14.378" height="21.073" /> </svg> </label> </div> <div class="radio-input"> <<if $kate.faceShape == "diamond">> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-diamond" value="diamond" checked/> <<else>> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-diamond" value="diamond" /> <</if>> <label for="face-shape-diamond"> Diamond <svg xmlns="http://www.w3.org/2000/svg" width="17.277" height="21.48" viewBox="0 0 17.277 21.48"> <path d="M623.586,739l-8.639,10.428,8.639,11.051,8.639-11.051Z" transform="translate(-614.947 -739)" /> </svg> </label> </div> <div class="radio-input"> <<if $kate.faceShape == "oval">> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-oval" value="oval" checked/> <<else>> <input type="radio" name="face-shape" @onclick="$onclick" id="face-shape-oval" value="oval" /> <</if>> <label for="face-shape-oval"> Oval <svg xmlns="http://www.w3.org/2000/svg" width="14.378" height="21.073" viewBox="0 0 14.378 21.073"> <rect width="14.378" height="21.073" rx="7.189" /> </svg> </label> </div> </div> </div> </div> </div> <div class="col col-5 col-highlight row"> <div class="col col-12"> <div class="input"> <div class="label">Bra Size:</div> <div class="radio-inputs"> <div class="radio-input"> </div> <<set $onclick = "functionBraSize(this.value, '<<replace \"#avatar-container\">><<avatar>><</replace>>')">> <div class="radio-input"> <<if $kate.braSize == "small">> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-small" value="small" checked/> <<else>> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-small" value="small" /> <</if>> <label for="bra-size-small">S</label> </div> <div class="radio-input"> <<if $kate.braSize == "medium">> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-medium" value="medium" checked/> <<else>> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-medium" value="medium" /> <</if>> <label for="bra-size-medium">M</label> </div> <div class="radio-input"> <<if $kate.braSize == "large">> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-large" value="large" checked /> <<else>> <input type="radio" name="bra-size" @onclick="$onclick" id="bra-size-large" value="large" /> <</if>> <label for="bra-size-large">L</label> </div> </div> </div> </div> </div> </div> <div class="row details"> <div class="col col-12 col-highlight row"> <div class="col col-4"> <div class="input"> <button class="btn avatar-toggle">Toggle Avatar</button> </div> </div> </div> </div> </div> <div class="row buttons"> <div class="button-secondary"> <<button "Random Features" character-creator >> <<set $kate.braSize to either("small", "medium", "large"), $kate.faceShape to either("round", "heart", "square", "diamond", "oval"), $kate.noseShape to either("Celestial", "Greek", "Nubian", "Princess", "Roman"), $kate.mouthShape to either("Cupid", "Hollywood", "Pearlique", "Rubina", "Thin"), $kate.eyeShape to either("Almond", "Cat", "Downturned", "Round", "Wide"), $kate.eyeColour to either("Blue", "Chestnut", "Emerald", "Grey", "Hazel", "Sapphire")>> <</button>> </div> <span class="or">Or</span> <<button "Start with this agent" attributes-select>><</button>> </div> <</nobr>>
<<widget attribute-description>><<nobr>> <div class="col col-6"> <h1> </h1> <div class="character-editor-explanation"> <<if _selectedAttribute >> <<set _value to $kate.attributes[_selectedAttribute] >> <div class="explanation-inner"> <div class="name"> _selectedAttribute </div> <div class="description"> <<print _attributeDescriptions[_selectedAttribute] >> </div> <div class="effects"> <<set _effects to _attributeEffects[_selectedAttribute][_value] >> <<for _j to 0; _j lt _effects.length; _j++>> <div class="attribute-effect"> _effects[_j] </div> <</for>> </div> </div> <</if>> </div> </div> <</nobr>><</widget>> <<widget attributes-select>><<nobr>> <<set _attributes to [ "openness", "conscienciousness", "extraversion", "agreeableness", "neuroticism", "intelligence", "coordination", "height", "beauty", ], _attributeMin to -2, _attributeMax to +2, _attributeDescriptions to { "openness": "openness openness openness openness openness openness", "conscienciousness": "conscienciousness conscienciousness conscienciousness conscienciousness conscienciousness conscienciousness", "extraversion": "extraversion extraversion extraversion extraversion extraversion extraversion", "agreeableness": "agreeableness agreeableness agreeableness agreeableness agreeableness agreeableness", "neuroticism": "neuroticism neuroticism neuroticism neuroticism neuroticism neuroticism", "intelligence": "intelligence intelligence intelligence intelligence intelligence intelligence", "coordination": "coordination coordination coordination coordination coordination coordination", "height": "height height height height height height", "beauty": "beauty beauty beauty beauty beauty beauty", }, _attributeEffects to { "openness": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "conscienciousness": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "extraversion": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "agreeableness": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "neuroticism": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "intelligence": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "coordination": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "height": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, "beauty": { "-2": [ "-2 bonus", "-1 bonus" ], "-1": [ "-1 bonus" ], "0": [ "0 bonus" ], "1": [ "+1 bonus" ], "2": [ "+1 bonus", "2 bonus" ], }, } >> <div id="attributes-select" class="row character-editor"> <div class="col col-6"> <h1>Attributes</h1> <div class="attributes character-editor-fields"> <<for _i to 0; _i lt _attributes.length; _i++>> <<set _attribute to _attributes[_i]>> <<set _value to $kate.attributes[_attribute] || 0 >> <<capture _attribute >> <<set _class to "attribute">> <<if _selectedAttribute == _attribute>> <<set _class to _class + ' selected'>> <</if>> <div @class=_class> <header> <<link _attribute>> <<set _selectedAttribute to _attribute>> <<replace "#passage-attributes-select">><<attributes-select>><</replace>> <</link>> </header> <div class="values" @data-value="_value"> <<for _j to _attributeMin; _j lte _attributeMax; _j++>> <<capture _j>> <<link "<span @data-value=_j>_j</span>">> <<set $kate.attributes[_attribute] to _j >> <<set _selectedAttribute to _attribute>> <<replace "#passage-attributes-select">><<attributes-select>><</replace>> <</link>> <</capture>> <</for>> </div> </div> <</capture>> <</for>> </div> </div> <<attribute-description>> <footer id="page-navigation" class="buttons col col-12"> <<back "Back">> <<button Kinks kinks-select>><</button>> </footer> </div> <</nobr>><</widget>>
<<nobr>> <<silently>> <<set _selectedAttribute to false >> <</silently>> <<attributes-select>> <</nobr>>
<img class="hero-image" src="https://attachments.f95zone.to/2019/03/271930_w7JdL1JZpahnihhzuaZstUDnJxBnr4TAcXoi3MdjL4C9wjD38ADSB2SeEkquiEUY.gif"> <<page>><<nobr>> <div class="buttons"> <<button "Create a Character" "country-select">><</button>> </div> <div class="news-box"> <h1>What's new?</h1> <ul> <li>Version 1.6 adds <b>completely new sex scene mechanics.</b></li> <li>We can now add story-driven sex scenes – with branching outcomes based on your decisions, PC and NPC traits, and dice rolls – to <i>Female Agent</i>.</li> <li>We rewrote the Dubai sex scene to test and demonstrate the changes. <<link "Jump straight to it" "Transporter room (Dubai)">><</link>></li> </ul> </div> <ul class="legend"> <li> <<newSceneIcon>> New scene </li> <li> <<newFeatureIcon>> New feature </li> <li> <<improvementIcon>> Improvement </li> <li> <<fixIcon>> Bug fix </li> </ul> <div class="changelog"> <div class="release"> <header> Version 1.6.3 – XX May 2020 <small>(Edit Description)</small> </header> <table><<nobr>> <tr> <td> <<newFeatureIcon>> </td> <td> <b>Custom Saves -</b> Add a custom name to your save slot! </td> </tr> <tr> <td> <<newFeatureIcon>> </td> <td> <b>Nickname/knownas -</b> you can now set a name your agent is known by (e.g. Jessica might go by Jess, Elizabeth might go by Beth or Liz or Ellie). This option first comes up in high school, and can be tweaked at university and a final time before she starts her intelligence career. </td> </tr> <tr> <td> <<newFeatureIcon>> </td> <td> <b>Freckles & beauty marks -</b> freckles and beauty marks can now be chosen in the character creation screen. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>Avatar sidearm -</b> agents deploying to Syria now carry a handgun. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>National school uniforms -</b> your agent's school uniform now varies based on her nationality. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>We want you! -</b> Added links for contribution of Hometowns and In This Year content. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>In the rich man's world -</b> Add money system to the game for writers to use. </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Flashbulb dress -</b> The black dress no longer disappears when photographed in Corinthian nightclub! (Cause: typo in asset filename) </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Dark mode bugs -</b> Fixed bug created by renaming dark mode </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>CSS bug -</b> Fixed bug where scrollbar was incorrect </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>No anal Skill -</b> Fixed bug by wrong use of for loop. Thanks Thorson! </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Christchurch -</b> Fixed a couple of bugs in the Christchurch scene. </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Avatar Zoom -</b> Fixed a bug with the save files not fully remembering the avatar zoom setting and between play throughs. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>Spring Cleaning -</b> We organized the CSS & JS on the back end of the game. It was a mess. Report any bugs if you find them! </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Infinite Vodka Martinis -</b> Fixed bug in lone wolf scene where the options would lead to the same page. Thanks Justin! </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Wardrobe Malfunctions Version 9999 -</b> Fixed some dress bugs. </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Double Jilling -</b> Fixed bug in Oceana where masturbaition options would appear twice. Thanks Elizabet! </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Ever Elusive Champagne -</b> Fixed bug where the skillroll for Champagne Connoisseur would never work. Thanks Elizabet! </td> </tr> <</nobr>></table> </div> <div class="release"> <header> Version 1.6.2 – 11 May 2020 <small> Miscellaneous improvements. </small> </header> <table><<nobr>> <tr> <td> <<improvementIcon>> </td> <td> <b>New hometowns -</b> Added new hometown options for Canadian, Aussie and Kiwi agents. </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Dark mode bugs -</b> Fixed some text that wasn't displaying properly in Dark Mode. </td> </tr> <</nobr>></table> </div> <div class="release"> <header> Version 1.6.1 – 8 May 2020 <small> Miscellaneous improvements. </small> </header> <table><<nobr>> <tr> <td> <<improvementIcon>> </td> <td> <b>LBD -</b> Added a new black dress to the game. Your agent can wear it to Corinthian and/or the date with Max in Dubai. It's dynamic, so it can ride up when she sits down or dances, and can be half-removed during the sex scene with Max. </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>Christchurch mosque shootings -</b> added a new scene acknowledging the most deadly terrorist attack in New Zealand's history (which occurs while your agent is working in Scotland). Kiwi and Aussie agents get the most content in this scene. (Scene outlined and co-written by Mano2) </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>Norway exercise -</b> Added a new dialogue option in the debriefing, allowing the agent to refuse to reveal how she hid the flash drive. (Requested by Penelope) </td> </tr> <tr> <td> <<improvementIcon>> </td> <td> <b>Max's Swedish -</b> Improved the little Swedish words and idioms that pepper some of Max's dialogue, based on suggestions from people whose Swedish is way better than mine. (Tack så myckett ArsenalJacob, Breadloaf and Boanndi) </td> </tr> <tr> <td> <<fixIcon>> </td> <td> <b>Fixed some bugs -</b> but forgot to note them in the changelog. Maybe we fixed the one you reported! 🤷 Well, let us know. </td> </tr> <</nobr>></table> </div> <div class="release"> <header> Version 1.6 – 24 April 2020 <small> (Early access version to Patrons) Introduction of new sex scene mechanics. </small> </header> <table><<nobr>> <tr> <td> <<newSceneIcon>> </td> <td> <b>Dubai Dinner Date -</b> Rewrote the date with Max to showcase the new sex scene mechanics. <<link "Test drive this scene" "Transporter room (Dubai)">><</link>> </td> </tr> <tr> <td> <<newFeatureIcon>> </td> <td> <b>Dark mode -</b> Sore eyes? <s>Masturbate less</s> Try playing Female Agent in dark mode! Toggle it via the Settings button (below the avatar). </td> </tr> <tr> <td> <<newFeatureIcon>> </td> <td> <b>New scene test drive -</b> Added feature allowing you to jump directly to new scenes (so you can experience new content without having to start a new playthrough). </td> </tr> <tr> <td> <<newFeatureIcon>> </td> <td> <b>Status Effect icons -</b> Status Effects are conditions that affect your agent (like being drunk, or turned on, or tired, or injured). Added avatar icons to show you when a Status Effect is active. </td> </tr> <tr> <td><<improvementIcon>></td> <td><b>New avatar zoom options -</b> Embiggen or unembiggen your agent using the Settings button (below the avatar).</td> </tr> <tr> <td><<improvementIcon>></td> <td><b>Max Modelling session - </b> Expanded the impromptu post-sex modelling session with Max, based on an outline written by Dissonant Soundtrack. To trigger this scene, hack his phone but hesitate before you put it back.</td> </tr> <tr> <td><<improvementIcon>></td> <td><b>In This Year - </b> Added summary of world news to some Lifepath pages, to give you an idea of the big events that occurred when your agent was growing up, studying, and beginning her intelligence career.</td> </tr> <tr> <td><<improvementIcon>></td> <td><b>Dynamic Dresses - </b> The red dress now has an unzipped, "half on, half off" state to make undressing sexier. It also rides up a little when the agent sits down or moves too vigorously. (Inspired by <i>my GF's mother,</i> who once greeted her by saying: "What a lovely dress you're almost wearing, dear.")</td> </tr> <tr> <td><<improvementIcon>></td> <td>Changed the frames of the sunglasses your agent wears in Dubai, so they look less like the hypnotherapy blindfold.</td> </tr> <tr> <td><<improvementIcon>></td> <td>Improved the look of the agent's iPhone. (This is currently used in the graduation gown scene at uni, but will be used to start quests and communicate with NPCs in the future.)</td> </tr> <tr> <td><<improvementIcon>></td> <td>Allowed Analysts who failed Operator training to request a firearm during Operation LIONESS. Changed the firearm issued from the big, boxy Glock 19 to a sleeker, female-friendly SIG Sauer P365 (thanks Akhorahil).</td> </tr> <</nobr>></table> </div> <div class="changelog-link"> [[Previous updates|CHANGELOG]] </div> </div> <</nobr>> <</page>>
<<widget "agency-list">><<nobr>> <div class="row flags" id="flags"> <<set $flagClass to 'flag flag-usa'>> <<if $country eq "USA">><<set $flagClass to $flagClass + ' active'>><</if>> <div @class="$flagClass"> <<link "USA">> <<set $country to "USA">> <<replace "#agency-list">><<agency-list>><</replace>> <</link>> </div> <<set $flagClass to 'flag flag-uk'>> <<if $country eq "UK">><<set $flagClass to $flagClass + ' active'>><</if>> <div @class="$flagClass"> <<link "UK">> <<set $country to "UK">> <<replace "#agency-list">><<agency-list>><</replace>> <</link>> </div> <<set $flagClass to 'flag flag-canada'>> <<if $country eq "Canada">><<set $flagClass to $flagClass + ' active'>><</if>> <div @class="$flagClass"> <<link "Canada">> <<set $country to "Canada">> <<replace "#agency-list">><<agency-list>><</replace>> <</link>> </div> <<set $flagClass to 'flag flag-australia'>> <<if $country eq "Australia">><<set $flagClass to $flagClass + ' active'>><</if>> <div @class="$flagClass"> <<link "Australia">> <<set $country to "Australia">> <<replace "#agency-list">><<agency-list>><</replace>> <</link>> </div> <<set $flagClass to 'flag flag-new-zealand'>> <<if $country eq "New Zealand">><<set $flagClass to $flagClass + ' active'>><</if>> <div @class="$flagClass"> <<link "New Zealand">> <<set $country to "New Zealand">> <<replace "#agency-list">><<agency-list>><</replace>> <</link>> </div> </div> <<if $country == 'USA'>> <<set $agencyName to 'Agency - US' >> <<set $agencyDescription to 'DESCRIPTION US AGENCY' >> <<elseif $country == 'UK'>> <<set $agencyName to 'Secret Intelligence Service (MI6).' >> <<set $agencyDescription to 'A leader in traditional spying, thanks partly to its reach into countries that were once part of the British Empire.' >> <<elseif $country == 'Canada'>> <<set $agencyName to 'Agency - Canada' >> <<set $agencyDescription to 'DESCRIPTION CANADA AGENCY' >> <<elseif $country == 'Australia'>> <<set $agencyName to 'Agency - AU' >> <<set $agencyDescription to 'DESCRIPTION AUSTRALIA AGENCY' >> <<elseif $country == 'New Zealand'>> <<set $agencyName to 'Agency - NZ' >> <<set $agencyDescription to 'DESCRIPTION NZ AGENCY' >> <</if>> <div class="agency-description"> <div class="agency-name"><<print $agencyName >></div> <<print $agencyDescription >> </div> <</nobr>> <</widget>>
<<nobr>> <div class="five-eyes"> Formed in 1956 - but so secret its existence was officially denied until 2010 - FIVE EYES is an intelligence alliance between the US, the UK, Australia, Canada and New Zealand. </div> <h2> You’ll control an intelligence officer from a FIVE EYES member state: </h2> /* Move this to a more global initialization routine */ <<set $country to 'UK'>> <div id="agency-list"> <<agency-list>> </div> <footer id="page-footer" class="buttons"> <<button Next character-creator>><</button>> </footer> <</nobr>>
<<widget kink-description>><<nobr>> <div class="col col-6"> <h1> </h1> <div class="character-editor-explanation"> <<if _selectedKink >> <div class="explanation-inner"> <div class="name"> _selectedKink </div> <div class="description"> <<print _kinkDescriptions[_selectedKink] >> </div> <div class="effects"> <<set _effects to _kinkEffects[_selectedKink] >> <<for _j to 0; _j lt _effects.length; _j++>> <div class="kink-effect"> _effects[_j] </div> <</for>> </div> </div> <</if>> </div> </div> <</nobr>><</widget>> <<widget kinks-select>><<nobr>> <<set _kinks to [ "exhibitionist", "masochist", "submissive", ], _kinkDescriptions to { "exhibitionist": "exhibitionist exhibitionist exhibitionist exhibitionist", "masochist": "masochist masochist masochist masochist", "submissive": "submissive submissive submissive submissive", }, _kinkEffects to { "exhibitionist": [ "exhibitionist", "exhibitionist", ], "masochist": [ "masochist", "masochist", ], "submissive": [ "submissive", "submissive", ], } >> <div id="kinks-select" class="row character-editor"> <div class="col col-6"> <h1>Kinks</h1> <div class="kinks character-editor-fields"> <<for _i to 0; _i lt _kinks.length; _i++>> <<set _kink to _kinks[_i]>> <<capture _kink >> <<set _class to "kink">> <<if _selectedKink == _kink>> <<set _class to _class + ' selected'>> <</if>> <<if $kate.kinks.has(_kink) >> <<set _class to _class + ' owned'>> <</if>> <div @class=_class> <header> <<link _kink>> <<set _selectedKink to _kink>> <<replace "#passage-kinks-select">><<kinks-select>><</replace>> <</link>> </header> <div class="toggle"> <<link +>> <<set _selectedKink to _kink>> <<if $kate.kinks.has(_kink) >> <<run $kate.kinks.delete(_kink) >> <<else>> <<run $kate.kinks.add(_kink) >> <</if>> <<replace "#passage-kinks-select">><<kinks-select>><</replace>> <</link>> </div> </div> <</capture>> <</for>> </div> </div> <<kink-description>> <footer id="page-navigation" class="buttons col col-12"> <<back "Back">> <<button Quirks quirks-select>><</button>> </footer> </div> <</nobr>><</widget>>
<<nobr>> <<silently>> <<set _selectedKink to false >> <</silently>> <<kinks-select>> <</nobr>>
<<widget quirk-description>><<nobr>> <div class="col col-6"> <h1> </h1> <div class="character-editor-explanation"> <<if _selectedQuirk >> <div class="explanation-inner"> <div class="name"> _selectedQuirk </div> <div class="description"> <<print _quirkDescriptions[_selectedQuirk] >> </div> <div class="effects"> <<set _effects to _quirkEffects[_selectedQuirk] >> <<for _j to 0; _j lt _effects.length; _j++>> <div class="quirk-effect"> _effects[_j] </div> <</for>> </div> </div> <</if>> </div> </div> <</nobr>><</widget>> <<widget quirks-select>><<nobr>> <<set _quirks to { "Character Quirks": [ "batarian", "daredevil", "genius", ], "Family Quirks": [ "single mom", "big brother", "big sister", ], }, _quirkDescriptions to { "batarian": "batarian batarian batarian batarian", "daredevil": "daredevil daredevil daredevil daredevil", "genius": "genius genius genius genius", "single mom": "single mom single mom single mom single mom", "big brother": "big brother big brother big brother big brother", "big sister": "big sister big sister big sister big sister", }, _quirkEffects to { "batarian": [ "batarian", "batarian", ], "daredevil": [ "daredevil", "daredevil", ], "genius": [ "genius", "genius", ], "single mom": [ "single mom", "single mom", ], "big brother": [ "big brother", "big brother", ], "big sister": [ "big sister", "big sister", ], } >> <div id="quirks-select" class="row character-editor"> <div class="col col-6"> <h1>Quirks</h1> <div class="quirks character-editor-fields"> <<set _quirksGroups to Array.prototype.slice.call(Object.keys(_quirks)) >> <<for _j=0; _j < _quirksGroups.length; _j++>> <<set _group to _quirksGroups[_j] >> <div class="quirks-group"> <header>_group</header> <<for _i to 0; _i lt _quirks[_group].length; _i++>> <<set _quirk to _quirks[_group][_i]>> <<capture _quirk >> <<set _class to "quirk">> <<if _selectedQuirk == _quirk>> <<set _class to _class + ' selected'>> <</if>> <<if $kate.quirks.has(_quirk) >> <<set _class to _class + ' owned'>> <</if>> <div @class=_class> <header> <<link _quirk>> <<set _selectedQuirk to _quirk>> <<replace "#passage-quirks-select">><<quirks-select>><</replace>> <</link>> </header> <div class="toggle"> <<link +>> <<set _selectedQuirk to _quirk>> <<if $kate.quirks.has(_quirk) >> <<run $kate.quirks.delete(_quirk) >> <<else>> <<run $kate.quirks.add(_quirk) >> <</if>> <<replace "#passage-quirks-select">><<quirks-select>><</replace>> <</link>> </div> </div> <</capture>> <</for>> </div> <</for>> </div> </div> <<quirk-description>> <footer id="page-navigation" class="buttons col col-12"> <<back "Back">> <<button "Sample Passage" LP-100>><</button>> </footer> </div> <</nobr>><</widget>>
<<nobr>> <<silently>> <<set _selectedQuirk to false >> <</silently>> <<quirks-select>> <</nobr>>
<<nobr>> <<header>> <<page>> <p> You're at college in the daytimes, so you need a job that you can work on in the evenings and at weekends. </p> <p> You ace an interview at Hot Pizza and get offered a job as a delivery rider. They advance you the money for your moped licence, and you discover that buzzing about on it is quite exciting. You enjoy your job; time passes quickly when you're out on the road, the customers are always pleased to see you, and your colleagues are mostly young and fun. </p> <p> You've had crushes on boys before, but they're nothing compared to the rush of feelings you have for Adam, the first person you fall in love with. Not everybody approves of the age difference, but he's so much sexier and more confident than boys your own age. </p> <<run $skillIncrease.push(["Driving", 500]) >> <<run $skillIncrease.push(["Sneaking", 200]) >> <<run $skillIncrease.push(["Espionage", 150]) >> <<showXP>> <div class="decisions"> <<back "Go Back">> </div> <</page>> <</nobr>>
<<include variables>> This is the first childhood passage and Hyneman Test page. <<test>> $kate.age $kate.firsName $kate.surname
<<widget "newFeatureIcon">><<nobr>> <div class="icon icon-new-feature"></div> <</nobr>><</widget>> <<widget "improvementIcon">><<nobr>> <div class="icon icon-improvement"></div> <</nobr>><</widget>> <<widget "fixIcon">><<nobr>> <div class="icon icon-bugfix"></div> <</nobr>><</widget>> <<widget "newSceneIcon">><<nobr>> <div class="icon icon-new-scene"></div> <</nobr>><</widget>>
<<silently>> <<set $avatar = { background: [], body: [], underwear: [], clothing: [], foreground: [] }>> <<set $ui ={ avatarSize: 1, textSize: 1 }>> <<set $kate = { age: 24, agency: "mi6", complexion: "fair", ethnicity: "english", firsName: "Kate", hairColour: "dark brown", hairStyle: "long", surName: "Kateson", kinks: new Set(), quirks: new Set(), attributes: { "openness": 2, "conscienciousness": 1, "extraversion": -1, "agreeableness": -2, "neuroticism": 2, "intelligence": 2, "coordination": 0, "height": 2, "beauty": 2, }, }>> <<set $kate.braSize to either("small", "medium", "large"), $kate.faceShape to either("round", "heart", "square", "diamond", "oval"), $kate.noseShape to either("Celestial", "Greek", "Nubian", "Princess", "Roman"), $kate.mouthShape to either("Cupid", "Hollywood", "Pearlique", "Rubina", "Thin"), $kate.eyeShape to either("Almond", "Cat", "Downturned", "Round", "Wide"), $kate.eyeColour to either("Blue", "Chestnut", "Emerald", "Grey", "Hazel", "Sapphire")>> /* Variable that holds all the skills that will be shown in the next "XP Gained" popoup */ <<set $skillIncrease to [] >> <<set $imagePath to "https://www.femaleagentgame.com/wp-content/uploads/ccdemo/">> <</silently>>
<<widget "avatar">><<nobr>> <<silently>> <<clearAvatar>> <<setBody>> <<setFeet>> <<setHair>> <<setStockings>> <<setPonytail>> <<setShirt>> <<setShoes>> <<setBra>> <<setBreasts>> <<setHead>> <<setPanties>> <<setSkirt>> <<setArms>> <<setSecurityPass>> <<setNose>> <<setMouth>> <<setEyeballs>> <<setEyeSocket>> <</silently>> /*BEHIND AVATAR*/ <<if def $avatar.background and $avatar.background.length>> <<set $avatar.background.sort()>> <<for _i to 0; _i lt $avatar.background.length ; _i++>> <<= "<img src='" + $imagePath + $avatar.background[_i] +".png" + "' style='position: absolute; left: 0;'>" >> <</for>> <</if>> /*BODY*/ <<if def $avatar.body and $avatar.body.length>> <<set $avatar.body.sort()>> <<for _i to 0; _i lt $avatar.body.length ; _i++>> <<= "<img src='" + $imagePath + $avatar.body[_i] +".png" + "' style='position: absolute; left: 0;'>" >> <</for>> <</if>> /*UNDERWEAR*/ <<if def $avatar.underwear and $avatar.underwear.length>> <<set $avatar.underwear.sort()>> <<for _i to 0; _i lt $avatar.underwear.length ; _i++>> <<= "<img src='" + $imagePath + $avatar.underwear[_i] +".png" + "' style='position: absolute; left: 0;'>" >> <</for>> <</if>> /*CLOTHES*/ <<if def $avatar.clothing and $avatar.clothing.length>> <<set $avatar.clothing.sort()>> <<for _i to 0; _i lt $avatar.clothing.length ; _i++>> <<= "<img src='" + $imagePath + $avatar.clothing[_i] +".png" + "' style='position: absolute; left: 0;'>" >> <</for>> <</if>> /*IN FRONT OF AVATAR*/ <<if def $avatar.foreground and $avatar.foreground.length>> <<set $avatar.foreground.sort()>> <<for _i to 0; _i lt $avatar.foreground.length ; _i++>> <<= "<img src='" + $imagePath + $avatar.foreground[_i] +".png" + "' style='position: absolute; left: 0;'>" >> <</for>> <</if>> /*END OF AVATAR WIDGET*/ <</nobr>><</widget>> /*SET AVATAR WIDGETS*/ /*-------------------*/ /*Behind avatar*/ <<widget "setPonytail">><<nobr>> <<if !$avatar.background.includes("2_ponytail")>> <<set $avatar.background.push("2_ponytail")>> <</if>> <</nobr>><</widget>> /*Body*/ <<widget "setBody">><<nobr>> <<if !$avatar.body.includes("2_body")>> <<set $avatar.body.push("2_body")>> <</if>> <</nobr>><</widget>> <<widget "removeBody">><<nobr>> <<if $avatar.body.includes("1_body")>> <<set $avatar.body.delete('1_body')>> <</if>> <</nobr>><</widget>> <<widget "setFeet">><<nobr>> <<if !$avatar.body.includes("1_feet")>> <<set $avatar.body.push("1_feet")>> <</if>> <</nobr>><</widget>> <<widget "setBreasts">><<nobr>> <<set _size to "3_breasts-" +$kate.braSize>> <<if !$avatar.body.includes(_size)>> <<set $avatar.body.push(_size)>> <</if>> <</nobr>><</widget>> <<widget "setFeet">><<nobr>> <<if !$avatar.body.includes("1_feet")>> <<set $avatar.body.push("1_feet")>> <</if>> <</nobr>><</widget>> <<widget "setHead">><<nobr>> /*diamond, heart, oval, round, square*/ <<set _shape to "3_head-" +$kate.faceShape>> <<if !$avatar.body.includes(_shape)>> <<set $avatar.body.push(_shape)>> <</if>> <</nobr>><</widget>> <<widget "setArms">><<nobr>> <<if !$avatar.body.includes("6_arms")>> <<set $avatar.body.push("6_arms")>> <</if>> <</nobr>><</widget>> <<widget "setNose">><<nobr>> /*headshapes: diamond, heart, oval, round, square*/ /*noseshapes: celestial, greek, nubian, princess, princess*/ <<set _shape to "4_nose-" +$kate.faceShape+"-" +$kate.noseShape.toLowerCase()>> <<if !$avatar.body.includes(_shape)>> <<set $avatar.body.push(_shape)>> <</if>> <</nobr>><</widget>> <<widget "setMouth">><<nobr>> /*headshapes: diamond, heart, oval, round, square*/ /*mouthhapes: cupid, hollywood, pearlique, rubina, thin*/ <<set _shape to "5_mouth-" +$kate.faceShape+"-" +$kate.mouthShape.toLowerCase()>> <<if !$avatar.body.includes(_shape)>> <<set $avatar.body.push(_shape)>> <</if>> <</nobr>><</widget>> <<widget "setEyeballs">><<nobr>> /*eyecolour: blue, chestnut, emerald, grey, hazel, sapphire*/ /*eyeshape: almond, cat, downturned, round, wide*/ <<set _shape to "5_eyeballs-" +$kate.eyeColour.toLowerCase() +"-" +$kate.eyeShape.toLowerCase()>> <<if !$avatar.body.includes(_shape)>> <<set $avatar.body.push(_shape)>> <</if>> <</nobr>><</widget>> <<widget "setEyeSocket">><<nobr>> /*headshapes: diamond, heart, oval, round, square*/ /*eyeshape: almond, cat, downturned, round, wide*/ <<set _shape to "4_eyes-" +$kate.faceShape+"-" +$kate.eyeShape.toLowerCase()>> <<if !$avatar.body.includes(_shape)>> <<set $avatar.body.push(_shape)>> <</if>> <</nobr>><</widget>> /*Underwear*/ <<widget "setStockings">><<nobr>> <<if !$avatar.underwear.includes("1_blackHoldups")>> <<set $avatar.underwear.push("1_blackHoldups")>> <</if>> <</nobr>><</widget>> <<widget "setBra">><<nobr>> <<set _size to "3_bra-" +$kate.braSize>> <<if !$avatar.underwear.includes(_size)>> <<set $avatar.underwear.push(_size)>> <</if>> <</nobr>><</widget>> <<widget "setPanties">><<nobr>> <<if !$avatar.underwear.includes("3_panties")>> <<set $avatar.underwear.push("3_panties")>> <</if>> <</nobr>><</widget>> /*Clothes*/ <<widget "setShirt">><<nobr>> <<set _size to "2_shirt-" +$kate.braSize>> <<if !$avatar.clothing.includes(_size)>> <<set $avatar.clothing.push(_size)>> <</if>> <</nobr>><</widget>> <<widget "setShoes">><<nobr>> <<if !$avatar.clothing.includes("2_shoes")>> <<set $avatar.clothing.push("2_shoes")>> <</if>> <</nobr>><</widget>> <<widget "setSkirt">><<nobr>> <<if !$avatar.clothing.includes("3_skirt")>> <<set $avatar.clothing.push("3_skirt")>> <</if>> <</nobr>><</widget>> /*In front of Avatar*/ <<widget "setHair">><<nobr>> /*Front*/ <<if !$avatar.foreground.includes("1_hair")>> <<set $avatar.foreground.push("1_hair")>> <</if>> <</nobr>><</widget>> <<widget "setSecurityPass">><<nobr>> /*Front*/ <<if !$avatar.foreground.includes("6_securitypass")>> <<set $avatar.foreground.push("6_securitypass")>> <</if>> <</nobr>><</widget>> /*END*/ /*Other widgets*/ <<widget "reloadStoryCaption">><<nobr>> <<replace "#avatar">><<include "StoryCaption">><</replace>> <</nobr>><</widget>> <<widget "clearAvatar">> <<set $avatar.background to [], $avatar.body to [], $avatar.underwear to [], $avatar.clothing to [], $avatar.foreground to []>> <</widget>> <<widget "header">><<nobr>> <header id="header"> <div class="name"> $kate.firsName $kate.surName </div> <hr/> <div class="location"> <span class="city"> VICTORIA </span> <span class="separator">, </span> <span class="country"> British Columbia </span> </div> <div class="extra-info"> <span class="year"> 2007 </span> <span class="separator"> | </span> <span class="age"> Age $kate.age </span> </div> </header> <</nobr>><</widget>> <<widget "showXP">><<nobr>> <<if $skillIncrease.length gt 0>> <<set _title to $kate.firstName + " gained XP!">> <<set _text to "">> <<for _i to 0; _i lt $scene.skillIncrease.length; _i++>> << set _skill = _skillIncrease[_i] >> <<set _skillName to _skill[0] >> <<set _xpAmount to _skill[1] >> <<set _text1 to _skillName + " +"+_xpAmount+"xp \n">> <<set _text to _text + _text1>> <</for>> <<set _fill to {"title":_title,"text":_text,"type":"message"}>> <<set $notifications.Array.push(_fill)>> <</if>> <<set $scene.skillIncrease to []>> <</nobr>><</widget>>