JavaScript is required. Please enable it to continue.
Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
/* This is where we create all the harlots */ <<set $harlotCount to 66>> <<set $allHarlots = []>> <<for _harlotNum to 0; _harlotNum lt $harlotCount; _harlotNum++>> <<set $initLink to "Harlot" + _harlotNum + "Init">> <<include $initLink>> <</for>> <<set $hcCount to 3>> <<set $hci = []>> <<set $currentHarlotIndex to 0>> <<set $hapi = []>> <<set $madamOverrideHarlotPick to -1>> <<set $overrideHarlotPicks = []>> <<set $nonOverridableRounds = [5,9,13]>> /* Init this as 0 for all harlots */ <<set $visitNumberForFactionIncrease to 0>>
''<<print "Number of harlots = " + $allHarlots.length>>'' <br> <<for _i to 0; _i lt $allHarlots.length; _i++>> <<print _i>>. <<print $allHarlots[_i].name>><br> <</for>>
/* House stats */ <<include [[HouseInit]]>> /* Initialise NPCs */ <<include [[NpcInit]]>>
<<for _i to 0; _i lt $hci.length; _i++>> <<capture _i>> <<set _name to $allHarlots[$hci[_i]].name>> [[_name->Harlot Selection: Choice Made][$hi to $hci[_i]]]<br> <</capture>> <</for>>
/* Leave the room. Do all the post-room clean-up here */ <<if $isTesting>> <<include [[Player: Print Faction Affinities]]>><br> <<include [[Player: Print Room Scores]]>><br> <</if>> /* This is where we update all the harlots that have been presented to the player so far. This update is also done whenever the [mulligan_token] is used to give the player 3 fresh choices */ <<include [[All Presented Harlots: Update]]>> <<if $isTesting>> <<include[[Test All Presented Harlots: Print All Presented Harlots]]>> <</if>> <<include [[Harlot Room: Leave Text]]>> [[Continue.->Post-Room Activities: Intro]]
The House of Hellish Harlots has claimed another victim...<br> <br> /* TODO: Remember to reset all the variables */ <<if $isHarlotTesting>> [[Other Testing->Harlot Tester]] <<else>> [[Restart?->Intro: Begin New Game]] <</if>>
© M. E. Hydra
v0.041 Demo - Rounds 1 to 5, 66 harlots
/* We include the passage displaying all the player stats here */ <<include [[Display Player Stats On Sidebar]]>>
/* the player ends up here after hearing the 1st selection bell */ /* Run Selection Algorithm */ <<include [[Selection Algorithm]]>> <<set _isMultiplePeople to false>> <<for _i to 0; _i lt $hci.length; _i++>> <<set _hi to $hci[_i]>> <<if $allHarlots[_hi].isMultiplePeople>> <<set _isMultiplePeople to true>> <</if>> <</for>> /* Text */ <<include [[Harlot Presentation: Intro Text]]>> <<for _i to 0; _i lt 3; _i++>> <<set _hi to $hci[_i]>> /* pre-introduction for each harlot */ <<if def $allHarlots[_hi].preIntroductionLink>> <<include $allHarlots[_hi].preIntroductionLink>> <</if>> <<switch _i>> <<case 0>> The first is <<case 1>> The second is <<case 2>> And the third is <</switch>> <<print " " + $allHarlots[_hi].shortDescription>><br> <br> <</for>> "Now let me introduce you to each in turn," $npcMadam.name says.<br> <br> <<set $currentHarlotIndex to 0>> [[Time for some introductions.->Harlot Presentation: Harlot Introductions]]
/* The code for selecting the 3 harlots */ <<if $isTesting>> ''SELECTION ALGORITHM''<br> <</if>> /* 1. Establish round number & create pools */ <<set $harlotSelectionPool to []>> <<set $visitedPool to []>> <<set $factionPool to []>> <<set $generalPool to []>> /* 2. Establish which faction player currently has the highest affinity with. */ <<include [[Determine Player Max Faction Affinities: Algorithm]]>> /* 3. Sort through all harlots. Pull out any that can appear on the current round. Then put them in 3 groups - A. Have been visited before. B. Belong to faction(s) player has affinity C. The rest. */ <<for _hn to 0; _hn lt $allHarlots.length; _hn++>> <<set _harlot to $allHarlots[_hn]>> <<if $currentRound gte _harlot.minRound and $currentRound lte _harlot.maxRound>> <<if _harlot.hasBeenVisited>> <<if _harlot.isRepeatable>> <<set $visitedPool.push(_harlot.number)>> <</if>> <<else>> <<set _isInFaction to false>> <<set _mfc to $player.maxFactionAffinities.length>> <<for _fin to 0; _fin lt _mfc; _fin++>> <<set _mfa to $player.maxFactionAffinities[_fin]>> <<if _harlot.faction eq _mfa>> <<set _isInFaction to true>> <</if>> <</for>> <<if _isInFaction eq true>> <<set $factionPool.push(_harlot.number)>> <<else>> <<set $generalPool.push(_harlot.number)>> <</if>> <</if>> <</if>> <</for>> <<if $isTesting eq true>> <<include [[Test Harlot Selection: Print Faction Harlots]]>> <<include [[Test Harlot Selection: Print General Harlots]]>> <<include [[Test Harlot Selection: Print Visited Harlots]]>> <br> <</if>> /* Need this test code in place to stop unseemly crashes of the test versions */ <<if $factionPool.length eq 0>> <<goto [[No Girls End]]>> <</if>> <<if $factionPool.length + $generalPool.length lt 2>> <<goto [[No Girls End]]>> <</if>> /* 4. Select 1st harlot from pool B. */ <<set _hi to $factionPool.pluck()>> <<set $harlotSelectionPool.push(_hi)>> <<if $isTesting eq true>> Faction Harlot = <<print $allHarlots[_hi].name>><br> <</if>> /* 5. Add Pool C to Pool B. */ <<for _i to 0; _i lt $generalPool.length; _i++>> <<set $factionPool.push($generalPool[_i])>> <</for>> /* 6. Select 2nd harlot from Pool B */ <<set _hi to $factionPool.pluck()>> <<set $harlotSelectionPool.push(_hi)>> <<if $isTesting eq true>> Regular Harlot = <<print $allHarlots[_hi].name>><br> <</if>> /* 7. Add Pool A to Pool B. */ <<for _i to 0; _i lt $visitedPool.length; _i++>> <<set $factionPool.push($visitedPool[_i])>> <</for>> /* 8. Select 3rd harlot from Pool C */ <<set _hi to $factionPool.pluck()>> <<set $harlotSelectionPool.push(_hi)>> <<if $isTesting eq true>> Repeat Harlot = <<print $allHarlots[_hi].name>><br><br> <</if>> /* 9. Transfer to harlot choices (to randomise order) */ <<set $hci to []>> <<for _i to 0; _i lt $hcCount; _i++>> <<set $hci[_i] to $harlotSelectionPool.pluck()>> <</for>> /* Forced Harlot Pick */ <<if $madamOverrideHarlotPick neq -1>> <<set _isAlreadyPresent to false>> <<for _i to 0; _i lt $hci.length; _i++>> <<if $hci[_i] eq $madamOverrideHarlotPick>> <<set _isAlreadyPresent to true>> <</if>> <</for>> <<if _isAlreadyPresent>> <<if $isTesting eq true>> ''No need to force add $allHarlots[$madamOverrideHarlotPick].name: Already present.''<br><br> <</if>> <<else>> <<set _replaced to $hci.pluck()>> <<set $hci.push($madamOverrideHarlotPick)>> <<if $isTesting>> ''Force add harlot: $allHarlots[_replaced].name replaced with $allHarlots[$madamOverrideHarlotPick].name.''<br><br> <</if>> <</if>> /* reset so furthur forced picks can be made */ <<set $madamOverrideHarlotPick to -1>> <</if>>
[[Begin Test->Harlot Presentation: Intro]]
/* Detailed introductions of each harlot go here */ <<set $hi to $hci[$currentHarlotIndex]>> <<include [[$allHarlots[$hi].introductionLink]]>> <br> <<set $currentHarlotIndex += 1>> <<if $currentHarlotIndex lt $hcCount>> [[You move on to the next girl.->Harlot Presentation: Harlot Introductions]] <<else>> [[That's the introductions done.->Harlot Presentation: End]] <</if>>
Here are your choices:<br> <br> <<for _i to 0; _i lt $hcCount; _i++>> <<set _hi to $hci[_i]>> <<print $allHarlots[_hi].name + ", ">> <<print $allHarlots[_hi].shortDescription>><br><br> <</for>> <<if $currentRound eq 1 and not $hasUsedMulliganToken>> "You don't have to choose right away, dear," $npcMadam.name reminds you. "We know how difficult it can be. Go and have a quiet drink and think it over. I'll let you know when it's time to come back and make a decision."<br> <br> She holds up her pager, her elegant finger on the red button.<br> <br> "Just don't dawdle when you're summoned. We are busy tonight. Dawdling throws everything off schedule and that will not do."<br> <br> $npcMadam.name suddenly seems less doddering and eccentric. You have the weird impression of being in the presence of something ancient, alien and extremely powerful. You don't know what would happen should you not show up, but you have the intuition it would be very bad for you, very bad indeed.<br> <br> "Off you pop," $npcMadam.name says, her face once again bright and cheerfully eccentric. "Enjoy yourself. Indulge yourself. This is a House of pleasure."<br> <br> <<else>> "I'll leave you to make up your mind, dear," $npcMadam.name says.<br> <br> <</if>> <<include [[Club Activities: Intro]]>>
<<set $hasUsedActionWithNpc to false>> <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Choice]]>> <<else>> <<if $currentRound eq 1>> You sit at the bar. Sometime soon $npcMadam.name is going to summon you to pick one of her harlots. You feel both excitement and trepidation at the prospect. <<else>> You sit at the bar and consider your next action. <</if>><br><br> <<include [[Club Activities: Hub Options]]>> <</if>>
/* transition to club activities */ /* set max number of activities */ <<set $isPostRoom to false>> <<set $clubActivityUnits to $clubActivityMaxUnits>> <<include [[Club Activities: Prelim: Round]]>>
/* Transition to harlot selection. */ You return to the presentation stage. $npcMadam.name is already waiting with her harlots. It's time to make a choice. Who will you pick?<br> <br> <<set _hasSelectionPoolBeenFinalised to false>> /* Is selection modified by enslavement */ <<if _hasSelectionPoolBeenFinalised eq false>> <<include [[Harlot Selection: Forced By Enslavement]]>> <</if>> /* Is selection modified by fetishes? */ <<if _hasSelectionPoolBeenFinalised eq false>> <<include [[Harlot Selection: Forced By Fetish]]>> <</if>> /* regular selection */ <<if _hasSelectionPoolBeenFinalised eq false>> <<include [[Harlot Selection: Regular]]>> <</if>>
<<set _isMultiplePeople to $allHarlots[$hi].isMultiplePeople>> You selected $allHarlots[$hi].name. <<if _isMultiplePeople>>They seem<<else>>She seems<</if>> pleased with your choice and <<if _isMultiplePeople>>exit<<else>>exits<</if>> the stage through the curtain on the left. The others return to the backstage area to your right.<br> <br> /* for the unchosen */ <<set _chosenHarlotId to $hi>> <<for _h to 0; _h lt $hci.length; _h++>> <<set $hi to $hci[_h]>> <<if $hi neq _chosenHarlotId>> <<include [[$allHarlots[$hi].ifNotChosenLink]]>> <</if>> <</for>> <<set $hi to _chosenHarlotId>> <<include [[Gift Selection]]>>
/* This is where the player selects the gift to take up to the room */ <<set $gci to []>> <<include [[Gift Selection: Selection Algorithm]]>> <<include [[Gift Selection Text]]>> What will you take?<br><br> /* code for show best gift charm */ <<if $allHarlots[$hi].gifts.length gt 0>> <<set _hasAssociatedGift to true>> <<set _associatedGift to $allHarlots[$hi].gifts[0]>> <</if>> <table style="width:100%"> <<for _i to 0; _i lt $gci.length; _i++>> <tr> <<set _gi to $gci[_i]>> <<if $player.charms.includes(15) and _hasAssociatedGift and _associatedGift eq _gi>> <<set _name to "* " + $allGifts[_gi].name + " *">> <<else>> <<set _name to $allGifts[_gi].name>> <</if>> <<capture _i>> <td style="text-align:left">[[_name->Gift Selection: Choice Made][$cgi to $gci[_i]]]</td> <</capture>> <<if $player.charms.includes(16)>> <<set _giftCategories to $allGifts[_gi].categories>> <<include [[Gifts: Create Categories String]]>> <td style="text-align:left">//( _catString )//</td> <</if>> <br> </tr> <</for>> </table>
<<set _isMultiplePeople to $allHarlots[$hi].isMultiplePeople>> <<if $currentRound eq 1>> You pick up the $allGifts[$cgi].name and carry on down the corridor. Your heart thumps in your chest. You remember $npcBarman.name's warnings, but you also know you're going to have sex with <<if _isMultiplePeople>>some<<else>>a<</if>> stunningly beautiful <<if _isMultiplePeople>>women<<else>>woman<</if>> and that has your heart aflutter a different way.<br> <br> Okay, lust <<if _isMultiplePeople>>demons, but they look like some<<else>>demon, but she looks like one<</if>> of the hottest women you've ever seen. You try to remember what you know about succubus myths. Isn't having sex with them bad?<br> <br> But if that's the case, why are there so many men down in the bar? They all seem happy to be here as well. Surely word would have got around if people kept disappearing.<br> <br> There is also another, slightly scarier, reason for not chickening out and running away.<br> <br> Ever since entering the corridor you've been conscious of someone's – or //some thing's// – gaze on you. You can't see them, but you know they're there, watching you from hidden angles between the wall and ceiling that should not be there, making sure you go to the right room and don't do anything silly like try to run away.<br> <br> You get the feeling they'd really like for you to run away, as then they'd have a reason to run you down and catch you. And once they catch you...<br> <br> You find $allHarlots[$hi].name's room and then, after taking a deep breath to compose yourself, you raise your hand, knock on the door and enter. <<else>> You pick up the $allGifts[$cgi].name and carry on down the corridor. Again, you're conscious of being watched all the way. Your heart beats loudly in your chest. You find $allHarlots[$hi].name's door and pause to compose yourself.<br> <br> You knock on the door and enter. <</if>><br> <br> [[Enter room.->Harlet Room]]
<<set $playerSemenCountBeforeRoom to $player.semenCount>> /* Play the chosen harlot's scenario when the player enters the room */ <<include [[$allHarlots[$hi].scenarioLink]]>>
/* transition to activities between harlot room and next harlot selection. These will include money guy. Maybe some random events. Definitely crowd eavesdropping. Possibly talk with bartender. Fix bad statuses. Not sure on overlap. */ /* set max number of activities */ <<set $isPostRoom to true>> <<set $postroomActivityUnits to $postroomActivityMaxUnits>> /* Check find money table here */ <<if $player.charms.includes(11)>> <<include [[Charm Effect: Roll on Find Money Table]]>> <</if>> /* NPC Money Introduces himself here */ <<if $npcMoney.hasBeenIntroduced eq false>> <<include [[NPC Money Hails Player]]>> <<else>> <<include [[Post-Room Activities: Hub]]>> <</if>>
<<set $hasUsedActionWithNpc to false>> <<include [[Post-Room Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Presentation]]>> <<else>> <<if $currentRound eq 1>> You return to your place at the bar. You know $npcMadam.name is going to summon you again for another round. That's the rules of her 'game'. But you don't know how long that will be.<br> <br> //This is the Post-Room phase. You have time to carry out a certain number of Actions before $npcMadam.name summons you back to the presentation stage for the next round. Currently you have $postroomActivityUnits <<if $postroomActivityUnits eq 1>>Action<<else>>Actions<</if>> remaining.//<br> <br> What will you do while you wait? <<else>> You sit down at your usual place at the bar and contemplate your next move. You know it won't be long before $npcMadam.name summons you again for the next round.<br> <br> //You have time for $postroomActivityUnits <<if $postroomActivityUnits eq 1>>Action<<else>>Actions<</if>> before $npcMadam.name summons you back to the presentation stage for the next round.//<br> <br> What will you do? <</if>><br> <<include [[Post-Room Activities: Hub Options]]>> <</if>>
/* We create all the possible gifts here */ <<set $giftCount to 33>> <<set $allGifts = []>> <<for _giftNum to 0; _giftNum lt $giftCount; _giftNum++>> <<set $initLink to "Gift" + _giftNum + "Init">> <<include $initLink>> <<set $allGifts[$gift.number] = $gift>> <</for>> <<set $regularGiftCount to 23>> /* Init all the category names */ <<include [[GiftCategoryNamesInit]]>>
/* Black Rose. This is the death gift - give it to any harlot to get the sexy Bad End */ <<set $gift to { number: 0, name: "Black Rose", isSingular: true, description: "a rose with black petals on a plump red cushion", categories: [2, 3] }>>
/* Chocolates */ <<set $gift to { number: 1, name: "Chocolates", isSingular: false, description: "a box of fancy chocolates", categories: [0, 4] }>>
/* Wine */ <<set $gift to { number: 2, name: "Wine", isSingular: true, description: "a bottle of wine", categories: [1, 4] }>>
/* Perfume */ <<set $gift to { number: 3, name: "Perfume", isSingular: true, description: "a bottle of exotic perfume", categories: [2, 4, 5, 8] }>>
/* Flask of Scented Oil */ <<set $gift to { number: 4, name: "Flask of Scented Oil", isSingular: true, description: "a fluted gold flask of scented oil", categories: [2, 5, 7] }>>
/* Ribbon */ <<set $gift to { number: 5, name: "Ribbon", isSingular: true, description: "a pretty white ribbon", categories: [3, 9] }>>
/* Vial of Blood */ <<set $gift to { number: 6, name: "Vial of Blood", isSingular: true, description: "a vial of red liquid that looks suspiciously like blood", categories: [12,13] }>>
/* Small fluffy thing */ <<set $gift to { number: 7, name: "Small Fluffy Thing", isSingular: true, description: "a small fluffy creature of indeterminate species in a glass jar", categories: [9, 11] }>>
/* Grapes */ <<set $gift to { number: 8, name: "Grapes", isSingular: false, description: "a bunch of deliciously ripe grapes", categories: [0] }>>
/* Eyeball */ <<set $gift to { number: 9, name: "Eyeball", isSingular: true, description: "a single eyeball on a small metal tray", categories: [12,13,14] }>>
/* Fish */ <<set $gift to { number: 10, name: "Fish", isSingular: true, description: "a raw fish on a plate", categories: [11] }>>
/* Heart */ <<set $gift to { number: 11, name: "Bleeding Heart", isSingular: true, description: "a bloody heart on a plate", categories: [12,13,14] }>>
<<print "Number of gifts = " + $allGifts.length>> <br><br> <<for _i, _gift range $allGifts>> <<print _i>>. <<print _gift.name + ". ">> <<print _gift.isSingular + ". ">> <<set _giftCategories to _gift.categories>> <<include [[Gifts: Print Gift Categories]]>> <br> <</for>>
TESTING GIFTS <<include [[Test Gifts: Print All Gifts]]>> <br> <br> <<include [[Test Gifts: Print All Descriptions]]>>
TESTING HARLOTS<br> <br> <<include [[Test Harlots: Print All Harlot Names]]>> <br> <<include [[Test Harlots: Print All Harlot Gifts]]>> <br>
''<<print "Number of harlots = " + $allHarlots.length>>'' <br> <<for _i to 0; _i lt $allHarlots.length; _i++>> <<print $allHarlots[_i].name + "'s">> gifts: <<set _gis to $allHarlots[_i].gifts>> <<for _g to 0; _g lt _gis.length; _g++>> <<set _gi to _gis[_g]>> <<print $allGifts[_gi].name + ", ">> <</for>> <br> <</for>>
/* Code for selecting 8 gifts to put before the player */ <<set $gcCount to 8>> <<set $gci to []>> /* Gift 0 is always present */ <<set $giftSelectionPool to [0]>> /* create the selection pool of generic gifts - all gifts for now, might be altered later */ <<set $regularGiftSelectionPool to []>> <<for _i to 1; _i lt $allGifts.length; _i++>> <<set $regularGiftSelectionPool[_i - 1] to $allGifts[_i].number>> <</for>> /* start adding harlot-specific gifts */ <<if $isTesting>> ''Adding Harlot-Specific Gifts:''<br> <</if>> <<for _h to 0; _h lt $hci.length; _h++>> <<set _hi to $hci[_h]>> <<for _g to 0; _g lt $allHarlots[_hi].gifts.length; _g++>> <<set _gi to $allHarlots[_hi].gifts[_g]>> <<if $isTesting>> ''Attempting to add $allGifts[_gi].name<br>'' <</if>> <<set _containsGift to false>> <<include [[Gift Selection: Contains Gift Check]]>> <<if _containsGift eq false>> <<set $giftSelectionPool.push(_gi)>> <<if $isTesting>> ''Added $allGifts[_gi].name<br><br>'' <</if>> <<elseif $isTesting>> ''Failed to add $allGifts[_gi].name: already present''<br><br> <</if>> <</for>> <</for>> /* Now fill rest of selection pool with generic gifts */ <<if $isTesting>> ''Adding Other Gifts:''<br> <</if>> <<for _g to $giftSelectionPool.length; _g lt $gcCount; _g++>> <<set _gi to $regularGiftSelectionPool.pluck()>> <<if $isTesting>> ''Attempting to add $allGifts[_gi].name<br>'' <</if>> <<set _containsGift to false>> <<include [[Gift Selection: Contains Gift Check]]>> <<if _containsGift>> <<set _g -= 1>> <<if $isTesting>> ''Failed to add $allGifts[_gi].name: already present''<br><br> <</if>> <<else>> <<set $giftSelectionPool.push(_gi)>> <<if $isTesting>> ''Added $allGifts[_gi].name<br><br>'' <</if>> <</if>> <</for>> /* move to gift choices in random order */ <<for _i to 0; _i lt $gcCount; _i++>> <<set $gci[_i] to $giftSelectionPool.pluck()>> <</for>>
<<for _i to 0; _i lt $gci.length; _i++>> <<set _cgi to $gci[_i]>> <<print _i>>. <<print $allGifts[_cgi].name>><br> <</for>>
<<set $isTesting to true>> <<set $hi to 9>> <<set $hci to [0, 9, 4]>> TEST HARLOT CHOICES:<br> <<include [[Test Gift Selection: Print Harlot Gifts]]>><br> TEST: RUNNING GIFT SELECTION ALGORITHM<br> <br> <<include [[Gift Selection: Selection Algorithm]]>> <br> <<include [[Test Gift Selection: Print Gift Choices]]>>
<<for _i to 0; _i lt $hci.length; _i++>> <<set _hi to $hci[_i]>> <<print _i>>. <<print $allHarlots[_hi].name>><br> <</for>>
/* Function to check if giftSelectionPool contains a gift. input: _gi output: _containsGift */ <<set _containsGift to false>> <<for _gspi to 0; _gspi lt $giftSelectionPool.length; _gspi++>> <<if $giftSelectionPool[_gspi] eq _gi>> <<set _containsGift to true>> <</if>> <</for>>
/* prints list of harlots and their associated gifts */ <<for _h to 0; _h lt $hci.length; _h++>> <<set _hi to $hci[_h]>> <<print $allHarlots[_hi].name>>'s gifts: <<set _gifts to $allHarlots[_hi].gifts>> <<for _g to 0; _g lt _gifts.length; _g++>> <<set _gid to _gifts[_g]>> <<print $allGifts[_gid].name + ", ">> <</for>> <br> <</for>>
/* ailments */ <<include [[PlayerAilmentsInit]]>> /* Initialise player stats */ <<set $player to { baseStr: 0, baseAgi: 0, baseDex: 0, baseInt: 0, baseWill: 0, baseConst: 0, currStr: 0, currAgi: 0, currDex: 0, currInt: 0, currWill: 0, currConst: 0, maxSemenCount: 10, semenCount: 10, money: 0, mulliganTokens: 0, charms: [], hasVision: false, roomScores: [], factionAffinities: [0,0,0,0,0,0,0,0], maxFactionAffinities: [], potionResistance: 3, potionEffects: [], ailments: [], knownAilments: [] }>> /* semen change stats */ <<set $semenChange to 0>> <<set $isOutOfSemen to false>>
/* Generic house stats that don't fit under any particular segment. */ <<set $currentRound to 0>> <<set $baseClubActivityMaxUnits to 4>> <<set $clubActivityMaxUnits to $baseClubActivityMaxUnits>> <<set $clubActivityUnits to $clubActivityMaxUnits>> <<set $basePostroomActivityMaxUnits to 2>> <<set $postroomActivityMaxUnits to $basePostroomActivityMaxUnits>> <<set $postroomActivityUnits to $postroomActivityMaxUnits>> <<set $currencyName to "Coin">> <<set $mulliganToken to { name: "Mulligan Token", madamSellPrice: 10, moneyBuyPrice: 8 }>> <<set $socialisingDrinks to [ { name: "Bottle of Water" }, { name: "Soft Drink" }, { name: "Beer" }, { name: "Glass of Wine" }, { name: "Tumbler of Hard Liquer" } ]>>
/* Determine the player's current preferred faction(s) */ <<set $player.maxFactionAffinities to []>> <<set _pfa to $player.factionAffinities>> <<set _currentMax to 0>> <<for _faction to 0; _faction lt _pfa.length; _faction++>> <<if _pfa[_faction] gt _currentMax>> /* new current max */ <<set _currentMax to _pfa[_faction]>> <<set $player.maxFactionAffinities to [_faction]>> <<elseif _pfa[_faction] eq _currentMax>> /* tie, add to list */ <<set $player.maxFactionAffinities.push(_faction)>> <</if>> <</for>> <<if $isTesting eq true>> --PLAYER MAX FACTION AFFINITIES-------------<br> <<include [[Test Player Max Faction Affinities: Print Max Affinities]]>><br> --------------------------------------------<br><br> <</if>>
Player Max Faction Affinities:<br> Player has <<print $player.maxFactionAffinities.length>> max faction affinities.<br> Player Max Faction Affinities are: <<for _i to 0; _i lt $player.maxFactionAffinities.length; _i++>> <<print " " + $player.maxFactionAffinities[_i]>>, <</for>><br>
<<include [[Player: Print Faction Affinities]]>> <br> TESTING determination of player max affinities.<br> <br> <<include [[Determine Player Max Faction Affinities: Algorithm]]>> <<include [[Test Player Max Faction Affinities: Print Max Affinities]]>><br><br> TESTING: Setting player faction=3 affinity to 1<br><br> <<set $player.factionAffinities[3] to 1>> <<include [[Player: Print Faction Affinities]]>> <br> TESTING determination of player max affinities.<br> <br> <<include [[Determine Player Max Faction Affinities: Algorithm]]>> <<include [[Test Player Max Faction Affinities: Print Max Affinities]]>> <br> TESTING: Setting player faction=4 affinity to 1<br><br> <<set $player.factionAffinities[4] to 1>> <<include [[Player: Print Faction Affinities]]>> <br> TESTING determination of player max affinities.<br> <br> <<include [[Determine Player Max Faction Affinities: Algorithm]]>> <<include [[Test Player Max Faction Affinities: Print Max Affinities]]>>
Player Faction Affinities:<br> <<for _faction to 0; _faction lt $player.factionAffinities.length; _faction++>> <<print _faction>>: <<print $player.factionAffinities[_faction]>><br> <</for>>
<<set $isTesting to true>> <<set $madamOverrideHarlotPick to 0>> TESTING Harlot selection algorithm:<br><br> <<set $player.factionAffinities[2] to 1>> <<set $currentRound to 1>> <<include [[Harlot Presentation: Selection Algorithm DEPRECATED]]>> <<include [[Test Harlot Selection: Print Harlot Choices]]>> <<set $currentRound to 2>> <<include [[Harlot Presentation: Selection Algorithm DEPRECATED]]>> <<include [[Test Harlot Selection: Print Harlot Choices]]>>
''Your Stats:''<br> <<include [[Display Semen Count]]>> <<if $player.currIsSubmissive>> <<set _isSubText to "Submissive">> <<else>> <<set _isSubText to "Dominant">> <</if>> <<if $player.currIsSlutty>> <<set _isSlutText to "Slutty">> <<else>> <<set _isSlutText to "Romantic">> <</if>> <<if $player.currIsSerious>> <<set _isSeriousText to "Serious">> <<else>> <<set _isSeriousText to "Humorous">> <</if>> <<if $player.currIsCautious>> <<set _isCautiousText to "Cautious">> <<else>> <<set _isCautiousText to "Impulsive">> <</if>> <<if $player.currIsBlunt>> <<set _isBluntText to "Blunt">> <<else>> <<set _isBluntText to "Tactful">> <</if>> <<if $player.currIsGloomy>> <<set _isGloomyText to "Gloomy">> <<else>> <<set _isGloomyText to "Cheerful">> <</if>> <table style="width:100%"> <tr> <td style="text-align:left">Strength:</td> <td style="text-align:right">$player.currStr</td> </tr> <tr> <td style="text-align:left">Agility:</td> <td style="text-align:right">$player.currAgi</td> </tr> <tr> <td style="text-align:left">Dexterity:</td> <td style="text-align:right">$player.currDex</td> </tr> <tr> <td style="text-align:left">Intelligence:</td> <td style="text-align:right">$player.currInt</td> </tr> <tr> <td style="text-align:left">Willpower:</td> <td style="text-align:right">$player.currWill</td> </tr> <tr> <td style="text-align:left">Constitution:</td> <td style="text-align:right">$player.currConst</td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td style="text-align:left">_isSubText</td> </tr> <tr> <td style="text-align:left">_isSlutText</td> </tr> <tr> <td style="text-align:left">_isSeriousText</td> </tr> <tr> <td style="text-align:left">_isCautiousText</td> </tr> <tr> <td style="text-align:left">_isBluntText</td> </tr> <tr> <td style="text-align:left">_isGloomyText</td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td style="text-align:left">Semen:</td> <td style="text-align:right">_semenText</td> </tr> <tr> <td> </td> <td> </td> </tr> <tr> <td style="text-align:left"><<print $currencyName + "s:">></td> <td style="text-align:right">$player.money</td> </tr> <tr> <td style="text-align:left"><<print $mulliganToken.name + "s:">></td> <td style="text-align:right">$player.mulliganTokens</td> </tr> <tr> <td> </td> <td> </td> </tr> <<if $isHarlotTesting>> <tr> <td style="text-align:left">Harlot Affec:</td> <td style="text-align:right">$allHarlots[$hi].affection</td> </tr> <</if>> <<if $isTesting>> <tr> <td style="text-align:left">CAUnits:</td> <td style="text-align:right">$clubActivityUnits</td> </tr> <tr> <td style="text-align:left">PRAUnits:</td> <td style="text-align:right">$postroomActivityUnits</td> </tr> <tr> <td> </td> <td> </td> </tr> <</if>> <tr> <td style="text-align:left">CHARMS</td> </tr> <<for _c to 0; _c lt $player.charms.length; _c++>> <<set _cid to $player.charms[_c]>> <tr> <td style="text-align:left">$allCharms[_cid].name</td> </tr> <</for>> </table>
/* Random Stats */ <<include [[Create Player Physical Stats: Distributed]]>> <<include [[Create Player Disposition Stats: Random]]>> <<include [[Create Player]]>> <<include [[Unset Physical Stats]]>> <<include [[Unset Disposition Stats]]>>
//Hello Patrons.//<br> <br> //This is version 0.041 of House of Hellish Harlots. Releases are a little small at the moment while I try to sort some problems out with the twine editor (the project is a bit big!). This adds one new harlot - Lady Flumpth.//<br> <br> //Currently there are 7 NPCs implemented: The Madam, The Barman, The Elegant Woman, Nurse Honey, The Doctoress, The Buxom Lolibaba, and The Portly Gentleman. They have various roles within the House.//<br> <br> //There are 66 harlots for you to play with, some with repeat visit functionality and multiple scenes.//<br> <br> //This demo version covers the first 5 rounds (The plan is for 13 in total).//<br> <br> //I hope you enjoy this demo. As always, if you come across anything broken, please let me know on my Patreon page so I can get it fixed. The same goes for any feedback (positive or negative!)//<br> <br> //If you're playing this elsewhere (it's the internet, it's inevitable), the latest version can be found on my patreon here://<br> http://www.patreon.com/manyeyedhydra <br> <br> //If you enjoy playing this please consider supporting me as I'd like to raise enough funds to add cool things like art.//<br> <br> //As will be evident. This is still very much a demo, but it should give an indication of how the completed game will play out.//<br> <br> //If you like it, please spread the word. I'd like this to grow into something bigger.//<br> <br> //But most importantly, I hope you enjoy this!//<br> <br> //- manyeyedhydra//<br> <br> <<set $isTesting to false>> [[Start Game.->Intro: Begin New Game]]
Player Physical Stats:<br> Base Strength = <<print $player.baseStr>><br> Base Agility = <<print $player.baseAgi>><br> Base Dexterity = <<print $player.baseDex>><br> Base Intelligence = <<print $player.baseInt>><br> Base Willpower = <<print $player.baseWill>><br> Base Constitution = <<print $player.baseConst>><br> <br> Current Strength = <<print $player.currStr>><br> Current Agility = <<print $player.currAgi>><br> Current Dexterity = <<print $player.currDex>><br> Current Intelligence = <<print $player.currInt>><br> Current Willpower = <<print $player.currWill>><br> Current Constitution = <<print $player.currConst>><br>
Player Room Scores:<br> <br> <<for _s to 0; _s lt $player.roomScores.length; _s++>> <<set _scoreObj to $player.roomScores[_s]>> <<include [[Player: Print Room Score]]>><br> <br> <</for>>
/* Generic code to include at end of harlot scenario (assuming player survives) */ <<if $allHarlots[$hi].faction neq 0 and $isFactionIncrease eq true>> <<if $allHarlots[$hi].isFiller>> /* Do nothing */ <<else>> <<set $player.factionAffinities[$allHarlots[$hi].faction] += 1>> <</if>> <</if>> /* Have to change it within allHarlots as otherwise we're just modifying a clone of the harlot object and the change won't be saved. */ <<set $allHarlots[$hi].hasBeenVisited to true>> <<if $isHarlotTesting eq true>> <<include [[Test Harlot: Scenario End]]>> <<else>> [[You leave the room.->Harlot Room: Leave]] <</if>>
-ROOM SCORE------------------------------<br> <<include [[Player: Print Room Score]]>> <br> Is Faction Affinity Increase: <<print $isFactionIncrease>><br> Harlot.HasBeenVisited: <<print $allHarlots[$hi].hasBeenVisited>><br> Harlot.IsRepeatable: <<print $allHarlots[$hi].isRepeatable>><br> <br> <<include [[Player: Print Faction Affinities]]>> <br> ---------------------------------------<br>
''Round:'' <<print _scoreObj.round>><br> ''Harlot:'' <<print $allHarlots[_scoreObj.harlotNumber].name>><br> ''NPC Money score:''<br> <<set _scoreArray to _scoreObj.scoreArray>> <<include [[Score Array: Print]]>>
/* DEPRECATED */ /* Harlot scenario tester */ <<set $currentRound to 1>> [[Start Scenario...->$allHarlots[$hi].scenario]]
/* DEPRECATED */ /* Temp test for following one harlot with another */ 2nd Scenario...<br><br> <<set $currentRound += 1>> <<set $hi to 1>> //[[Start Scenario...->$allHarlots[$hi].scenario]]//
/* DEPRECATED */ /* Output values after leaving room */ Semen Count = <<print $player.semenCount>><br><br> <<include [[Player: Print Faction Affinities]]>><br> <<include [[Player: Print Room Scores]]>> //[[2nd Scenario->Test Harlot Scenario: 2nd Start]]//
/* This is set a little above Harlot Presentation: Intro to allow us to update the round (otherwise mulliganning would advance rounds incorrectly). Maybe do any other required clean-up as well. */ <<set $currentRound += 1>> <<if $currentRound gt 5>> <<include [[Outro: End of Demo]]>> <<else>> /* Set everything relevant to next round here includes: */ <<set $hasUsedMulliganToken to false>> /* NPC Availabilities */ <<include [[Determine NPC Availabilities]]>> /* potion and charm stock */ <<include [[Determine Item Stock]]>> /* Potion effects and addiction */ <<include [[Potions: Beginning of Round Actions]]>> <<set $allAilments[9].hasSatisfied to false>> /* Turn on/off vision charm */ <<if $player.charms.includes(13)>> <<set $player.hasVision to true>> <<else>> <<set $player.hasVision to false>> <</if>> <<include [[Harlot Presentation: Intro]]>> <</if>>
/* Generic Harlot (the dummies) */ <<set $hi to <num>>> <<set $allHarlots[$hi] to { number: $hi, name: "<name>", shortDescription: "", faction: <num>, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [$allGifts[<val>], $allGifts[<val>]], affection: 0, introductionLink: "Dummy Harlot: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Dummy Harlot: Socialising", npcGossipLink: "Dummy Harlot: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Dummy Harlot: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Dummy Harlot: Scenario", sellExpLink: "Dummy Harlot: Sell Experiences" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
Faction Harlots:<br> <<for _fh to 0; _fh lt $factionPool.length; _fh++>> <<set _hi to $factionPool[_fh]>> <<print $allHarlots[_hi].name>><br> <</for>>
General Harlots:<br> <<for _gh to 0; _gh lt $generalPool.length; _gh++>> <<set _hi to $generalPool[_gh]>> <<print $allHarlots[_hi].name>><br> <</for>>
Visited Harlots:<br> <<for _vh to 0; _vh lt $visitedPool.length; _vh++>> <<set _hi to $visitedPool[_vh]>> <<print $allHarlots[_hi].name>><br> <</for>>
$npcMadam.name looks at you apologetically. I'm afraid I have no more girls for you. //If you've ended up here it means the harlot selection algorithm is unable to present you with 3 girls. This is a temporary catch until I create more scenarios.// [[Restart?->Intro: Begin New Game]]
"Are none of the girls to your liking?" $npcMadam.name asks. "That is a shame. They work so hard to be pleasing. Never mind. It is what it is. We have plenty of girls here. I can find three new ones for you to choose from."<br> <br> She holds out a hand.<br> <br> "You do remember the cost?"<br> <br> //Changing the harlots on offer will cost 1 $mulliganToken.name.//<br> <br> Will you:<br> <br> [["Hand over a " + $mulliganToken.name + " and have " + $npcMadam.name + " present you with three new harlots?"->Harlot Selection: Pay Mulligan]]<br> <br> Or, change your mind and pick one of the harlots currently on offer?<br> <<include [[Harlot Selection: Create Options List]]>>
You hand over the $mulliganToken.name.<br> <br> "Thank you, my dear," $npcMadam.name says.<br> <br> She shoos the girls away from the presentation stage. Some of them give you dirty looks before the curtain swishes back across.<br> <br> "Now, if you'll just give me a moment," $npcMadam.name says. "I'll go and find three new girls for you. Maybe one of these will be more to your liking."<br> <br> She slips behind the curtain and enters the back area. You don't have long to wait before she returns.<br> <br> "Yes, I think one of these will be just perfect for you," she says.<br> <br> <<set $player.mulliganTokens -= 1>> <<set $hasUsedMulliganToken to true>> /* We also need to mark that the girls have been seen for NPC_Gossip and also to trigger any events on being selected, but not chosen */ <<include [[All Presented Harlots: Update]]>> <<if $isTesting>> <<include[[Test All Presented Harlots: Print All Presented Harlots]]>><br> <</if>> /* Being mulliganned might affect future behaviour */ <<for _h to 0; _h lt $hci.length; _h++>> <<set $hi to $hci[_h]>> <<include [[$allHarlots[$hi].ifMulligannedLink]]>> <</for>> [["What does " + $npcMadam.name + " have for you this time?"->Harlot Presentation: Intro]]
<<if $npcMadam.isAvailable eq true>> <<goto [[NPC Madam: Visit]]>> <<else>> <<goto [[NPC Madam: Unavailable]]>> <</if>>
/* Determine availability of NPCs here */ <<include [[NPC Madam: Determine Availability]]>> <<include [[NPC Gossip: Determine Availability]]>> <<include [[NPC Money: Determine Availability]]>> <<include [[NPC Nurse: Determine Availability]]>> <<include [[NPC Potion: Determine Availability]]>> <<include [[NPC Charm: Determine Availability]]>>
NPC Availabilities: Madam = <<print $npcAvailabilities.madam>>
/* Initialise some stats associated with the NPC Madam */ <<set $npcMadam to { name: "The Madam", isAvailable: true, isUnavailable: false, hasBeenAskedToMulliganHarlots: false, hasGivenComplementaryMulliganToken: false, hasToldHowNotToMulliganHarlots: false, hasToldHowToBuyMulliganTokens: false, hasToldOfNpcMoney: false, hasToldHowToAddHarlot: false, hasExplainedSocialising: false }>>
/* This is the way to do semen count changes in Bad End scenarios or where the player isn't coming back. Updates semen count, but only checks it stays at zero */ <<set $player.semenCount += $semenChange>> <<if $player.semenCount lt 0>> <<set $player.semenCount to 0>> <</if>> <<if $player.semenCount gt $player.maxSemenCount>> <<set $player.semenCount to $player.maxSemenCount>> <</if>>
/* Move all the semen changes to one location. Can put all the triggers on semen count stat here. Can also track if player has been drained enough to trigger a Bad End. */ /* semen choker acts here to reduce all semen lost to units of 1 */ <<if $player.charms.includes(18) and $semenChange lt -1>> <<if $isTesting>> ''Semen loss changed from $semenChange to -1 thanks to Semen Choker Charm.''<br> <br> <</if>> <<set $semenChange to -1>> <</if>> <<set $player.semenCount += $semenChange>> <<if $player.semenCount lt 0>> <<set $isOutOfSemen to true>> /* triggers bad end */ <<set $player.semenCount to 0>> <</if>> <<if $player.semenCount gt $player.maxSemenCount>> <<set $player.semenCount to $player.maxSemenCount>> <</if>>
/* Sapoonismenee Nerei */ <<set $hi to 9>> <<set $allHarlots[$hi] to { number: $hi, name: "Sapoonismenee Nerei", shortDescription: "a busty woman with olive skin and wet black hair tied up in a complicated tangle of curls. She's wearing a white silk robe decorated with prints of cresting waves.", faction: 3, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [12, 4], affection: 0, introductionLink: "Sapoonis: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Sapoonis: Socialising", npcGossipLink: "Sapoonis: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Sapoonis: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Sapoonis: Populate Harlot Gossip", scenarioLink: "Sapoonis: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Sapoonis: Sell Exp Body", sellExpFeedbackLink: "Sapoonis: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
/* Sapoonismenee Nerei */ <<set $isFactionIncrease to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* oil or soap gift */ [1,false,false], /* leave early */ [1,false,false], /* good breast massage */ [1,false,false], /* regular sex */ [3,false,false] /* bonus sex */ ] }>> Sapoonis's room looks more like a bathroom than a bedroom. The floor, walls and ceiling are covered in pristine white tiles. A large bath takes up most of one corner. Lying next to it on the floor is a silver inflatable air mattress. The walls are adorned with various paintings depicting ocean scenes of crashing waves. Shelves are filled with various exotic bottles.<br> <br> Sapoonis has already undressed and slipped into the bath. Her patterned robe hangs from the corner of a folding silk screen, also covered in prints of cresting waves. Sapoonis has used a liberal amount of bubble bath and only her head is visible above a thick white froth.<br> <br> "Ah, that feels so much better," she sighs.<br> <br> She lifts a hand and beckons you over.<br> <br> "Don't be shy. Come in."<br> <br> You walk over to her, carrying your gift.<br> <br> "What do you have there for me?"<br> <br> [[Present gift.->Sapoonis: Gift]]
<<set $gift to { number: , name: "", description: "", categories: }>>
/* Soap */ <<set $gift to { number: 12, name: "Exotic Bottle of Soap", isSingular: true, description: "an exotic green bottle of soap with a pump", categories: [5, 7] }>>
/* Print out all values for a harlot. (A test to make sure I haven't buggered up the init passage) */ ''Harlot:'' $allHarlots[$hi].number<br> ''Name:'' $allHarlots[$hi].name<br> ''Short Description:'' $allHarlots[$hi].shortDescription<br> <br> ''Faction:'' $allHarlots[$hi].faction<br> ''Min Round:'' $allHarlots[$hi].minRound<br> ''Max Round:'' $allHarlots[$hi].maxRound<br> <br> ''Is Repeatable:'' $allHarlots[$hi].isRepeatable<br> ''Has Been Visited:'' $allHarlots[$hi].hasBeenVisited<br> <br> ''Gifts:'' <<for _g to 0; _g lt $allHarlots[$hi].gifts.length; _g++>> <<set _gi to $allHarlots[$hi].gifts[_g]>> <<print " " + $allGifts[_gi].name>>, <</for>><br> <br> ''Affection:'' $allHarlots[$hi].affection<br> <br>
/* Test to see all harlot properties have initialised correctly */ <<include [[Harlot: Print]]>> <br> Checking Links...<br> [[Introduction->$allHarlots[$hi].introductionLink]]<br> [[If Not Chosen->$allHarlots[$hi].ifNotChosenLink]]<br> [[If Mulliganned->$allHarlots[$hi].ifMulligannedLink]]<br> [[Socialising->$allHarlots[$hi].socialisingLink]]<br> [[NPC Gossip->$allHarlots[$hi].npcGossipLink]]<br> [[Scenario->$allHarlots[$hi].scenarioLink]]<br> [[Sell Experiences->$allHarlots[$hi].sellExpLink]]<br> <br> --NPC_Gossip Gossip----------------------------------<br> <<include [[Harlot: Print Gossip Gossip]]>> -----------------------------------------------------<br> <br> --Harlot Gossip--------------------------------------<br> <<include [[Harlot: Print Harlot Gossip]]>> -----------------------------------------------------<br> <br> [[More Testing->Harlot Tester]]
You present her with the $allGifts[$cgi].name.<br> <br> <<if $allHarlots[$hi].gifts[0] eq $cgi>> /* exotic soap */ <<include [[Sapoonis: Gift: Exotic Soap]]>> <<elseif $allHarlots[$hi].gifts[1] eq $cgi>> /* flask of oil */ <<include [[Sapoonis: Gift: Flask of Oil]]>> <<elseif $allGifts[$cgi].categories.includesAny(5, 7)>> /* good gift */ <<include [[Sapoonis: Gift: Good]]>> <<elseif $allGifts[$cgi].categories.includesAny(11, 12)>> /* bad gift */ <<include [[Sapoonis: Gift: Bad]]>> <<else>> /* default */ <<include [[Sapoonis: Gift: Default]]>> <</if>> <<include [[Sapoonis: Breast Massage: Ask]]>>
Sapoonis sits up until her big round boobs emerge from the soapy froth. You can't see much of them as they're covered in a thick layer of creamy lather.<br> <br> "The gifts are nice, but there's something better you can do for me. My boobs are feeling a little tender. It's that robe. It always chafes against my sensitive skin. Darling, can you give them a nice massage for me."<br> <br> She jiggles her chest, sending waves sloshing against the side of the bed.<br> <br> "And you'd get to touch my lovely breasts, which I think you'll like."<br> <br> You think you would too. Even covered with a lather of soap suds as they are, you can see she has a lovely pair.<br> <br> What will you do?<br> <br> [[Massage her breasts?->Sapoonis: Breast Massage: Start]]<br> [[Refuse?->Sapoonis: Breast Massage: Refuse]]
You roll up your sleeves and press your hands into the soapy froth covering Sapoonis's breasts. Underneath, they feel amazing – warm, big, and extremely malleable. You give them an experimental squeeze and feel your fingers press into pillowy soft flesh. You cup them, feeling her nipples rub against your palms, and gently knead and press her tits together. Soap bubbles pop and crackle between your fingers as you massage her boobs.<br> <br> <<if $player.currDex lt 3>> <<include [[Sapoonis: Breast Massage: Bad]]>> <<elseif $player.currDex gt 4>> <<include [[Sapoonis: Breast Massage: Good]]>> <<else>> <<include [[Sapoonis: Breast Massage: Okay]]>> <</if>>
<<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> Sapoonis's expression hardens. The blue of her eyes switches from sun-drenched seas to frozen grey oceans.<br> <br> "What, you refuse?"<br> <br> She stands up and jiggles her big tits. Water and clots of foam spill from her naked body.<br> <br> "Are these not good enough for you?"<br> <br> Her cold rage grows.<br> <br> "Well, if they're not good enough for you to touch, you won't get to feel their softness rubbing all over your naked flesh. Get out."<br> <br> You stand there, temporarily frozen by her sudden rage.<br> <br> "Get out!" she screams, splashing you with water from the bath for good measure.<br> <br> You decide it better to retreat and back away to the exit.<br> <br> <<include[[Harlot Scenario: End]]>>
"No, no," Sapoonis complains. "Not like that."<br> <br> You pause and try to work out what you were doing wrong.<br> <br> "Don't stop," Sapoonis says. Her blue eyes are icy like arctic seas. "Just get it right."<br> <br> You get back to kneading and squeezing her boobs. More gently this time.<br> <br> It's still not good enough.<br> <br> "Oh stop it, you unskilled oaf!" Sapoonis yells at you. "You're useless. You're a clumsy ox with hooves for hands."<br> <br> Cold rage radiates from her.<br> <br> <<if $allGifts[$cgi].number eq 0>> <<include [[Sapoonis: Breast Massage: Reprieve]]>> <<else>> <<include [[Sapoonis: Horror End]]>> <</if>>
Sapoonis closes her eyes and murmurs in pleasure.<br> <br> "Oh yes, more like that, please."<br> <br> You continue to fondle and squeeze her luscious breasts. Is it your imagination, or is there more foam covering them than before? It's almost like it's bubbling up from her pores. It also feels wonderful to the touch. Your skin tingles pleasantly as the soap bubbles pop and crackle between your fingers.<br> <br> "Have you had practice at this?" Sapoonis asks you.<br> <br> She smiles.<br> <br> "Or maybe you're just good with your hands."<br> <br> She luxuriates in the bath. You luxuriate in the sensations of letting your fingers explore her soapy boobs.<br> <br> "Mmm, as much I could enjoy this all day, I'm supposed to be the one pampering you," Sapoonis says.<br> <br> She shoos your hands away and stands up. Water and foam cascades from her naked body.<br> <br> "Take your clothes off and lie down on that," she gestures down at the airbed. "It's my turn to give you a good pampering."<br> <br> <<set $affectionChange to 3>> <<set _affectionChangeReason to "Sapoonis likes This">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> [[Better do as she says.->Sapoonis: Soapy Massage]]
"That's nice," Sapoonis says. "Not the most skilled of touches, but pleasant enough. With a little more practice I'm sure you'd be most adequate."<br> <br> She lets you fondle and squeeze her luscious breasts for a little while longer, before motioning you to stop. She stands up and water and foam cascades from her naked body.<br> <br> "Now, I'll show you how it's done. Take your clothes off and lie down on that," she gestures down at the airbed. "It's my turn to massage you."<br> <br> [[Better do as she says.->Sapoonis: Soapy Massage]]
And then her rage dissipates just as quickly as it blustered up. She looks at you and smiles.<br> <br> "I'm sorry. It's been a trying day. I can see you're trying your best."<br> <br> She stands up and water and foam cascades from her naked body.<br> <br> "You're just a little tense. That's okay. Take your clothes off and lie down on that," she gestures down at the airbed. "I'll sort that tension out right away."<br> <br> [[Better do as she says.->Sapoonis: Soapy Massage]]
You try to pull your hand away and suddenly realise you can't. They're stuck to her bosom as if glued. More foam wells up between your fingers and covers your hands. You don't know where it's coming from. It's as if Sapoonis is exuding it from the pores of her skin.<br> <br> You feel a tingling sensation in your fingers that grows into burning pain and spreads out to encompass your whole hand. The foam starts to gain a pinkish tinge.<br> <br> "Hands as clumsy as yours do not deserve to touch female flesh," Sapoonis says coldly.<br> <br> The pain becomes excruciating. It feels like thousands of ants gnawing away at your flesh. You drop to your knees. You try desperately to pull your hands out of the agonising foam.<br> <br> Then, just when you think you can bear it no longer, something gives and you pull your hands away.<br> <br> Not your hands. They're //gone//, dissolved to mush by the caustic foam covering Sapoonis's tits. You collapse and curl up on the floor. Sapoonis watches dispassionately as blood from your severed stumps spreads across the pristine white tiles in a red pool. You bleed out beneath her arctic gaze.<br> <br> ''HORROR END''<br> <br> [[Game Over->Game Over]]
You take your clothes off and hang them over the top of the screen. Sapoonis takes a wooden bowl and pours soapy water onto the airbed. "Lie on your front," she says. You lie facedown on the inflatable mattress. The soapy water has made the surface slippery, but the water is warm enough for it to not feel unpleasant. You feel a weight settle on buttocks and lower back as Sapoonis sits astride you. She pours even more soapy water over your back. The temperature is just right. Sapoonis bends over and starts to wash your back, using her lovely big round breasts as sponges. You feel them slide all over you. She slithers up and down your body. You feel the nubs of her nipples, first against your buttocks and then tracing lazy circles around your shoulder blades. "This is a dirty house," Sapoonis says. "Let's get you clean." She turns over and starts rubbing the luscious swell of her ass up and down your body. She turns back over and starts using her boobs again. All the time lubricated with a creamy froth of soap suds. "Get you relaxed," she whispers. She slides up and rests her big boobs on either side of your head. They feel like big soft pillows. Foamy water squelches out from beneath your chest as her weight pushes your upper half down into the airbed. "Get you turned on." Her hand slithers down between your legs and fondles your cock and balls. "Turn over," she whispers in your ear. [[Seems like a good idea.->Sapoonis: Sex 1]]
You twist on the slick mattress and turn over onto your back. Sapoonis straddles you. You wonder how much soap she's used. Both you and her are covered in thick clumps of bubbly congeries.<br> <br> "Now for your front," Sapoonis says.<br> <br> She bends over and rubs her soapy tits all over your naked chest. She kisses you lightly on the lips as her nipples dance circles around yours.<br> <br> Then she sits back up. She flattens your erection against your abdomen and slides the groove of her sex along it like a rail.<br> <br> "Time to wash the dirtiest part of your body," Sapoonis says. "I have a very special technique for that."<br> <br> She lifts her hips up, wraps a hand around your lathered-up cock and guides it to the opening of her pussy.<br> <br> She sighs as she sits down.<br> <br> [[Continue.->Sapoonis: Sex 2]]
As much as you want to come, it's been a long night. You're not sure you have anything left.<br> <br> "Oh, are you struggling?" Sapoonis asks. "Don't tell me you've let those other dirty girls suck too much out of you. We'll have to do something about that."<br> <br> [[Time for something special...->Sapoonis: Bad End 1]]
She's right. You couldn't hold out long. You grunt and your hips buck as the orgasm crashes through you like a wave. Her pussy convulses around you, massaging more of that delectable foam into your sensitive flesh. Your cock throbs hard and you ejaculate hard inside her.<br> <br> Then you crash back on the squeaky airbed. Sapoonis flops down on top of you.<br> <br> <<if $allHarlots[$hi].affection gt 2>> "Mmm, you were good, so I'll reward you with something a little special," Sapoonis says.<br> <br> [[Something special?->Sapoonis: Sex: Bonus]] <<else>> <<if $cgi eq 0>> <<include [[Sapoonis: Black Rose Bad End]]>> <<else>> [[That felt good.->Sapoonis: Good End]] <</if>> <</if>>
<<set $semenChange to -1>> Sapoonis lies on top of you and entwines her arms around you.<br> <br> "Let's make you a little more comfortable."<br> <br> And then there is foam welling up all around you. This time there is no mistaking where it is coming from. It bubbles up from her nipples, the pores of her skin, and – most noticeably – her vagina. Your cock is smothered in tingling bubbles, then your balls, then your whole waist. She keeps pumping out more until you're surrounded in a cocoon of glistening bubbles.<br> <br> Sapoonis smiles down at you, her blue eyes bright. "That should relax you."<br> <br> You are relaxed. A little //too// relaxed. Your limbs are reluctant to respond to any signal from your head. Aside from that, the foam feels strangely pleasant, and also arousing.<br> <br> "And now a little something to help you come."<br> <br> [[Continue.->Sapoonis: Bad End 2]]
She hugs you tight and more of that pleasant tingling foam wells up all around you. It covers you both in thick drifts of wobbling spume. Her vagina puffs little pillows of bubbles around your cock and the sensation is incredible. You stay erect inside her and your cock strains, eager to feel more kisses of her special foam.<br> <br> "I have your cum," Sapoonis whispers. It allows me to tailor my foam specifically for you. It will feel even more pleasant. The next one will be even stronger. You won't be able to hold on, so don't try to fight it. Let it carry you away on a wave of bliss."<br> <br> Her vagina puffs more rings of creamy foam around your sensitised member. It's thicker and the sensation of her walls rubbing it into you is even more erotic. Your cock throbs and twitches. You feel the need to come welling up inside you.<br> <br> <<include [[Sapoonis: Sex: 2nd Semen Check]]>>
"I'm so glad you chose me," Sapoonis says. "I'll make this really special for you."<br> <br> [[Time for something special...->Sapoonis: Bad End 1]]
Finally, you lie back, satisfyingly spent. Sapoonis lies on top of you. You lay entwined for a short while. The water and soap suds you're lying in start to cool.<br> <br> Sapoonis slides off you and stands up.<br> <br> "Mmm, wasn't that nice," she says. "I told you I give a heavenly soapy massage."<br> <br> She fetches you a fluffy towel. You dry yourself off and start to put your clothes back on.<br> <br> "The slime girls claim to be the best at this, but I wouldn't trust those brainless amoebas. <<include [[Harlot Scenario: Select Harlot Gossip]]>><br> <br> Sapoonis is already sliding back into her bubble bath as you walk to the exit. You suspect the water is more her natural habitat.<br> <br> <<set $isFactionIncrease to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<include[[Harlot Scenario: End]]>>
/* DEPRECATED */ /* Prereqs for testing scenario */ <<set $isTesting to true>> <<set $isHarlotTesting to true>> Creating player...<br><br> <<include [[Create New Player: Default]]>> <<include [[Player: Print Full Physical Stats]]>><br>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.currDex to 4>> <<set $player.semenCount to 10>> <<set $player.charms.push(18)>> <<set $player.charms.push(14)>> <<set $hi to 9>> /* <<set $cgi to $allHarlots[$hi].gifts[1]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* Each harlot may have some random gossip about other harlots. This is a short passage to inject that gossip in at random (each harlot might have multiple hints - but only a random one is displayed) */ <<if $allHarlots[$hi].harlotGossip.length gt 0>> <<set _index to random(0, $allHarlots[$hi].harlotGossip.length - 1)>> <<print $allHarlots[$hi].harlotGossip[_index]>> <</if>>
''Testing Harlot Gossip:''<br> <<for _h to 0; _h lt $allHarlots.length; _h++>> <<set $hi to _h]>> <<print $allHarlots[$hi].name>>: <<include[[Harlot Scenario: Select Harlot Gossip]]>><br> <</for>>
/* Update table of all harlots shown to player */ <<if $isTesting>> ''Harlot Choices Count = $hci.length''<br> <</if>> <<for _i to 0; _i lt $hci.length; _i++>> <<set _hi to $hci[_i]>> <<if $isTesting>> ''Attempting to add $allHarlots[_hi].name to All Presented Harlots''<br> <</if>> <<include [[All Presented Harlots: Check if Presented]]>> <<if _hasBeenPresented eq false>> <<set $hapi.push(_hi)>> <<if $isTesting>> ''Added $allHarlots[_hi].name to All Presented Harlots''<br><br> <</if>> <<elseif $isTesting>> ''Failed to add $allHarlots[_hi].name to All Presented Harlots: already present''<br><br> <</if>> <</for>>
/* Check if harlot has been previously presented. input: _hi output: _hasBeenPresented */ <<set _hasBeenPresented to false>> <<for _h to 0; _h lt $hapi.length; _h++>> <<if $hapi[_h] eq _hi>> <<set _hasBeenPresented to true>> <</if>> <</for>>
/* print names of all harlots that have been presented to player */ --ALL PRESENTED HARLOTS------------------------<br> <<for _ph to 0; _ph lt $hapi.length; _ph++>> <<set _hi to $hapi[_ph]>> <<print _ph + ". " + $allHarlots[_hi].name>><br> <</for>> -----------------------------------------------<br> <br>
/* Initialise all the NPCs */ <<include [[NPC Madam: Init]]>> <<include [[NPC Gossip: Init]]>> <<include [[NPC Money: Init]]>> <<include [[NPC Nurse: Init]]>> <<include [[NPC Potion: Init]]>> <<include [[NPC Charm: Init]]>> <<include [[NPC Barman: Init]]>>
/* Initialise some stats associated with NPC_Gossip */ <<set $npcGossip to { name: "The Elegant Woman", realName: "NPC_Gossip", isAvailable: true, isUnavailable: false, hasBeenIntroduced: false, hasBeenVisited: false, hasBeenBoughtFirstDrink: false, hasGivenMoneyHints: false, hasTalkedAboutHouse: false, hasBeenAskedForSex: false, hasGossipedAboutBarman: false, leavingMessages: [] }>> <<include [[NPC Gossip: Populate Leaving Messages]]>>
You look for $npcMadam.name. She's not standing in her usual place by the presentations stage. You can't see her anywhere in the club area. She must be otherwise occupied. Maybe she's gone to welcome new 'guests' at the front door.<br> <br> Whatever it is, she is unavailable this round. You'll have to talk to someone else.<br> <br> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Madam: End]] <<else>> [[You return to your place at the bar.->Club Activities: Hub]] <</if>><br> //This did not cost an action.//
<<include [[Mulligan Token Options]]>> <<include [[NPC Madam: Mulligan Harlots Options]]>> <<include [[Add Harlot Options]]>> <<include [[Socialise Harlot Options]]>> <<include [[Information Options]]>> [[End the conversation and leave.->NPC Madam: Leave]]<br> //Return to your place at the bar.//
<<set $npcMadam.hasBeenAskedToMulliganHarlots to true>> <<include [[NPC: Pay Action]]>> $npcMadam.name looks apologetic. "Oh dear, are none of them to your taste? How disheartening. My girls all pride themselves on their dedication to the arts of pleasure. They will be so disappointed to hear none of them meet your standards."<br> <br> She flutters her fan, covering her mouth.<br> <br> "Are you sure none take your fancy? Even if they are not your type, I am sure they will make your trip to their room most pleasant."<br> <br> Before you can say anything, she answers for you.<br> <br> "Ah, but men and their types. It is a mystery to us poor females."<br> <br> Over the fan, her old eyes in her young face turn steely.<br> <br> "Or maybe you have other reasons to avoid picking one of these three..."<br> <br> Then she lowers the fan and is all smiles again.<br> <br> "But I am afraid you must pick one. It is one of the rules of the House. All patrons are bound by them."<br> <br> [[What if I don't?->NPC Madam: Mulligan Harlots 2]]
The fan raises. Her eyes are steel again.<br> <br> "Then a girl will pick you. And your time with her might not be so pleasant..."<br> <br> You have the uncomfortable sensation of someone's gaze on the back of your neck. You turn. Maybe you can see something up there in the shadowy darkness of the ceiling, or maybe it's just shadow.<br> <br> $npcMadam.name has lowered the fan and is smiling again. It is not a pleasant smile.<br> <br> "Although I never hear any complaints from anyone picked this way."<br> <br> You suspect that's because she never hears //anything// from anyone picked this way. Ever again.<br> <br> "Oh, but I would not want you to think I run an unreasonable house. If none are your type, none are your type. A choice must be made, that is inviolable. However..."<br> <br> Her eyes glimmer.<br> <br> "...there are ways to change the choices on offer."<br> <br> [[How do I change the choices on offer?->NPC Madam: Mulligan Harlots 3]]
"Yes my dear, what would you like to know about your $mulliganToken.name?"<br> <br> [["Ask her how you use " + $mulliganToken.name + "s."->NPC Madam: Mulligan Harlots: How To Use Mulligan]]<br> //This will cost an Action.//<br> <br> <<include [[NPC Madam: Mulligan Token: Buy Options]]>>
<<set $npcMadam.hasToldHowNotToMulliganHarlots to true>> <<include [[NPC: Pay Action]]>> "No, don't give it me now," $npcMadam.name <<if $player.mulliganTokens gt 0>> says, waving away your attempts to give her the $mulliganToken.name. <<else>> says.<br> <br> She holds up her hands to stop you even though you don't have a $mulliganToken.name and aren't making an attempt to give her one. She must have forgotten you've already used it.<br><br> <</if>> "I'll forget you used it. Wait until the time of choosing. When asked to make a choice, give me the token instead and I'll send the girls away and look for three more for you to choose from. I am sure one of them will tickle your fancy. And other places... should you desire."<br> <br> She is about to turn away and pauses.<br> <br> "Oh, and some other things you should be aware of."<br> <br> She holds up a single finger.<br> <br> "Only one $mulliganToken.name can be used in any given round. If you can't find one you like out of six of my gorgeous girls, I am going to assume you're timewasting. I dislike timewasters."<br> <br> A second finger.<br> <br> "As perfect as my girls are, they still have feelings. Some of them may not take too kindly to being dismissed this way."<br> <br> A third finger.<br> <br> "The gods of chance are fickle. As is my memory. I could send three girls away, only to present you with the same three girls as your replacement choice. If that happens then I am afraid it is just pure bad luck. Or maybe it is a sign one of those girls is a perfect match for you. The gods of chance work in mysterious ways."<br> <br> She gives you a mysterious smile.<br> <br> "They also have other uses, but I will leave it to you to discover what they are."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
<<set $npcMadam.hasToldHowToBuyMulliganTokens to true>> <<if $player.mulliganTokens eq 0>> "Oh my, have you used it already, my dear?" $npcMadam.name says. "You should be more careful with such things."<br> <br> <<else>> "Why, you've still got the one I gave you. Why would you want another?" $npcMadam.name queries you. "Stockpiling for later? You know you can only use one per round. Or maybe you have another use in mind..."<br> <br> <</if>> She flutters her fan.<br> <br> "Well, the original purpose was to give each patron one chance to change the selection pool. However, we are very much a //commercial// House, so it would be most amiss of me to turn down an opportunity for profit."<br> <br> Her eyes gleam and she smiles wolfishly.<br> <br> "Tell you what, my dear. I can sell you another $mulliganToken.name, but it will cost you $mulliganToken.madamSellPrice <<print $currencyName + "s">>."<br> <br> She sees your shocked expression and flutters her fan over her mouth.<br> <br> "I have to set the prices high, my dear. My girls get upset if I don't."<br> <br> What will you do?<br> <br> <<if $player.money lt $mulliganToken.madamSellPrice>> [["Buy a " + $mulliganToken.name + "?"->NPC Madam: Mulligan Token: No Money]] <<else>> [["Buy a " + $mulliganToken.name + "?"->NPC Madam: Mulligan Token: Buy]] <</if>><br> [[Decline?->NPC Madam: Mulligan Token: Decline To Buy]]
<<set $player.money -= $mulliganToken.madamSellPrice>> <<set $player.mulliganTokens += 1>> <<include [[NPC: Pay Action]]>> You count out the requisite number of <<print $currencyName + "s">> and give them to $npcMadam.name.<br> <br> "Thank you, my dear," she says.<br> <br> She gives you a $mulliganToken.name in return.<br> <br> "Save it for when you really need it."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
<<include [[NPC: Pay Action]]>> "That is fine, my dear. You can always come back any time if you need to buy more."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
<<set $npcMadam.hasToldOfNpcMoney to true>> <<include [[NPC: Pay Action]]>> You look through your <<print $currencyName + "s">> and come up short. You do not have enough to buy a $mulliganToken.name off $npcMadam.name.<br> <br> $npcMadam.name looks at you sadly.<br> <br> "I am sorry, my dear. That price is fixed. I cannot offer it you for any lower."<br> <br> She leans forward to whisper conspiratorially.<br> <br> "It is to keep my girls happy."<br> <br> She pauses and taps her chin.<br> <br> "Hmm, but if you're short of <<print $currencyName + "s">>, I think I know of someone who can help. There is a long-time patron of the House. He has his regular table in the socialising area. You cannot miss him. He is a portly gentleman with a bowler hat and pin-stripe suit. He pays very well for information on my girls. I think he is terrified they will eat him or suck out his soul."<br> <br> $npcMadam.name laughs as if the very idea is ridiculous.<br> <br> "Never seems to be short of <<print $currencyName + "s">>, somehow..."<br> <br> Her eyes narrow.<br> <br> "Anyway, I am sure he can help you with any money woes. I would not be surprised if he has already approached you."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
--NPC Madam---------------------------------------<br> name = <<print $npcMadam.name>><br> isAvailable = <<print $npcMadam.isAvailable>><br> isUnavailable = <<print $npcMadam.isUnavailable>><br> <br> hasBeenAskedToMulliganHarlots = <<print $npcMadam.hasBeenAskedToMulliganHarlots>><br> hasGivenComplementaryMulliganToken = <<print $npcMadam.hasGivenComplementaryMulliganToken>><br> hasToldHowNotToMulliganHarlots = <<print $npcMadam.hasToldHowNotToMulliganHarlots>><br> hasToldHowToBuyMulliganTokens = <<print $npcMadam.hasToldHowToBuyMulliganTokens>><br> hasToldOfNpcMoney = <<print $npcMadam.hasToldOfNpcMoney>><br> hasToldHowToAddHarlot = <<print $npcMadam.hasToldHowToAddHarlot>><br> hasExplainedSocialising = <<print $npcMadam.hasExplainedSocialising>><br> ------------------------------------------------<br>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Create New Player: Default]]>> <<set $player.money to 100>> <<set $hci to [0, 3, 1]>> <<set $currentRound to 3>> <<set $clubActivityUnits to $clubActivityMaxUnits>> <<set $postroomActivityUnits to $postroomActivityMaxUnits>> <<set $isPostRoom to false>> <<set $npcMadam.isUnavailable to false>> <<set $npcMadam.hasBeenIntroduced to true>> <<set $npcMadam.hasGivenComplementaryMulliganToken to true>> <<include [[NPC Madam: Print]]>> <<include [[NPC Madam: Determine Availability]]>> [[Begin Tests...->NPC Madam: Look For]]
/* Hold all the regular Inits while we test them separately to see which one is breaking */ /* Flag for test purposes */ <<set $isTesting to false>> <<set $isNpcTesting to false>> <<set $isHarlotTesting to false>> /* Initialise player */ <<include [[PlayerInit]]>> /* Other pieces */ <<include [[Init New Game Stats]]>>
<<set $npcMadam.hasExplainedSocialising to true>> "Why, of course there is, my dear," $npcMadam.name says. "We have the bar area for that. You can take her for a drink and have a little chat. It's a perfect way to find out if you're compatible. The House wants everyone to have a good time in its rooms."<br> <br> She flutters her fan.<br> <br> <<include [[NPC Madam: Socialising: Request]]>>
/* Madam is always available in the first 2 rounds. */ <<if $currentRound lt 3>> <<set $npcMadam.isAvailable to true>> <<if $isTesting eq true>> ''$npcMadam.name is available because we're in first two rounds''<br> <</if>> /* Check if the madam has been made unavailable because of one of the events */ <<elseif $npcMadam.isUnavailable eq true>> <<set $npcMadam.isAvailable to false>> <<set $npcMadam.IsUnavailable to false>> <<if $isTesting eq true>> ''$npcMadam.name is unavailable because of an event''<br> <</if>> /* follow the usual procedure for determining availability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcMadam.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcMadam.name is <<if $npcMadam.isAvailable eq false>>un<</if>>available because of availability roll''<br> <</if>> <</if>>
You return to the bar just in time to feel the buzzer vibrate once in your pocket. It's time to go to the presentation stage. What will $npcMadam.name have for you this time? [[Go to the Harlot Presentation stage.->Next Round]]
You return to the bar just in time to feel the buzzer vibrate twice in your pocket. Time's up. You need to go to the presentation stage and make a choice. [[Go and choose a harlot.->Harlot Selection: Intro]]
/* Default check to see if an NPC is available. They are unavailable 10% of the time outside of their first introductions and various events rendering them unavailable. */ <<set _availabilityRoll to random(1,10)>> <<if $isTesting>> ''NPC availability roll = _availabilityRoll''<br> <</if>> <<set $isNpcAvailable to true>> <<if _availabilityRoll lt 2>> <<set $isNpcAvailable to false>> <</if>>
/* Suka no-Hirudo */ <<set $hi to 2>> <<set $allHarlots[$hi] to { number: $hi, name: "Suka no-Hirudo", shortDescription: "a pale woman with dark eyes, voluminous black hair and sensual bee-stung lips. She wears a glossy black latex bodysuit and hold ups.", faction: 5, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, gifts: [6], affection: 0, /* 0=nothing, 1=bj, 2=vag */ previousSexAct: 0, currentSexAct: 0, introductionLink: "Suka no-Hirudo: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Suka no-Hirudo: Socialising", npcGossipLink: "Suka no-Hirudo: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Suka no-Hirudo: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Suka no-Hirudo: Populate Harlot Gossip", scenarioLink: "Suka no-Hirudo: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Suka no-Hirudo: Sell Exp Body", sellExpFeedbackLink: "Suka no-Hirudo: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 3>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 0>> <<set $player.currIsSubmissive to false>> <<set $player.currIsCautious to false>> <<set $player.charms.push(18)>> <<set $player.charms.push(14)>> <<set $hi to 2>> <<set $cgi to 0>> <<include [[Harlot Tester: Intro]]>>
/* Suka no-Hirudo */ /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* any gift */ [1,false,false], /* non-neutral dsRole or wariness */ [2,false,false], /* bj1 */ [1,false,false], /* bj2 */ [1,false,false], /* bj3 */ [1,false,false], /* bj4 */ [2,false,false], /* vag1 */ [1,false,false], /* vag2 */ [1,false,false], /* vag3 */ [1,false,false], /* vag4 */ [1,false,false] /* comfort her */ ] }>> You open Suka's door and find the room beyond devoid of nearly all furniture aside from an ornate wooden chair in the centre of the room. Suka is sitting on it, with one long leg crossed over the other. Her face is expressionless, her lips frozen in a luscious pout.<br> <br> "Come in," she says.<br> <br> You enter and look around. The floor is covered in a soft purple mat. The walls are upholstered in a glossy purple material and padded. The room manages to look both intimate and sterile.<br> <br> "You can put your gift on there," Suka says, pointing to a small table with a vase standing by the door. "I'm more interested in /* This is where we do the gift test */ <<include [[Suka no-Hirudo: Gift]]>>
/* All gifts score money */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<if $cgi eq 0>> <<include [[Suka no-Hirudo: Gift Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> <<include [[Suka no-Hirudo: Gift Vial of Blood]]>> <<else>> <<include [[Suka no-Hirudo: Gift Default]]>> <</if>>
your... wait! Is that... oh... I don't know what to... thank you."<br> <br> Her pout changes to a smile. It looks a little awkward, as if her lips are so pumped up it's difficult for her to make that expression, but all the more touching and genuine for it.<br> <br> "Put it in the vase and come over here," Suka says.<br> <br> She beckons you with a finger as you place the black rose in the vase.<br> <br> "I'm going to give you the best suck you'll ever experience."<br> <br> She beckons you to approach her.<br> <br> <<include [[Suka no-Hirudo: Beckons You]]>>
your... wait! What is that?"<br> <br> She jumps up out of her chair and pounces forwards to snatch the $allGifts[$cgi].name from you. She uncorks the stopper, sniffs and her face twists in disgust.<br> <br> She sighs. "Let me guess. I know what they call me – a leech. So you thought you'd bring the leechwoman blood. Because that's what a common leech drinks – blood."<br> <br> She seems angry. You suspect you might have chosen unwisely.<br> <br> "Well I'll have you know I'm a very //uncommon// leech and I do. Not. Drink. Blood!"<br> <br> She throws the vial against the wall and blood splatters the upholstered panels like a gunshot wound.<br> <br> She looks at the mess. "I should have you lick that off with your tongue, but you might enjoy it."<br> <br> You stand there awkwardly.<br> <br> "Oh fuck off," Suka says. <<if $allHarlots[$hi].hasBeenVisited eq false>> "Your semen probably tastes rancid anyway." <<else>> "You've spoilt it now." <</if>> <br><br> She turns her back on you and walks back to her chair. You think it might be time to leave.<br> <br> /* Suka is not interested in future visits */ <<set $allHarlots[$hi].isRepeatable to false>> <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 0>> <<if $isTesting>> ''Suka not interested in future visits. IsRepeatable = $allHarlots[$hi].isRepeatable'' <</if>> <<include[[Harlot Scenario: End]]>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> your semen, to be honest," she says. "You could say I have a thirst for it."<br> <br> Her dark eyes smoulder as she stares at you. She inserts a finger between her plump, bee-stung lips and gives it a long, languid suck. You suddenly feel a little hot under the collar.<br> <br> She beckons you to her with her other hand.<br> <br> <<else>> cum. Now get over here."<br> <br> She beckons you over.<br> <br> <</if>> <<include [[Suka no-Hirudo: Beckons You]]>>
/* submissive or wary */ <<if $player.currIsSubmissive or $player.currIsCautious>> <<if $allHarlots[$hi].hasBeenVisited eq false>> You stay where you are, a little reluctant to approach her.<br> <br> "Come closer," Suka says. "I don't bite."<br> <br> She chuckles.<br> <br> "I couldn't even if I wanted to."<br> <br> <<else>> "Why so cautious?" She laughs. "Didn't you enjoy yourself last time? You looked like you did."<br> <br> <</if>> /* score here */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <</if>> [[You approach her.->Suka no-Hirudo: Approach Her]]
/* dominant or bold */ <<if not $player.currIsSubmissive and not $player.currIsCautious>> <<if $allHarlots[$hi].hasBeenVisited eq false>> Eager, you stride towards the chair. Suka stands up to greet you. You go to put your arms around her.<br> <br> "Ah ah," Suka says. "Hold your horses. This is my room and in my room you play by my rules. Capiche?"<br> <br> You pull your hands away and hold them up to signal you understand.<br> <br> "Good."<br> <br> She walks around you, checking out your body.<br> <br> <<else>> "Ah ah." She shakes a finger as you go to put your arms around her. "The rules haven't changed. I'm still the one in charge here."<br> <br> You approach the chair and Suka repeats her sexy appraisal of your body, running her hands all over it as before.<br> <br> <</if>> /* This also increases score */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<else>> <<if $allHarlots[$hi].hasBeenVisited eq false>> You approach the chair. Suka stands up and walks around you as if checking out a new purchase. Her hands roam over your clothed body.<br><br> <<else>> You approach the chair and Suka repeats her sexy appraisal of your body, running her hands all over it as before.<br> <br> <</if>> <</if>> <<if $allHarlots[$hi].hasBeenVisited eq false>> "Mmm, nice and virile," she says. "I'm sure you'll have a lot of juice for me."<br> <br> She moves around behind you and you turn to keep her in view.<br> <br> "Now the important question – which part of my body would you like to be sucked by? <<else>> <<if $allHarlots[$hi].currentSexAct eq 1>> <<set _text to "mouth">> <<elseif $allHarlots[$hi].currentSexAct eq 2>> <<set _text to "pussy">> <</if>> "Now for the suck. You chose my _text last time. What would you like to be sucked by this time? <</if>> My mouth..."<br> <br> She puts a finger in her mouth and gives it a long, sensual suck.<br> <br> "Or maybe my pussy..."<br> <br> She unzips the crotch of her latex bodysuit. The labia of her vagina – puffed up and plump like her lips – spill out as her suit opens up.<br> <br> "Or maybe, if you're especially daring, my ass."<br> <br> She turns and jiggles her shapely butt. The crotch zipper extends between her legs and up to the small of her back. She opens it up and parts her butt cheeks to flaunt her anus. That too appears to have lips – a puffy ring of flesh around the orifice. It serves to remind you that, despite appearances, Suka is not quite human.<br> <br> She turns back to you.<br> <br> "So, what will it be?"<br> <br> Indeed, what will it be?<br> <br> [[Her mouth?->Suka no-Hirudo: Blowjob 1]]<br> [[Her pussy?->Suka no-Hirudo: Vaginal Sex 1]]<br> [[Her ass?->Suka no-Hirudo: Anal Sex 1]]
<<set _reqSexAct to 1>> <<set _text1 to "\"You liked my lips so much, you want to feel them wrapped around your cock again?">> <<set _text2 to "try my blowjob">> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Suka no-Hirudo: First-Time Beginning for Sex and Blowjob]]>> <<else>> <<include [[Suka no-Hirudo: Repeat Beginning for Sex and Blowjob]]>> <</if>> <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 1>> Suka pushes your knees apart and crouches between your legs. She cups a hand under your balls and wraps another around your erection.<br> <br> Her dark eyes smoulder sultrily as she looks up at you. "Ready?" she says.<br> <br> Her full sensual lips pucker up as she lowers her face to your crotch. She wraps her lusciously soft lips around your glans and then draws your cock up into her hot mouth like sucking on a popsicle.<br> <br> You tip your head back in pleasure. Those lips. They feel amazing. You hear muffled murmurs and wet sucking sounds as Suka bobs her head up and down in your lap. You feel her luscious lips brush up and down the whole length of your shaft and you tremble uncontrollably from the sensation.<br> <br> One thing weird about Suka's blowjob is that you don't feel any teeth, or tongue. Just her lips – those lusciously sensual lips – stroking up and down your cock.<br> <br> You look down and notice her lips seem puffier and more swollen than before.<br> <br> [[Continue.->Suka no-Hirudo: Blowjob 2]]
<<set _reqSexAct to 2>> <<set _text1 to "\"You like my pussy so much, you want to feel it wrapped around your cock again?">> <<set _text2 to "stick your dick in my pussy">> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Suka no-Hirudo: First-Time Beginning for Sex and Blowjob]]>> <<else>> <<include [[Suka no-Hirudo: Repeat Beginning for Sex and Blowjob]]>> <</if>> <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 2>> Suka steps back and stares sultrily at you while she undoes the top two straps of her body suit. She pushes the latex to the side and exposes her lovely tits.<br> <br> She does the same at her crotch, fully exposing her pussy. The plump folds of her sex look inviting, but also not quite right. The puffed-out labia seem to merge at both the top and bottom, making it appear as though the opening to her sex is surrounded by an unbroken hoop of plump, sensual flesh.<br> <br> You don't get a chance to look at it for long as Suka is already stepping astride you. She puts a hand under your chin and tilts your head up to look into her face as she sits down in your lap.<br> <br> You feel rather than see your erection slide between her sumptuous folds and enter her. Those plump folds feel like luscious lips sliding down your shaft. It feels like a mouth. Those lips do, anyway. Inside it feels exactly like a good vagina should feel – tight, warm, wet.<br> <br> "Ah," Suka says. "I do adore feeling my pussy suck on a nice hard cock."<br> <br> [[Continue.->Suka no-Hirudo: Vaginal Sex 2]]
"Mmm, daring. Or maybe foolhardy."<br> <br> She turns into you and rubs her shapely behind against your crotch. Blood surges to your loins.<br> <br> She turns around and places her hands on your cheeks.<br> <br> "First, this."<br> <br> She pulls your face down and crushes her sumptuous lips against yours in a full-bodied kiss. A really powerful kiss. It leaves you breathless and a little fluttery.<br> <br> Wow, her lips. So soft and sensual. You wonder if maybe you'd have been better asking for a blowjob.<br> <br> "Maybe you knew what you were asking for, maybe you didn't," Suka says.<br> <br> Suka wipes her mouth with the back of her hand. You notice a strange aftertaste on your lips. Astringent. You feel a little odd.<br> <br> Suka gives you a gentle push and you fall back onto the chair. As with the walls, the seat is padded and surprisingly deep.<br> <br> "I find it a nuisance when they start struggling," Suka says.<br> <br> [[Continue.->Suka no-Hirudo: Anal Sex 2]]
/* Both have a common beginning */ "A wise choice," Suka says. "Now you sit back and enjoy your suck."<br> <br> She gives you a light shove and you fall back onto the chair. As with the walls, the seat is padded and surprisingly deep.<br> <br> /* She doesn't give warning if chosen gift was black rose */ <<if $cgi neq 0>> "A little warning before I begin," Suka says. "Once I start sucking, I get a little carried away. If it gets too much for you, tap me on the shoulder. That's our signal for me to stop."<br> <br> She crouches down and pulls down your trousers and underpants. She gives your cock a twisty little tug with her hand to perk it right up to full hardness.<br> <br> "Think of it as like a safe word. We practise safe sex here. I wouldn't want to accidentally suck you dry."<br> <br> <</if>>
You think you can take more of this. It still feels good, great even. You can always stop her if the suction starts to feel painful.<br> <br> She continues to suck. Even though her lips are sealed around the base of your cock, it still feels like her head is bobbing in your lap. The internal walls of her mouth feel like luscious lips stroking up your shaft, like they're trying to coax your semen up your cock and down her throat.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> You oblige. You don't have much choice. She sucks and sucks and another, even more powerful, climax crashes through you. Your balls clench, your dick throbs, and you fire an even bigger load down her hungry throat.<br> <br> It's still not enough for Suka. Her lips remain fastened around the base of your cock. She keeps sucking.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Blowjob Continue 2">> [[Let her continue?->Suka no-Hirudo: Blowjob Continue 2]]<br> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Blowjob Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Blowjob Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Blowjob Out Of Semen]]>> <</if>>
You struggle and try to push her off.<br> <br> Her mouth is tightly clamped around your cock. You're fearful that if she doesn't release it, it will come off with her.<br> <br> Thankfully, she releases it.<br> <br> Your cock slides out of her mouth with a wet smacking sound. Suka blinks, looking slightly befuddled. <<if $cgi eq 0>> <<include [[Suka no-Hirudo: Blowjob Black Rose]]>> <<else>> <<include [[Suka no-Hirudo: Blowjob Good End]]>> <</if>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> You tap Suka on the shoulder.<br> <br> She doesn't stop or even respond. Her lips remained clamped around the base of your penis. Her throat works as she sucks on you. You feel another climax building in your balls.<br> <br> Maybe you tapped too soon. Maybe she lied. Maybe she's so carried away with it all she didn't even notice.<br> <br> What will you do?<br> <br> [[Let her continue?->$targetPassage]]<br> [[Try to push her off?->Suka no-Hirudo: Blowjob Struggle]]<br> <<else>> Suka releases your cock and it slides out of her mouth with a wet smacking sound.<br> <br> "Mmm, delicious," she says. "I could suck your cum all day. But then you'd dry up and die and I'd be just as bad as one of the nasty succubi."<br> <br> <<include [[Suka no-Hirudo: Repeat Good End]]>> <</if>>
Suka sucks and sucks, but nothing comes out. As much as you want to come, you have nothing left. She stops and lets your dick slide out of her mouth with a wet smacking sound. "No more? Then I shall suck harder." [[She sucks harder.->Suka no-Hirudo: Blowjob Bad End]]
You let her continue. Surely she can't suck you to another climax, not so soon after the previous two?<br> <br> <<set $semenChange to -3>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> She can and does.<br> <br> It doesn't take long before you're shuddering helplessly on the chair as your throbbing cock pours another massive load of semen down her gulping throat. So much more. Even more than the last load.<br> <br> So much more, it leaves you a jangling, bliss-filled wreck. Now you really feel drained.<br> <br> Maybe you should get her to stop now.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Blowjob Continue 3">> <<if $allHarlots[$hi].hasBeenVisited eq false>> [[It's fine. Let her continue?->Suka no-Hirudo: Blowjob Continue 3]]<br> <<else>> [[It's fine. Let her continue?->Suka no-Hirudo: Repeat Blowjob Continue 3]]<br> <</if>> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Blowjob Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Blowjob Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Blowjob Out Of Semen]]>> <</if>>
Suck. Suck. Suck.<br> <br> Her mouth continues to work on your cock. Your whole body is a mass of jangling pleasure.<br> <br> And exhaustion.<br> <br> You've just climaxed three times, each more powerful than the last. You lie back sloppily on the chair, content to let her keep doing her thing.<br> <br> <<set $semenChange to -4>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> It takes a little longer this time, but the outcome is the same – semen gushing up your shaft and spilling down her gulping throat. You can feel her suction right in your balls, and maybe even deeper. It's like she's sucking the cum right out of you.<br> <br> She sucks longer and harder this time and by the time she's finished you're sure she's sucked out every little sperm in your testicles.<br> <br> Only she hasn't finished. She's still sucking.<br> <br> This is dangerous. You feel totally drained. And a little lightheaded.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Blowjob Out Of Semen">> <<if $player.semenCount gt 0>> [[Let her continue?->Suka no-Hirudo: Blowjob Continue 4]]<br> <<else>> [[Let her continue?->Suka no-Hirudo: Blowjob Out Of Semen]]<br> <</if>> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Blowjob Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Blowjob Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Blowjob Out Of Semen]]>> <</if>>
Her lips pucker up. Not a pout. No, this is something else. Something alien. Her lips swell and puff up until her mouth is nothing more than a little puckered orifice at the centre of them. It looks more like a sucker than a mouth. She bobs back down and sucks your cock up into that cushioned ring. The inside of her mouth feels cushioned also. And tight. She wraps her arms around you as she sucks in your whole length. The cushioned ring puffs out and forms a tight seal around the base of your cock. Then she begins to suck. //Really suck//. You feel this one past your balls. It tugs at the centre of you, tugs until //something// gives. The sense of release is like the most powerful climax you've ever experienced, and it doesn't end. Suka sucks and sucks until she's sucked out every drop of fluid in your body. All that's left of you is a dry and withered cadaver sitting on the chair. ''BAD END'' [[Game over.->Game Over]]
Then her eyes focus on you and glitter with annoyance. "Why? I thought you wanted th... Oh, $npcMadam.name didn't explain, did she. She always forgets to tell them about that. No matter. What's done is done." Her mouth puckers up. The interior glistens with what should be saliva, but it doesn't look right. It looks... purple. But before you can get a good look, Suka's head jerks forward and she sucks up the full length of your cock in one smooth movement. This time it feels strangely cold inside her mouth, but only briefly. A numbness remains, which seeps into your bones. You collapse back on the chair and your arms fall limply to your sides. You can't move. Suka wipes the back of her hand across her lips. "That should stop your squirming. Now sit back and enjoy your suck." [[She prepares to give you a big suck.->Suka no-Hirudo: Blowjob Bad End]]
Then she looks at you and her eyes widen. Her cheeks redden in embarrassment.<br> <br> "Oh, I'm so sorry. I got carried away again, didn't I. Your semen was too tasty."<br> <br> She backs away and prostrates herself on the ground in front of you.<br> <br> <<set $allPurposeTextVar to "vagina">> <<include [[Suka no-Hirudo: Combined Good End]]>>
"Please forgive me. I've broken the bond of trust between a domme and her sub. We had a safe signal and I ignored it."<br> <br> She stares dejectedly at the floor.<br> <br> "I'm supposed to be the dominant one here, and yet here I am, grovelling on the floor. Some dominatrix am I. They said it might help me maintain control, keep disciplined. Maybe I'm just a common leech after all."<br> <br> She seems both mortified and upset. What will you do?<br> <br> /* Either option triggers faction increase (if hasn't been triggered before */ <<include [[Default Harlot: Faction Increase]]>> [[Comfort her?->Suka no-Hirudo: Comfort Her]]<br> [[Take this opportunity to slip away?->Suka no-Hirudo: Slip Away]]<br>
You tell her it wasn't so bad, that no harm was done.<br> <br> "I should be angry to get sympathy from my sub," Suka says. "And you shouldn't be so nice to something that came so close to sucking all your fluids out."<br> <br> She sighs and gets to her feet.<br> <br> "But it is appreciated."<br> <br> She leans forwards and gives you a dainty little peck of a kiss on your cheek.<br> <br> "Thank you for being so understanding. I hope this doesn't put you off from seeing me again. Maybe next time you'll let me give you a lovely big suck with my $allPurposeTextVar instead."<br> <br> Her kiss tingles pleasantly on your cheek as you walk to the door.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[10][1] to true>> <<unset $allPurposeTextVar>> <<include[[Harlot Scenario: End]]>>
While Suka is prostrate on the ground you take the opportunity to pull up your trousers and slip away. She is still kneeling on the floor as you make your way to the exit.<br> <br> <<unset $allPurposeTextVar>> <<include[[Harlot Scenario: End]]>>
You let her carry on. It feels good, great even.<br> <br> Her vagina continues to suck on you like a mouth. Muscular bulges in the fleshy walls undulate up your shaft like luscious lips. It feels like they're trying to coax your semen up your cock and into her pussy.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> You oblige. You don't have much choice. Her pussy sucks and sucks and another, even more powerful, climax crashes through you. Your balls clench, your dick throbs and you fire an even bigger load into her.<br> <br> It's not enough for Suka. Her swollen pussy lips maintain their seal around the root of your cock. Her vagina keeps sucking.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[7][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Vagina Continue 2">> [[Let her continue?->Suka no-Hirudo: Vagina Continue 2]]<br> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Vagina Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Vagina Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Vagina Out Of Semen]]>> <</if>>
You struggle and try to push her off your lap. Carefully. The lips of her vagina have swelled up so tight around your cock you're a little scared she might take it with her.<br> <br> She stops what she's doing and looks at you in a slightly befuddled way. <<if $cgi eq 0>> <<include [[Suka no-Hirudo: Vagina Black Rose]]>> <<else>> <<include [[Suka no-Hirudo: Vagina Good End]]>> <</if>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> You tap Suka on the shoulder.<br> <br> She doesn't stop or even respond. She murmurs in pleasure and writhes against you as her vagina keeps sucking on your cock. You feel another climax building in your balls.<br> <br> Maybe you tapped too soon. Maybe she lied. Maybe she's so carried away with it all she didn't even notice.<br> <br> What will you do?<br> <br> [[Let her continue?->$targetPassage]]<br> [[Try to push her off?->Suka no-Hirudo: Vagina Struggle]] <<else>> Suka relaxes her vagina and your cock is released from that irresistible, fleshy suction.<br> <br> "Mmm, delicious," she says. "I could suck your cum all day. But then you'd dry up and die and I'd be just as bad as one of the nasty succubi."<br> <br> <<include [[Suka no-Hirudo: Repeat Good End]]>> <</if>>
Her pussy sucks and sucks, but nothing comes out. As much as you want to come, you have nothing left.<br> <br> She stops and casually sits in your lap with her legs wrapped around you and the back of the chair.<br> <br> "No more? Then my pussy will suck harder."<br> <br> [[She sucks harder.->Suka no-Hirudo: Vagina Bad End]]
You let her continue. Surely her vagina can't suck you to another climax, not so soon after the previous two?<br> <br> <<set $semenChange to -3>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> She can and does.<br> <br> It doesn't take long before you're shuddering helplessly on the chair as your throbbing cock pours another massive load of semen into her pussy. So much more. Even more than the last load.<br> <br> So much more, it leaves you a jangling, bliss-filled wreck. Now you really feel drained.<br> <br> Maybe you should get her to stop now.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[8][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Vagina Continue 3">> <<if $allHarlots[$hi].hasBeenVisited eq false>> [[It's fine. Let her continue?->Suka no-Hirudo: Vagina Continue 3]]<br> <<else>> [[It's fine. Let her continue?->Suka no-Hirudo: Repeat Vagina Continue 3]]<br> <</if>> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Vagina Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Vagina Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Vagina Out Of Semen]]>> <</if>>
Suck. Suck. Suck.<br> <br> Her vagina continues to work on your cock. Your whole body is a mass of jangling pleasure.<br> <br> And exhaustion.<br> <br> You've just climaxed three times, each more powerful than the last. You lie back sloppily on the chair, content to let her keep doing her thing.<br> <br> <<set $semenChange to -4>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> It takes a little longer this time, but the outcome is the same – semen gushing up your shaft and flooding into her sex. You can feel her suction right in your balls, and maybe even deeper. It's like she's sucking the cum right out of you.<br> <br> Her pussy sucks longer and harder this time and by the time she's finished you're sure she's sucked out every little sperm in your testicles.<br> <br> Only she hasn't finished. Her vagina is still sucking on your cock.<br> <br> This is dangerous. You feel totally drained. And a little lightheaded.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[9][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Vagina Out Of Semen">> <<if $player.semenCount gt 0>> [[Let her continue?->Suka no-Hirudo: Vagina Continue 4]]<br> <<else>> [[Let her continue?->Suka no-Hirudo: Vagina Out Of Semen]]<br> <</if>> <<if $cgi eq 0>> [[Push her away?->Suka no-Hirudo: Vagina Struggle]]<br> <<else>> [[Tap her on the shoulder to stop?->Suka no-Hirudo: Vagina Tap Shoulder]]<br> <</if>> <<else>> <<include [[Suka no-Hirudo: Vagina Out Of Semen]]>> <</if>>
You feel the fleshy lips of her vagina swell up even tighter around your cock. They form a cushioned seal around the root. The walls of her vagina feel cushioned as well. They press in, gently squeezing your erection between them. Suka leans into you. She wraps her arms around you and pushes your face down into her soft boobs. That internal sucking motion starts up again. She begins to suck. //Really suck.// You feel this one past your balls. It tugs at the centre of you, tugs until //something// gives. The sense of release is like the most powerful climax you've ever experienced, and it doesn't end. Suka sucks and sucks until she's sucked out every drop of fluid in your body. All that's left of you is a dry and withered cadaver sitting on the chair. ''BAD END'' [[Game over.->Game Over]]
Then her eyes focus on you and glitter with annoyance. "Why? I thought you wanted th... Oh, $npcMadam.name didn't explain, did she. She always forgets to tell them about that. No matter. What's done is done." Her mouth puckers up. The interior glistens with what should be saliva, but it doesn't look right. It looks... purple. Before you can get a good look, she wraps her hands around the back of your head and crushes her sumptuous lips against yours in a full-bodied kiss. It leaves you breathless and a little fluttery. Suka wipes the back of her hand across her lips. You notice a strange aftertaste on your lips. Astringent. You feel a little odd. Your arms fall limply to your sides. You can't move. "That should stop your squirming. Now sit back and enjoy your suck." [[She prepares to give you a big suck.->Suka no-Hirudo: Vagina Bad End]]
Then she looks at you and her eyes widen. Her cheeks redden in embarrassment.<br> <br> "Oh, I'm so sorry. I got carried away again, didn't I. Your semen was too tasty."<br> <br> She stands up, releasing your cock from the tight clutch of her pussy with an audible wet pop. She backs away and prostrates herself on the ground in front of you.<br> <br> <<set $allPurposeTextVar to "mouth">> <<include [[Suka no-Hirudo: Combined Good End]]>>
You take Sapoonis out into the bar area and find a table. She seems uncomfortable.<br> <br> "I don't like this area of the House," she says, looking around her with distaste. "Too dry. Too dirty."<br> <br> <<set $socNoMoneyLink to "Sapoonis: Socialising: No Money">> <<set $socDrinkLink to "Sapoonis: Socialising: Drinking">> <<include [[While Socialising]]>>
One of the House's scantily clad waitresses comes over to take your order.<br> <br> <<if $player.money eq 0>> [["You have no " + $currencyName + "s!"->Socialising: No Money]] <<else>> <<set $player.money -= 1>> What drink will you order?<br> <br> <<include [[Socialising: Order Drinks]]>> <</if>>
<br> <br> "Oh, that's fine. I only drink water," Sapoonis says. "And they don't charge for that here."<br> <br> That spares you some blushes.<br> <br> The waitress returns with two glasses of water.<br> <br> <<include [[Sapoonis Socialising: Body]]>>
Sapoonis orders a plain glass of water. <<switch $sdi>> <<case 2 3 4>> She looks disapprovingly at your <<print $socialisingDrinks[$sdi].name + ".">> You don't think she likes alcohol.<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Drink Choice with " + $allHarlots[$hi].name>> <<include [[Harlot Affection Change]]>> <<default>> <br> <br> <</switch>> <<include [[Sapoonis Socialising: Body]]>>
Rather sheepishly, you realise you are out of <<print $currencyName + "s">>. <<include [[$socNoMoneyLink]]>>
Sapoonis doesn't talk much, just sits there sipping her glass of water. She seems uncomfortable and fidgety. She can't wait to return to the harlots' area and you wonder if you might have made a mistake bringing her out to the bar.<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Socialising with " + $allHarlots[$hi].name>> <<include [[Harlot Affection Change]]>> <<include [[Socialising: End]]>>
/* Handle harlot affection changes in one place in case we need to make changes (eg items that modify the change or triggers off changes) prereq: $affectionChange, _affectionChangeReason */ <<set _txtStr to "Affection Change: " + _affectionChangeReason>> <<if $player.charms.includes(17) and $affectionChange lt 0>> <<if $isTesting>> ''_txtStr (Cancelled - $allCharms[17].name)''<br> <br> <</if>> <<else>> <<set $allHarlots[$hi].affection += $affectionChange>> <<if $affectionChange gt 0>> <<set _valStr to "+" + $affectionChange>> <<else>> <<set _valStr to "" + $affectionChange>> <</if>> <<if $isTesting eq true>> ''_txtStr (_valStr)''<br> <br> <</if>> <</if>>
<<if $isHarlotTesting>> ''Socialising Test Over''<br> <br> [[Other Testing->Harlot Tester]] <<else>> [["Back to " + $npcMadam.name + " options."->Socialising: Return To Madam]] <</if>>
<<for _i to 0; _i lt $hci.length; _i++>> <<capture _i>> <<set _name to $allHarlots[$hci[_i]].name>> [[_name->Socialising: Harlot Chosen][$hi to $hci[_i]]]<br> <</capture>> <</for>>
"Who would you like to talk to? I'll bring her down right away."<br> <br> //Socialising with a harlot will cost an Action and may have other effects.//<br> <br> <<include [[Socialising: Choose Harlot]]>> <br> [[It's okay. I'm good.->NPC Madam: Continuation Hub]]
<<include [[NPC: Pay Action]]>> <<include [[$allHarlots[$hi].socialisingLink]]>>
$allHarlots[$hi].name shouts angrily at you for wasting her time. She storms back to the presentation area.<br> <br> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and a glass of 'milk' for <<print $allHarlots[$hi].name + ".">> You talk for a while.<br> <br> <<include [[Socialising: End]]>>
Suka no-Hirudo is silent as she walks with you to a table in the bar area. <<set $socNoMoneyLink to "Suka no-Hirudo: Socialising: No Money">> <<set $socDrinkLink to "Suka no-Hirudo: Socialising: Drinking">> <<include [[While Socialising]]>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> Suka says nothing. She just looks at you disapprovingly before returning to the harlots' area.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>> <<else>> <br> <br> "That's careless of you," Suka says. "Luckily for you there's only one drink I'm interested in."<br> <br> Slowly, sensually, she inserts a finger between her plump lips and gives it a long, drawn-out suck. All the while her dark eyes stare suggestively at you.<br> <br> Red-faced and with an uncomfortable erection in your pants, you return to the presentation stage.<br> <br> <<include [[Socialising: End]]>> <</if>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> The waitress brings you your $socialisingDrinks[$sdi].name and a glass of suspiciously red liquid for Suka. She notices you looking.<br> <br> "It's tomato juice," she says.<br> <br> She gives the glass a sniff.<br> <br> "I hope."<br> <br> She puts the straw in her mouth and gives her drink a tentative suck, enough for a taste. Then, satisfied, she relaxes a little.<br> <br> "I have to be careful. Sometimes they switch it for blood. They think they're being funny," she says.<br> <br> You both drink your drinks in silence. You find your gaze drawn irresistibly to Suka's plump, sensual lips as she sucks up her drink. You find it hard to look away.<br> <br> Suka notices you looking and her dark eyes twinkle with amusement.<br> <br> "I see you looking. Are you imagining what these lips would feel like wrapped around your cock? Come up to my room and you can find out for yourself."<br> <br> You are quite hard by the time you escort Suka back to the presentation stage.<br> <br> <<include [[Socialising: End]]>> <<else>> <<if $allHarlots[$hi].currentSexAct eq 1>> <<set _text1 to "blowjob">> <<set _text2 to "my pussy">> <<set _text3 to "lips">> <<else>> <<set _text1 to "pussy">> <<set _text2 to "these lips">> <<set _text3 to "vagina">> <</if>> The waitress comes back with a $socialisingDrinks[$sdi].name for you and surprisingly nothing for Suka.<br> <br> "There's only one drink I'm interested in and I'm not allowed to take it here," she says.<br> <br> She glances down meaningfully at your crotch. Her full lips bunch up in a sensual pout.<br> <br> "You enjoyed my _text1 suck last time, didn't you," she asks. "Why don't you come up to my room and let me suck you with _text2 this time?"<br> <br> Her dark eyes smoulder with barely restrained lusts.<br> <br> "Or my ass, if you're feeling adventurous."<br> <br> She continues to stare at you. Your erection surges in your pants. It remembers the feeling of her _text3 wrapped around it. It's an awkward walk back to $npcMadam.name with that protuberance in your trousers.<br> <br> <<include [[Socialising: End]]>> <</if>>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Create New Player: Default]]>> <<set $player.money to 12>> <<set $player.charms.push(14)>> <<set $currentRound to 1>> <<set $clubActivityUnits to 4>> <<set $postroomActivityUnits to 2>> <<set $isPostRoom to true>> <<set $npcGossip.hasBeenIntroduced to true>> <<set $npcGossip.hasBeenVisited to false>> <<set $npcGossip.hasBeenBoughtFirstDrink to false>> <<set $npcGossip.hasGivenMoneyHints to false>> <<set $npcCharm.hasBeenIntroduced to true>> <<include [[NPC Gossip: Print]]>> <<include [[NPC Gossip: Determine Availability]]>> <<set $hci to [0, 3, 30]>> <<set $hapi to [9, 0, 3, 5, 2, 30]>> [[Begin Tests...->NPC Gossip: Look For]]<br> <br> <<include [[NPC Gossip: Print Leaving Messages]]>> <br>
--NPC Gossip--------------------------------------<br> ''name'' = <<print $npcGossip.name>><br> ''realName'' = <<print $npcGossip.realName>><br> ''isAvailable'' = <<print $npcGossip.isAvailable>><br> ''isUnavailable'' = <<print $npcGossip.isUnavailable>><br> ''hasBeenIntroduced'' = <<print $npcGossip.hasBeenIntroduced>><br> ''hasBeenBoughtFirstDrink'' = <<print $npcGossip.hasBeenBoughtFirstDrink>><br> ''hasGivenMoneyHints'' = <<print $npcGossip.hasGivenMoneyHints>><br> ''hasTalkedAboutHouse'' = <<print $npcGossip.hasTalkedAboutHouse>><br> ''hasBeenAskedForSex'' = <<print $npcGossip.hasBeenAskedForSex>><br> ---------------------------------------------------<br> <br>
$npcGossip.name isn't at her usual place at the bar. You look around and can't see her anywhere. It seems she's otherwise occupied right now. You'll have to talk to someone else.<br> <br> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Gossip: Repeat]] <<else>> <<if $isPostRoom>> [[You go back to your place at the bar.->Post-Room Activities: Hub]] <<else>> [[You go back to your place at the bar.->Club Activities: Hub]] <</if>> <</if>><br> //This did not cost an Action.//
/* Gossip is always available if she hasn't yet been introduced for the first time */ <<if $npcGossip.hasBeenIntroduced eq false>> <<set $npcGossip.isAvailable to true>> <<if $isTesting eq true>> ''$npcGossip.name is available because she hasn't been introduced yet.''<br> <</if>> /* Check if Gossip has been made unavailable because of one of the events. */ <<elseif $npcGossip.isUnavailable eq true>> <<set $npcGossip.isAvailable to false>> <<set $npcGossip.isUnavailable to false>> <<if $isTesting eq true>> ''$npcGossip.name is unavailable because of an event.''<br> <</if>> /* follow the usual procedure for determining availability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcGossip.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcGossip.name is <<if $npcGossip.isAvailable eq false>>un<</if>>available because of availability roll.''<br> <</if>> <</if>>
/* Only show current harlot choices */ <<for _h to 0; _h lt $hci.length; _h++>> <<if $isGossipingOnHarlot and $hi eq $hci[_h]>> <<if $isTesting>> ''Skip $allHarlots[$hi].name as $npcGossip.name is already talking about her.''<br> <</if>> <<else>> <<capture _h>> <<set _name to $allHarlots[$hci[_h]].name>> [[_name->NPC Gossip: Harlot Chosen][$hi to $hci[_h]]]<br> <</capture>> <</if>> <</for>>
<<set $isGossipingOnHarlot to true>> <<set $refreshGossip to false>> <<if $isTesting>> ''Harlot index'' = $hi<br> ''Chosen Harlot'' = $allHarlots[$hi].name<br><br> <</if>> <<if $allHarlots[$hi].isNonStandardGossip>> <<set _isNonStandardGossip to true>> <<if $isTesting>> ''Is NonStandard Gossip''<br><br> <</if>> <<else>> <<set _isNonStandardGossip to false>> <</if>> /* Don't charge actions or money here - need to check still has gossip */ <<if $allHarlots[$hi].gossipGossip.length eq 0>> <<include [[NPC Gossip: Harlot Gossip: Exhausted]]>> <<else>> <<include [[NPC Gossip: Gossip on Harlot]]>> <</if>> /* non-standard Gossip find their own way back */ <<if not _isNonStandardGossip>> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]] <</if>>
<<set $npcGossip.hasBeenVisited to true>> <br> You approach $npcGossip.name. She puffs on her long cigarette holder. She doesn't even look at you as she places an empty cocktail glass on the wooden counter.<br> <br> "Ah perfect timing, darling," she says, talking to you while not looking at you. "I could do with another drink."<br> <br> <<include [[NPC Gossip: Drink Hub Options]]>>
<<if $npcGossip.hasGivenMoneyHints>> <<include [[NPC Gossip: No Money Reminder]]>> <<else>> <<include [[NPC Gossip: No Money Hints]]>> <</if>>
<<set $npcGossip.hasBeenBoughtFirstDrink to true>> <<set $player.money -= 1>> You buy $npcGossip.name a drink.<br> <br> "Why yes, I know all the girls, darling," $npcGossip.name says.<br> <br> As with $npcMadam.name, you get the impression of a very old, experienced woman in a young and attractive body.<br> <br> "I know what makes them quiver and moan in the night, if you know what I mean," she guffaws.<br> <br> She exhales a cloud of smoke in your face. It is strangely scented – more like incense or perfume than cigarette smoke.<br> <br> "Or maybe you just want to know how to leave their room with your life and soul intact."<br> <br> She chuckles.<br> <br> [[Continue.->NPC Gossip: Gossip Hub: First Intro]]
/* This covers only the background code of leaving. It should be included by other leaving passages */ <<if not $hasUsedActionWithNpc>> <<if $isPostRoom>> <<set $postroomActivityUnits -= 1>> <<else>> <<set $clubActivityUnits -= 1>> <</if>> <</if>> <<include [[NPC Gossip: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Gossip: Repeat]] <<else>> <<if $isPostRoom>> [[You return to your place at the bar.->Post-Room Activities: Hub]] <<else>> [[You return to your place at the bar.->Club Activities: Hub]] <</if>> <</if>>
<<set $npcGossip.hasGivenMoneyHints to true>> "No <<print $currencyName + "s?">>" $npcGossip.name says. "How unfortunate."<br> <br> She taps the stem of her cigarette holder, dropping ash onto the bar floor.<br> <br> "There's a man. A portly gentleman with a bowler hat and a pinstripe suit. You can't miss him. He pays very well for any information on the House's girls."<br> <br> She takes a long drag on her cigarette and plumes of smoke spill from her mouth and nostrils.<br> <br> "Not from me, though. Doesn't trust me. Says my information is unreliable."<br> <br> She scoffs.<br> <br> She turns and looks you over.<br> <br> "You might have better luck. He spends so much of his time trying to avoid <<print $npcMadam.name + "'s">> darlings I think he might bat for the other side. If you know what I mean."<br> <br> The corner of her lip turns up in a snide smirk. She orders a fresh drink from $npcBarman.name and studiously ignores you in a way that is quite deliberate.<br> <br>
"No <<print $currencyName + "s?">> $npcGossip.name says. "You need to find the portly gentleman. Or talk to that snake-oil potion seller. I hear she pays for semen samples."<br> <br> She orders a fresh drink from $npcBarman.name and studiously ignores you in a way that is quite deliberate.<br> <br>
$npcGossip.name is smoking and drinking at her regular spot at the bar.<br> <br> "Oh, it's you," she says.<br> <br> She clinks an empty cocktail glass down on the wooden counter.<br> <br> "Have you decided you'd rather not die horribly in this house of deadly carnal delights, or are you still too cheap to buy a lady a drink?"<br> <br> You know what she wants.<br> <br> <<include [[NPC Gossip: Drink Hub Options]]>>
<<set $isGossipingOnHarlot to false>> "Oh, you want the gossip on someone else? And who might that be?"<br> <br> You want to talk about:<br> [[$npcMadam.name + "?"->NPC Gossip: NPC Madam]]<br> [[$npcBarman.name + "?"->NPC Gossip: NPC Barman]]<br> <<if $npcMoney.hasBeenIntroduced>> [[$npcMoney.name + "?"->NPC Gossip: NPC Money]]<br> <</if>> <<if $npcNurse.hasBeenIntroduced>> [[$npcNurse.name + "?"->NPC Gossip: NPC Nurse]]<br> <</if>> <<if $npcPotion.hasBeenIntroduced>> [[$npcPotion.name + "?"->NPC Gossip: NPC Potion]]<br> <</if>> <<if $npcCharm.hasBeenIntroduced>> [[$npcCharm.name + "?"->NPC Gossip: NPC Charm]]<br> <</if>> [[$npcGossip.name + "?"->NPC Gossip: NPC Gossip]]<br> <br> [[Never mind.->NPC Gossip: Continuation Hub]]
<<include [[NPC Gossip: Pay Action]]>> <<set $isGossipingOnHarlot to false>> <<set $npcGossip.hasTalkedAboutHouse to true>> $npcGossip.name takes a long sip of her cocktail.<br> <br> "The House //efficiently// guards its secrets," she says. "Those of us who exist within its walls do well to remember that."<br> <br> The normally loquacious $npcGossip.name seems unusually reticent. She sips her drink and puffs her cigarette in silence.<br> <br> "There are //others// who are not so tightly bound by the geas of the House. Interlopers, so to speak," she says after a pause.<br> <br> Her gaze flicks to $npcBarman.name as he pours a drink for another patron. It is a quick eye movement, one you only just catch, but you are able to catch it. Perhaps as $npcGossip.name intended.<br> <br> "If you were to find such a person, you might find their tongues to be a little freer. Should you wish to discuss the House itself."<br> <br> She exhales a plume of smoke.<br> <br> "Of course, if you are more interested in discussing the House's lovely inhabitants, then the person you should be talking to – and buying drinks for – is the wonderfully charming, elegant and refined //moi//."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
/* This is a long list of everyone the player has been presented with */ <<for _h to 0; _h lt $hapi.length; _h++>> <<if $isGossipingOnHarlot eq true and $hi eq $hapi[_h]>> <<if $isTesting>> ''Skip $allHarlots[$hi].name as $npcGossip.name is already talking about her.''<br> <</if>> <<else>> <<capture _h>> <<set _name to $allHarlots[$hapi[_h]].name>> [[_name->NPC Gossip: Harlot Chosen][$hi to $hapi[_h]]]<br> <</capture>> <</if>> <</for>>
<<set $refreshGossip to true>> "I'm afraid I've told you all I know about <<print $allHarlots[$hi].name + ",\"">> $npcGossip.name says.<br> <br> //This did not cost you an Action or $currencyName.//<br> <br> "We can go over old gossip if you need a reminder. Or we can talk about something else."<br> <br> <<set _isNonStandardGossip to false>>
<<include [[NPC Gossip: Pay Action]]>> "What else do I know about <<print $allHarlots[$hi].name + "?">> Now let me see."<br> <br> She puffs on her cigarette.<br> <br> <<include [[Print Gossip Gossip]]>> <br> <br>
<<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include[[NPC Gossip: Harlot Chosen]]>>
"Ah, our resident water nymph," $npcGossip.name says. "She can come across a little cold, but I've heard she gets quite bubbly with the right touch."<br> <br> She sips her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
"Ah, Suka no-Hirudo. She's a proto-succubus. She tries to hide it with that cheap dominatrix get-up, but they all have raging inferiority complexes. Got a damn good suck on her, I'll give her that. Then I suppose those primitives have to make up in brute force what they lack in artistry."<br> <br> $npcGossip.name takes a long draw on her cigarette.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
/* DEPRECATED */ /* Use this when in the middle of picking a future action with the same NPC */ Before you get a chance to talk further, you feel the buzzer vibrate once in your pocket. It's time to go to the presentation stage.<br> <br> You make your excuses and leave.<br> <br> What will $npcMadam.name have for you this time?<br> <br> [[Go to the Harlot Presentation stage.->Next Round]]
/* DEPRECATED */ /* Use this when in the middle of picking a future action with the same NPC */ Before you get a chance to talk further, you feel the buzzer vibrate twice in your pocket. Time's up. You need to go and make a choice.<br> <br> You make your excuses and leave.<br> <br> [[Go and choose a harlot.->Harlot Selection: Intro]]
<<if $allHarlots[$hi].isNonStandardGossip>> <<set _isNonStandardGossip to true>> <<if $isTesting>> ''Is NonStandard Gossip''<br><br> <</if>> <<else>> <<set _isNonStandardGossip to false>> <</if>> <<include [[NPC Gossip: More Harlot Gossip]]>> /* non-standard Gossip find their own way back */ <<if not _isNonStandardGossip>> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]] <</if>>
<<include [[NPC Gossip: Pay Action]]>> $npcGossip.name pulls a face as she sips her cocktail.<br> <br> "Ah, our dear Madam. Hmm. What to say about her?"<br> <br> She draws on her cigarette holder.<br> <br> "As much as it chafes to acknowledge, all of us are servants to a master, and the most important quality of any servant is to know their place. Even gossips. A prudent gossip knows when to tell all and when to keep her lips buttoned, lest she have them stripped off. After all, it would not be wise to tittle-tattle about someone who would quite cheerfully have all your skin flayed off, and your eyes boiled in incubus piss."<br> <br> She exhales a plume of fragrant smoke.<br> <br> "So, I will tell you that $npcMadam.name is a lovely and fair manager of this establishment, and wishes only for her patrons to have a good time with her highly talented girls."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
<<include [[NPC Gossip: Pay Action]]>> "You want me to gossip about me?"<br> <br> $npcGossip.name splutters on her cocktail with laughter.<br> <br> "What a positively perverse request. Okay then."<br> <br> Her lips curl up in amusement.<br> <br> "Why, she is wonderful. A charming and refined paragon of ladylike femininity."<br> <br> Her smile widens, showing her teeth.<br> <br> "I've also heard she's an absolute fiend in the sack."<br> <br> For a rare moment, she actually deigns to look at you, and you experience the full lustful intensity of her gaze. It heats you up and triggers a throb in your loins. Then she looks away with a little chuckle. She puts the stem of her cigarette holder in her mouth and takes another draw.<br> <br> "Maybe you'll find out later for yourself, but for now we have more pressing concerns."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
/* Morticia Rose */ <<set $hi to 0>> <<set $allHarlots[$hi] to { number: $hi, name: "Morticia Rose", shortDescription: "a gothic lolita type in a pretty black dress and bonnet. Her eyes are black all the way through and look like inky pools of darkness.", faction: 0, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], affection: 0, introductionLink: "Morticia Rose: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Morticia Rose: Socialising", npcGossipLink: "Morticia Rose: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Default Harlot: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Morticia Rose: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Unreachable: Sell Exp Feedback", }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.charms.push(14)>> <<set $hi to 0>> <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* We don't need to score as no player is surviving */ You open the door onto a pretty little bedroom with a slightly gothic flavour. It's more cutesy goth than dark and brooding, with plushies of spiders and cartoon vampires on the cot-like bed. It's also a little //too// childlike, more like entering a daughter's bedroom rather than a mistress's.<br> <br> "Hello."<br> <br> Morticia is standing next to her bed. She still wears the same expression of child-like innocence. Her smile seems a little too fixed though. It would look creepy even without her empty black eyes.<br> <br> You enter the room and the door slams shut behind you. The walls, bed and other furniture start bleeding black ichor. The bed, cushions and chairs melt and collapse into formless black ooze. It stains the walls in pitch-black shadow until it no longer feels like you're standing in a room and instead are lost in a great empty void.<br> <br> "Not what you expected? I did warn you."<br> <br> Morticia is standing exactly where she was before. She seems unperturbed by the room's transformation. Despite everything collapsing into abyssal black darkness, you can still see her clearly, as if she is still being illuminated, although you cannot see any light source.<br> <br> "I tell them not to come, and they still do." Morticia gives a little girlish giggle. "You're all so predictable."<br> <br> The shadows writhe and twist around you. Tendrils snake around your arms and twist them behind your back. Your feet and ankles are snared as if you'd stepped into a tar pit. You are bent backwards and held in place by the living darkness. Morticia snaps her fingers and your clothes burst open.<br> <br> "Where do the succubi feed from? It's here, isn't it."<br> <br> She points at your exposed genitals. She turns her hand around and beckons with a finger. Your penis rises in an erection. There is no arousal or pleasure. The blood is drawn down there by force. It feels like a violation.<br> <br> "Let's feed on you like a succubus," Morticia says.<br> <br> [[Continue.->Morticia Rose: Horror End]]
You take Morticia out into the bar. She skips to the table like a giddy child. With her short stature and doll-like appearance she could be mistaken for being your daughter.<br> <br> No-one would bring their daughter into a place like this.<br> <br> <<set $socNoMoneyLink to "Morticia Rose: Socialising: No Money">> <<set $socDrinkLink to "Morticia Rose: Socialising: Drinking">> <<include [[While Socialising]]>>
Morticia doesn't seem too bothered that you have no money. She seems content to sit at the table with no drink at all.<br> <br> <<include [[Morticia Rose Socialising: Body]]>>
Morticia orders some kind of fancy ice cream sundae. It looks tooth-rottingly sweet.<br> <br> <<include [[Morticia Rose Socialising: Body]]>>
$npcGossip.name takes a long drag on her cigarette. "I'd rather not talk about //her//." <<include [[Print Gossip Gossip]]>> <br><br>
She watches you with a friendly childlike smile. It's okay at first, but then she keeps smiling and you start to feel uncomfortable. Her empty black eyes don't help.<br> <br> At least her talk is harmless enough. She chatters away like an over-excited schoolgirl.<br> <br> Until the end at least, when she fixes you with those empty black eyes and says, "You really shouldn't pick me, you know."<br> <br> You feel a cold chill as you escort her back to $npcMadam.name.<br> <br> <<include [[Socialising: End]]>>
/* Arana Solfugis */ <<set $hi to 3>> <<set $allHarlots[$hi] to { number: $hi, name: "Arana Solfugis", shortDescription: "a dark-skinned girl with medium-length, straight white hair and disconcertingly red eyes. She wears a lacy white chemise stitched together in spiderweb patterns.", faction: 5, minRound: 5, maxRound: 5, isRepeatable: true, hasBeenVisited: false, gifts: [14, 13], affection: 0, hasSocialisedWithCoffee: false, preIntroductionLink: "Arana Solfugis: Pre-Introduction", introductionLink: "Arana Solfugis: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Arana Solfugis: Socialising", npcGossipLink: "Arana Solfugis: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Arana Solfugis: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Arana Solfugis: Populate Harlot Gossip", scenarioLink: "Arana Solfugis: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Arana Solfugis: Sell Exp Intro", sellExpBodyLink: "Arana Solfugis: Sell Exp Body", sellExpFeedbackLink: "Arana Solfugis: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
/* Arana Solfugis */ <<set $willGiveHandjob to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [6,false,false], /* surviving! */ [3,false,false] /* bonus handjob */ ] }>> Arana Solfugis opens the door for you and ushers you into her room. It has a certain spidery, //cobwebby// theme to it. Lacy curtains of silk hang from the ceiling. The bed is an antique four-poster with silk drapes. The sheets are decorated with a large spiderweb design.<br> <br> <<if $player.hasVision>> As to be expected for a giant spider-woman. <<else>> You get the feeling Arana might like spiders. <</if>><br> <br> /* Wary */ <<if $player.currIsCautious>> "Come in, come in," Arana says. "Don't cower there like a frightened mouse. I won't eat you."<br> <br> You enter the room.<br> <br> "I'll suck your juices instead," she whispers in your ear.<br> <br> She closes the door behind you.<br> <br> /* Bold */ <<else>> "Come in, come in," Arana says. "Welcome to my little web."<br> <br> <<if $player.currIsSubmissive>> You enter and she closes the door behind you.<br> <br> <<else>> You stride in.<br> <br> "Mmm, a bold – fearless – entrance. Like a potential mate."<br> <br> Arana chuckles.<br> <br> "Or maybe unsuspecting lunch."<br> <br> She closes the door behind you.<br> <br> <</if>> <</if>> "Ooh, you brought me something," she says, noticing the $allGifts[$cgi].name in your hand.<br> <br> [[Present gift.->Arana Solfugis: Present Gift]]
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.currInt to 3>> <<set $player.hasSeenArachne to true>> <<set $player.charms.push(14)>> <<set $player.charms.push(21)>> <<set $player.hasVision to true>> <<set $player.currIsCautious to false>> <<set $player.currIsSubmissive to false>> <<set $hi to 3>> <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 20>> <<set $allHarlots[$hi].hasSocialisedWithCoffee to false>> <<set $allHarlots[$hi].hasBeenVisited to false>> <<include [[Harlot Tester: Intro]]>>
/* Mug of Coffee */ <<set $gift to { number: 13, name: "Mug of Coffee", isSingular: true, description: "a piping hot mug of fresh coffee", categories: [1] }>>
/* Twig Fetish */ <<set $gift to { number: 14, name: "Twig Fetish", isSingular: true, description: "a collection of twigs and fluff bound together by rough twine to form a vaguely humanoid shape", categories: [10, 11] }>>
You give your gift to her.<br> <br> <<if $cgi eq 0>> /* Black Rose */ <<include [[Arana Solfugis: Gift: Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[1]>> /* Coffee */ <<include [[Arana Solfugis: Gift: Coffee]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> /* Twig Fetish */ <<include [[Arana Solfugis: Gift: Twig Fetish]]>> <<else>> /* Default */ <<include [[Arana Solfugis: Gift: Default]]>> <</if>>
<<if $player.hasVision>> Arana stands there, looking gorgeous, but also monstrous and spidery. You get the feeling something is supposed to happen, maybe some change in form, but Arana remains unchanged – hot, but spidery. <<if not $allHarlots[$hi].hasBeenVisited>> <br> <br> Arana seems a little puzzled by your lack of surprise, as if she was expecting some sort of reaction, but she carries on anyway. <</if>> <<else>> <<if $allHarlots[$hi].hasBeenVisited>> As before, <</if>> Arana's form flickers and changes. While her top half remains broadly the same, her lower half transforms into a gigantic spider. She has eight long jointed legs. Her abdomen is bulbous, sleek and black. It swells and contracts in a loathsome throbbing.<br> <br> Arana's chemise parts at her waist, at the juncture between her human and spider parts. Her black panties are gone and her vagina, if indeed it is a vagina, is clearly visible. The orifice is situated where the mouth of her lower spider body would be and gapes hungrily to reveal a moist pink interior. It looks far too wide and big to fit a regular – or even a large – human penis.<br> <br> <<if $player.hasSeenArachne and not $allHarlots[$hi].hasBeenVisited>> It shouldn't be that much of a shock – you've seen other spider-women in the House. But, yeah, it's still a shock.<br> <br> <</if>> Arana smiles predatorially at you. She's gained three additional pairs of eyes at her temples and on her forehead. All eight glitter with unnatural lusts and hungers. <<set $player.hasSeenArachne to true>> <</if>><br> <br> "Let's begin, shall we," she says.<br> <br> [[Uh oh.->Arana Solfugis: Getting Wrapped Up]]
You ask her if it worked.<br> <br> "Sometimes. Sometimes the man escaped afterwards. Sometimes he did not. Spiders are spiders."<br> <br> /* stat check - need to be bold and not submissive */ <<if not $player.currIsCautious and not $player.currIsSubmissive>> "Hmm. I wonder what you are – prey, mate, to spare?"<br> <br> She puts the twig fetish away and returns to stroke a hand down the side of your face and then down your chest.<br> <br> "Let's get down to business. What would you like me to get you off with - my hands?"<br> <br> Her left hand trails down to your crotch and gives it a little squeeze. Her right hand makes a wanking gesture.<br> <br> "Or my pussy?"<br> <br> Her right hand strokes down the side of her long chemise and moves down, inwards. <<if $player.hasVision>> Her exposed vagina gapes – a little too large and a little too //hungry//. <<if $player.currInt gt 3>> You think she can fit more than a dick in there. A //lot// more. <</if>> <</if>> <br> <br> What will it be?<br> <br> [[Her hands?->Arana Solfugis: Choose Hands]]<br> [[Her pussy?->Arana Solfugis: Choose Vagina]]<br> <<else>> She looks at you.<br> <br> "But those were fearless, bold men. You cower and tremble like a mouse, so..."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]] <</if>>
You stay silent.<br> <br> "Oh, but those are old old times, and few remember the significance nowadays. And you're not part of the few, so..."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]]
"My hands will feel like silk up and down your cock." Arana says.<br> <br> She laughs as if to a private joke.<br> <br> <<set $willGiveHandjob to true>> [[Arana changes...->Arana Solfugis: Transformation]]
Arana smiles brightly. "I am so glad you made that choice."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]]
You back away and your ankles catch on strands of silk running low to the floor. Arana crouches down and angles the tip of her abdomen up and tilted in your direction. Using her back legs, she casts streamers of silk over you. They tangle you up and inhibit your movement. The arachne slowly approaches while you struggle to free yourself.<br> <br> "Now let's get you all wrapped up," she says.<br> <br> She plucks you up off the floor and turns you around while first stripping your clothes, and then covering you in strands of warm, sticky silk. It doesn't take long before she has you completely wrapped up. Your legs are bound together and your arms are trussed tightly to your sides. Only your face and genitals are left uncovered.<br> <br> "And done," Arana says.<br> <br> She rests your cocooned form against her left shoulder while she strokes your exposed cock with her right hand.<br> <br> "The other girls tell me some males get sexually excited from being tied up. Are you one of them?"<br> <br> <<if $allHarlots[$hi].hasBeenVisited eq false>> [[Yes.->Arana Solfugis: Wrapped Up: Yes to Excited]]<br> [[No.->Arana Solfugis: Wrapped Up: No to Excited]] <<else>> Arana laughs.<br> <br> "No need to answer. I know you are. You're a filthy pervert that loves being wrapped up and teased."<br> <br> She wraps a hand around your swelling cock and pumps it.<br> <br> "A filthy masochist pervert. I'm going to put you in my pussy and squeeze all the dirty cum out of you. Are you ready?"<br> <br> [[Are you?->Arana Solfugis: Vagina Bad End]] <</if>>
"You don't need to tell me," Arana says. "I can feel it down here."<br> <br> Your cock swells out into a full erection. Arana pumps it with her hand.<br> <br> "Haha, worthless masochist prey," she laughs. "You're very aroused, aren't you?"<br> <br> She pumps you harder. Your erection strains against her hand.<br> <br> <<if $willGiveHandjob eq true>> [[Maybe it's only sex she's interested in.->Arana Solfugis: Handjob]] <<else>> [[Maybe it's only sex she's interested in.->Arana Solfugis: To Vagina]] <</if>>
"No?" Arana queries.<br> <br> She pumps your swelling cock with her hand.<br> <br> "Your body is telling me something different."<br> <br> She pumps you harder. Your erection strains against her hand.<br> <br> <<if $willGiveHandjob eq true>> [[Maybe it's only sex she's interested in.->Arana Solfugis: Handjob]] <<else>> [[Maybe it's only sex she's interested in.->Arana Solfugis: To Vagina]] <</if>>
"Mmm, a handjob, wasn't it?" Arana says. She lazily pumps your cock. "I'm very good with my hands," she says. She changes grip. Her fingers stroke up and down your shaft. She presses her palm against your glans. "Very dextrous," she whispers. She gently squeezes the head of your cock. You throb with pleasure. "Mmm, let's get a little more comfortable." Comfortable to her is suspending your cocooned body horizontally from the ceiling while she hangs beneath. You lie across her bulbous abdomen. She hunches over and starts working on your cock with both hands. "Now I can really get to work on you," she says. She grips and pumps the base of your cock with one hand while the other tickles and strokes the swollen head of your cock. She is, indeed, very good with her hands. "As a spider, I also have other tricks," she says. She has positioned her abdomen so the tip curves up past your left side. Her spinnerets are perfectly lined up and spray silk all over your crotch. Her long, jointed legs weave the silken strands around your rampant erection. They jerk your cock on puppet strings and it feels like waves of pleasure flowing up your cock. Her hands move back in to stroke, squeeze and tug. You feel a pressure building in your balls. She pauses, leaving your silk-wrapped cock to throb in an ineffectual desire for stimulation. "Mmm, as nice as foreplay is, it's still just foreplay," Arana says. "How about we move on to actual fucking?" She gives the swollen head of your cock a teasing squeeze and it responds with a strong throb. "My pussy is hungry to have you inside." [[Move on to fucking?->Arana Solfugis: Handjob to Fuck]] [[Politely decline?->Arana Solfugis: Handjob Main]]
"Let's get you inside then," Arana says.<br> <br> <<include [[Arana Solfugis: Vagina Bad End]]>>
"Good, let's finish with this foreplay and move onto the main event," Arana says.<br> <br> <<include [[Arana Solfugis: Vagina Bad End]]>>
"Very well," Arana says. "I'll adhere to the rules of the House and the ancient customs of my clan."<br> <br> She squirts more silk and continues to manipulate your cock like a marionette. Her fingers and the strands of silk provide many points of sensation and she quickly has you writhing in helpless pleasure.<br> <br> "I'll have to content myself with the sight of you writhing helplessly in my web while I jerk you off."<br> <br> She presses her boobs against your back. Her hands grip you tight and stroke faster. Her strands form a mesh around your dick, adding an extra layer of sensation. You squirm helplessly, feeling the desire to come build within you.<br> <br> /* Check for Bonus */ <<if $allHarlots[$hi].hasSocialisedWithCoffee eq true>> <<include [[Arana Solfugis: Handjob Bonus]]>> <<else>> <<include [[Arana Solfugis: Handjob Normal]]>> <</if>>
"Mmm, maybe you are more than just prey," Arana says. "I feel a little turned on."<br> <br> You here liquid sounds emanating from her abdomen beneath you.<br> <br> "I'll give you some of my special silk."<br> <br> Her spinneret squirts more silk over your cock. This is thicker, sloppy, gloopier. She keeps spraying until your whole cock is enveloped in a white fluffy mass. It feels warm, and also strangely pleasant, as if the strands are impregnated with some kind of aphrodisiac. Your cock surges within the sticky cocoon.<br> <br> "It's not my pussy, but I think you'll still like it."<br> <br> She buries her hands into the white mass and gets back to pumping your cock. The silk cocoon slides with her hands. It feels like a well-lubricated sex toy sliding up and down your shaft.<br> <br> "Not many can resist special arachne silk applied directly to their genitals. And you're no exception," she says as she feels your cock throb beneath her hands.<br> <br> She squirts another dollop of sticky 'special' silk. Another squeeze. Another tug.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Out of Semen]]>> <<else>> And you can no longer hold on.<br> <br> "Oh yes," Arana says. "Spurt it into my nasty special silk."<br> <br> Your body bucks. You let out a cry and empty a great load into the sticky mass of wet silk cocooning your cock. Your body shakes and your cock throbs as you pour it all out."<br> <br> "Ooh, that is a lot," Arana says. "Now I'm regretting not putting you in my pussy."<br> <br> She gently peels away the sticky mass and your cock is exposed again. It twitches and little milky dribbles ooze from the tip. That was intense.<br> <br> /* Scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<set $isFactionIncrease to true>> "Hmm, maybe we still can," Arana says. <<include [[Arana Solfugis: Request Sex after Handjob]]>> <</if>>
"Let it go," Arana whispers. "Let's see how high I can make this worthless cock squirt."<br> <br> Her dextrous fingers are all over your cock. Squeezing. Coaxing. Stroking.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Out of Semen]]>> <<else>> "It's coming," she says with a triumphant hiss.<br> <br> She squeezes and your cock throbs back. You let out a moan as you buck within the cocoon. You feel a blast of relief as you spray your seed high into the air. Arana keeps pumping you until the flow drops down to a little dribble.<br> <br> Arana pulls her hand back and licks your cum off her palm.<br> <br> "Mmm, delicious," she says.<br> <br> She hugs you with her soft boobs pressed against your back.<br> <br> "Mmm, I bet it would taste even better in my pussy."<br> <br> She nuzzles the back of your neck.<br> <br> "Would feel better for you too."<br> <br> She shifts position until her head is above you and looking down.<br> <br> /* no faction increase - need to get the bonus handjob */ <<include [[Arana Solfugis: Request Sex after Handjob]]>> <</if>>
And nothing comes out. It's been a long night. There's nothing left in your balls.<br> <br> "Oh, are you out?" Arana asks.<br> <br> She gives your cock a stronger tug. She gives it a good squeeze. Nothing. You're done.<br> <br> "All empty?"<br> <br> Her voice is sympathetic. Then she smiles. Her smile chills your blood.<br> <br> "Then you must be prey after all."<br> <br> <<include [[Arana Solfugis: Vagina Bad End]]>>
"We still have some time. How about a second go? This time in my pussy." She gives your oozing manhood a cheeky little squeeze. "I don't think you're done just yet." What do you think? [[Fuck it. Let's fuck!->Arana Solfugis: Vagina after Handjob]] [[Maybe next time.->Arana Solfugis: Good End]]
"I knew you could go again. Let's get on with it."<br> <br> <<include [[Arana Solfugis: Vagina Bad End]]>>
Maybe next time, you tell her.<br> <br> "I'll hold you to that," Arana says.<br> <br> She gives you a moment to recover, then she brings you down from her web and cuts open the cocoon. She produces a damp silk cloth from somewhere, maybe she spun it herself, and wipes the sticky mass of silk and semen from your crotch. Then cleaned up, you retrieve your clothes and put them back on.<br> <br> /* This is where we insert Arana's gossip about other arachnes and insect girls */ Despite her unusual appearance, that was a rather enjoyable wank.<br> <br> "And remember," she says. "Next time we fuck."<br> <br> Her vagina gapes, revealing the moist pink interior. A little too wide, you think. A little too //hungry//.<br> <br> She blows you a kiss as you open the door.<br> <br> /* Scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<unset $willGiveHandjob>> <<include[[Harlot Scenario: End]]>>
She manoeuvres your bound form until you're stretched out horizontally away from her with your feet pointing at her vagina. That vagina gapes wide to reveal a moist pink interior. Gapes wider still. Far too wide...<br> <br> Her forward two legs hook onto the silk binding your arms. Her hands clasp your calves. She pulls you towards her and feeds your feet into her vagina. Muscular peristalsis takes over and your bound form is slowly drawn into her. She moans in pleasure as her vagina slowly swallows you up. You can do nothing but watch in horror as your feet, then your knees, then your hips, then your abdomen gradually vanish into the moist pink orifice. Her vagina even stretches wide enough to accommodate your shoulders and Arana cries orgasmically as she does so.<br> <br> Then, just as you are convinced the spider demon is going to swallow you whole, she stops. <<if $player.charms.includes(21)>> <br><br> "Ooh, a little spice," she says. "Did you buy something from that silly little witch?"<br> <br> She smiles wolfishly.<br> <br> "It won't work on me."<br> <br> <</if>> The fleshy labia of her pussy form a snug collar around your neck. Arana glances down at you between her tits.<br> <br> "Mmm, I love a big man in my pussy," she says.<br> <br> You wish she didn't mean that literally.<br> <br> When the initial panic subsides, you are surprised to find that it's rather comfortable inside Arana. Her moist inner chamber is warm and lined with strange ribs and soft cushions of flesh. When her abdomen squeezes around you it feels like you're being hugged tightly by a voluptuous woman.<br> <br> The floor pushes up and your erection is drawn up into a tight, lubricated orifice in the ceiling of the fleshy chamber. Now it feels like you're being hugged tightly and //fucking// a hot, voluptuous woman.<br> <br> Arana splays out her legs. She places her hands on the side of your head and moans in pleasure. Her abdomen slowly throbs. You are bobbed around inside her. You cock slides back and forth into a tight wet fleshy sheath.<br> <br> Maybe this is how her kind has sex with human males.<br> <br> It does feel like fucking. Really vigorous fucking.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>> <<else>> [[You don't think you can hold on...->Arana Solfugis: Vagina Bad End: 1st Pop]] <</if>>
You can't come any more. As good as it feels, and as much as you want to, it's no good. You're out. Your balls are empty. There's nothing left.<br> <br> "This is the part I adore," Arana says with breathless anticipation. "The semen is gone. The way to the soul is open."<br> <br> She grips the side of your head. Her eyes glow purple. Lines in her abdomen and at the joints of her legs glow purple. The fleshy chamber heats up around you. Her internal vagina grips your cock and squeezes. When her abdomen throbs this time, it feels like Arana is trying to pump something else out of you. Something deep inside you. Something precious.<br> <br> "You're mine, prey," Arana hisses.<br> <br> Her abdomen throbs – long and hard. That something comes undone with you. You ejaculate again, but this is different, like something else is jetting out of you. Arana tugs the soul from your body with one great orgasmic shudder. Your eyes roll back and you lie still.<br> <br> Arana has taken your soul. You are lost.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Then you're adding your own motions to hers. The stimulation has tipped you over to climax. Your body tenses up and you release a jet of cum into the vagina orifice in the ceiling of the chamber. Her real pussy, you think.<br> <br> Arana sighs in orgasm. It's not just her inner vagina, the whole fleshy chamber squeezes and vibrates around you.<br> <br> She only pauses for a brief moment, and then she starts up again. Her abdomen throbs hard and fast. You're forced back and forth in her slick internal pussy. The whole chamber is slick. You're lying in a warm stew of sexual fluids.<br> <br> It only serves to make you harder.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>> <<else>> [[You're coming again...->Arana Solfugis: Vagina Bad End: 2nd Pop]] <</if>>
And then you're coming again. You shudder uncontrollably as more semen floods out of you.<br> <br> "Mmm, yes," Arana sighs. "So much vitality. I knew you'd be a good one."<br> <br> Maybe that would be enough for her.<br> <br> No, she's not done. Her abdomen squeezes, long and slow. Fleshy walls, slick with her juices, press all around you. Her scent leaks out and intoxicates you.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>> <<else>> [[You're coming again...->Arana Solfugis: Vagina Bad End: 3rd Pop]] <</if>>
Your cock throbs. You empty a long, lazy stream of semen into her.<br> <br> Arana stops for a long sigh. The fleshy chamber shudders orgasmically around you. You're jostled, bounced and squeezed within her. Your hard-on won't go down. She drives you up, plunging you deep into that tight fleshy orifice.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>> <<else>> [[More...?->Arana Solfugis: Vagina Bad End: 4th Pop]] <</if>>
You shudder and empty another great jet of cum. Her inner vagina pulsates around you, coaxes more and more from your cock.<br> <br> "Mmm, so much," Arana says.<br> <br> She runs a hand through your hair. Caresses you.<br> <br> "You've done well to keep your dick out of those other sluts."<br> <br> Her inner pussy grips your cock and milks it with long slow tugs.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>> <<else>> [[There cannot be more...?->Arana Solfugis: Vagina Bad End: 5th Pop]] <</if>>
<<if $player.hasVision>> It feels a little strange to walk out into the bar with a girl who's half giant spider, but no-one seems to remark on or even notice this unusual sight. Because of the restraints of her form, you take one of the round tables in an open space. <<else>> In the bar you aim for one of the side booths, but Arana steers you to one of the round tables in an open space.<br> <br> "Those tables aren't very good for accommodating girls like me," she says. <</if>><br> <br> <<set $socNoMoneyLink to "Arana Solfugis: Socialising: No Money">> <<set $socDrinkLink to "Arana Solfugis: Socialising: Drinking">> <<include [[While Socialising]]>>
"Ooh-whoo," $npcGossip.name laughs. "You do like to live dangerously. That spider is a glutton. Not many escape her web."<br> <br> She puffs on her cigarette.<br> <br> "She does follow the old traditions, though. In the past, when males wanted to mate with a spider, they would present her with an offering. It became symbolic. Some spiders still respect it even now. Not that it's a guarantee of safe passage, or ever was. They'll still eat you if you give them the chance. They are spiders, after all."<br> <br> She sips on her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<if $allHarlots[$hi].hasBeenVisited eq false>> <br> <br> Arana laughs.<br> <br> "Your offering better be better," she says. "Although I won't mind if it isn't."<br> <br> She rubs her belly rather ominously. You feel it's time to return.<br> <br> <<else>> <br><br> "No money? What a shame, I was looking forward to nice hot cup of coffee before gobbling you up inside my pussy."<br> <br> She doesn't seem that bothered as you return to <<print $npcMadam.name + ".">><br> <br> <</if>> <<include [[Socialising: End]]>>
Arana orders a large mug of strong coffee. She quaffs it in a single draught and then belches as if she's just downed a pint.<br> <br> "Ah," she sighs.<br> <br> <<if $allHarlots[$hi].hasBeenVisited eq false>> She glances mischievously at you.<br> <br> "It won't work, you know. Getting me drunk."<br> <br> You look at the empty mug of coffee. It had been piping hot when the waitress brought it to the table. You wonder how she was able to drink it that way without scalding her throat.<br> <br> "But some of the old legends are true," she says. "Men used to bring a symbolic offering. Sometimes it worked. Sometimes... spiders are spiders."<br> <br> The smile she gives you is altogether too //hungry//.<br> <br> <<set $allHarlots[$hi].hasSocialisedWithCoffee to true>> <<if $isTesting>> ''Has socialised with coffee with Arana. .hasSocialisedWithCoffee = <<print $allHarlots[$hi].hasSocialisedWithCoffee>>'' <</if>> <<else>> She looks at you.<br> <br> "Remember what we agreed upon last time. This time, we fuck," she says.<br> <br> Arana is very forward. Her smile is also very //hungry//.<br> <br> <</if>> You feel it's time to return.<br> <br> <<include [[Socialising: End]]>>
You erupt again. The climaxes are coming so frequently, they're starting to run together.<br> <br> Arana grunts. She squeezes. This time really squeezes. The warm fleshy walls press tightly all around you. Her inner orifice wraps tightly around your cock and stimulates it with throbbing pulsations.<br> <br> <<include [[Arana Solfugis: Vagina Bad End: Empty]]>>
/* Anna Boa */ <<set $hi to 4>> <<set $allHarlots[$hi] to { number: $hi, name: "Anna Boa", shortDescription: "THIS SHOULD HAVE BEEN OVERWRITTEN BY PRE_INTRODUCTION PASSAGE!", faction: 1, factionIncrease: [false], /* for repeat visits only */ isFiller: true, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [7, 4], affection: 0, preIntroductionLink: "Anna Boa: Pre-Introduction", introductionLink: "Anna Boa: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Anna Boa: Socialising", npcGossipLink: "Anna Boa: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Anna Boa: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Anna Boa: Populate Harlot Gossip", scenarioLink: "Anna Boa: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Anna Boa: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Anna Boa: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.hasSeenLamia to true>> <<set $player.charms.push(14)>> <<set $player.charms.push(17)>> <<set $player.hasVision to true>> <<set $player.currStr to 5>> /* <<set $player.currDex to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ <<set $player.currIsSubmissive to false>> <<set $player.currIsCautious to false>> <<set $player.currIsSerious to false>> <<set $player.currIsSlutty to false>> /* <<set _ailment to 6>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 4>> /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> /* <<set $cgi to 0>> */ <<include [[Harlot Tester: Intro]]>>
/* Anna Boa */ <<set $isFactionIncrease to false>> /* affection thresholds */ <<set $okAffectionThreshold to 1>> <<set $goodAffectionThreshold to 5>> /* setting to 5 allows one miss on gift/attitude */ /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* gift (oil or fluffy) */ [1,false,false], /* wariness (wary or bold) */ [1,false,false], /* serious */ [1,false,false], /* STR 4 */ [1,false,false], /* STR 5 (also score STR 4)*/ [1,false,false], /* Bad Sex */ [1,false,false], /* Medium Sex (also score Bad) */ [1,false,false], /* Good Sex (also score Bad & Med) */ [7,false,false] /* Repeat visit sex */ ] }>> "Come in, come in," Anna Boa says as you enter.<br> <br> Her room is unusual. The most noticeable thing is that the floor is covered in a layer of fine soft sand. The next is that there is no furniture in the room aside from a potted cactus in each corner. The walls are painted light blue – like a wide desert sky – and are hung with pictures of erotica. It's very //muscular// erotica. They remind you of trashy old fantasy paperback covers, if the artists had been allowed to take cheesecake much much further.<br> <br> A ring is marked in the centre of the floor with a thin white rope. It does make you wonder exactly what Anna is into. The room looks more like a sumo wrestling dojo than a tart's boudoir.<br> <br> /* Wary */ <<if $player.currIsCautious>> "Don't cower there," Anna says. "I might mistake you for a mouse and eat you."<br> <br> You're sure you just saw a forked tongue flicker between her lips.<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Anna Boa dislikes this">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<else>> /* Bold */ <<if not $player.currIsSubmissive>> You stride boldly into the room.<br> <br> "Mmm, confident," Anna says. "Maybe you'll make a good challenge."<br> <br> She takes off her short little leather jacket. It appears she's not about to waste any time.<br> <br> <<set $affectionChange to 1>> <<set _affectionChangeReason to "Anna Boa likes this">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> /* default */ <<else>> You walk into the room. Anna is already taking off her short little leather jacket. It appears she doesn't waste any time.<br> <br> /* no affection change */ <</if>> <</if>> "What do you have for me?" she asks.<br> <br> [[Time to give her your gift.->Anna Boa: Gift]]
<<if $player.hasVision>> You take Anna out into the bar. No one seems to notice her serpentine form. You take one the round tables in the open area. <<else>> You take Anna out into the club. She prefers one of the central tables to the side booths. <</if>><br> <br> <<set $socNoMoneyLink to "Anna Boa: Socialising: No Money">> <<set $socDrinkLink to "Anna Boa: Socialising: Drinking">> <<include [[While Socialising]]>>
<<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> <br> <br> <<if _isRepeat>> "Out of money? You should talk to <<print $npcMoney.name + ".">> He pays for information on all the girls. I think I'm a little too intimidating for him."<br> <br> She smiles.<br> <br> "Anyway, I'll see you upstairs for a rematch."<br> <br> <<else>> "Pathetic," Anna says.<br> <br> She returns to the presentation stage without you.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <</if>> <<include [[Socialising: End]]>>
The waitress returns with your drink and a glass of... milk for Anna. It looks like milk, but then with this place you can't be sure.<br> <br> Anna sips her drink and looks at you intently with her bright green eyes. <<if $player.hasVision>> You see her forked tongue flicker between her lips. <<else>> You're again convinced you see a forked tongue flicker between her lips. <</if>> Not only does Anna have a fantastic, athletic figure, she's also slightly intimidating, as if her presence extends outwards and encompasses the whole table. She has the look of a woman who could crumple you up into a little ball with little effort.<br> <br> <<switch $player.currStr>> <<case 1>> Finally, she speaks.<br> <br> "Look, I don't want you to take this the wrong way, but I think you should pick one of the other girls."<br> <br> She reaches over to place a hand on yours.<br> <br> "I play rough and you look a little fragile. I think I'd hurt you."<br> <br> <<case 4>> Anna looks you up and down.<br> <br> "Yes, I think you'll make an adequate challenge."<br> <br> She doesn't elaborate on what that 'challenge' is.<br> <br> <<case 5>> Anna looks you up and down and smiles.<br> <br> "Yes," she hisses. "Perfect. You'll be a perfect challenge. I'd very much like you to pick me."<br> <br> She doesn't elaborate on what that 'challenge' is.<br> <br> /* 2 and 3 */ <<default>> Anna looks you up and down. Her expression is neutral.<br> <br> "Are you sure you want to pick me? I play rough. You might get hurt."<br> <br> <</switch>> The drinks finished, you return to $npcMadam.name.<br> <br>
"That snake? She'll strangle the life out of you. Some girls break hearts. That one crushes ribcages."<br> <br> $npcGossip.name takes a drink of her cocktail.<br> <br> "She's not actually malicious, unlike a lot of the tarts here. I don't think she knows her own strength. It might be a fun experience... if you have the physique to withstand it."<br> <br> She takes another draw on her cigarette holder.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<if $cgi eq 0>> <<include [[Anna Boa: Gift: Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[1]>> <<include [[Anna Boa: Gift: Scented Oil]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> <<include [[Anna Boa: Gift: Small Fluffy Thing]]>> <<else>> <<include [[Anna Boa: Gift: Default]]>> <</if>> /* romantic check */ <<if not $player.currIsSlutty>> The gifts presented, you step forwards to kiss Anna and give her a hug. She rebukes you and stiff arms you back.<br> <br> "We don't do lovey-dovey here," she says. "I require a different kind of foreplay to get my juices going. Now get your clothes off."<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Anna Boa dislikes this">> <<include [[Harlot Affection Change]]>> <</if>> You take your clothes off and hang them on a hook by the door while Anna puts your gift to one side. The fine sand is warm between your toes. There must be some form of underfloor heating.<br> <br> <<if not $player.hasVision>> It's about this time you notice Anna has the lower body of a huge snake. She doesn't have legs. Below the hips, her torso merges with a long serpentine body and tail. It is brown, scaly and patterned with darker brown bands. It is also very thick and muscular. <<if $player.hasSeenLamia>> <br><br> Oh, another lamia. She's not the first you've seen in the House. How do they manage to hide that until you're in the room with them? <<else>> You think you would have noticed that earlier. <<set $player.hasSeenLamia to true>> <</if>><br> <br> <</if>> Anna slithers smoothly into the ring. She adopts some kind of wrestler's stance with her arms bent and set to grab you.<br> <br> "Are you ready for your squeeze?" she asks.<br> <br> [[Are you?->Anna Boa: Wrestling]]
/* Joking */ <<if not $player.currIsSerious>> You find it hard to take her stance seriously and let out a quip about it.<br> <br> Displeasure crosses Anna face. "This is not a place for flippancy."<br> <br> Her tail lashes out and cracks you in the guts. You double over as if just kicked.<br> <br> Anna pounces. <<set $affectionChange to -1>> <<set _affectionChangeReason to "Anna Boa dislikes this">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> /* Serious */ <<else>> Mixed-wrestling as foreplay? Why not.<br> <br> You adopt your own stance and enter the ring. Anna nods approvingly. You both warily circle each other.<br> <br> Anna makes a move, coming in low and much faster than you were expecting. <<set $affectionChange to 1>> <<set _affectionChangeReason to "Anna Boa likes this">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <</if>> She upends you and dumps you on the ground. On the ground, Anna is all over you.<br> <br> [[You wrestle on the floor.->Anna Boa: Wrestling on Floor]]
/* submissive */ <<if $player.currIsSubmissive>> You remain mostly passive, only doing enough to prevent Anna from getting a solid wrestling lock on you too quickly. She seems adept at wrestling and having a powerful woman work you over this way is a turn-on.<br> <br> Although, maybe not to Anna.<br> <br> "Put up some fight," she says in exasperation.<br> <br> That quickly becomes difficult as she loops a coil of her serpentine body around you and rolls you to the floor. <<set $affectionChange to -1>> <<set _affectionChangeReason to "Anna Boa dislikes this">> <<include [[Harlot Affection Change]]>> /* dominant */ <<else>> Mixed-wrestling is fun, but you'd rather be the one on top. As Anna grapples with you on the floor, you use your strength to try and twist her around and get a good hold on her.<br> <br> "Oi, there will be no turning the tables here," Anna says.<br> <br> She gets serious. She loops a coil of her serpentine body around you and slams you back to the sandy floor. <</if>> Her tail is thicker than your thigh and extremely muscular.<br> <br> "Got you," Anna hisses triumphantly. "Now it's time to squeeze."<br> <br> [[You're about to get squeezed.->Anna Boa: The Squeeze]]
More coils loop around you. She starts constricting and bands of solid force tighten around your chest. It feels like lying under a pile of heavy sandbags. It's difficult to breathe.<br> <br> /* fatigue check */ <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> /* STR check */ <<if $player.currStr lt 4 or _hasAilment>> <<include [[Anna Boa: Bad Squeeze]]>> <<elseif $player.currStr lt 5>> <<include [[Anna Boa: Medium Squeeze I]]>> <<else>> <<include [[Anna Boa: Good Squeeze]]>> <</if>>
Anna lies a little way from you. Her face is fixed in effort as she flexes her muscular coils around your chest. The pressure is relentless. It's getting hard to breathe. You kick out and try to push the heavy coils off.<br> <br> "You're not going anywhere," Anna says.<br> <br> A forked tongue flickers between her pink lips. She exerts more effort, pushing you flat to the floor and maintaining that vice-like force around your chest.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<include [[Anna Boa: Medium Squeeze II]]>>
"This is how the squeeze works," Anna says. "Every time you exhale, your ribcage moves in and my coils move in with it."<br> <br> The force is powerful, but by flexing your chest you're able to keep her from squeezing down hard enough to stop you breathing.<br> <br> "Then..."<br> <br> Her face twists up in effort. She flexes harder. It feels like being squeezed in a vice, but you're able to keep your chest moving and suck in great lungfuls of air.<br> <br> Surprise crosses Anna's face. Then a smile.<br> <br> "Oh, you are strong. I adore the strong ones. You make me so wet." Her hand strays down to her crotch.<br> <br> Her coils no longer seem as tight as before. You still can't budge them, but as least you can breathe relatively freely.<br> <br> "Even if it does force me to cheat."<br> <br> She removes her bra to reveal a lovely pair of big boobs. She shifts position until her upper body looms over you. You're still tangled helplessly in her serpentine body.<br> <br> She clutches her boobs and bounces them together.<br> <br> "My secret weapon," she says with a smile.<br> <br> Then she presses those big tits right into your face. You catch the subtle fragrance of her scent, then nothing. She holds them there, smothering you in her warm bosom as effectively as if it was a pillow.<br> <br> "Night night," she whispers.<br> <br> <<set $affectionChange to 3>> <<set _affectionChangeReason to "Anna Boa likes this">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> [[You pass out.->Anna Boa: To Sex]]
Anna lies a little way from you. Her face is fixed in effort as she flexes her muscular coils around your chest. The pressure is relentless. Not only can you not breathe, it's also starting to feel extremely painful. Your ribcage feels like it's about to be crushed like an egg.<br> <br> You gasp and tap out on the sandy floor to indicate you're done. When that doesn't work, you tap her coil and stare at her frantically.<br> <br> /* check for Black Rose */ <<if $cgi eq 0>> <<include [[Anna Boa: Black Rose]]>> <<else>> <<include [[Anna Boa: Horror End]]>> <</if>>
"This is how the squeeze works," Anna says. "Every time you exhale, your ribcage moves in and my coils move in with it."<br> <br> The force is utterly relentless. You beat on her coils with your fists to no effect.<br> <br> "Then, each time you breathe in, there's less and less room for your ribs to expand. Your breaths grow shallower and shallower, until..."<br> <br> You can't move your ribs at all now. No new air can enter your lungs. They start to burn. Black spots dance behind your vision. You feel lightheaded.<br> <br> "...night night."<br> <br> [[You pass out.->Anna Boa: To Sex]]
Anna disdainfully returns your stare.<br> <br> "Far too weak," she says. "You made a mistake coming here."<br> <br> Her face screws up in effort. Her coils squeeze. And squeeze. And squeeze. Something gives. Your ribs crack and splinter and break and are driven down into your lungs. The soft tissue is shredded by bone splinters. Anna watches on with steely contempt, maintaining the merciless pressure around your chest while you cough and gurgle and drown in your own blood.<br> <br> <<include [[Anna Boa: Scenario Clean-Up]]>> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
"So weak," Anna says, "but I did say I'd go easy on you."<br> <br> Mercifully, she relaxes her coils slightly. It's still very difficult to breathe, but the pressure no longer feels bone-crushing.<br> <br> <<include [[Anna Boa: Medium Squeeze II]]>>
You wake up and find yourself completely wrapped in Anna's coils. She's wound her serpentine body all around you. And hers as well. Her upper, human half is lying on top of you and her tail is coiled around both of you, squeezing you together.<br> <br> Her squeeze is mercifully not painful this time. Just snug.<br> <br> Her face is right above yours. Her forked tongue tickles the tip of your nose.<br> <br> "Perfect timing," she says. "I'm just about to put it in."<br> <br> You ask her what the hell was going on before, when it felt like she was trying to murder you.<br> <br> "Lamia foreplay," Anna answers. "We don't get fully turned on until we've constricted our mate to unconsciousness. Well, I don't anyway."<br> <br> Her lips turn up in a smile. The forked tip of her tongue tickles the tip of your nose again.<br> <br> "Asphyxiation also brings a few other benefits," she says.<br> <br> [[You're about to find out what they are.->Anna Boa: Sex]]
You woke up just fine though."<br> <br> Her soft tits press against your chest. Her hips move up and down and your dick slides back and forth into her slick vagina. It's a gorgeous pussy – very tight and well-lubricated.<br> <br> Despite this, you get the feeling Anna isn't totally into this. She's smiling, but it seems a little forced. Her sinuous movements feel good, but also mechanical, as if she's just doing what needs to be done to get you off.<br> <br> That doesn't take long. Her tight pussy feels really nice as it strokes up and down your shaft, and it's not long before you feel a familiar twitch in your cock and balls.<br> <br> "Are you coming, babe?" Anna asks. "That's good. Pour it all out."<br> <br> She presses her hips down. Her coils tighten, squeezing both of you together.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Anna Boa: Out of Semen]]>> <<else>> You have little freedom of movement when the orgasm finally crashes through you. Your cock throbs against the tight walls of Anna's pussy as you empty your balls inside her.<br> <br> /* Black Rose check */ <<if $cgi eq 0>> [[That felt good.->Anna Boa: Black Rose End]] <<else>> [[That felt good.->Anna Boa: Bad Sex End]] <</if>> <</if>>
<<set _isBest to $allHarlots[$hi].affection gte $goodAffectionThreshold>> <<if _isBest>> And I definitely want to take my time with you." <<else>> And I think I want to take my time with you." <</if>> <br> <br> Her soft tits press against your chest. Her hips move up and down and your dick slides back and forth into her slick vagina. It's a gorgeous pussy – very tight and well-lubricated. <<if _isBest>>She writhes and rubs her breasts against you. She seems to be really getting into this.<</if>> <br> <br> "Ooh, I love strangling cock. I love to squeeze and squeeze until they break and cough up their white liquid."<br> <br> <<if _isBest>> Her hands roam all over the muscles of your chest.<br> <br> "And I love the muscular ones the most," she says.<br> <br> <</if>> She wraps her arms around you and hugs you tight. Her constricting coils make it even tighter. She stops grinding her hips against you. The stimulation is all internal now. The walls of her vagina contract and squeeze your member in pulsing muscular motion. And she is very muscular in there. Her vagina gives your cock a proper working over.<br> <br> "Mmm, I think you've been appropriately softened up," Anna says. "Now for the finisher."<br> <br> Something strange happens within her vagina. Soft flanges start stroking up and down your shaft. It feels like her vagina is lined with scales, but incredibly soft and sensitive ones.<br> <br> "Lamia pussy is a little different, is it not," Anna says.<br> <br> The flange-like scales in her pussy stroke faster and faster. The stimulation flows up your penis in waves and concentrates at the tip.<br> <br> "A little special," Anna continues.<br> <br> And now the muscular pulsing sensations return to her vagina. She hugs you tightly with her upper body. Her coils constrict with the same rhythm. The desire to come builds and builds in your loins.<br> <br> "Yes," Anna hisses. "Signal your defeat."<br> <br> Her pussy squeezes and pulses. The inner flanges stroke faster and faster.<br> <br> <<if _isBest>> Then, just when you think Anna is going to stroke you all the way to orgasm, she stops. Her vagina dilates, removing the stimulation to your cock.<br> <br> "No, I don't think I'll rush this one."<br> <br> [[She wants to take this slow.->Anna Boa: Good Sex]] <<else>> /* Semen check */ <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Anna Boa: Out of Semen]]>> <<else>> You can't hold out any longer. Anna holds you tight as you buck and tremble in helpless orgasm. Those stroking flanges within her vagina coax out a big load, one that leaves you panting and completely spent.<br> <br> /* Black Rose check */ <<if $cgi eq 0>> [[That felt good.->Anna Boa: Black Rose End]] <<else>> [[That felt good.->Anna Boa: Medium Sex End]] <</if>> <</if>> <</if>>
The tip of her tail coils around your cock and holds it upright. She doesn't have to do much. You're rock-hard right now. She pushes her hips down and you sink into the soft folds of her pussy.<br> <br> "It can cause a few problems," Anna says. "I've had to do a few in their sleep. They take too long to wake up and $npcMadam.name gets displeased if we take too long with a client. /* affection check */ <<if $allHarlots[$hi].affection lt $okAffectionThreshold>> <<include [[Anna Boa: Bad Sex]]>> <<else>> <<include [[Anna Boa: Medium Sex]]>> <</if>>
As much as her pussy squeezes and strokes, nothing comes out of you. You've done too much tonight. You can't reach climax this this time. Anna pauses.<br> <br> "Nothing is coming out," she says. "Oh well, I shall have to give you a proper //squeeze//."<br> <br> [[Time for her 'proper' squeeze.->Anna Boa: Soul Squeeze]]
Then, after a short while to let you both recover, Anna uncoils her serpentine body from around you. You're free!<br> <br> And also quite satisfyingly spent.<br> <br> Anna helps you back to your feet and presents you your clothes.<br> <br> She is polite, but also distant. Business-like.<br> <br> You suppose she is still a prostitute, albeit a fantasy-creature prostitute with the lower half of a giant snake. It is just a job to her.<br> <br> "An adequate squeeze," she says, giving you a chaste peck on the cheek.<br> <br> Just as you're turning for the exit, she gives your bicep a little pinch.<br> <br> "Work on this," she says. "I want you to be more of a challenge next time."<br> <br> Then the spark returns to her eyes, and she gives you a tomboyish smile as she ushers you out.<br> <br> Overall, you get the impression you didn't exactly set Anna's world on fire. But you are walking out, though, which is a considerable improvement from earlier, when it looked like she was about to strangle you to death. You'll take that.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> <<include [[Anna Boa: Scenario Clean-Up]]>> <<include[[Harlot Scenario: End]]>>
Then, after a short while to let you both recover, Anna shifts position. But rather than release you, she tightens her serpentine body.<br> <br> "And now, in accordance with your wishes, I will give you your soul squeeze."<br> <br> <<include [[Anna Boa: Soul Squeeze]]>>
Anna's hands roam all over your chest and down your sides.<br> <br> "I think we'll do this slow and lamia-style," she says. "$npcMadam.name won't mind if we overrun a little."<br> <br> Her pussy starts moving around your cock, very slow and very deliberately. Gentle waves of force flow up your shaft. Her eyes staring deep into yours, she rubs her soft tits against your chest. All around you, her coils start sliding and squeezing. The motions are extremely sensual and arousing.<br> <br> "Mmm yes. Slow," Anna says.<br> <br> Her vagina pulses you right to the edge and then stops. She pauses to let you cool down, and then starts squeezing again.<br> <br> "Let's build this up big."<br> <br> She repeats the cycle of slow pulsating squeezes taking you right to the brink and then pulling back just when you think you are on the verge of climax. Each time you feel the climax, when it comes, will be even bigger.<br> <br> Anna moans and sighs in your arms. "This will be big, are you ready?" she says.<br> <br> Those little flanges within her vagina start stroking your shaft again. She lets it build, up and up, but this time, when you're near the brink, she doesn't pull back and instead pulls you right into it.<br> <br> /* Semen check */ <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Anna Boa: Out of Semen]]>> <<else>> And when you do finally topple over into climax, it's a massive shuddering orgasm that reverberates throughout every fibre of your being. Your loins clench hard and you spurt a massive load into her pulsating pussy. The ejaculation is dragged on and on, with more and more cum coaxed from your cock by the gentle stroking motions of her sex.<br> <br> /* Black Rose check */ <<if $cgi eq 0>> [[That felt good.->Anna Boa: Black Rose End]] <<else>> [[That felt good.->Anna Boa: Good Sex End]] <</if>> <</if>>
Then, after a short while to let you both recover, Anna <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[6][1] to true>> <<include [[Anna Boa: Good End]]>>
<<set _isBest to $allHarlots[$hi].affection gte $goodAffectionThreshold>> uncoils her serpentine body from around you. You're free!<br> <br> And also quite satisfying spent.<br> <br> Anna helps you back to your feet. She still can't keep her hands off you and seems reluctant when she finally passes you your clothes.<br> <br> <<if _isBest>> "That was a most splendid squeeze," she says. <<else>> "That was a nice squeeze," she says. <</if>> /* We maybe put her gossip about other lamias here */ <br> <br> She puts an arm around your waist and escorts you to the door.<br> <br> <<if _isBest>> "You were an excellent challenge, I'd like to squeeze you again."<br> <br> She squeezes your waist into her.<br> <br> "But harder."<br> <br> You're not sure you'd survive //harder//. You survived this time, though, which is a considerable improvement from earlier, when it looked like she was about to strangle you to death. You'll take that. <<else>> "You were a good challenge," Anna says.<br> <br> As you leave you try not to dwell on what might have happened had you been less than 'good'. <</if>> <br> <br> /* currently for both medium and good */ /* Medium+ for faction increase. Maybe only good+ to unlock extra visit */ /* this does not need to be checked as repeat visits follow different path */ <<set $isFactionIncrease to true>> <<if _isBest>> /* unlocks repeat visits */ <<set $allHarlots[$hi].isRepeatable to true>> <</if>> <<include [[Anna Boa: Scenario Clean-Up]]>> <<include[[Harlot Scenario: End]]>>
Anna's body warms up around you. You're not sure if it's your vision going a little crazy from the overstimulation of the climax, but it looks like faint traces of purple light are glowing between her scales.<br> <br> Anna's eyes widen and she puts a hand over her open mouth.<br> <br> "I'm so sorry," she says. "That felt so good I was about to go into soul squeeze."<br> <br> Your ejaculation finally subsides to a little dribble. The light fades from between Anna's scales. You're curious as to what she meant by 'soul squeeze'.<br> <br> Anna sees that, as she asks you, "Would you like to experience my soul squeeze? It's a pleasure beyond even what you've just experienced."<br> <br> You don't know what a 'soul squeeze' is, but pleasure beyond what you've just experienced sounds extremely tempting.<br> <br> [[Yes, you'd like to experience her 'soul squeeze'.->Anna Boa: 1st Yes to Soul Squeeze]]<br> [[No thanks.->Anna Boa: No to Soul Squeeze]]
You tell her, yes, you'd like to try out her soul squeeze.<br> <br> "Are you sure?" Anna asks you.<br> <br> Her eyes are bright, but she asks you in a way that makes you think her 'soul squeeze' might not exactly be good for you.<br> <br> [[Yes, squeeze me!->Anna Boa: 2nd Yes to Soul Squeeze]]<br> [[On second thoughts, thanks but no thanks.->Anna Boa: No to Soul Squeeze]]
You politely turn down her offer.<br> <br> "Probably for the best," Anna says. "As much as you'd enjoy it, it's not an experience you'd survive."<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[6][1] to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[7][1] to true>> She <<include [[Anna Boa: Good End]]>>
You ask her to give you her 'soul squeeze'.<br> <br> "Very well," Anna says. "I'll give you the most sensational 'soul squeeze'."<br> <br> <<include [[Anna Boa: Soul Squeeze]]>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Anna's eyes flare purple. The same glow lights up the edges of her scales. Her body suddenly grows very warm around you. And very close.<br> <br> Anna hugs you tight. Her coils constrict. Her vagina contracts. She begins a long, slow and irresistible //squeeze//.<br> <br> This time it feels strange, as if rather than squeezing you, she's squeezing some ephemeral part of you inside. It doesn't feel painful. In fact, it feels extremely pleasant. She squeezes tighter and tighter and it only feels more intimate.<br> <br> She squeezes, and squeezes, and something, that ephemeral shadow within you, ruptures.<br> <br> There is no pain, only a great burst of pleasure. You're coming, you think. It pours out of you in a great flood, although you're not sure what //it// is.<br> <br> Anna gives a great orgasmic cry as she completes her soul squeeze. Her coils wrap around you and she wrings out that ephemeral part of you. It bursts out into her vagina in a great gush of ecstatic bliss.<br> <br> It is also fatal.<br> <br> Anna squeezes the soul out of your body and you are no more. All that's left is an empty shell in her coils, slowly cooling.<br> <br> <<include [[Anna Boa: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* default behaviour if harlot not picked */ <<set $affectionChange to -1>> <<set _affectionChangeReason to $allHarlots[$hi].name + " Not Picked">> <<include [[Harlot Affection Change]]>>
/* default behaviour if harlot not picked */ <<set $affectionChange to -1>> <<set _affectionChangeReason to $allHarlots[$hi].name + " Mulliganed">> <<include [[Harlot Affection Change]]>>
/* Yellow Tulip */ <<set $gift to { number: 15, name: "Yellow Tulip", isSingular: true, description: "a bright yellow tulip", categories: [2, 3] }>>
/* Panta Prota */ <<set $hi to 5>> <<set $allHarlots[$hi] to { number: $hi, name: "Panta Prota", shortDescription: "an attractive succubus in a pink see-through negligee. Her demonic horns and tail are offset by her big eyes and friendly smile.", faction: 4, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [15], affection: 0, /* She has different modes depending on whether turned down */ mode: 0, introductionLink: "Panta Prota: Introduction", ifNotChosenLink: "Panta Prota: If Not Chosen", ifMulligannedLink: "Panta Prota: If Mulliganned", socialisingLink: "Panta Prota: Socialising", npcGossipLink: "Panta Prota: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Panta Prota: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Panta Prota: Populate Harlot Gossip", scenarioLink: "Panta Prota: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Panta Prota: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
/* Panta Prota */ <<set $isFactionIncrease to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [3,false,false], /* Any Sex */ [1,false,false], /* Sex after turning her down */ ] }>> <<set $mode to $allHarlots[$hi].mode>> You walk into Panta Prota's room. There is little doubt to the purpose of this room. Sensual shades of pink and red predominate the décor. Erotic paintings of naked women are hung on the walls. The bed is large, heart-shaped and piled high with silk pillows. It's almost too much. Overwhelming.<br> <br> <<switch $mode>> <<case 0 1>> <<include [[Panta Prota: Enter Room no Turn Down]]>> <<case 2 3>> <<include [[Panta Prota: Enter Room after Turn Down]]>> <</switch>> [[You present her your gift.->Panta Prota: Gift]]
"Ah, the sweet and innocent Panta Prota. Well, as sweet and innocent as a succubus can get."<br> <br> $npcGossip.name guffaws.<br> <br> "She's just a mere babe. And I mean in terms of age and experience. All succubi are babes in the other sense. Despite that, she's a good one to visit early. She doesn't take too much and she does seem to genuinely care about giving her visitors a good first experience."<br> <br> $npcGossip.name takes a drink of her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<if $allHarlots[$hi].mode eq 0>> Panta is bouncy and very happy as you take her out into the socialising area. You find a spare table, but before you can sit down, Panta puts her arms around you and plants a very long and passionate kiss on your mouth. She only breaks it off when one of the waitresses looks over disapprovingly. You're left a little stunned and pleasantly woozy.<br> <br> "Sorry," Panta says as you sit down. "I'm breaking the rules a little there. I get so excited at the prospect of being someone's first in the House I sometimes let my excitement get the better of me."<br> <br> <<else>> You take Panta out to a quiet table in the socialising area. She seems friendly enough... for a demon.<br> <br> <</if>> <<set $socNoMoneyLink to "Panta Prota: Socialising: No Money">> <<set $socDrinkLink to "Panta Prota: Socialising: Drinking">> <<include [[While Socialising]]>>
<<switch $allHarlots[$hi].mode>> <<case 0>> Despite this, Panta doesn't seem bothered.<br> <br> "You don't need money to give me my favourite drink," she says.<br> <br> Her meaning is very clear.<br> <br> <<include [[Panta Prota: Socialising: Body]]>> <<case 1 2>> You shrug apologetically at Panta.<br> <br> Her face is neutral. She drums her long nails on the tabletop, as if deliberating. Finally, she comes to a decision.<br> <br> "Sorry, gotta go."<br> <br> She runs off, leaving you alone at the table.<br> <br> You return to $npcMadam.name.<br> <br> <<case 3>> You shrug apologetically at Panta.<br> <br> Wordlessly, she gets up and leaves, leaving you alone at the table.<br> <br> You return to $npcMadam.name.<br> <br> <</switch>> <<include [[Socialising: End]]>>
The waitress brings over your drinks – a $socialisingDrinks[$sdi].name for you and some kind of fruit juice for Panta.<br> <br> She stares at you intently while she sucks her drink up through a straw in a very deliberate manner.<br> <br> <<switch $allHarlots[$hi].mode>> <<case 0>> <<include [[Panta Prota: Socialising: Body]]>> <<case 1>> "This isn't your first round?" Panta asks.<br> <br> You confirm.<br> <br> "A pity. I must have missed you. I like to take the new visitors and give them a gentle introduction to the pleasures of the House. We can still have a fun time together. I'm a little less... forceful than some of the girls you might have already encountered."<br> <br> She seems pleasant enough.<br> <br> You finish your drinks and return to $npcMadam.name.<br> <br> <<case 2>> "Didn't you already turn me down?" Panta asks. "Why the interest now?"<br> <br> You're not sure how to answer that.<br> <br> Then Panta's expression cracks open into a smile. "It's okay. All the girls here are gorgeous. Even sex daemons like me can get a little irrationally jealous sometimes. Come up to my room and I'll show you what you missed out on."<br> <br> She smiles and places a hand in yours. Your skin tingles pleasantly at her touch.<br> <br> You finish your drinks and return to $npcMadam.name.<br> <br> <<case 3>> "Didn't you already turn me down?" Panta asks. "And I could have been your first as well."<br> <br> She seems strangely rueful about that.<br> <br> "Why the interest now?"<br> <br> You're not sure how to answer that.<br> <br> Panta doesn't say much afterwards. Her face looks friendly enough, but you sense a layer of frost beneath.<br> <br> You finish your drinks and return to $npcMadam.name.<br> <br> <</switch>> <<include [[Socialising: End]]>>
<<set $isTesting to true>> <<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.currIsSerious to false>> <<set $player.charms.push(14)>> <<set $hi to 5>> <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 8>> /* <<include [[Panta Prota: If Mulliganned]]>> */ <<include [[Harlot Tester: Intro]]>>
<<include [[Panta Prota: Turned Down]]>>
<<include [[Panta Prota: Turned Down]]>>
/* Panta's intro varies depending on mode */ /* advance her mode if she doesn't appear until after round 1 */ <<if $allHarlots[$hi].mode eq 0 and $currentRound gt 1>> <<set $allHarlots[$hi].mode to 1>> <<if $isTesting>> ''<<print $allHarlots[$hi].name>> first appears in round <<print $currentRound + ":">> .mode set to <<print $allHarlots[$hi].mode>>''<br><br> <</if>> <</if>> /* Madam Intro */ <<switch $allHarlots[$hi].mode>> <<case 0>> "Ah, this is the lovely and sweet Panta Prota," $npcMadam.name says. "Her gentle and loving nature make her an excellent first choice for new patrons." <<default>> "Ah, this is the lovely and sweet Panta Prota," $npcMadam.name says. "Her gentle and loving nature make her an excellent choice for the shy and apprehensive." <</switch>> <br> <br> /* Long Description */ Panta Prota has very obvious curled horns and a black devil's tail. You guess she must be a succubus. Despite her demonic appearance, she seems friendly enough. Her eyes are big and blue and her sensual lips are turned up in a welcoming smile.<br> <br> Her body looks soft and womanly, with lush curves in the right places. You can see pretty much all of it. She's not naked, but her pink negligee is see-through enough that she might as well. Underneath that she has pink panties and suspenders. Her skin looks flawless and baby-smooth. Her bubble-gum pink hair is done up in a mass of curls, out of which her horns emerge and curl like those of a ram. <br> <br> /* Harlot Intro */ <<switch $allHarlots[$hi].mode>> <<case 0>> She takes your hand and your skin tingles pleasantly at her touch. Her big blue eyes sparkle.<br> <br> "Hi, let me be your first. I'll make it a really special occasion for you." <<case 1>> She takes your hand and your skin tingles pleasantly at her touch.<br> <br> "I'm sorry I missed you earlier. Even if I'm not your first, I'll be sure to make it special." <<case 2>> She takes your hand and your skin tingles pleasantly at her touch.<br> <br> "Let me take you up to my room and I'll show you what you missed out on." <<case 3>> Panta seems a little withdrawn. Unlike before, she merely takes your hand and mumbles a brief, "Hi." <</switch>> <br>
/* Her mode changes when turned down or mulliganed */ <<if $currentRound eq 1>> <<set $allHarlots[$hi].mode to 3>> <<if $isTesting>> ''$allHarlots[$hi].name turned down in first round: .mode = <<print $allHarlots[$hi].mode>>''<br><br> <</if>> <<else>> <<if $allHarlots[$hi].mode eq 3>> <<if $isTesting>> ''$allHarlots[$hi].name was turned down in the first round: .mode is unchanged''<br><br> <</if>> <<else>> <<set $allHarlots[$hi].mode to 2>> <<if $isTesting>> ''$allHarlots[$hi].name turned down in round <<print $currentRound + ":">> .mode = <<print $allHarlots[$hi].mode>>''<br><br> <</if>> <</if>> <</if>>
"I hope I can be your first," she says. "It's my speciality. I take new visitors and give them a gentle introduction to the pleasures available within the House."<br> <br> Looking at the lovely curves of her body, and her big blue eyes and friendly smile, you think that might not be a bad idea.<br> <br> You're still thinking about it as you return to $npcMadam.name.<br> <br>
You've barely crossed the threshold before Panta is in front of you. She puts her arms around you.<br> <br> /* Serious */ <<if $player.currIsSerious>> "Don't be so serious," she says. "Apart from here."<br> <br> She touches your crotch and a bolt of pleasure courses through you.<br> <br> "We're going to have fun together."<br> <br> She hugs you tightly.<br> <br> <</if>> <<if $mode eq 0>> "Oh, I'm so glad you picked me as your first. This is going to be so enjoyable for you." <<else>> "I would have like to have been your first, but we'll still have an enjoyable time together, I'm sure." <</if>> <br> <br>
Panta awaits you inside with a friendly smile.<br> <br> "Welcome to my room. Time to show you what you missed out on earlier."<br> <br>
You present your gift.<br> <br> /* Black Rose */ <<if $cgi eq 0>> <<include [[Panta Prota: Black Rose Gift]]>> <<else>> <<include [[Panta Prota: Other Gifts]]>> <</if>> [[Panta turns her attentions to you.->Panta Prota: Undress]]
She seems both surprised and pleased by your gift of a <<print $allGifts[$cgi].name + ".">> She sniffs it before placing it into a vase.<br> <br> <<switch $mode>> <<case 0>> "First and last," she says. "I'll make it a pleasure you'll never forget." <<case 1 2>> "Not the first, but I will be your last, it seems. It will be a pleasure you'll never forget." <<case 3>> "I could have been your first, but instead will be your last. How unusual." <</switch>> <br> <br>
<<switch $mode>> <<case 0 1>> She doesn't seem interested in your gift. Still with one arm around you, she takes the $allGifts[$cgi].name and places <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> on a nearby shelf. <<case 2 3>> You walk in and present her the <<print $allGifts[$cgi].name + ".">> Panta doesn't seem interested in <<if $allGifts[$cgi].isSingular>>it.<<else>>them.<</if>> She places <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> on a nearby shelf and returns to you. She seems much more interested in you. <</switch>> <br> <br>
She starts to undress you and you go along with it. There is a pleasant scent in the air, and on her. You feel warm and comfortably fuzzy. Your top is removed and discarded. You feel a pleasant tingle as Panta slides her hands all over your chest. She crouches down and starts pulling down your trousers.<br> <br> <<switch $mode>> <<case 0>> <<include [[Panta Prota: Virgin Questions]]>> <<case 1 2>> "I hope you've not let those other sluts work this too hard," Panta says.<br> <br> She sniffs your crotch in a way that's both a little freaky and arousing.<br> <br> <<if $mode eq 1>> "I'm a little disappointed I wasn't around for your first-round choice. I like to give patrons a gentle introduction to the pleasures of the House. But you're here now, and still alive, so let's have a lot of fun together." <<else>> "Now it's time to show you what you passed on earlier."<br> <br> Panta's smile is wolfish and not at all innocent. <</if>> <br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]] <<case 3>> "I could have been your first," she says.<br> <br> She looks sad.<br> <br> "I'm sorry. I like to give patrons a gentle introduction to the pleasures of the House. It's my speciality. But you weren't to know that."<br> <br> She smiles as she examines your crotch.<br> <br> "At least now I get a chance to show you what you missed out on."<br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]] <</switch>>
"I know this is your first time here, but is it your first time overall. Are you a virgin?" she asks.<br> <br> Well, are you?<br> <br> [[Yes.->Panta Prota: Virgin: Yes]]<br> [[Yes (lie).->Panta Prota: Virgin: Yes Lie]]<br> [[No.->Panta Prota: Virgin: No]]<br> [[No (lie).->Panta Prota: Virgin: No Lie]]<br>
Panta lightly blows on your cock. Her breath is warm and strangely tingly. If you weren't already aroused by the sight of her luscious body, you are definitely aroused now. Blood fills your penis and it swells out in a full erection.<br> <br> Your erection hasn't even reached its peak before Panta wraps her lips around the head, bobs her head forwards, and sucks you in for a dreamy blowjob.<br> <br> It's not a long blowjob, just a couple of bobs of her head, a couple of strokes of her luscious lips up and down your shaft. Probably a good thing. You doubt you would have been able to withstand a medium blowjob, let alone a long one.<br> <br> <<switch $mode>> <<case 0>> Panta releases your cock with a wet pop.<br> <br> "I'm not letting you come until you're inside me," she says.<br> <br> She taps the head of your member as if to test the hardness and gives a satisfied murmur. Then she stands up and wraps a warm hand around your hard-on. Holding onto your cock, she walks you over to the heart-shaped bed. <<default>> Panta releases your cock with a wet pop. There is a knowing smile on her lips as she wraps a warm hand around your hard-on. Holding onto your cock, she walks you over to the heart-shaped bed. <</switch>> <br> <br> [[She pushes you onto the bed.->Panta Prota: Bed]]
"Oh my, you are," Panta says. "I can smell it. It's making me giddy."<br> <br> She sniffs your junk in a way that's quite odd.<br> <br> "Succubi can tell these things," she says. "This is my fantasy. I love taking the pure and innocent and sinking them in an ocean of forbidden pleasures. All succubi do. I normally try to be their first succubus, but to be their first time as well... Oh, calm yourself Panta, we have to give this boy the best first time, not tear him to pieces in orgiastic excitement."<br> <br> She sniffs your crotch again and closes her eyes as she savours the smell.<br> <br> "You've skipped a few rungs in the ladder of sexual pleasures," she says. "I hope you're ready."<br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]]
She sniffs your junk. It's rather odd.<br> <br> "Someone is a dirty liar," she says. "Succubi can tell these things."<br> <br> She doesn't seem angry at your deception. She's smiling as she looks up at you.<br> <br> "It's okay I don't mind. Though, I am a little curious as to why you lied. Did you want to pretend to be pure and innocent? Or did you want to feign inexperience to let me take charge? We can roleplay if you like. I just adore taking the innocent and inexperienced and ruining them."<br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]]
"Yes, I can tell. Succubi know these things."<br> <br> She sniffs your junk in a way that's quite odd.<br> <br> "You should still prepare yourself," she says. "Sex with a succubus can get a little more intense than what you might be used to."<br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]]
"No?" Panta looks puzzled.<br> <br> She sniffs your crotch. Sniffs it again. Then she looks up at you with a knowing smile.<br> <br> "Aw. Are you trying to hide your inexperience? Succubi can tell, by the way. And it's nothing to be ashamed or embarrassed about."<br> <br> She looks back at your cock. Gives it another sniff.<br> <br> "We adore the inexperienced. You're so delicious."<br> <br> [[She turns her attentions to your cock.->Panta Prota: Blowjob]]
The bed is soft and comfortable and you sink right into it. The sheets seem impregnated with an exotic scent. That comfortable fuzziness grows. It's like you're seeing everything through a soft-focus lens.<br> <br> <<switch $mode>> <<case 0 1>> Panta removes her clothes and climbs up on top of you. Her body is lush and inviting. Your hands long to roam over the lovely swells of her hips and breasts. Your skin tingles pleasantly wherever it comes into contact with her.<br> <br> "You don't have to do a thing," Panta says. "Just lie back."<br> <br> She blows a cloud of perfumed breath into your face. Your body sinks even deeper into the soft bed. Panta raises her hips, inserts you, and you sink deeper into her soft vagina.<br> <br> <<case 2 3>> Panta removes her clothes and climbs up on top of you. She aggressively straddles you and pushes you down on the bed.<br> <br> <<if $mode eq 3>> "Turn me down and deny me your first time, <<else>> "Turn me down, <</if>> I'll show you how foolish that was."<br> <br> She grabs your cock and holds it upright. She lifts her hips and slams them down, burying your cock all the way in her vagina.<br> <br> <</switch>> It feels really nice – a perfect sheath for your member. That pleasant tingling sensation is all over your cock, but magnified. You feel your penis belongs here, more than anywhere.<br> <br> <<switch $mode>> <<case 0>> "Not too soon," Panta warns.<br> <br> It's hard. Her perfect vagina fits you snugly like a glove. You nearly explode the moment you enter her.<br> <br> <<default>> "You should be able to withstand that," Panta says. "You've already been with some of the other succubi here, so you should know what it feels like now."<br> <br> It's still not easy. Her perfect vagina fits you snugly like a glove. You only just resist the urge to explode within her.<br> <br> <</switch>> [[Panta starts to fuck you.->Panta Prota: Sex]]
<<switch $mode>> <<case 0 1>> Panta starts to ride you with slow, languorous rolls of her hips. You stare up at her beautiful face and lovely round tits and wonder what you've done to deserve this good fortune. <<case 2 3>> Panta starts to ride you with forceful thrusts of her hips. Seems like she likes it fast and hard. Her face is twisted with feral pleasures. Her lovely round boobs bounce with her movements. <</switch>> <br> <br> <<switch $mode>> <<case 0>> "Feels good, doesn't it, succubus pussy," she says. "It's the best." <<default>> "What's the matter. You should be used to succubus pussy by now." <</switch>> <br> <br> <<switch $mode>> <<case 0 1>> She clasps your hands to the mattress and rides you with lazy rocking motions. She gives little twists and wriggles of her hips, letting your penis explore every nook and cranny inside her.<br> <br> Murmuring in pleasure, she folds her body over yours. Her soft, sensual lips track up your throat, across the line of your jaw and finally meet with your lips in a sweet kiss. <<case 2 3>> She clasps your hands to the mattress and rides you with big thudding bounces. She twists and wriggles and your erection is jostled around inside her soft folds.<br> <br> She pauses. Her lips turn up in a smile that shows off her pointed fangs. <</switch>> <br> <br> <<switch $mode>> <<case 0>> "Feel good?" Panta asks you.<br> <br> You nod.<br> <br> "Now I'll show you why succubi are so special."<br> <br> [[Prepare yourself...->Panta Prota: Coming]] <<default>> "This should be familiar to you as well."<br> <br> [[What does she mean?->Panta Prota: Coming]] <</switch>>
Her vagina does... //something//. A kiss? A squeeze? A suck? Or maybe all three and other things that defy description. You can't tell. Whatever //it// is, it tips you over the edge.<br> <br> /* Semen check */ <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Panta Prota: Out of Semen]]>> <<else>> You climax so hard your thoughts are washed away on a tidal wave of bliss. You feel the orgasm all through your body, from your toes curling to the hairs rising on the back of your neck. Your buttocks and hips buck hard enough to lift Panta up off the bed. You erupt in a massive ejaculation that seems to carry on for a long, blissfully sparkling, time. Finally, completely spent, you collapse back onto the bed.<br> <br> /* Black Rose */ <<if $cgi eq 0>> <<include [[Panta Prota: Black Rose End]]>> <<else>> [[That was... amazing.->Panta Prota: Post-Orgasm]] <</if>> <</if>>
As much as you want to come, you can't. You must have done too much tonight. You don't have anything left.<br> <br> <<switch $mode>> <<case 0 1>> "Oh, why did you have to run out of semen with me. I hate this part." <<case 2 3>> "Run out have you. That's what you get for playing with all those other tarts." <</switch>> <br> <br> You don't have time to wonder what she means before she's folding her body back over you. You relish the feel of her soft tits against your chest, savour her scent filling your nostrils. Her vagina feels wonderful around you.<br> <br> She does that weird suck-squeeze-kiss thing with her sex and then you're coming. You must have had something left after all.<br> <br> No, this is weird. Something else.<br> <br> <<if $mode eq 3>> "I could have been your first. You denied me that so I'll become your last."<br> <br> Her vagina starts pulling on something else within you, something deep down you never even realised you had.<br> <br> Pleasure gives way to pain. A lot of pain. Thankfully, the agony only lasts for as long as it takes Panta to rip the soul from your body and consume it.<br> <br> She stares down sadly at your lifeless and cooling body.<br> <br> "I could have been your first."<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]] <<else>> <<include [[Panta Prota: Apologetic End]]>> <</if>>
<<switch $mode>> <<case 0>> <<include [[Panta Prota: Post-Orgasm Mode 0]]>> <<case 1>> <<include [[Panta Prota: Post-Orgasm Mode 1]]>> <<case 2 3>> <<include [[Panta Prota: Post-Orgasm Danger]]>> <</switch>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Rather than disentangle from you, Panta sits back up. She straddles you with your dick still inside her. You go to protest. You've just come. Your cock is too sensitive. Then you realise you have nothing to complain about. It still feels really good inside her, like you haven't come at all. You're also feeling like you'd like to go again.<br> <br> <<switch $mode>> <<case 0>> "I like being the first," Panta says. "I wish I wasn't also the last, but you have requested it, and the rules of the House say I must obey your wishes."<br> <br> <<case 1 2>> "I prefer being the first to being the last," Panta says, "but you have requested it, and the rules of the House say I must obey your wishes."<br> <br> <<case 3>> /* she doesn't say anything */ <</switch>> Her vagina does that strange thing again – a suck, a squeeze, a kiss. You buck and moan helplessly beneath her. It doesn't take long before you're coming again – spurting and spurting inside her. Panta stays on top and her lovely round breasts bob as she smoothly rides your bucking form. She doesn't let a single drop of your cum dribble out of her vagina.<br> <br> Wow, that was even bigger than the last time, you're sure of it.<br> <br> Panta's expression seems strangely neutral. She folds her body back over you, pressing her soft tits against your chest. Her pussy does that strange squeeze-suck-kiss thing that has you erupting in climax again. This time you just don't stop. You can't. Panta's pussy just feels too good. You want to keep emptying your seed into her.<br> <br> And you do. You wonder if your perception has gotten scrambled with all the pleasure. Surely, it's not possible to keep coming this long.<br> <br> <<if $mode eq 3>> It isn't.<br> <br> The pleasure quickly gives to pain, then agony as it feels like your insides are being scoured with barbed wire. Something is tugged, then snaps. Panta stares down at you coldly as she tears the soul out of your body and consumes it.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]] <<else>> <<include [[Panta Prota: Apologetic End]]>> <</if>>
"I do like being their first," Panta says.<br> <br> She lies entwined around your body. You try to get your scrambled thoughts back under control. That had literally been mind-blowing.<br> <br> "Now you know what this House contains," Panta says.<br> <br> Wow, you think. What amazing luck, you think, to have your car break down outside this place.<br> <br> Panta lets you bask, smiling, in the post-orgasmic glow for a short while, before finally helping you up off the bed.<br> <br> "You need to be careful," Panta says as she helps you get dressed. "What you felt just now was a succubus energy drain. I sucked out a bit of your life essence."<br> <br> You stiffen in her arms, and not in the good way.<br> <br> "Don't worry. I only took a little and it's not permanent. You'll regenerate it in a couple of days."<br> <br> That's good to know, if still a little unnerving.<br> <br> "I don't like taking too much," Panta says. "I want your first time to be gentle. Other succubi are not as considerate. They'll take a lot, maybe even all of it. Some of the other girls in here are even more monstrous."<br> <br> Well, that's reassuring. Not!<br> <br> "However, there are rules. $npcMadam.name likes to keep the game fair. We can't just eat you. There has to be a chance to walk out alive, however slim."<br> <br> She walks you to the door. Her warm body feels good against you. Her scent tantalises your nostrils.<br> <br> "It's a hard game. The House is dangerous and the night is long. Very few make it to morning."<br> <br> She kisses you lightly on the cheek.<br> <br> "At least I gave you this one, good, moment."<br> <br> <<set $isFactionIncrease to true>> <<include [[Panta Prota: Good End]]>>
"I wish I could have been your first, but it wasn't to be."<br> <br> She lies entwined around your body. You try to get your scrambled thoughts back under control. That had literally been mind-blowing.<br> <br> "I'm sure it was still pleasant for you."<br> <br> Panta lets you bask, smiling, in the post-orgasmic glow for a short while, before finally helping you up off the bed.<br> <br> "You need to be careful," she tells you. "You've been fortunate so far. I don't take a lot, but some of the other girls do. Sometimes they take it all. Some are even more monstrous."<br> <br> Well, that's reassuring. Not!<br> <br> "However, there are rules. $npcMadam.name likes to keep the game fair. We can't just eat you. There has to be a chance to walk out alive, however slim."<br> <br> She walks you to the door. Her warm body feels good against you. Her scent tantalises your nostrils.<br> <br> "It's a hard game. The House is dangerous and the night is long. Very few make it to morning."<br> <br> She kisses you lightly on the cheek.<br> <br> "At least I gave you this one, good, moment."<br> <br> /* Only increase faction if see her in first round */ <<include[[Panta Prota: Good End]]>>
Panta turns that switch back on. Then, mercifully – or maybe unfortunately, immediately turns it off.<br> <br> "Ah, that was a little more than I was planning to take."<br> <br> She looks down at you.<br> <br> "Are you okay down there."<br> <br> You nod weakly. You feel like you've been hit with a hammer made out of pure, distilled sex. Your thoughts are a little scrambled.<br> <br> "Sorry about that. I react badly to being turned down. I feel like I have to match up to what the other succubi can do and end up trying too hard. They're maneaters. I'm supposed to be the nice and gentle succubus who starts things off. That's the role $npcMadam.name wants me to play."<br> <br> She gives you a moment to try and get your scrambled head back in place, and then helps you up off the bed. Nerve endings are still sparking randomly all over your body and you feel as skittish as a foal.<br> <br> "No harm done, though," Panta says as she helps you put your clothes back on. "Some of the other girls would have treated you far worse."<br> <br> She escorts you to the door.<br> <br> "The House is dangerous and the night is long. You're going to need to be both lucky and very careful to see the morning."<br> <br> /* Only increase faction if see her in first round */ /* Counts as bonus sex for scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include[[Panta Prota: Good End]]>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> "I could have been your first. You denied me that so I'll become your last."<br> <br> Panta turns that switch back on. This time she doesn't turn it off. Her vagina throbs around you. It does that strange suck-squeeze-kiss thing and you thrash and moan as you're tugged to another orgasm. This one feels like it's been ripped out of you. It also doesn't stop.<br> <br> Panta presses your hands into the mattress and closes her eyes. She rides you serenely.<br> <br> You can't stop, not while Panta maintains her energy drain. You cock keeps spurting more and more inside her. This can't continue forever, you think. And no, it can't. You run dry. Panta doesn't stop. Her vagina starts pulling on something else within you, something deep down you never even realised you had.<br> <br> Pleasure gives way to pain. A lot of pain. Thankfully, the agony only lasts for as long as it takes Panta to rip the soul from your body and consume it.<br> <br> She stares down sadly at your lifeless and cooling body.<br> <br> "I could have been your first."<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
"What's the matter? Was a little energy drain too much for you?"<br> <br> Her vagina does that strange thing again – a suck, a squeeze, a kiss. This time Panta lets it run for longer while you writhe and shudder in helpless pleasure beneath her.<br> <br> It's too much. Far too much. You jump straight back to aroused, and then back to the brink of climax again. This one feels like it's going to be even bigger.<br> <br> /* Semen check */ <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq true>> <<include [[Panta Prota: Out of Semen]]>> <<else>> It is bigger. The orgasm rips through you and buck helplessly on the bad as you pour more semen into Panta's pussy. She stays on top and her lovely round breasts bob as she smoothly rides your bucking form. She doesn't let a single drop of your cum dribble out of her vagina.<br> <br> That also felt awesome.<br> <br> But also a little scary.<br> <br> It was like Panta only needed to flip a switch to get you coming. And could do it again.<br> <br> <<if $mode eq 3>> [[She flips that switch again...->Panta Prota: Post-Orgasm Mode 3]] <<else>> [[She flips that switch again...->Panta Prota: Post-Orgasm Mode 2]] <</if>> <</if>>
"I'm sorry for what's coming. I'm not an old or powerful succubus. I cannot wrap you up in an enchantment powerful enough to mask this part. It will hurt. I will try my best to make it as quick as possible."<br> <br> She is right about the first part. The second, unfortunately not so much.<br> <br> The pleasure quickly gives to pain, then agony as it feels like your insides are being scoured with barbed wire. Something is tugged, then snaps. Panta is very apologetic as she tears the soul out of your body and consumes it.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* Reset stats after every game over. (In theory - might need more thorough testing for some variables) */ /* Initialise NPCs */ <<include [[NpcInit]]>> /* House stats */ <<include [[HouseInit]]>> /* Initialise Gifts */ <<include [[GiftsInit]]>> /* Initialise Potions */ <<include [[PotionsInit]]>> /* Initialise Charms */ <<include [[CharmsInit]]>> /* Initialise Harlots */ <<include [[HarlotsInit]]>> /* Player Ailments (new player created later) */ <<include [[PlayerAilmentsInit]]>> <<set $currentRound to 0>>
/* Initialise some stats associated with NPC_Money */ <<set $npcMoney to { name: "The Portly Gentleman", hasBeenIntroduced: false, isAvailable: true, isUnavailable: false, hasAskedWho: false, hasAskedWhy: false, hasTriedToBuyMulliganToken: false, hasBoughtAllExperiences: false }>>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Test NPC Money: Create Test Player]]>><br> <<set $player.charms.push(12)>> <<set $player.mulliganTokens to 3>> <<set $npcMadam.hasGivenComplementaryMulliganToken to true>> <<set $currentRound to 1>> <<set $clubActivityUnits to $clubActivityMaxUnits>> <<set $postroomActivityUnits to $postroomActivityMaxUnits>> <<set $isPostRoom to true>> <<set $npcMoney.isUnavailable to false>> <<set $npcMoney.hasBeenIntroduced to false>> <<include [[NPC Money: Print]]>><br> <<include [[NPC Money: Determine Availability]]>> <<if $npcMoney.hasBeenIntroduced>> [[Test Subsequent Meeting->Test NPC Money: Subsequent Meeting]]<br> <<else>> [[Test First Meeting->Test NPC Money: First Meeting]]<br> <</if>> [[Test Modify Payout.->Test NPC Money: Modify Payout]]
--NPC Money----------------------------------------<br> ''name'' = <<print $npcMoney.name>><br> ''hasBeenIntroduced'' = <<print $npcMoney.hasBeenIntroduced>><br> ''isAvailable'' = <<print $npcMoney.isAvailable>><br> ''isUnavailable'' = <<print $npcMoney.isUnavailable>><br> <br> ''Has Asked Who'' = <<print $npcMoney.hasAskedWho>><br> ''Has Asked Why'' = <<print $npcMoney.hasAskedWhy>><br> ''Has Tried to Buy Mulligan Token'' = <<print $npcMoney.hasTriedToBuyMulliganToken>><br> ''Has Bought All Experiences'' = <<print $npcMoney.hasBoughtAllExperiences>><br> ---------------------------------------------------<br>
/* Probably triggers after the player has visited their first room. */ "Hey you. Hey, you there."<br> <br> You're walking back to your seat when you notice a portly gentleman in an expensive pinstripe suit waving at you in an attempt to attract your attention. He's sitting alone at a booth table to your right. It's the nearest table to the corridor leading to the harlot's rooms.<br> <br> "Yes you. Could I have a moment of your time?"<br> <br> [[Ignore him?->NPC Money: Ignored]]<br> [[Go over to his table?->NPC Money: Introduction]]<br>
<<if $npcMoney.isAvailable eq true>> <<goto [[NPC Money: Visit]]>> <<else>> <<goto [[NPC Money: Unavailable]]>> <</if>>
You look around for $npcMoney.name and are unable to find him. He's not at his usual table, or anywhere else in the bar for that matter. You wonder if he's finally been forced to take a turn with one of <<print $npcMadam.name + "'s">> ladies.<br> <br> Whatever it is, he doesn't appear to be available right now. You'll have to talk to someone else instead.<br> <br> <<if $isNpcTesting>> [[More Testing.->Test NPC Money: Repeat]] <<else>> [[You go back to the bar.->Post-Room Activities: Hub]] <</if>><br> <br> //This did not cost an Action.//<br> <br>
$npcMoney.name is all smiles as you approach his table.<br> <br> "Hello, young sir. And what business would you like to conduct today?"<br> <br> <<include [[NPC Money: Hub]]>>
''TESTING: This would be when $npcMoney.name hails player on leaving room for the first time.''<br> <br> <<include [[NPC Money Hails Player]]>>
''TESTING: For subsequent visits to $npcMoney.name''<br> <br> <<include [[NPC Money: Look For]]>>
<<if $npcMoney.hasBeenIntroduced eq false>> <<set $npcMoney.isAvailable to true>> <<if $isTesting eq true>> ''$npcMoney.name is available because he hasn't been introduced yet.''<br> <br> <</if>> /* Check if NPC_Money has been made unavailable because of one of the events */ <<elseif $npcMoney.isUnavailable eq true>> <<set $npcMoney.isAvailable to false>> <<set $npcMoney.isUnavailable to false>> <<if $isTesting eq true>> ''$npcMoney.name is unavailable because of one of the events.''<br> <br> <</if>> /* Follow the usual procedure for determining avaialability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcMoney.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcMoney.name is <<if $npcMoney.isAvailable eq false>>un<</if>>available because of availability roll.''<br> <br> <</if>> <</if>>
/* Framework for sell experiences with all the math Each harlot will provide their own tweak on text */ <<include [[NPC: Pay Action]]>> <<include [[NPC Money: Sell Exp: Calculations]]>> <<include [[NPC Money: Modify Payout]]>> /* Harlot-Specific text and code */ <<include [[$allHarlots[$hi].sellExpLink]]>> <<set $player.money += _score>> <<unset $rsi>> <<if $isHarlotTesting>> [[Next Round->Test Harlot: Next Round]] <<else>> [["Back to " + $npcMoney.name + " options."->NPC Money: Continuation Hub]]<br> <</if>>
<<include [[NPC: Pay Action]]>> You hand over the $mulliganToken.name and $npcMoney.name pushes $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> across the table to you.<br> <br> "A most satisfactory transaction," he says.<br> <br> He secretes the $mulliganToken.name away on his person.<br> <br> "Should you come across another, bring it here. I will purchase that from you for the same price."<br> <br> <<include [[NPC Money: Sell Mulligan Token: Combined Body]]>>
You ignore the man and carry on walking to your spot at the bar. The man waves and calls after you one more time before giving up and sitting back down at his table.<br> <br> You wonder what his issue is.<br> <br> <<if $isNpcTesting>> [[More Testing.->Test NPC Money: Repeat]] <<else>> [[You return to your place at the bar and ponder your next move.->Post-Room Activities: Hub]] <</if>>
<<set $npcMoney.hasBeenIntroduced to true>> $npcMoney.name wears a bowler hat and pinstripe suit. He has quite an impressive walrus moustache. He also looks slightly anachronistic, like a Victorian banker, or rather, someone playing the role of a Victorian banker in a stageplay. Seeing you approach, he shoos away the other people at his table and makes room.<br> <br> "Hello," he says. "I couldn't help but notice you've just come back from the... ahem... ladies' quarters. I don't suppose you could furnish me with the full... harrumph... details of your encounter. I'm prepared to pay for this information."<br> <br> He splays out some <<print $currencyName + "s">>, holding them to the table beneath pudgy fingers.<br> <br> You weigh him up, trying to work out why he'd want to pay for these details.<br> <br> What will you say to him?<br> <br> <<include [[NPC Money: Hub]]>>
You ask $npcMoney.name who he is.<br> <br> "I'm afraid I'm just another fly, snared – like you – in her damnable web."<br> <br> He gestures over to where $npcMadam.name is standing and smiling at her usual spot.<br> <br> That's all he'll tell you about himself. He asks you again about the details of your recent encounter.<br> <br> What will you do?<br> <br> <<set $npcMoney.hasAskedWho to true>> <<include [[NPC Money: Hub]]>>
You are wondering if he might be some kind of pervert getting off on other people's sexual escapades, and that must have come through in your question as <<print $npcMoney.name + "'s">> face reddens and he looks a little flustered.<br> <br> "No, not at all. I want to survive this damnable house. Out there, I was an extremely wealthy man. In here, information is the only currency that matters."<br> <br> He beckons you closer and lowers his voice.<br> <br> "I don't know if you've already noticed, but the girls in this establishment are not girls. They are all foul demons from hell. Their seductive, fleshy forms are just lures to draw us in close so they can hoodwink the souls from our bodies. You don't know how lucky you are to walk back down here. Their rooms are death traps. Lined with velvet, maybe, and sprayed with pretty scents, but death traps nonetheless."<br> <br> His walrus moustache bristles.<br> <br> "Thankfully, they don't appear to be allowed to kill us with impunity. Otherwise we'd already be dead. There are rules, although only she seems to know them."<br> <br> He nods his head to $npcMadam.name again.<br> <br> [[Where do I come in on this?->NPC Money: Where do I come in]]
/* Go through Room Scores to see which still need scoring */ <<set $npcMoney.hasBoughtAllExperiences to false>> <<include [[NPC Money: Get Unscored Room Scores]]>> <<if _unscored.length eq 0>> <<set $npcMoney.hasBoughtAllExperiences to true>> You have no experiences to tell.<br> <br> <<else>> <<for _i to 0; _i lt _unscored.length; _i++>> <<set _rsi to _unscored[_i]>> <<set _hi to $player.roomScores[_rsi].harlotNumber>> <<set _name to $allHarlots[_hi].name>> <<capture _rsi>> [["Describe your experiences with " + _name + "?"->NPC Money: Sell Experiences][$rsi to _rsi]]<br> <</capture>> <</for>> <<if $npcMoney.hasTriedToBuyMulliganToken>> //This will cost an Action.//<br><br> <<else>> //This will cost an Action (for post-room activities you have $postroomActivityUnits <<if $postroomActivityUnits eq 1>>Action<<else>>Actions<</if>> remaining).//<br> <br> <</if>> <</if>>
/* Check if time is up */ <<include [[Post-Room Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Money: Time Up]]>> <<else>> <<include [[NPC Money: Questions Options]]>> <<include [[NPC Money: Sell Harlot Info Options]]>> <<include [[NPC Money: Sell Mulligan Tokens Options]]>> <<include [[NPC Money: Leave Options]]>> <</if>>
You ask him where you come in on this.<br> <br> "Why, you survived," $npcMoney.name explains. "You walked right up into one of those death rooms and returned to tell the tale. And that's the valuable thing, the tale."<br> <br> He scrapes coins across the surface of the table.<br> <br> "The knowledge of your experiences could help someone else survive, and for that reason I'm prepared to pay you for it."<br> <br> $npcMoney.name seems serious.<br> <br> What will you do?<br> <br> <<set $npcMoney.hasAskedWhy to true>> <<include [[NPC Money: Hub]]>>
/* The first time you try to leave NPC_Money will try to buy mulligan token off you */ <<set $wasLeaving to true>> You're just about to get up and leave when $npcMoney.name stops you.<br> <br> "Oh, one more thing, I don't suppose you have any of these?"<br> <br> <<if $npcMadam.hasGivenComplementaryMulliganToken>> He holds up one of the <<print $mulliganToken.name + "s">> $npcMadam.name gave you.<br> <br> <<if $player.mulliganTokens gt 0>> [[You do.->NPC Money: Has Mulligan Token]]<br> <<else>> [[You don't.->NPC Money: Doesn't Have Mulligan Token]]<br> <</if>> <<else>> He holds up a silver disc. It looks slightly larger than a coin. One side has the devil-girl logo you've seen all over the House. The other side shows a stone tower being hit by lightning.<br> <br> <<if $player.mulliganTokens gt 1>> [[Wait, you have some of those. What are they?->NPC Money: Explains Mulligan Tokens]]<br> <<elseif $player.mulliganTokens eq 1>> [[Wait, you do. What is it?->NPC Money: Explains Mulligan Tokens]]<br> <<else>> [[No, what is it?->NPC Money: Explains Mulligan Tokens]]<br> <</if>> <</if>>
You tell $npcMoney.name you'd rather keep that information to yourself for now. He seems disappointed, but not overly so.<br> <br> "As you wish," he says. "If you change your mind, I'll be here. Remember, I'm prepared to pay quite handsomely for any information on <<print $npcMadam.name + "'s">> girls."<br> <br> [[You go to leave.->NPC Money: Leave: First Time]]
<<set $npcMoney.hasTriedToBuyMulliganToken to true>> You pull out a $mulliganToken.name and show him.<br> <br> "You do?" $npcMoney.name's eyes light up. "Excellent. Excellent. Would you be willing to sell it to me?"<br> <br> His pudgy fingers push $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> in your direction. The tips of his fingers never come off the coins. You get the feeling you'd need a crowbar to prise them off.<br> <br> "What do you say? $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> for that $mulliganToken.name in your hand. It's a good deal."<br> <br> What do you say?<br> <br> [["Sell him the " + $mulliganToken.name + " for " + $mulliganToken.moneyBuyPrice + " " + $currencyName + "s?"->NPC Money: Sell First Mulligan Token]]<br> //This will cost an Action (for post-room activities you have $postroomActivityMaxUnits Actions).//<br> <br> [[Haggle on the price?->NPC Money: Haggle]]<br> [[Decline?->NPC Money: Decline to Sell Mulligan Token]]<br>
<<set $npcMoney.hasTriedToBuyMulliganToken to true>> You tell him you no longer have one.<br> <br> "A pity," $npcMoney.name says. "I would have bought it off you for a good price. If you do happen across another, bring it to me. I'm prepared to pay $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> for each $mulliganToken.name."<br> <br> You tell him you'll think about it. Then, your business concluded, you leave <<print $npcMoney.name + "'s">> table.<br> <br> <<include [[NPC Money: Leave]]>>
<<set $npcMoney.hasTriedToBuyMulliganToken to true>> You ask him what it is.<br> <br> "Ah, $npcMadam.name hasn't given you one yet," $npcMoney.name says. "Speak to her when you get the chance. She gives one to each new visitor. And when you've received yours, bring it to me. I'll pay you $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> for it. It's practically free money!"<br> <br> <<if $player.mulliganTokens gt 0>> You tell him you have <<if $player.mulliganTokens gt 1>>some<<else>>one<</if>> of those. <<include [[NPC Money: Has Mulligan Token]]>> <<else>> Then, your business concluded, you leave <<print $npcMoney.name + "'s">> table.<br> <br> <<include [[NPC Money: Leave]]>> <</if>>
It seems a reasonable deal. <<include [[NPC Money: Sell Mulligan Token]]>>
You attempt to drive up the price.<br> <br> "It's the maximum I'm prepared to offer," $npcMoney.name says in a tone that brooks no further argument.<br> <br> [["Sell him the " + $mulliganToken.name + " for " + $mulliganToken.moneyBuyPrice + " " + $currencyName + "s?"->NPC Money: Sell First Mulligan Token]]<br> //This will cost an Action (for post-room activities you have $postroomActivityMaxUnits Actions)//<br> <br> [[Decline?->NPC Money: Decline to Sell Mulligan Token]]<br>
"As you wish," $npcMoney.name says.<br> <br> He draws the <<print $currencyName + "s">> back to him.<br> <br> "If you change your mind, I'm always here."<br> <br> <<include [[NPC Money: Leave Message]]>>
Your business concluded, you leave the table.<br> <br> <<include [[NPC Money: Leave]]>>
You pull out another $mulliganToken.name.<br> <br> "Another," $npcMoney.name says, his moustache quivering in excitement. "Why, I'll buy that one off you too."<br> <br> He pushes another $mulliganToken.moneyBuyPrice <<print $currencyName + "s">> across the table to you.<br> <br> "Another satisfactory transaction," he says as you hand the $mulliganToken.name over.<br> <br> <<include [[NPC Money: Sell Mulligan Token: Combined Body]]>>
"What other business would you like to discuss?" $npcMoney.name asks.<br> <br> <<include [[NPC Money: Hub]]>>
<<set $player.mulliganTokens -= 1>> <<set $player.money += $mulliganToken.moneyBuyPrice>> <<if $wasLeaving>> <<if $player.mulliganTokens gt 0>> What will you do now?<br> <br> [["Sell him another for " + $mulliganToken.moneyBuyPrice + " " + $currencyName + "s?"->NPC Money: Sell Another Mulligan Token]]<br> //This will not cost you an action.//<br> <br> [[Leave.->NPC Money: Leave Message]] <<else>> <<include [[NPC Money: Leave Message]]>> <</if>> <<else>> <<if $player.mulliganTokens gt 0>> What will you do now?<br> <br> [["Sell him another for " + $mulliganToken.moneyBuyPrice + " " + $currencyName + "s?"->NPC Money: Sell Another Mulligan Token]]<br> //This will not cost you an action.//<br> <br> <</if>> [["Back to " + $npcMoney.name + " options."->NPC Money: Continuation Hub]]<br> <</if>>
/* Check a score object to determine if has been scored */ /* Assumes _scoreArray has been defined */ <<set _hasBeenScored to true>> <<for _si to 0; _si lt _scoreArray.length; _si++>> <<if _scoreArray[_si][1] eq true and _scoreArray[_si][2] eq false>> <<set _hasBeenScored to false>> <</if>> <</for>>
/* Score a score Array */ /* NOTE: This has to be done directly on player object otherwise we're only altering a copy */ /* We need the $rsi to get the right array */ <<set _score to 0>> <<for _si to 0; _si lt $player.roomScores[$rsi].scoreArray.length; _si++>> /* Only score items that haven't been scored */ <<if $player.roomScores[$rsi].scoreArray[_si][2] eq false>> /* score */ <<if $player.roomScores[$rsi].scoreArray[_si][1] eq true>> <<set _score += $player.roomScores[$rsi].scoreArray[_si][0]>> <<set $player.roomScores[$rsi].scoreArray[_si][2] to true>> <</if>> <</if>> <</for>>
/* Get maximum score available for score array */ /* Assumes _scoreArray has been defined */ <<set _maxAvailablePts to 0>> <<for _si to 0; _si lt _scoreArray.length; _si++>> <<set _maxAvailablePts += _scoreArray[_si][0]>> <</for>>
[[Basic Tests->Score Array Tests: Basic]]<br> [[Player Tests->Test Scoring: Score The Array]]<br>
<<set _scoreArray to [ [1, true, false], [2, true, false], [1, true, false], [3, false, false], [2, false, false] ]>>
/* assumes _scoreArray has been defined */ <<for _si to 0; _si lt _scoreArray.length; _si++>> <<print _scoreArray[_si][0] + ", " + _scoreArray[_si][1] + ", " + _scoreArray[_si][2]>><br> <</for>>
<<set _scoreArray to [ [1, true, true], [2, true, true], [1, true, true], [3, false, false], [2, false, false] ]>>
--UNSCORED---------------------------------------<br> <<include [[Create Test Score Array 1]]>> Test Array 1:<br> <<include [[Score Array: Print]]>> <br> <<include [[Score Array: Get Max Pts]]>> Max Pts = _maxAvailablePts (Should be 9)<br> <<include [[Score Array: Has Been Scored]]>> HasBeenScored = _hasBeenScored (should be false)<br> <<include [[Score Array: Get Score Gained]]>> Score gain = _score (should be 4)<br> <br> <<include [[Score Array: Get Total Score]]>> Total Score = _totalScore (should be 4)<br> <br> --SCORED----------------------------------------<br> <<include [[Create Test Scored Array 1]]>> Test Array 1:<br> <<include [[Score Array: Print]]>> <br> <<include [[Score Array: Get Max Pts]]>> Max Pts = _maxAvailablePts (Should be 9)<br> <<include [[Score Array: Has Been Scored]]>> HasBeenScored = _hasBeenScored (should be true)<br> <<include [[Score Array: Get Score Gained]]>> Score gain = _score (should be 0)<br> <br> <<include [[Score Array: Get Total Score]]>> Total Score = _totalScore (should be 4)<br> <br> --PARTIAL SCORED-------------------------------<br> <<include [[Create Test Partial Scored Array 1]]>> Test Array 1:<br> <<include [[Score Array: Print]]>> <br> <<include [[Score Array: Get Max Pts]]>> Max Pts = _maxAvailablePts (Should be 9)<br> <<include [[Score Array: Has Been Scored]]>> HasBeenScored = _hasBeenScored (should be false)<br> <<include [[Score Array: Get Score Gained]]>> Score gain = _score (should be 5)<br> <br> <<include [[Score Array: Get Total Score]]>> Total Score = _totalScore (should be 9)<br> <br>
<<set _scoreArray to [ [1, true, true], [2, true, true], [1, true, true], [3, true, false], [2, true, false] ]>>
/* Works out what the score gained would be without actually scoring the array */ /* Assumes _scoreArray has been defined */ <<set _score to 0>> <<for _si to 0; _si lt _scoreArray.length; _si++>> /* Only score items that haven't been scored */ <<if _scoreArray[_si][2] eq false>> /* score */ <<if _scoreArray[_si][1] eq true>> <<set _score += _scoreArray[_si][0]>> <</if>> <</if>> <</for>>
<<set _scoreArray to [ [1, true, false], [4, true, false], [1, false, false], [1, false, false], [1, false, false] ]>>
<<include [[Create Test Score Array 1]]>> <<set _roomScore to { round: 1, harlotNumber: 1, scoreArray: _scoreArray }>> <<set $player.roomScores[0] to _roomScore>> <<include [[Create Test Score Array 2]]>> <<set _roomScore to { round: 2, harlotNumber: 2, scoreArray: _scoreArray }>> <<set $player.roomScores[1] to _roomScore>> --BEFORE SCORING-------------------------------<br> <<include [[Player: Print Room Scores]]>> <br> SCORING ROUND1:<br> <<set $rsi to 0>> <<include [[Score Array: Score the Array]]>> Score = _score (should be 4)<br> <<set _scoreArray to $player.roomScores[$rsi].scoreArray>> <<include [[Score Array: Has Been Scored]]>> Has Been Scored = _hasBeenScored (should be true)<br> <br> SCORING ROUND2:<br> <<set $rsi to 1>> <<include [[Score Array: Score the Array]]>> Score = _score (should be 5)<br> <<set _scoreArray to $player.roomScores[$rsi].scoreArray>> <<include [[Score Array: Has Been Scored]]>> Has Been Scored = _hasBeenScored (should be true)<br> <br> --SECOND ROUND OF SCORING--------------------<br> <<set $player.roomScores[0].scoreArray[3][1] to true>> SCORING ROUND1:<br> <<set $rsi to 0>> <<include [[Score Array: Score the Array]]>> Score = _score (should be 3)<br> <<set _scoreArray to $player.roomScores[$rsi].scoreArray>> <<include [[Score Array: Has Been Scored]]>> Has Been Scored = _hasBeenScored (should be true)<br> <br> SCORING ROUND2:<br> <<set $rsi to 1>> <<include [[Score Array: Score the Array]]>> Score = _score (should be 0)<br> <<set _scoreArray to $player.roomScores[$rsi].scoreArray>> <<include [[Score Array: Has Been Scored]]>> Has Been Scored = _hasBeenScored (should be true)<br> <br>
<<include [[Create New Player: Default]]>> <<include [[Create Test Score Array 2]]>> <<set _roomScore to { round: 1, harlotNumber: 2, scoreArray: _scoreArray }>> <<set $player.roomScores[0] to _roomScore>> <<set _roomScore to { round: 2, harlotNumber: 4, scoreArray: [ [1,true,false], /* gift (oil or fluffy) */ [1,true,false], /* wariness (wary or bold) */ [1,false,false], /* serious */ [1,true,false], /* STR 4 */ [1,true,false], /* STR 5 (also score STR 4)*/ [1,true,false], /* Bad Sex */ [1,true,false], /* Medium Sex (also score Bad) */ [1,true,false], /* Good Sex (also score Bad & Med) */ [7,false,false] /* Repeat visit sex */ ] }>> <<set $player.roomScores[1] to _roomScore>> <<set _roomScore to { round: 3, harlotNumber: 4, scoreArray: [ [1,true,false], /* gift (oil or fluffy) */ [1,true,false], /* wariness (wary or bold) */ [1,false,false], /* serious */ [1,true,false], /* STR 4 */ [1,true,false], /* STR 5 (also score STR 4)*/ [1,true,false], /* Bad Sex */ [1,true,false], /* Medium Sex (also score Bad) */ [1,true,false], /* Good Sex (also score Bad & Med) */ [7,true,false] /* Repeat visit sex */ ] }>> <<set $player.roomScores[2] to _roomScore>> <<set $player.mulliganTokens to 0>>
/* Gets the total score independent of how many times has been scored */ /* Assumes _scoreArray has been defined */ <<set _totalScore to 0>> <<for _si to 0; _si lt _scoreArray.length; _si++>> <<if _scoreArray[_si][1] eq true>> <<set _totalScore += _scoreArray[_si][0]>> <</if>> <</for>>
/* Intro */ "By jove! The spider," $npcMoney.name exclaims. "Next to no-one returns from her room."<br> <br> His hand is trembling as he pulls out a small black notebook and starts taking notes.<br> <br>
/* Score for any sex (and surviving) */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<unset $mode>> <<include[[Harlot Scenario: End]]>>
/* Intro to Harlot Tester */ <<set $isTesting to true>> <<set $isHarlotTesting to true>> <<include [[Harlot Tester]]>>
/* Main Harlot Tester. Prereqs: $player created, $hi (harlot number) set and all scenario-specific variables. */ ''Testing <<print $allHarlots[$hi].name + "...">>''<br> <br> ''Current Round'' = $currentRound<br> <br> <<include [[Test Harlot: Populate Room Scores]]>> ''Gift:'' $allGifts[$cgi].name<br> <br> [[TEST INIT->Test Harlot: Init]]<br> [[TEST INTRO->Test Harlot: Introduction]]<br> [[TEST SOCIALISING->Test Harlot: Socialising]]<br> [[TEST GOSSIP GOSSIP->Test Harlot: Gossip Gossip]]<br> [[TEST HARLOT SCENARIO->Test Harlot: Scenario]]<br>
/* We run this through Socialising path */ <<include [[$allHarlots[$hi].socialisingLink]]>>
/* Run through NPC Gossip's choices */ <<if $allHarlots[$hi].gossipGossip.length eq 0>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <</if>> <<include [[$allHarlots[$hi].npcGossipLink]]>> <<if not $allHarlots[$hi].isNonStandardGossip>> [[More Gossip->Test Harlot: More Gossip]]<br> [[Other Testing->Harlot Tester]] <</if>>
/* Testing Harlot Scenario */ <<include [[$allHarlots[$hi].scenarioLink]]>>
/* Testing Pre-Intro */ ''SHORT DESCRIPTION:''<br> <<if def $allHarlots[$hi].preIntroductionLink>> <<set _hi to $hi>> <<include [[$allHarlots[$hi].preIntroductionLink]]>> <</if>> $allHarlots[$hi].shortDescription <br> <br> /* Testing Intro */ <<include [[$allHarlots[$hi].introductionLink]]>> <br> [[Other Testing->Harlot Tester]]
<<set _scoreObj to $player.roomScores[$currentRound - 1]>> <<include [[Room Score: Print]]>><br> <br> <<include [[Player: Print Hidden Ailments]]>><br> <br> [[Test Scoring->Test Harlot: Scoring]]<br> [[Next Round->Test Harlot: Next Round]]
/* Testing Scoring */ /* include this to make sure .isMultipleVisits gets set correctly. */ <<include [[NPC Money: Get Unscored Room Scores]]>> <<set $rsi to $currentRound - 1>> <<include [[NPC Money: Sell Experiences]]>>
/* Madam intro */ "This is the lovely Sapoonismenee Nerei. Her speciality is the soapy massage. She's really looking forward to getting lathered up and rubbing her body all over you." <br> <br> /* Long description */ Sapoonismenee Nerei is of medium height, olive-skinned and curvaceous. Her slick black hair is tied up in a complicated tangle of curls and glistens as if wet. Her eyes are the blue of pristine seas. Her silk robe is white and patterned with cresting waves. It's also wet. You can clearly see her breasts and dusky nipples pressing up against the damp fabric. She looks like she was in the middle of taking a bath when $npcMadam.name summoned her. <br> <br> /* Harlot intro */ "Hello, call me Sapoonis," Sapoonismenee Nerei says as she offers you her hand. "I'll give you a heavenly soap suds massage that will wash all your cares away." <br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"She gives a very pleasant oil body-to-body massage.\" " + $npcGossip.name + " pauses. \"Or is it soap?\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She likes having her breasts massaged, so long as the person massaging her has a deft touch. Don't be touching her with clumsy hands... if you want to keep them.\" She chuckles darkly."}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"She doesn't like coming out of her room and visiting the bar. Too many pollutants, she says.\"\<br\>\<br\>" + $npcGossip.name + " exhales a great cloud of cigarette smoke.\<br\>\<br\>\"I don't know what she's complaining about.\""}>>
<<set $allHarlots[$hi].harlotGossip[0] to "Except Volumpula. She's really nice. As long as you don't try to resist her too hard. She doesn't like that.\"">> <<set $allHarlots[$hi].harlotGossip[1] to "Especially Blobula. She's a total man-eater!\"">>
<<for _g to 0; _g lt $allHarlots[$hi].gossipGossip.length; _g++>> <<print $allHarlots[$hi].gossipGossip[_g]>><br> -X-<br> <br> <</for>>
<<for _g to 0; _g lt $allHarlots[$hi].harlotGossip.length; _g++>> <<print $allHarlots[$hi].harlotGossip[_g]>><br> -X-<br> <br> <</for>>
/* Madam intro */ "This is the talented Suka no-Hirudo. She'll suck the cum right out of you." $npcMadam.name gives you a saucy wink. <br> <br> /* Long description */ Suka no-Hirudo is a pale-skinned woman with dark eyes and long, voluminous black hair. Her most striking feature is her lips – plump, sensual and fixed in a seductive pout. She wears a glossy black latex bodysuit and hold ups. It's split at the top right down to her navel and shows off her full and rather lush cleavage. The two halves are cinched together by buckles and straps. There is a zip at the crotch. <br> <br> /* Harlot intro */ <<if $allHarlots[$hi].hasBeenVisited eq false>> Suka no-Hirudo seems quite shy – or aloof – and soft spoken. She says a quiet "hello" as she introduces herself. <br> <<else>> "Oh, hello again," Suka no-Hirudo says. "Would you like me to give you another //suck?//"<br> <br> Her dark eyes are quite suggestive.<br> <</if>>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"I'd avoid anal sex if she offers it. Her type can barely keep their other mouths under control as it is. Stick it in her ass and she'll dry-fish you for sure.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"Her self-control isn't very good. She gets carried away once she starts sucking. Don't be afraid to get rough with her if you need to snap her out of it.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"The girls say she likes to drink blood. Hardly surprising. She's barely higher than your basic leech.\""}>>
/* Madam intro */ "This is Morticia Rose." <br> <br> /* Long description */ Morticia Rose is short and dainty and dressed in a pretty black dress and bonnet. The dress has white frills around the hem, sleeves and neck. Curly silver hair blooms out from beneath her frilly black bonnet. It's an unusual look compared to the lack of clothes on the other girls. Morticia looks more like a life-size doll or child. Her pale white skin does give her a fragile, doll-like quality. Briefly, you wonder if she's even old enough to be doing this. There is an air of childlike innocence about her. It's rather ruined by her eyes – two inky black pools of darkness. <br> <br> /* Harlot intro */ "Hi, I'm Morticia." She offers her hand. It feels cold. "You shouldn't pick me." <br>
/* Madam intro */ "This is our voracious little spider, Arana Solfugis," $npcMadam.name says. "She loves to tie men up and feed them to her rapacious vagina." <br> <br> /* Long description */ <<if $player.hasVision>> <<if not $allHarlots[$hi].hasBeenVisited>> She //is// a spider! <<if $player.hasSeenArachne>>She's not the first you've seen in the House, but it's still a shock.<</if>><br> <br> <</if>> <<set $player.hasSeenArachne to true>> Her lower half is a gigantic spider. She has eight long jointed legs. Her abdomen is bulbous, sleek and black. It swells and contracts in a loathsome throbbing. She wears no underwear and her vagina, if it is her vagina, is visible at the juncture between her human and spider halves. It's also situated where the mouth would be on a spider and gapes hungrily to reveal a moist pink interior. It looks too big to fit a regular – or even large – human penis.<br> <br> Her top half is dark-skinned, <<else>> Arana Solfugis is dark-skinned, <</if>> but it's an unnatural shade – slate-grey – that wouldn't ever be found on a regular human being. Her eyes are also clearly inhuman – deep red sclerae with black irises. Her white hair is cut in a neat, medium-length bob. She wears a long white lace chemise stitched together in spiderweb patterns. It's see-through and you can see right through to her black bra and panties underneath. <br> <br> <<if $allHarlots[$hi].hasBeenVisited>> <<if $player.hasVision>> Her upper half is very attractive and easy on the eye. You try not to look at her lower spider half. <<else>> You know from experience that what you're seeing is just an illusion and Arana has the body of a giant spider below the waist. Despite this, she still looks incredibly attractive. <</if>><br> <br> <</if>> /* Harlot intro */ <<if $allHarlots[$hi].hasBeenVisited>> "Oh, it's you again," Arana says. "Are you going to brave my little web again? Remember what we agreed."<br> <<else>> As you shake her hand you get the uncomfortable feeling Arana is sizing you up like a predator might size up prey.<br> <br> "I'm looking forward to wrapping you up and putting you in my cunt," she whispers in your ear.<br> <</if>>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"I've heard she does like a big man in her pussy.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"I've heard she gives a rather pleasant bound handjob. I don't know what she's like at fucking. I've never spoken to anyone who's had sex with her.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"With spiders, the main thing to remember is you need them to see you as a mate rather than prey. If you don't want to be treated like prey, don't act like prey.\"\<br\>\<br\>She blows out a cloud of smoke.\<br\>\<br\>\"Mind you, they still sometimes eat their mates anyway.\""}>> <<set $allHarlots[$hi].gossipGossip[3] to { isLie: false, text: "\"She likes coffee, but that's not the traditional offering, so I'm not sure how this helps you.\""}>>
<<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> /* Madam intro */ "This is the athletic Anna Boa," $npcMadam.name says. "She loves giving men a good squeeze." <br> <br> /* Long description */ Anna Boa is tall, muscular and has a deep tan that suggests she spends a lot of time in the sun. She wears a short leather jacket that doesn't even reach her navel. Underneath it, her body is lean and muscular without being freakishly so. Despite her athletic appearance, she has a large pair of tits. They are contained, barely, within a plain black bra. Her matching panties are a string connected to square of black fabric covering her crotch. It looks too fashionable to be described as a loincloth, but that's essentially what it is.<br> <br> She wears a black hat with a wide brim. Her long, sandy-brown hair is tied up in pigtails. Her eyes are bright green and she has an open, friendly expression. <<if _isRepeat>> <br><br> <<if $player.hasVision>> This all contrasts with her serpentine lower half. Below the hips, her torso merges with a long serpentine body and tail. It is brown, scaly and patterned with darker brown bands. It looks very thick and muscular. <<else>> From past experience, you know she's a snake-woman, with a serpentine lower half, but when you try to look down there, your gaze slides right off. <</if>> <<else>> You're not sure, but you thought you caught a glimpse of a forked tongue flickering between her lips. <<if $player.hasVision>> <br><br> There's a reason for that. She's part snake. Below the hips, her torso merges with a long serpentine body and tail. It is brown, scaly and patterned with darker brown bands. It looks very thick and muscular. <<if $player.hasSeenLamia>> A snake girl. You know they exist in the House. <</if>> <<set $player.hasSeenLamia to true>> <</if>> <</if>> <br> <br> /* Harlot intro */ <<if _isRepeat>> "Hello again," Anna Boa says. Her handshake is just as crushing as before. <<else>> "Pleased to meet you, I'm Anna," Anna Boa says. Her handshake is firm, crushing. <</if>> <br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"She likes putting her men in a tight hold. Maybe a little oil can help you slide out of it.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She's the type that only values power and physicality. I wouldn't bother trying to get romantic with her. She has no time for that.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Like many of her kind, she likes her food still kicking. It's totally disgusting. Then what would you expect of a cold-blooded reptile.\""}>>
<<if _scoreArray[1][1] eq false>> "Your experiences appears to have been similar to mine, before I was fully aware of the dangers of this establishment. Unfortunately, she only seems interested in being chosen once, and from then on will only make herself available to new patrons. As we are no longer 'virgins', so to speak, and of no interest to her, this information has little value."<br> <br> $npcMoney.name taps the end of his pen against his black notebook.<br> <br> "But you were not to know this, and as I'm not a man to welch on my deals, I will still pay you a small, token sum for your information." <<else>> "Yes, I have heard, as delightful as she is, the lovely Panta can become a little colder and less enthusiastic to those who've turned her down. What round was it?"<br> <br> He hunches forward, notebook in hand.<br> <br> <<set _r to $rsi + 1>> "Round <<print _r + ",">> you say."<br> <br> He jots it into his notebook.<br> <br> "Why the interest in rounds, you ask? A point of personal curiosity. Of all the people I've spoken to who chose her after previously turning her down, none turned her down in the first round."<br> <br> He closes the notebook and puts it back in his pocket.<br> <br> "Maybe our sweet little Panta Prota is another killer after all." <</if>>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"Gifts? I think she likes flowers. Do the young like flowers? Succubi mostly only care about cum anyway. They're fiends for it.\"\<br\>\<br\>" + $npcGossip.name + " smiles, revealing her perfect white teeth."}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She's still young and a little insecure about her abilities. She says she wants to be first to give new patrons a gentle introduction.\"\<br\>\<br\>" + $npcGossip.name + " gives a dark chuckle.\<br\>\<br\>\"But we all know it's because she doesn't want her technique measured up to older and more experienced sex daemons.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"As nice as Panta is, if you have an opportunity to pick her and don't, she will be upset. Doubly so if that prevents her from being your first. You might want to stay out of her way if you do that.\""}>>
"Yes, dear. What else would you like to talk about?"<br> <br> <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Madam: Time Up]]>> <<else>> <<include [[NPC Madam: Hub]]>> <</if>>
''LEAVING MESSAGES:''<br> <<for _t to 0; _t lt $npcGossip.leavingMessages.length; _t++>> <<print $npcGossip.leavingMessages[_t]>><br> -X-<br> <br> <</for>>
/* Add all the leaving messages here */ <<set $npcGossip.leavingMessages[0] to "\"Suit yourself, but you'll be sorry when a lamia crushes your ribcage and you drown in your own blood,\" she says disdainfully.">> <<set $npcGossip.leavingMessages[1] to "\"As you wish. Maybe you're one of those freaks that gets off on being eaten.\" She turns her attention to a fresh drink.">> <<set $npcGossip.leavingMessages[2] to "\"How interesting. So you'd like to find out for yourself what it feels like when a carnivorous blob girl melts your dick off.\" She takes another draw on her cigarette.">> <<set $npcGossip.leavingMessages[3] to "\"Okay, but don't blame me when one of " + $npcMadam.name + "'s darling succubi rips the soul from your body,\" she says.">> <<set $npcGossip.leavingMessages[4] to "\"It's your decision, of course. I can't help it if you don't want to be warned of all the horrible ways you might die in here,\" she says.">> <<set $npcGossip.leavingMessages[5] to "\"So you don't want to hear about the spider girls that swallow men whole?\" She cocks her head and takes another puff on her cigarette.">> /* <<set $npcGossip.leavingMessages[0] to >> */
<<if $npcGossip.isAvailable>> <<if $npcGossip.hasBeenVisited eq false>> <<include [[NPC Gossip: Visit: First]]>> <<elseif $npcGossip.hasBeenBoughtFirstDrink eq false>> <<include [[NPC Gossip: Visit: Requires Drink]]>> <<else>> <<include [[NPC Gossip: Visit: Subsequent]]>> <</if>> <<else>> <<include [[NPC Gossip: Unavailable]]>> <</if>>
<<include [[NPC Gossip: Pay Action]]>> <<include[[$allHarlots[$hi].npcGossipLink]]>>
''THIS IS PLACEHOLDER TEXT.''<br> <br> /* Madam intro */ "This is <<print $allHarlots[$hi].name + ",\"">> $npcMadam.name says. <br> <br> /* Long description */ $allHarlots[$hi].name is $allHarlots[$hi].shortDescription <br> <br> /* Harlot intro */ $allHarlots[$hi].name smiles at you. "Hello," she says. <br>
''THIS IS PLACEHOLDER TEXT.''<br> <br> /* Dummy Harlot */ <<set $isFactionIncrease to false>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Only a single point for dummies */ ] }>> You meet $allHarlots[$hi].name in her room. She takes you to the bed and gives you a good hard fucking.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> You want to come, but it's been a long night in the House and you're completely spent. <<print $allHarlots[$hi].name + "'s">> vagina grips you tighter and sucks out your soul instead.<br> <br> You've been killed... by a dummy...<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]] <<else>> You boil up and fill her with a satisfying ejaculation. Afterwards you lay on the bed for a while to get your breath back. Then you get up, put your clothes back on and head to the exit.<br> <br> <<set $isFactionIncrease to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<include[[Harlot Scenario: End]]>> <</if>>
''THIS IS PLACEHOLDER TEXT.''<br> <br> "I can't tell you anything interesting about <<print $allHarlots[$hi].name + ",\"">> $npcGossip.name says. "They're just a dummy. They might not even be in the final game. Oh well, if we're testing."<br> <br> She puffs out a cloud of smoke.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
''THIS IS PLACEHOLDER TEXT.''<br> <br> You take $allHarlots[$hi].name out into the bar area and find a table.<br> <br> <<set $socNoMoneyLink to "Dummy Harlot: Socialising: No Money">> <<set $socDrinkLink to "Dummy Harlot: Socialising: Drinking">> <<include [[While Socialising]]>>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"Some of these dummy harlots might get a real scenario in the finished game.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"Even though they're dummies, they still take semen. Don't die to a dummy, that would be pathetic.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Why pick an inflatable sex doll dummy when you can have a real, hot-blooded succubus?\""}>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 1>> <<set $player.money to 1>> <<set $hi to 1>> <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
''THIS IS PLACEHOLDER TEXT.''<br> <br> <<if _score eq 1>> <<set _coinText to _score + " " + $currencyName>> <<else>> <<set _coinText to _score + " " + $currencyName + "s">> <</if>> $npcMoney.name is all excitement as he pulls out a small notebook. That excitement deflates the moment you mention <<print $allHarlots[$hi].name + "'s">> name.<br> <br> "She's just a dummy. This information has no value at all!"<br> <br> His moustache bristles angrily.<br> <br> "Harrumph. A deal is a deal. Here's _coinText for your troubles. Find a real succubus next time!"<br> <br> He plucks _coinText from his wallet and bounces <<if _score eq 1>>it<<else>>them<</if>> across the table to you.<br> <br>
/* Check for good breast massage */ <<if _scoreArray[2][1] eq true>> <br><br> "Hmm. Safely massaging Sapoonis's breasts requires a great deal of manual dexterity. Dexterity I fear I do not possess."<br> <br> <<else>> /* Default */ <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
/* Making sure the oldArrayCopy isn't modified by scoring */ <<include [[Create Test Score Array 1]]>> <<set _x to _scoreArray[0][1] and not _scoreArray [0][2]>> <<set _roomScore to { round: 1, harlotNumber: 1, scoreArray: _scoreArray }>> <<set $player.roomScores[0] to _roomScore>> <<include [[Score Array: Copy Score Array]]>> --BEFORE SCORING-------------------------------<br> <<include [[Player: Print Room Scores]]>> <br> [0] Done but not scored = _x<br> <br> SCORING ROUND1:<br> <<set $rsi to 0>> <<include [[Score Array: Score the Array]]>> <br> --AFTER SCORING---------------------------------<br> <<include [[Player: Print Room Scores]]>> <br> <<set _x to _scoreArray[0][1] and not _scoreArray [0][2]>> [0] Done but not scored = _x<br> <br> ''OLD ARRAY:''<br> <<set _scoreArray to _osa>> <<include [[Score Array: Print]]>>
/* Copy a score array so NPC Money can refer to individual scored points as they were before scoring (as the array is scored before the harlot-specific scoring segment) */ <<set _osa to []>> <<for _r to 0; _r lt _scoreArray.length; _r++>> <<set _osa[_r] to []>> <<set _osa[_r][0] to _scoreArray[_r][0]>> <<set _osa[_r][1] to _scoreArray[_r][1]>> <<set _osa[_r][2] to _scoreArray[_r][2]>> <</for>>
<<include [[NPC Gossip: Pay Action]]>> "Ah, him," $npcGossip.name says. "He's been here a long time. He's very careful. He pays other patrons for information on <<print $npcMadam.name + "'s">> girls and won't pick one unless he's absolutely certain of walking out of their room afterwards."<br> <br> She draws on her cigarette.<br> <br> "Too stingy to buy me a drink though. Says my information is unreliable. Moi, unreliable? The cheek."<br> <br> Her lips turn up in a vulpine smile.<br> <br> "Well there was that occasion where I got the twins mixed up. A mistake anyone can make. That ended up being a very close call for our podgy friend."<br> <br> She laughs.<br> <br> "Hasn't spoken to me since," she adds with a frown.<br> <br> She exhales a cloud of scented cigarette smoke.<br> <br> "We know he's cheating, of course. No-one could have possibly acquired the <<print $currencyName + "s">> he has through normal means. He has powerful friends, our little disciple of Greed. Powerful enough to bring him aid here, within the House, but not powerful enough to break him out."<br> <br> She waves her cigarette holder and taps ash onto the floor.<br> <br> "Yes, he's just like you and the other schlubs," she says. "Trapped within the lovely confines of this decadent House of illicit pleasures. Unable to leave."<br> <br> She takes another draw on her cigarette holder.<br> <br> <<print "\"" + $npcMadam.name>> changed the rules on <<print $mulliganToken.name + "s">> because of him, did you know? He kept using them over and over to avoid making a choice. Still does. $npcMadam.name allows it because it amuses her. She knows he's stuck. That same caution keeping him alive is the reason he will never leave here. That amuses $npcMadam.name greatly. She's made him into another piece of her infernal game and he doesn't even know it."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
<<set $giftSelectionPool to [4,5,7]>> <<set _gi to 3>> <<include [[Gift Selection: Contains Gift Check]]>> ''Contains _g = _containsGift (should be false)''<br> <br> <<set _gi to 4>> <<include [[Gift Selection: Contains Gift Check]]>> ''Contains _g = _containsGift (should be true)''<br> <br>
<<set $hapi to [0,9,4]>> <<set _hi to 3>> <<include [[All Presented Harlots: Check if Presented]]>> $allHarlots[_hi].name Has Been Presented = _hasBeenPresented (should be false)<br> <<set _hi to 4>> <<include [[All Presented Harlots: Check if Presented]]>> $allHarlots[_hi].name Has Been Presented = _hasBeenPresented (should be true)<br>
/* PLACEHOLDER Init and reset all variables here */
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Suka no-Hirudo: First-Time Scenario]]>> <<else>> <<include [[Suka no-Hirudo: Repeat Scenario]]>> <</if>>
/* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You open the door. As before, Suka is sitting on a wooden chair in the centre of the room with one leg crossed over another. Her lips are puffed up in that luscious pout.<br> <br> "Come in," she says. "Leave your gift there. You should know by now I'm more interested in your /* This is where we do the gift test */ <<include [[Suka no-Hirudo: Gift]]>>
<<if $allHarlots[$hi].currentSexAct eq _reqSexAct>> _text1 You'll get addicted if you're not careful."<br> <br> <<else>> "Oh, you want to _text2 this time."<br> <br> <</if>> She gives you a light shove and you fall back onto the chair.<br> <br> "And remember, if it gets too much, tap me on the shoulder."<br> <br>
/* Suka has much better control on her second visit */ She gets up and gives your cock a playful slap.<br> <br> "You better put that away before I decide to suck more."<br> <br> You get up and pull your trousers back up. Your legs feel weak and shivery after the 'suck' Suka has given you. You totter unsteadily to the exit while Suka returns to sitting on her chair.<br> <br> "Come back any time you feel like getting another good hard suck," she calls out after you as you leave the room.<br> <br> <<unset $allPurposeTextVar>> <<include[[Harlot Scenario: End]]>>
/* On repeat visits, Suka stops of her own accord at this point */ Suka releases your cock and it slides out of her mouth with a wet smacking sound.<br> <br> "Mmm. I'd better stop there. I don't want to suck you all up."<br> <br> /* maybe can add some harlot gossip here – I'm not like x, she... */ <<include [[Suka no-Hirudo: Repeat Good End]]>>
Suka relaxes her vagina and your cock is released from that irresistible, fleshy suction.<br> <br> "Mmm. I'd better stop there. I don't want to suck you all up."<br> <br> /* maybe can add some harlot gossip here – I'm not like x, she... */ <<include [[Suka no-Hirudo: Repeat Good End]]>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Arana Solfugis: First-Time Scenario]]>> <<else>> <<include [[Arana Solfugis: Repeat Scenario]]>> <</if>>
/* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> Arana Solfugis opens the door for you and once again you walk into her spider-themed room. Again, you see the antique bed with the spiderweb décor. It's the webs that catch your attention. You remember what happened the last time Arana wrapped you up in them and you feel a thrill of arousal.<br> <br> "Come in, come in," Arana says. "Welcome back to my little web."<br> <br> /* Bold */ <<if not $player.currIsCautious and not $player.currIsSubmissive>> You stride in confidently, knowing Arana only respects those who are bold.<br> <br> /* Everything else */ <<else>> You enter, perhaps a little more cautiously this time. You know what Arana is, after all.<br> <br> "You seem a little hesitant," Arana says. "Are you afraid of the big bad spider."<br> <br> She laughs.<br> <br> <</if>> "What did you bring me this time?" she asks.<br> <br> [[Present gift.->Arana Solfugis: Present Gift]]
/* Create list of unscored room scores. If we have multiple unscored we need to score the oldest to remove them from scoring and tag the latest as a product of multiple visits. returns _unscored (array of roomScore indices) */ <<set _unscored to []>> <<for _i to 0; _i lt $player.roomScores.length; _i++>> <<set _scoreArray to $player.roomScores[_i].scoreArray>> <<include [[Score Array: Has Been Scored]]>> <<if _hasBeenScored eq false>> <<set $player.roomScores[_i].isMultipleVisits to false>> /* check if we have another score array to be scored for this harlot */ <<for _j to 0; _j lt _unscored.length; _j++>> <<set _hn1 to $player.roomScores[_i].harlotNumber>> <<set _rsi to _unscored[_j]>> <<set _hn2 to $player.roomScores[_rsi].harlotNumber>> <<if _hn1 eq _hn2>> /* harlot match - remove from _unscored, score it, and tag most recent roomScore as for .isMultipleVisits */ <<set $rsi to _rsi>> <<include [[Score Array: Score the Array]]>> <<set _unscored.deleteAt(_j)>> <<set $player.roomScores[_i].isMultipleVisits to true>> <<if $isTesting>> ''Previous score array for $allHarlots[_hn1].name found: Scoring and Removing $allHarlots[_hn1].name (_rsi) from Unscored''<br><br> <</if>> <</if>> <</for>> /* add to list of unscored */ <<set _unscored.push(_i)>> <<if $isTesting>> <<set _hn to $player.roomScores[_i].harlotNumber>> ''Adding $allHarlots[_hn].name (_i) to Unscored''<br><br> <</if>> <</if>> <</for>> <<if $isTesting>> ''_unscored.length Experiences to Score''<br><br> <</if>>
<<set $npcMadam.hasToldHowToAddHarlot to true>> <<include [[NPC: Pay Action]]>> "Oh ho, has one of my lovely girls caught your fancy. I know how it is, sometimes you see a girl and it just clicks, and you feel a burning desire to explore all her feminine secrets. Is that how it is?"<br> <br> $npcMadam.name gives you a bawdy wink.<br> <br> "Well, I can arrange that. But," she holds a finger up, "not right away."<br> <br> She flutters her fan.<br> <br> "I have to think of my girls, you see. They get tremendously upset if all their efforts to look seductive and enticing go to waste. And if I was to substitute one of them for another girl who wasn't even part of the original selection, why..."<br> <br> $npcMadam.name sucks in a loud breath.<br> <br> "...it would put them in an evil mood. And that would not be good for my other patrons."<br> <br> She puts an arm around you.<br> <br> "No, we have to be more diplomatic. I cannot add your girl to this round, but what I can do is make sure she is included in the next round of selections. We won't tell the other girls, of course. It will be our little secret. And who knows, maybe one of those other girls might get your blood pumping even harder. Who can predict the ways and whims of the heart?"<br> <br> She returns to the lectern standing at the side of the presentation stage.<br> <br> "Unfortunately, this service is not free. Certain individuals..."<br> <br> Her face darkens.<br> <br> "...tried to take advantage of my generosity, so now I have to add a charge to discourage tomfoolery. If you want me to add a specific girl to the next round of selections, it will cost you one <<print $mulliganToken.name + ".\"">><br> <br> <<if $npcMadam.hasGivenComplementaryMulliganToken>> <<if $player.mulliganTokens gt 0>> [["Pay one " + $mulliganToken.name + " to have " + $npcMadam.name + " put a girl of your choice in the next round of selections?"->NPC Madam: Add Harlot]]<br> [[Decline?->NPC Madam: Add Harlot: Decline]] <<else>> [["You don't have any " + $mulliganToken.name + "s."->NPC Madam: Add Harlot: No Mulligan Tokens]] <</if>> <<else>> [[$mulliganToken.name + "? What's that?"->NPC Madam: Add Harlot: Explain Mulligan Tokens]] <</if>>
<<include [[NPC: Pay Action]]>> <<if $madamOverrideHarlotPick eq -1>> <<include [[NPC Madam: Add Harlot]]>> <<else>> <<include [[NPC Madam: Add Harlot: Already Added]]>> <</if>>
"Oh, you've already used the one I gave you."<br> <br> $npcMadam.name puts a hand to her mouth as if imparting a conspiratorial whisper.<br> <br> "There are ways to get more. All you have to do is ask."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
$npcMadam.name pulls out a large leather-bound tome from the back of the lectern. She plonks it on top of the lectern with a thud and starts flicking through the pages. Each shows the picture of an attractive woman together with her profile. There are a lot of pages.<br> <br> "Now which of my girls was it that caught your eye?"<br> <br> <<include [[NPC Madam: Add Harlot: Create Harlot List]]>> <br> [[Change your mind and don't pick a harlot?->NPC Madam: Add Harlot: Change Mind]]
"Maybe it is for the best. Sometimes the heart does not know what it truly desires. It is better to leave it to the whims of fate, or the unknowable concatenations of chaos."<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
<<set $npcMadam.hasGivenComplementaryMulliganToken to true>> <<set $player.mulliganTokens += 1>> "Oh, did I not give you your complementary <<print $mulliganToken.name + "?">> Dearie me. I swear my head is filled with nothing but cobwebs and dust sometimes."<br> <br> She opens up an antique purse hanging from her arm and looks inside.<br> <br> "Ah, there it is."<br> <br> She hands you a silver disc of metal. It's like a coin, but bigger and lighter. One side is embossed with the same devil girl design you've seen on the <<print $currencyName + "s">> and all around the club. The other side shows a stone tower struck by lightning.<br> <br> "There you go, my dear. I should have given it to you earlier. If you want me to add a girl of your choice to the next round, it will cost you one of these."<br> <br> $npcMadam.name flutters her fan.<br> <br> "They also have other uses, such as changing all the girls on offer. If you want to find out more, ask me."<br> <br> [["Pay one " + $mulliganToken.name + " to have " + $npcMadam.name + " put a harlot of your choice in the next round of selections?"->NPC Madam: Add Harlot]]<br> [[Decline?->NPC Madam: Add Harlot: Decline]]
/* For now this is all harlots. Alter this for final version to leave out some harlots to avoid spoilers. If have memory between runs, only populate list with harlots the player has seen. */ <<for _hi to 0; _hi lt $allHarlots.length; _hi++>> <<capture _hi>> <<set _name to $allHarlots[_hi].name>> [[_name->NPC Madam: Add Harlot: Harlot Selected][$hi to _hi]]<br> <</capture>> <</for>>
<<set _isMultiple to $allHarlots[$hi].isMultiplePeople>> /* Some harlot-specific comments */ <<if $hi eq 0>> $npcMadam.name raises an eyebrow and gives you a strange look.<br> <br> <</if>> "Okay. Give me a moment. I will go and see if $allHarlots[$hi].name is available for the next round."<br> <br> She slips behind the red velvet curtain behind the stage. She is not gone long.<br> <br> /* Availability Check Currently is to check if harlot isRepeatable and has been visited Might add other clauses later. */ <<if $allHarlots[$hi].hasBeenVisited and $allHarlots[$hi].isRepeatable eq false>> "I am ever so sorry to tell you that $allHarlots[$hi].name <<if _isMultiple>>are<<else>>is<</if>> not available. We are very busy tonight and <<if _isMultiple>>they are<<else>>she is<</if>> fully booked."<br> <br> <<else>> "Yes, <<if _isMultiple>>they are<<else>>she is<</if>> available. I will include <<if _isMultiple>>them<<else>>her<</if>> in the next round of selections. <<if _isMultiple>>They are<<else>>She is<</if>> really looking forward to it."<br> <br> <<set $player.mulliganTokens -= 1>> <<set $madamOverrideHarlotPick to $hi>> <</if>> She closes the tome and puts it back under the lectern.<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]
"A change of heart?" $npcMadam.name asks. "Or are you struggling to identify which girl caught your eye. Easily done when we have so many gorgeous girls here."<br> <br> She closes the tome and puts it back under the lectern.<br> <br> <<include [[NPC Madam: Add Harlot: Decline]]>>
<<set _isMultiple to $allHarlots[$madamOverrideHarlotPick].isMultiplePeople>> $npcMadam.name gives you a disapproving glare.<br> <br> "You have already asked me to add $allHarlots[$madamOverrideHarlotPick].name to the next selection. And now you want me to add someone else as well. You cannot pick both, and if I tell $allHarlots[$madamOverrideHarlotPick].name you no longer want <<if _isMultiple>>them, they<<else>>her, she<</if>> will be most upset. <<if _isMultiple>>They were<<else>>She was<</if>> most looking forward to pampering you."<br> <br> <<print $npcMadam.name + "'s">> expression softens.<br> <br> "I know, for a healthy virile young man, it can be like being a child in a sweet shop in here, but you have to be patient. Be respectful of the girl's feelings. Give $allHarlots[$madamOverrideHarlotPick].name <<if _isMultiple>>their<<else>>her<</if>> chance this round. Then come to me afterwards and I will see what I can do to add the other girl to the next round.<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]<br>
<<set _isTimeUp to false>> <<if $clubActivityUnits lt 0>> ''ERROR: Club Activity Units should not go negative. Let manyeyedhydra know what action you were doing beforehand and he'll try to fix it in the next release. In the meantime, carry on and enjoy the game.''<br> <br> <<set _isTimeUp to true>> <<elseif $clubActivityUnits eq 0>> <<set _isTimeUp to true>> <</if>>
<<set _isTimeUp to false>> <<if $postroomActivityUnits lt 0>> ''ERROR: Post-Room Activity Units should not go negative. Let manyeyedhydra know what action you were doing beforehand and he'll try to fix it in the next release. In the meantime, carry on and enjoy the game.''<br> <br> <<set _isTimeUp to true>> <<elseif $postroomActivityUnits eq 0>> <<set _isTimeUp to true>> <</if>>
<<set _isAlreadyPresent to false>> <<for _i to 0; _i lt $hci.length; _i++>> <<if $hci[_i] eq $hi>> <<set _isAlreadyPresent to true>> <</if>> <</for>> <<if _isAlreadyPresent>> <<include [[NPC Madam: Add Harlot: Already Present]]>> <<else>> <<include [[NPC Madam: Add Harlot: Success]]>> <</if>>
<<set _isMultiple to $allHarlots[$hi].isMultiplePeople>> "Are you blind, dear?" $npcMadam.name says. "Or maybe confused. It is easily done when we have so many wonderful girls here."<br> <br> Her eyes glitter with amusement.<br> <br> "You need to pay more attention. <<if _isMultiple>>They are<<else>>That girl is<</if>> already one of the three <<if _isMultiple>>choices<<else>>girls<</if>> I have shown you. <<if _isMultiple>>They are<<else>>She is<</if>> waiting right now for you to pick <<if _isMultiple>>them<<else>>her<</if>> and let <<if _isMultiple>>them<<else>>her<</if>> take you up to <<if _isMultiple>>their<<else>>her<</if>> room for..."<br> <br> <<print $npcMadam.name + "'s">> voice trails off suggestively.<br> <br> [["That's okay, I wanted to book " + $allHarlots[$hi].name + " for the next round as well."->NPC Madam: Add Harlot: Double-Book]]<br> <br> Oh, never mind.<br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]
<<set _isMultiple to $allHarlots[$hi].isMultiplePeople>> "Ooh, <<if _isMultiple>>they<<else>>she<</if>> really must have taken your fancy," $npcMadam.name says. "Unfortunately, I cannot do this. I have to be fair to all patrons and not allow one of you to monopolise <<if not _isMultiple>>one of<</if>> my girls."<br> <br> She blocks her mouth with her fan.<br> <br> "And likely get his fool ass drained to nothing in the process," she mutters under her breath.<br> <br> She lowers her fan and beams at you.<br> <br> "Who can predict the currents of chaos, though? Maybe chance will have <<if _isMultiple>>them<<else>>her<</if>> show up in the next round. And if not, you can always bring me your $mulliganToken.name and we will give chance a little nudge to make sure <<if _isMultiple>>they appear<<else>>she appears<</if>> in the following round."<br> <br> She finishes with a bawdy wink.<br> <br> [["Back to " + $npcMadam.name + " options."->NPC Madam: Continuation Hub]]
/* Pix Decipula */ <<set $hi to 17>> <<set $allHarlots[$hi] to { number: $hi, name: "Pix Decipula", shortDescription: "a voluptuous, but slightly slovenly woman with long black hair and big, sleepy eyes. She wears a loose-fitting nightgown and has the usual horns and tail of a succubus.", faction: 4, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, gifts: [], affection: 0, /* 1=chair, 2=sofa */ previousSexAct: 0, currentSexAct: 0, /* previous SofaMode 0=low, 1=mid, 2=high */ previousSofaMode: 0, introductionLink: "Pix Decipula: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Pix Decipula: Socialising", npcGossipLink: "Pix Decipula: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Pix Decipula: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Pix Decipula: Populate Harlot Gossip", scenarioLink: "Pix Decipula: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Pix Decipula: Sell Exp Body", sellExpFeedbackLink: "Pix Decipula: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.currAgi to 4>> <<set $player.currDex to 4>> <<set $player.charms.push(14)>> <<set $player.charms.push(18)>> <<set $player.currIsSubmissive to true>> <<set _ailment to 6>> <<include [[Add Player Hidden Ailment]]>> <<set $hi to 17>> <<set $cgi to 10>> <<include [[Harlot Tester: Intro]]>>
/* Madam intro */ "Ah, the lovely Pix Decipula has decided to grace us with her presence," $npcMadam.name says. "Do not let her sleepy appearance fool you. That pussy of hers can milk a man to climax before he has even finished his first sigh of pleasure." <br> <br> /* Long description */ Pix Decipula looks gorgeous. She has a pretty face framed with long, silky black hair. Her body is pleasingly voluptuous. Her skin is pink and flawless. Unfortunately, the whole package is rather spoilt by a slovenly posture and attitude. She wears an ill-fitting and see-through pink nightgown over the top of plain white bra and panties. It looks like she threw it on just moments ago. And there's also the not-so-small matter of her being a demon with a black tail, horns and little bat wings.<br> <br> Despite this, her face is intensely alluring. Her sleepy, heavy-lidded eyes are devastatingly beautiful and she has the insouciant pout and nonchalance of a top model. <br> <br> /* Harlot intro */ "Hi, I'm Pix," she says. She tries, unsuccessfully, to stifle a yawn. <<if $allHarlots[$hi].hasBeenVisited>> <<if $allHarlots[$hi].factionIncrease[0]>> Then she recognises you and her face brightens. "Oh hello, studly." <<else>> "Oh, it's you." <</if>> <<else>> "Don't be too troublesome, okay." <</if>> <br>
Pix doesn't seem all that thrilled at being taken out to the bar for a drink. She slots on your arm regardless, as if it's a much-practised role.<br> <br> It makes you feel good. There's something primal about having a gorgeous woman on your arm, even in a place like this.<br> <br> You find a quiet table away from the bustle.<br> <br> <<set $socNoMoneyLink to "Pix Decipula: Socialising: No Money">> <<set $socDrinkLink to "Pix Decipula: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> Pix sighs and rolls her eyes.<br> <br> "So, you brought me all the way out here, for nothing," she says. "What a drag."<br> <br> She abandons you and returns to the presentation stage.<br> <br> You return alone to the madam.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and a beer for Pix.<br> <br> She looks around the bar at the other patrons and scantily-clad harlots.<br> <br> "The other succubi try too hard," she says. "All men are interested in is sticking their prick in a tight warm hole."<br> <br> She downs her pint and lets out a very unladylike belch.<br> <br> Then, moments later, her exotic face with its sleepy, heavy-lidded eyes is back to model-perfect beauty.<br> <br> "Your human women are even worse. All that bouncing around... the sweaty grunting. None of it is necessary."<br> <br> For a succubus, Pix gives the impression of not being that enamoured of sex. You tactfully put that to her.<br> <br> "Oh no," Pix says and her heavy-lidded eyes rise slightly. "I adore sex. I just dislike all the unneeded mechanical exertion that goes with it. It only needs good pussy technique to bring a man to sensual ecstasy."<br> <br> She looks right at you with her heavy-lidded eyes.<br> <br> "And my pussy technique is very good indeed."<br> <br> Your dick is already throbbing in your pants by the time you escort her back to <<print $npcMadam.name + ".">><br> <br> <<include [[Socialising: End]]>>
"That lazy minx. If she wasn't so good with her mouth and pussy, I'd swear she was a sloth daemon. I've never seen a succubus more disinterested in learning the arts of seduction."<br> <br> $npcGossip.name puffs on her cigarette holder.<br> <br> "I don't understand her. She claims to hate work and effort, and yet has a level of sexual expertise only achievable through a lot of training, hard work and effort."<br> <br> $npcGossip.name sips on her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"Her vagina technique is exemplary. It doesn't matter if the prick is hard or soft, she can get it inside her pussy and suck all the cum out of it. Just like that.\"\<br\>\<br\>She snaps her fingers for emphasis."}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"You won't last long on her chair at all.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"She's studied the spiders and picked up some tricks from them. Be careful of what you lie on in her room. You might get stuck.\""}>>
/* must start with linebreaks if wish to start on new line */ <br> <br> /* Text here */ /* checking heard options from Pix */ <<if _scoreArray[0][1] and not _osa[0][2]>> "Hmm, I've heard about the choices Pix offers. I've heard tales of her sofa and chair, but not her bed."<br> <br> He taps his notebook with the end of his pen.<br> <br> <</if>> <<set _prevSex to $allHarlots[$hi].previousSexAct>> <<set _currSex to $allHarlots[$hi].currentSexAct>> <<set _text to "">> <<if _isRepeatVisit and _prevSex neq 0>> <<if _prevSex eq _currSex>> <<set _text to " again">> <<else>> <<set _text to " this time">> <</if>> <</if>> <<if _currSex eq 1>> "So, you chose to sit in her <<print "chair" + _text + ".\"">> <<elseif _currSex eq 2>> "So, you chose to have sex with her on her <<print "sofa" + _text + ".\"">> <</if>> /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Pix Decipula: First-Time Scenario]]>> <<else>> <<include [[Pix Decipula: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Letting her explain choices */ [2,false,false], /* Chair */ [1,false,false], /* Sofa - all */ [1,false,false], /* Sofa - low STR */ [1,false,false], /* Sofa - low DEX */ [1,false,false], /* Sofa - mid */ [2,false,false] /* Sofa - high */ ] }>> /* derived from player STR + DEX */ /* low/mid/high - 0/1/2 */ <<set $pixSofaMode to 0>> You walk into a room that appears to be as carefree as Pix Decipula. It's not messy, or untidy as such. It just looks purely functional, as if the owner brought in the bare minimum to make the room habitable, and didn't think too hard about where to place the furniture.<br> <br> There is a bed, or rather a mattress, lying on the floor on the left side of the room. It's black and shiny, as if the surface is polished leather or vinyl. Easy to clean, you suppose.<br> <br> There is a single wooden chair standing on its own to the right. The seat looks to be covered in the same shiny black material.<br> <br> At the far of the room is some kind of amorphous bean bag sofa, also upholstered in black shiny material. Pix is sitting, or rather //slouching// in it. Her arms are spread out along the top and her elegant legs are crossed. She's lost her bra somewhere between the presentation stage and her room, and her lovely round breasts are clearly visible through the sheer fabric of her pink nightgown. She watches you enter with her sleepy, heavy-lidded eyes and doesn't do anything.<br> <br> [[Might as well give her your gift.->Pix Decipula: Gift]]
/* relevant scenario-specific vars defined here: */ /* derived from player STR + DEX */ /* low/mid/high - 0/1/2 */ <<set $pixSofaMode to 0>> /* player has been blown */ <<set _x to 1>> <<include [[Check if Player Has Done X With Harlot]]>> <<set $hasDoneChair to _hasDoneX>> /* player has fucked on sofa */ <<set _x to 2>> <<include [[Check if Player Has Done X With Harlot]]>> <<set $hasDoneSofa to _hasDoneX>> /* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You return to Pix Decipula's room. It's just as carefree as before. Pix slouches on the amorphous sofa at the back of the room. The black and shiny mattress, covered in either leather or vinyl, lies on the floor over to the left. A plain wooden chair stands to the right.<br> <br> <<set _sheLikesPlayer to $allHarlots[$hi].factionIncrease[0]>> Pix recognises you. <<if _sheLikesPlayer>> Her sleepy eyes light up.<br> <br> "Welcome back, stud. <<else>> <br><br> "Hello again. <</if>> Wanna fuck on the bed this time?"<br> <br> <<if $cgi eq 0>> <<include [[Pix Decipula: Gift: Black Rose]]>> <<else>> As before, she doesn't seem particularly interested in your gift. You leave it with the other bric-a-brac on the chest of drawers next to the right wall.<br> <br> You turn back in time to see Pix discard her nightgown and step out of her plain white panties. Even though you've seen it before, her figure, with its long lithe legs, flat stomach and voluptuous curves is still something to behold.<br> <br> <<if not $player.currIsSubmissive>> As before, you undress and hang your clothes over the back of the chair.<br> <br> You wonder what to choose this time. <<else>> As before, you take off your clothes and stand awkwardly by the door. You glance from the chair to the sofa to the bed.<br> <br> Pix sees your hesitation and rolls her eyes.<br> <br> "Do I need to explain it again?" she says. "The chair is for a quickie blowjob. The sofa is if you want to fuck me. And the bed is if you want me to fuck you." <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <</if>> <br> <br> <<if $hasDoneChair>>The blowjob on the chair was nice, but over a little too quickly.<</if>> <<if $hasDoneSofa>>While you did enjoy fucking Pix on the sofa, it was damn hard work and did leave you feeling knackered.<</if>> Fucking her on the bed does sound tempting.<br> <br> What will you pick?<br> <br> [[Chair?->Pix Decipula: Chair]]<br> [[Sofa?->Pix Decipula: Sofa]]<br> [[Bed?->Pix Decipula: Choose Bed]]<br> <</if>>
<<if $cgi eq 0>> <<include [[Pix Decipula: Gift: Black Rose]]>> <<else>> <<include [[Pix Decipula: Gift: Any]]>> <</if>>
<<if $allHarlots[$hi].hasBeenVisited eq true>> Pix spots the $allGifts[$cgi].name in your hand.<br> <br> "I'm guessing that means yes," she says. <<else>> Pix sees the $allGifts[$cgi].name you've brought her.<br> <br> "Oh," she says. "It'll be the bed then." <</if>> <br> <br> She gets up off her sofa, undresses and then walks over to you. She takes the rose and pops it into a nearby vase while you take your clothes off. Then she walks you over to the bed.<br> <br> <<include [[Pix Decipula: Bed]]>>
Pix seems fairly noncommittal about the gift you've brought her.<br> <br> "Leave <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> over there with the others," she says. "I'll look at <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> later."<br> <br> 'Over there' is the top of a set of drawers standing against the right wall. The surface is already cluttered with other gifts. You don't think Pix sorts through it all that often.<br> <br> You turn back to see Pix has discarded her nightgown and is stepping out of her plain white panties. Her figure, with her long lithe legs, flat stomach and voluptuous curves is something to behold. Pix doesn't seem the sort to hit the gym, but she has a body that would have most of the women that do seething with envy.<br> <br> It's your cue to undress as well.<br> <br> /* check if dominant */ <<if not $player.currIsSubmissive>> <<include [[Pix Decipula: Dominant Choices]]>> <<else>> <<include [[Pix Decipula: Choices]]>> <</if>>
There isn't any place to put your clothes, so you hang them over the back of the chair. You look around the room.<br> <br> Will you:<br> <br> [[Sit on the chair?->Pix Decipula: Chair]]<br> [[Go to the sofa?->Pix Decipula: Sofa]]<br> [[Lie on the bed?->Pix Decipula: Choose Bed]]<br>
There isn't any place to put your clothes, so you leave them in a neat pile by the door. It seems in keeping with the rest of room. You stand there awkwardly, waiting for some cue from Pix on what to do next.<br> <br> "What would you like?" Pix asks. "The chair, sofa, or bed?"<br> <br> You look at the three pieces of furniture. While you're trying to work out what the choices mean, Pix helpfully provides an explanation.<br> <br> "The chair is for a quickie blowjob. The sofa is if you want to fuck me. And the bed is if you want me to fuck you," she explains.<br> <br> What will it be?<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> [[Chair?->Pix Decipula: Chair]]<br> [[Sofa?->Pix Decipula: Sofa]]<br> [[Bed?->Pix Decipula: Choose Bed]]<br>
/* keeping track of sex acts */ <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 1>> You walk over and sit on the chair.<br> <br> <<if $hasDoneChair>> "You liked my blowjob so much you want another?" Pix says. "It will be just as quick as last time." <<elseif $hasDoneSofa>> "A quickie this time," Pix says. "I'm fine with that." <<else>> "A quickie then," Pix says. "I'm fine with that." <</if>> <br> <br> She gets up and prowls over to you. She pushes your knees apart and crouches down in the space between them. She wraps a hand around the base of your cock and looks up at you with her smouldering, heavy-lidded eyes.<br> <br> "You're not going to last long, so don't feel bad when you don't," she says. "Just enjoy it for the quickie it is."<br> <br> Her head bobs down into your lap and you feel the suction right away. It's like a vacuum cleaner pulling on the end of your knob. You hear wet slobbery sounds as the head of your cock catches on her plump lips. The suction sounds like something a machine would make if the intake was blocked. Then you're inside and enclosed by warm wet flesh. The suction, and slobbery sounds, continue. It's unfocused at first and then grips you. Waves of force vibrate your cock and roll up your shaft. The sensation is incredible.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> [[You hold on.->Pix Decipula: Chair: Out of Semen]] <<else>> [[You last slightly less than sixty seconds.->Pix Decipula: Chair: Good End]] <</if>>
/* keeping track of sex acts */ <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 2>> <<if $hasDoneSofa>> "You know my favourite choice," Pix says. <<else>> "My favourite choice," Pix says. <</if>> <br><br> She spreads her arms across the back of the sofa and spreads her legs. Her smooth and shaven pussy is fully on display for you.<br> <br> "Now get over here and stick your cock in my wet twat."<br> <br> When put like that...<br> <br> You approach Pix and the sofa. Your cock is already erect and flapping.<br> <br> Pix leans forwards with her arms outstretched to welcome you. Smiling, you fall into her embrace and are surrounded by the subtle fragrance of her body.<br> <br> You manoeuvre your erection between her legs and slide it up into her welcoming pussy. She is tight, but lubricated enough for you to slide deep within her with just enough pleasant friction to stimulate you. She wraps her arms and legs loosely around you and breathes lightly against your ear. The sofa gives like a beanbag although it seems to be made out of a more malleable and amorphous substance. The weight of both your bodies sinks you deeper into it. For a moment you are content to lie there in her arms and enjoy the luscious sensation of her tight pussy wrapped around your cock.<br> <br> "Now fuck me," she whispers in your ear. Her hands caress your naked back. "Fuck me hard."<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> [[It's what you're here for.->Pix Decipula: Sofa: Stat Check]]
You walk over to the black mattress.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Thought you might," Pix says. "It is my turn to do the fucking." <<else>> "They always choose the bed," Pix says with some resignation. "Now I have to get up." <</if>> <br><br> She gets up off the sofa, stretches and then walks over to join you.<br> <br> <<include [[Pix Decipula: Bed]]>>
The sensation is incredible, but not enough to tip you over the edge.<br> <br> Pix sucks and sucks, but nothing comes out. It's been a long night and your exertions have left you completely drained.<br> <br> She releases your cock with a wet pop. She looks bored.<br> <br> "So, you're going to make me work for it," she says. "How tedious."<br> <br> Her head bobs forwards and she sucks you back in. That wet, noisy suction starts up again. This time it's far more powerful and intense. It doesn't matter that you're out. She sucks you to orgasm anyway. You shudder and jiggle helplessly on the chair as you spurt uncontrollably into her mouth.<br> <br> Unfortunately, this time it's not your semen you're ejaculating but your life essence and soul. Pix sucks it all out of you and gulps it down. She leaves behind a withered corpse sagging in on itself on the chair. Pix still seems bored by the whole thing.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You feel a trembling, massive orgasm roll up through your body. You jiggle uncontrollably on the chair and unload a massive load down Pix's throat.<br> <br> She swallows it all down.<br> <br> Then she turns off that unnatural suction and releases your member. She gives the tip a little kiss and then stands back up.<br> <br> <<if $hasDoneChair>> "Thought you'd last longer this time? That was never going to happen," she says. <<else>> "Sometimes a quickie is exactly what's needed," she says. <</if>> <br><br> It was extremely quick.<br> <br> And intense.<br> <br> You sit on the chair and try to get your jangling nerves back under control as Pix walks back to her sofa. She flops back on it and licks her lips.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Mmm," Pix says. "Just as tasty as before. We should fuck on the bed next time." <<else>> "Mmm," Pix says. "You're tasty. I might put in a bit more effort next time." <</if>> <br><br> Your legs are a little wobbly as you get up from the chair and put your clothes back on. Pix smiles and gives you a wave as you make your way to the exit.<br> <br> /* No faction increase */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include [[Pix Decipula: Ending Cleanup]]>> <<include[[Harlot Scenario: End]]>>
The 'bed' is just a mattress lying on the floor. As you first noticed, it seems to be covered in some kind of glossy black material. Kinky... if it didn't also look like a mattress tossed randomly on the floor of a squat.<br> <br> "Lie down on your back. I'll get on top and fuck you," Pix says in a slightly bored voice.<br> <br> [[Continue.->Pix Decipula: Bed: Caught]]
You do as she says. The surface feels a little strange – definitely artificial like vinyl, but also slightly tacky. You wonder if Pix does actually bother to clean it, then decide you probably don't want to pursue that line of thought!<br> <br> The mattress feels okay. A little too soft, maybe, but it's deep and fairly comfy to lie on. You lie back with your arms outstretched and wait for Pix to climb on top. Instead she stands next to the mattress and tries to stifle a giggle with her hand.<br> <br> "Caught you!" she says.<br> <br> It's the most animated you've seen her. Her sleepy heavy-lidded eyes are nearly fully open.<br> <br> "All that work succubi put into charm and seduction. We should learn from the spiders," Pix says. "Get the prey stuck and then we can suck on them at our leisure."<br> <br> You try moving your arms and realise the mattress is more than just tacky. You're stuck fast to the surface as if glued. It's the same for the rest of your body. Arms, legs, back, head – all stuck fast as if you're a fly on a giant sheet of flypaper. No matter how much you twist, turn or thrash, you can't pull free.<br> <br> "It's not exactly a web, but the principle is the same," Pix says.<br> <br> She climbs on top of you. Normally you'd be very happy to have a beautiful and naked woman sitting astride you, but the circumstances – you glued to the mattress and at her mercy – have put a little bit of a dampener on your ardour.<br> <br> Pix laughs at your feeble attempts to dislodge her.<br> <br> "You've fallen into my trap," she says. "There's no escaping now."<br> <br> [[You struggle ineffectually.->Pix Decipula: Bed: Straddling]]
She is unaffected by the sticky surface of the bed as she straddles you. The neatly shaven folds of her pussy brush against your thigh before she lifts her hips up above your crotch. Again, what should be a sexy sight is spoiled by her pussy suddenly dilating and gaping open of its own accord in a way that is wholly unnatural. She might have positioned herself in the classic pre-insert cowgirl position, but you're too freaked out to be interested in sex at this point. Your hard-on is already drooping.<br> <br> Good luck inserting that, you think.<br> <br> Pix looks down at your sagging erection and laughs.<br> <br> "That's the other thing my sisters waste so much time on. Scents to arouse. Charms to titillate. Aphrodisiac pheromones. They're all unnecessary. Given the right mechanical stimulus, every man will give up his seed, aroused or not."<br> <br> Her pussy gapes. The labia flutter. You feel a tug and the head of your cock is sucked to the entrance of her sex. You hear wet slobbery sounds as if your member is blocking the intake to a vacuum cleaner.<br> <br> Pix holds up her hands as if to prove they aren't needed.<br> <br> Stimulated by the sucking action of her pussy, your member is no longer quite so droopy. The sucking sensation feels pleasant and blood is already pouring into your cock to fill it. Pix's sleepy eyes look triumphant.<br> <br> "You don't even need to be hard," she says. "I can suck you in and suck multiple orgasms out of you without you even needing to get an erection. Some men thank me for that, even as I suck the life from their bodies."<br> <br> [[Her pussy gapes wider. This is going to suck...->Pix Decipula: Bed: Inserted]]
Her pussy gapes wider. The head of your cock vanishes inside. The rest follows.<br> <br> "Hmm, but it is much better when they're hard," she says.<br> <br> She settles down in your lap.<br> <br> "Now let's suck that cum out of you."<br> <br> She doesn't ride you as such. The motions are all internal. The fleshy walls of her vagina bunch up and start rolling up and down your shaft, pumping you with strong muscular action. The air is filled with wet slobbery sounds. It feels like you're being milked by a machine.<br> <br> Her pussy is as indefatigable and irresistible as a machine. It takes no more than a minute of her pussy pumping your cock and you're spurting uncontrollably inside her.<br> <br> "Ah, here it is," she says. Her eyelids flutter.<br> <br> She doesn't give you a chance to recover. Her pussy continues working – squeezing, pulsing – and your cock stays hard in helpless thrall to it. It's not long before the motions have you trembling and shuddering in another climax. You spurt another thick stream up into her.<br> <br> "This is it for you," Pix says. "You're stuck on my bed and my pussy is going to suck it all out of you."<br> <br> [[Her pussy keeps sucking on you.->Pix Decipula: Bed: Bad End]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Her pussy doesn't stop. Neither do you. The muscular pumping suction is irresistible. You keep coming in a continuous stream. You writhe beneath her, your thoughts overloaded by primal pleasures. Her vagina keeps pumping. You keep emptying your seed – your life – into her.<br> <br> You only stop when Pix has sucked out every last drop of fluid from your body. She stands up, sighs and stretches.<br> <br> "See, so much easier and efficient this way," she says down to your withered and dried-up body.<br> <br> Your corpse doesn't lie there long. Now that your body is empty of life and soul, the magic of the bed takes hold. Your wizened remains collapse in on themselves and melt into a black goo, joining the layer of sticky adhesive covering the mattress.<br> <br> Pix might be a lazy succubus, but she's also a very //efficient// succubus that hates cleaning up after herself.<br> <br> Within moments there is not a trace of you at all on the mattress. Pix returns to her sofa and gives a little yawn.<br> <br> <<include [[Pix Decipula: Ending Cleanup]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You comply. It's what you want to do anyway.<br> <br> You hug her close and pump your hips up and down. You drive your hard cock back and forth into her dripping wet pussy. Her fleshy walls feel fantastic against you as you slide back and forth.<br> <br> "Oh yes," Pix moans. "Harder."<br> <br> You speed up, driving your hips up and down. It's surprisingly hard work. The amorphous sofa is a little too spongy to be conducive to fucking. It absorbs the energy of your thrusts and gives next to no rebound back.<br> <br> /* AGI & DEX Check */ /* To make it easier for me, AGI 1 has priority over DEX 1 */ <<set _reqStat to 2>> <<set _ailmentsList to [6]>> <<include [[Player: Test Agi]]>> <<if not _testPassed>> <<include [[Pix Decipula: Sofa: AGI 1]]>> <<else>> <<include [[Player: Test Dex]]>> <<if not _testPassed>> <<include [[Pix Decipula: Sofa: DEX 1]]>> <<else>> <<include [[Pix Decipula: Sofa: MidHigh Prelude]]>> <</if>> <</if>>
<<set $pixSofaMode to 0>> <<set _isWeakerThisTime to $hasDoneSofa and $allHarlots[$hi].previousSofaMode gt $pixSofaMode>> <<set _isFatigued to $player.currAgi gt 1>> The awkwardness of the sofa <<if _isWeakerThisTime or _isFatigued>>soon begins to tell.<<else>>and a lifetime of inactivity soon begin to tell. You're a paperwork and desks kind of person rather than a gyms and weights kind of person.<</if>> Humping Pix on the sagging sofa is hard work. Even with her soft moans in your ear to encourage you, you still run out of puff.<br> <br> "What's the matter?" Pix asks. <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode gt $pixSofaMode>> "You had more energy than this last time." <<else>> "Struggling again?" <</if>> <<else>> "Struggling?" <</if>> <br><br> Just need to get my breath back, you tell her.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<include [[Pix Decipula: Sofa: Low Prelude]]>>
<<set $pixSofaMode to 0>> <<set _isWeakerThisTime to $hasDoneSofa and $allHarlots[$hi].previousSofaMode gt $pixSofaMode>> The awkwardness of the sofa soon starts to tell. <<if _isWeakerThisTime>>The<<else>>You were never the most co-ordinated of people, and the<</if>> saggy softness of the sofa makes it difficult to find a good rhythm. Pix encourages you with soft sighs in your ear, but you still struggle to find a satisfying rhythm. You even nearly slip out entirely on a couple of occasions. As nice and tight as Pix's pussy is, your lack of coordination makes it difficult to fully appreciate.<br> <br> "What's the matter?" Pix asks as you pause for the third time. <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode gt $pixSofaMode>> "You were better last time." <<else>> "You struggling again?" <</if>> <<else>> "Struggling?" <</if>> <br><br> Just trying to find the right rhythm, you explain.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> <<include [[Pix Decipula: Sofa: Low Prelude]]>>
/* establish sofa mode */ <<if ($player.currAgi + $player.currDex) lt 8>> /* mid */ <<set $pixSofaMode to 1>> <<else>> /* high */ <<set $pixSofaMode to 2>> <</if>> You're in <<if $pixSofaMode eq 2>>good<<else>>reasonable<</if>> shape, so you're able to keep fucking Pix despite all this. Fucking Pix feels so damn good. You pump your hips and slide your cock back and forth inside Pix's tight wet pussy. She feels so snug inside, as if her vagina was modelled specifically to your penis.<br> <br> "Faster," Pix hisses in your ear. Her nails playfully rake your back.<br> <br> You hump harder against her. Her body judders with each impact and she moans in pleasure.<br> <br> "Oh yes, faster," she sighs.<br> <br> She plants wet kisses on your throat.<br> <br> <<if $pixSofaMode eq 1>> <<include [[Pix Decipula: Sofa: Mid]]>> <<else>> <<include [[Pix Decipula: Sofa: High Prelude]]>> <</if>>
<<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode eq 2>> "I think you want my lovely pussy to do all the work this time," Pix says. <<else>> "I think you just want to experience my wonderful pussy technique again," Pix says. <</if>> <<else>> "It's not your fault," Pix says. "Human sex is just so horribly mechanically inefficient. So much needless effort. All that grunting and puffing. Getting sweaty as hips grind together. It's so wasteful. Here, let me show you how a succubus with excellent pussy technique fucks." <</if>> <br> <br> [[Prepare yourself!->Pix Decipula: Sofa: Low]]
She pulls you deeper down on top of her. Her legs wrap around you and she crosses her ankles to lock you in place. Muscles in the inner wall of her vagina grip your erection and suck it all the way inside her.<br> <br> <<include [[Pix Decipula: Sofa: MidLow Combined]]>>
You give her more. You're starting to feel it, though. The amorphous blob of a sofa just isn't conducive to fucking at all. It's too much damn work, the equivalent of trying to run through thick mud. You feel twinges in your muscles and your chest is a little tight. You feel yourself slowing and try to compensate by thrusting deeper and harder.<br> <br> <<if $hasDoneSofa and $allHarlots[$hi].previousSofaMode eq 2>> "You seem more tired this time," Pix says. "Maybe we should go over to the bed and let me go on top for a while." <<else>> "Getting tired?" Pix asks. "If you want, we can go over to the bed and I'll go on top of you for a while." <</if>> <br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> [[That would be good.->Pix Decipula: Sofa to Bed]]<br> [[You're fine. You'll keep going.->Pix Decipula: Sofa: Mid Continue]]
You give her more. <<if $hasDoneSofa>>Like before, it's<<else>>It's<</if>> hard work. The amorphous blob of a sofa just isn't conducive to fucking at all. It's worth it, though. Fucking Pix feels so damn good.<br> <br> Pix's moans and sighs escalate as your body thuds against hers.<br> <br> "Yes, keep it up," she cries.<br> <br> [[You're able to keep it up, despite the sofa.->Pix Decipula: Sofa: High]]
Yeah, that would be a good idea, you think. Let Pix take a turn.<br> <br> You nod your agreement and both of you get up off the sofa and walk over to the black mattress. Pix has a hand around you cock and keeps you keen and eager with little pumps.<br> <br> <<include [[Pix Decipula: Bed]]>>
You tell her you're fine. You're not far off. You can feel it building in your cock and balls. Just a little more. Just a little more of that delicious wet friction to tip you over the edge.<br> <br> You pump your hips, driving back and forth into Pix's luscious wet twat.<br> <br> It's close, maddeningly close. If only Pix would do more than just lie back and let you do all the work. It wouldn't take much, just a little wiggle of her hips.<br> <br> <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode eq 2>> "You need a little help this time," Pix says. <<else>> "You always need a little help," Pix laughs. <</if>> <<else>> "I think you need a little help," Pix says, as if reading your mind. <</if>> <br><br> Languidly, she wraps her legs around you and crosses her ankles.<br> <br> <<if $hasDoneSofa and $allHarlots[$hi].previousSofaMode lt 2>> "You know what's coming next." <<else>> "Let me show you how a succubus does it." <</if>> <br> <br> [[Prepare yourself!->Pix Decipula: Sofa: MidLow Prelude]]
Muscles in the inner wall of her vagina grip your erection and suck it all the way inside her.<br> <br> <<include [[Pix Decipula: Sofa: MidLow Combined]]>>
That's not all her vagina does.<br> <br> The fleshy walls of her sex bunch up and start rolling up and down your shaft, pumping you with a strong muscular action. What is she doing? It feels like some kind of suction pump down there. Tugging you. Milking you.<br> <br> "It's all in the vagina," Pix breathes in your ear. "We don't need to move our bodies at all. It's so much more efficient."<br> <br> Maybe, but it also feels a little robotic, like you're being milked by a machine. Noisy too. The air is filled with wet slobbery sounds as her sex sucks you.<br> <br> It feels undeniably pleasant, though. No more than a minute of her pussy pumping your cock and you feel ominous twitches in your loins.<br> <br> "Much faster as well." Pix sucks lightly on your earlobe. <<if $hasDoneSofa>>"As you know."<</if>> <br> <br> She feels your cock swell inside her and the suction tugs you even deeper. Thick bands of muscle wrap around your pulsing member and squeeze.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> And nothing comes out. Your activities in the House have left you completely drained. You have nothing left.<br> <br> [[Pix seems unimpressed.->Pix Decipula: Sofa: Bad End]] <<else>> You let out a loud pant as you erupt inside her. Your cock throbs and you feel a satisfying sense of release as you empty a thick stream of cum into her pumping pussy.<br> <br> "Ooh yes," Pix moans. "And because we're so efficient, we don't have to stop. We can continue right on."<br> <br> [[And she does.->Pix Decipula: Sofa: MidLow: 2nd Pop Prelude]] <</if>>
<<if $hasDoneSofa and $allHarlots[$hi].previousSofaMode lt 2>> "Ooh, someone's been working on their technique."<br> <br> <</if>> Her nails rake your back. A little harder this time. It spurs you on to greater effort. Both of you are slowly sinking into the saggy sofa, and you're fucking her all the way. You can feel a climax building, stoked by the delicious wet friction of Pix's luscious twat.<br> <br> "Coming," you moan.<br> <br> "Yes, pour it into me," Pix cries.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Pix Decipula: Sofa: High: Out of Semen]]>> <<else>> <<include [[Pix Decipula: Sofa: High: Has Semen]]>> <</if>>
You'd like to, but right on the threshold of climax your balls suddenly decide to let you down. You have been using them a lot this night, to be fair.<br> <br> "Oh, is that it." Pix sounds visibly disappointed.<br> <br> <<include [[Pix Decipula: Sofa: Bad End]]>>
You grab her ass, lift her up and then slam her back down on the sofa. Your cock plunges deep inside her. The end twitches and you groan in bliss as you pour a massive load into her.<br> <br> <<if $hasDoneSofa>>As before,<<else>>Then<</if>> her vagina, which up until now had been inert, suddenly comes to life around you. The fleshy walls bunch up and start tugging on your cock with a muscular pumping action. You hear a wet slobbery sound, like your cock is stuck in the pipe of a vacuum cleaner. You feel the suction as well. It causes your waning climax to suddenly spike into a greater burst of pleasure. <<if $hasDoneSofa>>Even though you remember it from before, the intensity still<<else>>The unexpectedness of it<</if>> has you collapse and tremble helplessly in Pix's arms as the force of the climax temporarily overrules everything else.<br> <br> <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode lt 2>> "You didn't need it this time, but I thought I'd give you a little //suck// anyway," <<else>> "You didn't need it, again, but I couldn't resist giving you a little //suck// anyway," <</if>> <<else>> "You didn't need it, but I thought I'd give you a little //suck// anyway," <</if>> Pix says with a mischievous smile.<br> <br> [[It felt pretty good.->Pix Decipula: Sofa: High: Good End]]
Pix wraps her arms and legs around you and pulls you down on top of her. Her pussy contracts around the base of your cock.<br> <br> "How disappointing," Pix says. "I was hoping not to have to do too much work, and now you're making me."<br> <br> <<if $pixSofaMode eq 2>> Her vagina starts moving around you. The fleshy walls bunch up and start tugging on your cock with a muscular pumping action. Wet slobbery sounds fill the air. It feels like being milked by a machine – an indefatigable, irresistible machine. You thought you were empty, but Pix – or rather her vagina – finds more.<br> <br> <<else>> Her pussy starts up again with that infernal pumping suction. Wet slobbery sounds fill the air. It's far more intense this time. You thought you were empty, but Pix – or rather her vagina – finds more.<br> <br> <</if>> Pix holds you tight as her pussy pumps an ejaculation out of you that you didn't think you had. Her vagina keeps going. Keeps sucking.<br> <br> You keep coming. It's not your semen, but your life now, and you're powerless to resist. Her pussy keeps pumping fluids out of you until you're nothing more than a dried-up cadaver in her arms. She discards you with a bored expression.<br> <br> <<include [[Pix Decipula: Ending Cleanup]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She's not one for post-coital cuddling, so you both get up from the sofa.<br> <br> <<if $hasDoneSofa and $allHarlots[$hi].previousSofaMode eq 2>> She runs her hands over your chest.<br> <br> "You're still quite the hunk," she purrs. <<else>> <<if $hasDoneSofa>> "You did much better this time. Not many have the stamina to keep going all the way on my sofa," Pix says. "I barely had to use my pussy at all." <<else>> "Not many have the stamina to keep going all the way on my sofa," Pix says. "I normally have to finish them off with my pussy." <</if>> <br> <br> She runs her hands over your chest.<br> <br> "Not you, you're quite the hunk." <</if>> <br> <br> She moves away and starts putting her clothes back on. You return to where you'd left your pile of clothes and do the same.<br> <br> "That was rather enjoyable. It's nice to not have to do any work for a change," Pix says. "You can come back anytime."<br> <br> You wouldn't mind that, you think.<br> <br> As dressed as she'll ever be, Pix flops back on her saggy sofa. She still looks slovenly. Sexy slovenly, but slovenly. Damn good fuck though.<br> <br> She glances over at the bed. <<if $hasDoneSofa>> "We should use the bed next time. It's my turn to fuck your brains out." <<else>> "How about we use the bed next time? And I'll be the one on top." <</if>> <br><br> Her eyes smoulder lustily.<br> <br> That doesn't seem a bad idea, you think. You might take her up on that. You feel good as you walk to the exit.<br> <br> /* This is the only route that has a faction increase */ <<include [[Default Harlot: Faction Increase]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[6][1] to true>> <<set $allHarlots[$hi].previousSofaMode to 2>> <<include [[Pix Decipula: Ending Cleanup]]>> <<include[[Harlot Scenario: End]]>>
Her vagina continues right on. Sucking. Pumping. She doesn't even wait for your first orgasm to subside before she begins pumping you to the next.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> But you can't come again.<br> <br> "Oh, don't tell me you're one of those slow repeater types," Pix says with disappointment. "Or are you out now."<br> <br> Your activities in the House have left you completely drained. You have nothing left.<br> <br> [[She seems disappointed.->Pix Decipula: Sofa: Bad End]] <<else>> <<include [[Pix Decipula: Sofa: MidLow: 2nd Pop]]>> <</if>>
You're shocked as you feel a second orgasm crash through you, so soon after the first. You tremble uncontrollably in her arms as you ejaculate another stream of semen inside her.<br> <br> /* check for mid or low */ <<if $pixSofaMode eq 0>> /* Low */ "Let's get a third," Pix whispers in your ear.<br> <br> [[Her pussy keeps pumping you.->Pix Decipula: Sofa: Low: 3rd Pop]] <<else>> /* Mid */ Then – mercifully – the muscular pumping contractions, that noisy wet slobbery suction, ceases.<br> <br> <<if $hasDoneSofa eq false>> "That's a far easier way of doing it, isn't it," Pix says.<br> <br> <</if>> She laughs as you collapse in her arms and lay there for a while as you try to get your breath back.<br> <br> <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode eq 0>> "Better, but you still need to improve your technique." <<else>> "My little pussy has wrecked you <<if $allHarlots[$hi].previousSofaMode eq 2>> this time." <<else>> again." <</if>> <</if>> <<else>> "For me maybe. You look a little worn out." <</if>> <br><br> <<set $allHarlots[$hi].previousSofaMode to 1>> [[You might need some time to recover.->Pix Decipula: Sofa: MidLow: Good End]] <</if>>
Her pussy keeps pumping. Now you do feel like you're being milked. Milked like a cow. Like livestock. And you're helpless to stop it.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> But as much as she milks you, you don't tip over into climax. You're out.<br> <br> "No third for me?" Pix asks. She sounds disappointed.<br> <br> <<include [[Pix Decipula: Sofa: Bad End]]>> <<else>> Your body tenses up and you fire a third load into her pumping vagina.<br> <br> And then – mercifully – the muscular pumping contractions, that noisy wet slobbery suction, ceases.<br> <br> "Mmm, three pops are quite enough," Pix says. "Semen is fattening and if I put on weight again $npcMadam.name will make me do //exercise//."<br> <br> She practically spits the word.<br> <br> You collapse in her arms and lay there for a while, shuddering. You struggle to get your misfiring nerves back under control.<br> <br> <<if $hasDoneSofa>> <<if $allHarlots[$hi].previousSofaMode eq 0>> "Oh dear," Pix says. "Has my little pussy worn you out again?" <<else>> "You've let the other girls wear you out. My pussy had to do all the work this time." <</if>> <<else>> "Oh," Pix says. "I thought it would be easier on you if I let my pussy do all the work. You look worn out. Have you been playing a little too hard with the other girls?" <</if>> <br> <br> <<set $allHarlots[$hi].previousSofaMode to 0>> [[You might need some time to recover.->Pix Decipula: Sofa: MidLow: Good End]] <</if>>
She helps you up off the sofa. You need it.<br> <br> "Now imagine if we'd done it the human way, with all its wasteful huffing and puffing. You might have died."<br> <br> Pix might be right on that count. You feel wrecked... wrecked and drained.<br> <br> Thankfully, you've recovered somewhat by the time you get to your clothes and start to put them back on. A good thing considering Pix shows no inclination to help you.<br> <br> By the time you're fully dressed she's already back to lounging slovenly on her sofa. Sexy slovenly, but still slovenly. It's as much as she can do to give you a smile and a wave as you make your way to the door.<br> <br> /* no faction increase for this route */ <<include [[Pix Decipula: Ending Cleanup]]>> <<include[[Harlot Scenario: End]]>>
/* Couchelaxa */ <<set $hi to 29>> <<set $allHarlots[$hi] to { number: $hi, name: "Couchelaxa", shortDescription: "a tall, enigmatic woman in a long black raincoat. Her face is hidden by a white facemask and her hands are covered by white gloves. In fact, you cannot see any of her flesh at all.", faction: 2, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, hasLainOnBed: false, /* knows Couchelaxa is the bed */ /* 1=back, 2=side */ previousSexAct: 0, currentSexAct: 0, gifts: [], affection: 0, hasSocialisedDominator: false, hasSocialisedEpicurean: false, hasSocialisedSupplicant: false, introductionLink: "Couchelaxa: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Couchelaxa: Socialising", npcGossipLink: "Couchelaxa: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Couchelaxa: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Couchelaxa: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Couchelaxa: Sell Exp Body", sellExpFeedbackLink: "Couchelaxa: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 0>> <<set $player.currIsCautious to true>> <<set $player.charms.push(18)>> /* ...set player stats here */ /* <<set $allHarlots[$hi].<property> to <value>>> ...set harlot stats here */ <<set $hi to 29>> <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* Madam intro */ "This is the enigmatic Couchelaxa," $npcMadam.name says. "Do not let her appearance put you off. Once you are in her room, she'll be all over you."<br> <br> /* Long description */ It's hard to make out anything of Couchelaxa at all. Her face is covered by an elegant porcelain mask. Her hair is hidden up in a black trilby hat. Her body is covered by a long black raincoat made out of some kind of shiny vinyl material. Her hands are covered by long white gloves. Beneath the raincoat her legs and feet are covered in glossy white boots. In an establishment where most of the other girls are not wearing much more than underwear, Couchelaxa's appearance is unusual.<br> <br> <<if $allHarlots[$hi].hasLainOnBed>> Knowing what you know of Couchelaxa, you wonder if this is her, part of her, or just some kind of illusionary projection. <<else>> You wonder if there's anything under there at all. Maybe she's some kind of invisible woman. Bulges at her chest and hips suggest a feminine figure, but other than that you don't have a clue. <</if>> <br> <br> /* Harlot intro */ "Hello, I am Couchelaxa. Pleased to meet you."<br> <br> Her voice sounds soft and feminine, but also gives nothing away as to her appearance. That, like the rest of her, remains an enigma.<br>
You take Couchelaxa over to one of the booth tables. She's very quiet and mysterious. You have no idea what she truly looks like. Every bit of her is covered up by mask or clothes.<br> <br> <<set $socNoMoneyLink to "Couchelaxa: Socialising: No Money">> <<set $socDrinkLink to "Couchelaxa: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> You apologise to Couchelaxa. Behind the frozen features of her mask you're not sure how she takes it. She doesn't leave the table or seem unduly bothered. <<include [[Couchelaxa: Socialising: Combined]]>>
She sits there, barely moving. You feel slightly intimidated by her porcelain mask. Looking at those frozen features is disconcerting. You have no idea what the woman behind it, assuming it is a woman, is thinking.<br> <br> It is Couchelaxa that finally breaks the awkward silence.<br> <br> "Are you a Dominator, Epicurean, or Supplicant?" she asks.<br> <br> That has you... stumped.<br> <br> How will you answer?<br> <br> [[Dominator.->Couchelaxa: Socialising: Dominator]]<br> [[Epicurean.->Couchelaxa: Socialising: Epicurean]]<br> [[Supplicant.->Couchelaxa: Socialising: Supplicant]]<br> [[You dont know.->Couchelaxa: Socialising: Don't Know]]
You order a $socialisingDrinks[$sdi].name for yourself. Couchelaxa orders nothing. <<include [[Couchelaxa: Socialising: Combined]]>>
"The Dominator lies on top. His is the position of power, but also of obligation. It is a demanding role, but also one of great pleasure. Can you fulfil it?"<br> <br> <<set $allHarlots[$hi].hasSocialisedDominator to true>> <<if $isHarlotTesting>> <<include [[Test Couchelaxa: Socialising]]>> <</if>> <<include [[Couchelaxa: Socialising: End]]>>
"The Epicurean lies on his side. He is a seeker of sensual pleasures. We who serve will work hard to satisfy his great appetite."<br> <br> <<set $allHarlots[$hi].hasSocialisedEpicurean to true>> <<if $isHarlotTesting>> <<include [[Test Couchelaxa: Socialising]]>> <</if>> <<include [[Couchelaxa: Socialising: End]]>>
"The Supplicant lies on his back. He is passive, given pleasure in return for an offering."<br> <br> <<set $allHarlots[$hi].hasSocialisedSupplicant to true>> <<if $isHarlotTesting>> <<include [[Test Couchelaxa: Socialising]]>> <</if>> <<include [[Couchelaxa: Socialising: End]]>>
You answer honestly and tell Couchelaxa you don't know what any of those terms mean.<br> <br> "That is fine," Couchelaxa replies. "Only at the time of positioning does the role reveal itself."<br> <br> <<if $isHarlotTesting>> <<include [[Test Couchelaxa: Socialising]]>> <</if>> <<include [[Couchelaxa: Socialising: End]]>>
You don't know what to say to any of that. You wonder if Couchelaxa is right in the head. She seems a little... cuckoo. You take her back to $npcMadam.name still none-the-wiser as to who or what she is.<br> <br> <<include [[Socialising: End]]>>
"A strange girl," $npcGossip.name says. "One might even say she's not all there."<br> <br> She chuckles at a private joke and then takes a sip of her cocktail.<br> <br> "She's also a complex girl. There's more to her than you might think."<br> <br> She chuckles again.<br> <br> "Hmm, but you bought me a drink for information, so I should try and tell you something useful."<br> <br> She puffs on her cigarette.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"Oh yes, she really hates clothes. Yours, of course. Herself, she doesn't venture outside without being covered head to toe. Make sure you're fully undressed before getting on her bed.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"If you want a really big – shall we say, massive - \/\/pop\/\/, lie face down on her bed. She'll give you the biggest ejaculation you'll ever have.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"She has a notion of the meaning of dominant and submissive, but they're a little off-kilter. You see, she received and enjoyed a really good fucking from a greater incubus at some point in her life, and mistakenly used that as a benchmark for how the dominant role should be played. Normal humans can't really live up to it.\""}>> <<set $allHarlots[$hi].gossipGossip[3] to { isLie: false, text: "\"There's no harm in being greedy with her, providing...\"\<br\>\<br\>She leers down at your crotch.\<br\>\<br\>\"...you have plenty in the tank.\""}>> <<set $allHarlots[$hi].gossipGossip[4] to { isLie: false, text: "\"Boring people choose to lie on their back. There's no shame in being boring. Boring people live long lives.\""}>>
/* Default for harlots that have no gossip - they populate the array with nothing */
/* All the vars we're checking */ <<set _socDom to _scoreArray[0][1] and _osa[0][2] eq false>> <<set _socEpi to _scoreArray[1][1] and _osa[1][2] eq false>> <<set _socSupp to _scoreArray[2][1] and _osa[2][2] eq false>> <<set _socAll to _scoreArray[3][1] and _osa[3][2] eq false>> <<set _didntSeeHer to not $allHarlots[$hi].hasLainOnBed>> <<set _prevSex to $allHarlots[$hi].previousSexAct>> <<set _currSex to $allHarlots[$hi].currentSexAct>> <<set _isRepeat to _isRepeatVisit and _prevSex neq 0>> <<if _socDom or _socEpi or _socSupp or _socAll or _isRepeat or _didntSeeHer>> /* We have custom text */ <br> <br> <<if _socAll>> /* Full Socialising Info */ "Hmm, I've heard she has a curious obsession with roles and position. You seem to have unearthed a good deal of information on that. Sadly, it still leaves me none the wiser." <<elseif _socDom or _socEpi or _socSupp>> /* Partial Socialising Info */ "Hmm, I've heard she has a curious obsession with roles and position. No-one really understands it." <</if>> /* Bridging sentence */ <<set _hasSocInfo to _socDom or _socEpi or _socSupp>> <<set _hasOtherInfo to _isRepeat or _didntSeeHer>> <<if _hasSocInfo and _hasOtherInfo>> <br><br> $npcMoney.name grunts as he takes down more notes. <br><br> <</if>> <<if _isRepeatVisit>> <<if _didntSeeHer>> "And she wasn't in her room, again."<br> <br> $npcMoney.name tilts his head and fixes you with a disapproving glare.<br> <br> "I'm starting to wonder if you're wasting my time." <<elseif _prevSex neq 0>> <<if _prevSex eq _currSex>> <<if _currSex eq 1>> <<set _currRole to "Supplicant">> <<elseif _currSex eq 2>> <<set _currRole to "Epicurean">> <</if>> /* repeated same sex act */ "You chose to be the <<print _currRole + ",">> again? While that might have been enjoyable, it doesn't exactly tell me anything new." <<else>> <<if _prevSex eq 1>> <<set _prevPos to "back">> <<set _prevRole to "Supplicant">> <<elseif _prevSex eq 2>> <<set _prevPos to "side">> <<set _prevRole to "Epicurean">> <</if>> /* different sex act */ "Last time you lay on your _prevPos and she called you, what was it... <<print _prevRole + "?">> What role did you take this time?" <</if>> <</if>> <<else>> <<if _didntSeeHer>> "And you say she wasn't there at all. How queer!" <</if>> <</if>> <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Couchelaxa: First-Time Scenario]]>> <<else>> <<include [[Couchelaxa: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ <<set $hasInvestigatedScreen to false>> <<set $hasInvestigatedBed to false>> <<set $hasCalledOut to false>> <<set $waitingMode to 0>> <<set $firstBedOption to true>> <<set $skipBedOption to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Socialising: Dominant */ [1,false,false], /* Socialising: Epicurean */ [1,false,false], /* Socialising: Supplicant */ [3,false,false], /* Socialising: Bonus */ [1,false,false], /* Early Leave */ [4,false,false], /* Sex: Epicurean */ [4,false,false], /* Sex: Supplicant */ ] }>> You enter a tidy little room with a quasi-futuristic feel. The floor, walls and ceiling are covered in metal panels. Light sources are studded at the intersections between panels. Various erotic bas-reliefs are engraved into the metal plates.<br> <br> The most distinctive feature of the room – unsurprisingly, given its function – is a large blue mattress. It sits on a raised platform on the left side of the room and, in keeping with the futuristic theme of the room, appears to be comprised of some kind of semi-transparent blue gel.<br> <br> Maybe Couchelaxa is some kind of alien. Everything else is present in The House.<br> <br> You also wonder where she is, as you can't see her anywhere in the room.<br> <br> Which makes it all the more surprising when you hear her say, "Take your clothes off and lie on the bed, please."<br> <br> You look around and try to find the source of her voice. There is some kind of folding screen at the back of the room to the right. Maybe she's behind that.<br> <br> Or she might be invisible.<br> <br> What will you do?<br> <br> <<include [[Couchelaxa: Scenario Options]]>>
/* TODO: IsFactionIncrease - should only increase once */ /* relevant scenario-specific vars defined here: */ <<if $allHarlots[$hi].hasLainOnBed eq false>> <<set $hasInvestigatedScreen to false>> <<set $hasInvestigatedBed to false>> <<set $hasCalledOut to false>> <<set $waitingMode to 0>> <<set $firstBedOption to true>> <<set $skipBedOption to false>> <</if>> /* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You return to Couchelaxa's tidy little room. The floor, walls and ceiling are covered in metal panels. Light sources are studded at the intersections between panels. Various erotic bas-reliefs are engraved into the metal plates.<br> <br> The most distinctive feature of the room is the large blue mattress made out of translucent blue gel that sits on a raised platform to the left. <<if $allHarlots[$hi].hasLainOnBed eq true>> From your past visit you know that the mattress is actually Couchelaxa herself. <</if>> <br><br> As before, you hear Couchelaxa say," Take your clothes off and lie on the bed, please."<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq true>> This time you know what to do. You go over to the bed and take your clothes off.<br> <br> [[You get on the bed.->Couchelaxa: Bed: Naked]] <<else>> As before, you don't have the faintest idea where she might be.<br> <br> <<include [[Couchelaxa: Scenario Options]]>> <</if>>
<<if $skipBedOption eq true>> <<set $skipBedOption to false>> <<else>> <<if $firstBedOption eq true>> [[Do as she says?->Couchelaxa: Follow Instructions to Bed]]<br> <<set $firstBedOption to false>> <<else>> [[Follow Couchelaxa's instructions and take your clothes off and get on the bed?->Couchelaxa: Follow Instructions to Bed]]<br> <</if>> <</if>> <<switch $waitingMode>> <<case 0>> [[Wait?->Couchelaxa: Wait 1]]<br> <<case 1>> [[Continue waiting?->Couchelaxa: Wait 2]]<br> <<case 2>> <<if $hasCalledOut eq false>> [[Call out?->Couchelaxa: Call Out]]<br> <</if>> [[Leave?->Couchelaxa: Early Leave]]<br> <</switch>> <<if $hasInvestigatedScreen eq false>> [[Investigate behind the folding screen?->Couchelaxa: Investigate Screen]]<br> <</if>> <<if $hasInvestigatedBed eq false>> [[Investigate the bed?->Couchelaxa: Investigate Bed]]<br> <</if>>
<<if $hasInvestigatedBed eq false>> You walk over to the bed. It's a little unusual. There are no sheets, just a single large mattress made out of what appears to be slightly translucent blue jelly. Futuristic, in a kitschy kind of way. Like something out of an old science fiction film where the 'aliens' were statuesque blonde girls.<br> <br> <</if>> <<include [[Couchelaxa: Bed: Naked]]>>
You stand where you are and wait for something to happen.<br> <br> Something does not happen.<br> <br> You stand there for a good few minutes and something continues to not happen. The room is silent and completely still. <<if $allHarlots[$hi].hasBeenVisited eq true>>Didn't this happen last time?<</if>> <br> <br> <<set $waitingMode to 1>> <<include [[Couchelaxa: Scenario Options]]>>
You wait longer.<br> <br> Nothing happens. Couchelaxa, wherever she is, says nothing. You continue to stand by the door.<br> <br> <<if $allHarlots[$hi].hasBeenVisited eq true>> This happened last time. Could she be avoiding you? Maybe she doesn't like you? Or maybe she's shy. <<else>> It's starting to get awkward. <</if>> <br> <br> <<set $waitingMode to 2>> <<include [[Couchelaxa: Scenario Options]]>>
<<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Couchelaxa: First Time Early Leave]]>> <<else>> <<include [[Couchelaxa: Repeat Early Leave]]>> <</if>> <br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> <<include [[Couchelaxa: Ending Cleanup]]>> <<include [[Harlot Scenario: End]]>>
"Hello?" you call out. <<if $allHarlots[$hi].hasBeenVisited eq false>> "Anyone here?"<br> <br> You don't get any reply, or any indication someone else is in the room. If you hadn't heard Couchelaxa earlier, you would have sworn you were alone in the room, and even now you're not sure. <<else>> "It's me. Again."<br> <br> As before, you don't get any reply, or any indication someone else is in the room with you. Where is Couchelaxa? <</if>><br> <br> <<set $hasCalledOut to true>> <<include [[Couchelaxa: Scenario Options]]>>
/* unset variables at end of scenario */ <<unset $hasInvestigatedScreen>> <<unset $hasInvestigatedBed>> <<unset $waitingMode>> <<unset $hasCalledOut>> <<unset $skipBedOption>> <<unset $firstBedOption>> /* scoring - not so relevant if dead, but that should be reset anyway */ <<set _d to $allHarlots[$hi].hasSocialisedDominator>> <<set _e to $allHarlots[$hi].hasSocialisedEpicurean>> <<set _s to $allHarlots[$hi].hasSocialisedSupplicant>> <<if _d>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <</if>> <<if _e>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <</if>> <<if _s>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <</if>> <<if _d and _e and _s>> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <</if>>
/* Bold */ <<if not $player.currIsCautious>> You walk up and pull the screen aside, perhaps a little too aggressively. As it is, you're spared the embarrassment of exposing Couchelaxa mid-change. She isn't behind the screen. You do find an old-fashioned wooden hat stand, <<else>> You sneak up to the folding screen and peek around the side. You do not catch Couchelaxa in the act of undressing, or Couchelaxa at all, as it happens. She isn't behind the screen. You do notice an old-fashioned wooden hat stand, <</if>> which looks a little out of place amongst the futurism of the rest of the room. Couchelaxa's shiny black trilby hat is hanging on a hook, as is her long black raincoat. Her long white boots are tidily positioned against the wall to the left of the stand.<br> <br> Couchelaxa appears to have already undressed. So where is she?<br> <br> <<set $hasInvestigatedScreen to true>> <<include [[Couchelaxa: Scenario Options]]>>
You walk over to the strange bed on the left-hand side of the room. It's certainly unusual, and in keeping with the futuristic appearance of the rest of the room. There are no sheets, just a single large mattress made out of what appears to be slightly translucent blue jelly. Futuristic, in a kitschy kind of way. Something you might see in an old science fiction film along with statuesque blonde girl 'aliens'.<br> <br> Tentatively, you put a hand on the mattress and press down. The material is warm, soft, has a little bit of elasticity and feels slightly tacky to the touch. Very similar to jelly, you think. Or maybe silicone. It reminds you of the rubbery jelly used in toys. Both of the regular children's kind and of the more sexual adult kind.<br> <br> Making a whole bed out of the material used to make sex toy sheaths seems a little excessive. You suppose it might be comfortable to lie on.<br> <br> <<set $hasInvestigatedBed to true>> <<set $skipBedOption to true>> [[Jump on and try it out?->Couchelaxa: Bed: Fully Clothed]]<br> [[Take your clothes off first and then try it out?->Couchelaxa: Bed: Naked]]<br> <<include [[Couchelaxa: Scenario Options]]>>
Still with your clothes on, you hop up onto the mattress and bounce on it experimentally.<br> <br> It feels okay. The material is pleasingly soft, but not so soft you sink too deep into it. It reminds you of memory foam mattresses, but with a little more bounce.<br> <br> You suspect it might be pretty good to have sex on. And you suspect the artificial material is fairly easy to clean up afterwards as well.<br> <br> This has you wondering where Couchelaxa might be. <<if $hasInvestigatedScreen>> Is she even in the room? Or maybe she is and invisible. The House seems so strange that even the prospect of an invisible woman doesn't seem that weird. <<else>> Is she still behind that screen? <</if>> <br> <br> You bounce a bit more on the jelly mattress. It's quite fun actually. You're looking forward to the prospect of an energetic fucking.<br> <br> The surface sinks a bit more than you were expecting. Then surges upwards around your feet and ankles. Before you can react, a jelly pseudopod picks you up by the ankles and slams you into the floor like a ragdoll. Then it slams you into the wall, floor and then wall again. You don't know much about it. The first impact shattered your skull. The subsequent impacts leave your body a broken mess. The living mattress drops your shattered form on the floor like a piece of discarded rubbish.<br> <br> <<include [[Couchelaxa: Ending Cleanup]]>> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
You take your clothes off and leave them in a neat little pile next to the bed. Then, fully naked, you climb up on top of the mattress.<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq true>>As before it<<else>>It<</if>> feels... strange, but okay. Nice even. The blue jelly is soft, but not soft enough for you to sink all the way into it. <<if $allHarlots[$hi].hasLainOnBed eq true>> It's weird to think this is actually Couchelaxa. It doesn't seem like a living thing at all.<br> <br> <<if $allHarlots[$hi].currentSexAct eq 2>> Last time, you lay on your side and Couchelaxa called you the "Epicurean", whatever that means. <<else>> Last time you lay on your back and Couchelaxa treated you nicely as the "Supplicant". <</if>> <br><br> While you're waiting for her to appear, will you lie... <<else>> <<if $hasInvestigatedBed eq false>> The material is warm, elastic and slightly tacky to the touch. It reminds you of the rubbery jelly used in toys—both those used by children and those used for sexual pleasure by adults. While making a whole bed out of warm silicone seems a little excessive, you can't deny it isn't comfy. <</if>> You bounce a little on the mattress. You suspect sex on here would be quite a lot of fun.<br> <br> And thinking of sex, you wonder where Couchelaxa might be. <<if $hasInvestigatedScreen>> You didn't see her behind the screen. <<else>> Is she still hiding behind that screen? <</if>><br> <br> Maybe you're supposed to make yourself comfortable and wait for her to show up.<br> <br> While you're waiting, will you lie... <</if>> <br> <br> [[...on your back?->Couchelaxa: Back 1]]<br> [[...on your side?->Couchelaxa: Side 1]]<br> [[...on your front?->Couchelaxa: Front 1]]<br>
/* keeping track of sex acts */ <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 1>> You lie on your back and stretch out. Despite the unusual material it's made from, the bed is comfortable. It has just the right amount of give and spring. Also, despite the jelly-like appearance, the surface feels warm rather than clammy.<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq false>> It has quite a bit of spring, you think, as you bounce your ass experimentally on it. Fucking someone on here would be quite a lot of fun, you think.<br> <br> You wonder where Couchelaxa is. <<if $hasInvestigatedScreen>> You didn't see her behind the screen. <<else>> Is she waiting behind the screen? <</if>><br> <br> "Ready," you call out. <<if $hasInvestigatedScreen eq false>> You glance over to the screen on the far side of the room, waiting for her to emerge. <</if>> <<else>> It's weird to think you're actually lying on top of Couchelaxa right now. You wait for her to manifest female forms out of the bed. <</if>><br> <br> "The position chosen is The Supplicant."<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq true>> [[Here she comes.->Couchelaxa: Back 2]] <<else>> [[Where did that come from?->Couchelaxa: Back 2]] <</if>>
/* keeping track of sex acts */ <<set $allHarlots[$hi].previousSexAct to $allHarlots[$hi].currentSexAct>> <<set $allHarlots[$hi].currentSexAct to 2>> <<if $allHarlots[$hi].hasLainOnBed eq false>> <<if $hasInvestigatedScreen>> You lie on your side and wonder where Couchelaxa is. You didn't see her behind the screen. Then you hear a voice... <<else>> You lie on your side and wait for Couchelaxa to come out from behind the screen. She doesn't. Instead you hear a voice say... <</if>> <<else>> This time, you lie on your side and wait for Couchelaxa to emerge from the bed. You hear her say... <</if>><br> <br> "The position chosen is The Epicurean. The Epicurean is a seeker of sensation, always hunting for greater and greater pleasures. We who serve must satisfy his great appetite."<br> <br> [[What does that mean?->Couchelaxa: Side 2]]
You turn over and lie on your belly. The jelly bed is quite comfortable despite its unusual appearance. You experimentally hump your hips against the mattress and the blue jelly rebounds in a way that feels satisfying. The synthetic surface also feels pretty good against your cock – warm and springy, almost like flesh.<br> <br> You wonder where Couchelaxa is. You wouldn't mind her being underneath you right now.<br> <br> And then she is beneath you.<br> <br> She rises up out of the mattress. Or rather, forms out of the same translucent material. She is a buxom young woman. There is an exotic cast to her face. It's hard to place her ethnicity as she appears to share features of all of them.<br> <br> Out of reflex, you try to lift your body up to avoid squashing her underneath you, only for your hands to sink right into the jelly mattress. You collapse on top of her, compressing her big round boobs beneath your chest. Down below, your erection slides into a moist orifice that can only be her pussy. She wraps her long legs around you to hold you in place.<br> <br> This wasn't how you expected Couchelaxa to make an appearance, but you can't say you're unhappy about it.<br> <br> Couchelaxa's eyes are closed. She seems surprisingly expressionless considering your cock is currently buried in her up to the root.<br> <br> "The position chosen is The Dominator. He who is on top. He who rules, who controls," she says.<br> <br> [[Continue.->Couchelaxa: Front 2]]
<<if $allHarlots[$hi].hasLainOnBed eq false>> You hear a voice, but don't see who it belongs to. Weirdly, it seems to be emanating from the bed beneath you.<br> <br> And then the mattress shifts and morphs beneath you.<br> <br> From out of nowhere – or, rather, nothing but the mattress – <<else>> The mattress changes shape and <</if>> you find yourself lying on and in the arms of a buxom young woman.<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq false>> She's blue. You can see her reflection in the mirror above the bed. She looks to be made out of the same translucent blue jelly as the mattress, but is very much alive. <<else>> It's Couchelaxa. Her body being made out of the same translucent jelly as the mattress looks just as strange to you as it did before. <</if>> She wraps blue arms around you and you feel big blue breasts press against your shoulders and back. Her long legs emerge from the surface and wrap around you. Her ankles hook against the inside of your calves and keep your legs apart.<br> <br> The reason for this becomes clear as there is a disturbance in the mattress between your legs. The surface bulges up and morphs into the form of another buxom woman. She could be the twin of the woman lying beneath you. Her face has an exotic cast. It's hard to place her ethnicity as she appears to share features of all of them. Her breasts are big and bouncy. They're the same translucent blue as the rest of the bed, aside from her areolae and nipples, which are darker and opaque.<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq false>> You're wondering which is Couchelaxa when they both speak with one voice. <<else>> The two women are both Couchelaxa. They speak with one voice. <</if>><br> <br> "The Supplicant is passive. To serve The Supplicant we must take the dominant role. To serve is to control."<br> <br> [[What do they mean?->Couchelaxa: Back 3]]
You have no idea what she's talking about, and care little anyway, as she follows up by lying on top of you and pressing her soft sensual lips against yours. Her kiss tastes of blueberries and cream.<br> <br> The <<if $allHarlots[$hi].hasLainOnBed eq false>>girl<<else>>Couchelaxa<</if>> on top <<if $allHarlots[$hi].hasLainOnBed eq false>>– Couchelaxa, you think – <</if>> sits back up. Her face is curiously expressionless as she wraps a hand around your cock and steers it to the opening of her sex. She remains expressionless even as she presses down and your erection slides up inside her. The thick walls of her pussy feel textured in a way designed to stimulate you. As your cock slides up a well-lubricated channel, there is just enough pressure and friction to set your blood racing and your loins throbbing.<br> <br> "The Supplicant need do nothing but lie back. We who serve will pleasure him and extract his offering."<br> <br> Couchelaxa starts riding you with greater vigour. Her large, gelatinous boobs rock and sway with her movements. Her skin is translucent enough for you to see your cock slide back and forth inside her.<br> <br> Couchelaxa leans back down to kiss you. Her hips bounce against you faster and harder. The other Couchelaxa does the same beneath you, her movements pushing your hips up to meet the downward bounces of the woman on top.<br> <br> [[You feel a climax brewing.->Couchelaxa: Back 4]]
You feel a climax brewing. Couchelaxa feels it too. She presses down, letting her vagina swallow the whole length of your cock. The other Couchelaxa hugs you tightly from below. You're the filling in a sandwich between the two of them.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Couchelaxa: Back: Bad End]]>> <<else>> <<include [[NPC Potion: Track Semen Harvested]]>> <<include [[Couchelaxa: Back 5]]>> <</if>>
And yet you can't quite reach climax. You must have exerted yourself too much within the House. You don't have anything left.<br> <br> Couchelaxa sits back up. Her face is unreadable.<br> <br> "If The Supplicant is unwilling to make the offering, then we who serve must draw it from them by force."<br> <br> She lies back down on top of you. This time there is no kiss. Her arms meet and merge with the arms of the Couchelaxa lying beneath you. Their sandwich becomes a little tighter. You feel Couchelaxa's vagina clamp around the base of your cock. Up in mirror you see Couchelaxa's lower body swell and some kind of bladder open up inside it. You feel a ferocious vacuum force tug on your cock and loins.<br> <br> That solves your inability to come, perhaps a little too well. The resulting orgasm is far too intense. And the moment you come... that can't be possible. Through Couchelaxa's translucent blue skin you see white fluids pour into her in a great torrent. These fluids – //surely they can't have come from you, not that much// – are syphoned down into the mattress below by means of flexible pipe emerging from Couchelaxa's ass.<br> <br> The mattress expands. The vacuum suction force tugging on you strengthens to the point of being both irresistible and unbearable. It's too strong. Something within you gives and then you're tumbling down, lost, into that raging white torrent. You pour down into and are swallowed up by the blue mattress.<br> <br> "The offering has been received. We who serve have fulfilled our role," the blue girls say before melting back into the mattress.<br> <br> You don't hear them on account of being very very dead.<br> <br> <<include [[Couchelaxa: Ending Cleanup]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
And now you're coming. Coaxed by the internal motions of Couchelaxa's pussy you let loose a long stream of semen inside her.<br> <br> Then, spent, you lie back in the other Couchelaxa's arms. You feel wonderfully relaxed and blissfully satiated. You lie like that for a while, enjoying the sensations as both girls caress you with their hands, their lips, their boobs.<br> <br> The Couchelaxa on top sits back up. A white ball of liquid is visible inside her through her translucent skin.<br> <br> Is that your... no, it couldn't be. You couldn't have produced that much.<br> <br> "The Supplicant has been indulged and the offering taken," the two women say as one.<br> <br> Both melt back into the bed until you're once again lying on an odd – and inert – blue mattress made out of a strange translucent jelly-like substance.<br> <br> Odd, you think. But still rather pleasant.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[6][1] to true>> [[You rest a while to recover.->Couchelaxa: Good End]]
You lie on the blue mattress for a while, waiting for your scrambled senses to return to normal. The bed shows no inclination to be anything other than a bed.<br> <br> Then, once you feel like you've recovered enough, you slide off the mattress and put your clothes back on. Your steps are a little unsteady as you walk to the exit.<br> <br> At the door you turn back and look at the bed.<br> <br> It's still a bed.<br> <br> /* Both good routes count as a faction increase (but only once) */ <<include [[Default Harlot: Faction Increase]]>> <<set $allHarlots[$hi].hasLainOnBed to true>> <<include [[Couchelaxa: Ending Cleanup]]>> <<include[[Harlot Scenario: End]]>>
The surface of the mattress in front of you is suddenly in motion. The same for a patch of mattress behind you. You see it reflected in the mirror on the ceiling above the bed. <<if $allHarlots[$hi].hasLainOnBed eq true>>Couchelaxa is about to make her appearance.<</if>> <br> <br> Two naked women rise up out of the bed. They look so alike they could be twins. Both are buxom with lovely large round boobs. Their faces are exotic, although it's a little difficult to place their ethnicity as they appear to have features of all of them. Most strangely, they appear to be made out of the same translucent blue jelly-like substance as the mattress. Were they made from it or exist as part of it?<br> <br> Your questioning thoughts are derailed as the girl in front of you turns towards you and leans in for a kiss. Her lips are wonderfully soft and supple. She tastes sweet, like blueberries and cream.<br> <br> Her arms enfold you, as do those of her twin. They both press together, sandwiching you between their warm bodies. You feel their ripe, round boobs press against either side of your body. Their legs wrap around you. Your erection is drawn into the vagina of the first girl while the second plants sensual kisses on your neck and shoulders. The first kisses your mouth with her lips and your penis with her sex. Her pussy is tight and the walls feel textured to stimulate you further. It's full of wet lubricant and you glide smoothly into her luscious depths.<br> <br> [[Continue.->Couchelaxa: Side 3]]
Couchelaxa breaks off the kiss.<br> <br> "One is never enough for The Epicurean. We must become two to please him."<br> <br> <<if $allHarlots[$hi].hasLainOnBed eq false>> Both speak as one, making you think they – and the blue mattress – are all part of the same whole. Then they <<else>> They <</if>> both press their bodies against you and you're distracted by other concerns. Aided by their movements, your cock slides back and forth inside the first Couchelaxa's wonderfully lubricated vagina. It doesn't take long for her luscious vagina to bring you to the point of climax.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> One that – maddeningly – you can't quite reach. Your exertions in the House have left you too depleted.<br> <br> "Sometimes The Epicurean falls, his flesh unable to keep up with the demands of his appetites."<br> <br> [[Continue.->Couchelaxa: Side: Bad End]] <<else>> It does not take much of this to tip you over the edge. The two women sense it as well. At the point of climax they squeeze you between their soft, gelatinous bodies. The first Couchelaxa presses her lips against yours in another delicious blueberry kiss. Her vagina gives your cock a little squeeze. Unable to resist, you fire off a big and satisfying load. Then you lie, sandwiched, between their warm bodies and bask in the glow as the ejaculation gradually subsides to a pleasant trickle.<br> <br> Yeah, that was damn good. Weird, but good.<br> <br> "The Epicurean is never satisfied with a single climax or just one woman. He always craves more, and we who serve must give him more," both women say in one voice.<br> <br> <<include [[NPC Potion: Track Semen Harvested]]>> [[You don't think they're done.->Couchelaxa: Side 4]] <</if>>
The two women shift and blur. When their bodies reform, both are facing you. They snuggle up close until you're firmly wedged between their gelatinous forms. Your dick might be spent and drooping, but that proves no obstacle to the Couchelaxa in front of you. She wraps her legs around you, her vagina finds the head of your cock and sucks it inside, where she begins to stimulate it with regular muscular pulsations.<br> <br> "If The Epicurean falls, we who serve must take the role of The Dominator to ascend him to where his flesh is too weak to carry him."<br> <br> The Couchelaxa behind you raises an arm. It stretches longer than it should and the fingers wriggle like worms. She reaches down between your ass cheeks. A finger, slick with lubricant, slides into your ass and swells up, stretching your sphincter. She finds your prostate and presses it like a button. At the same time the Couchelaxa in front of you clamps her body tight to yours. Your cock is gripped by powerful, rippling muscular suction.<br> <br> You had more than you thought, although this time it feels more like the ejaculation is ripped from you. Your cock throbs and spurts a thick stream of cum into Couchelaxa.<br> <br> A bladder opens within Couchelaxa, or maybe within the mattress beneath her. Your loins are gripped by a ferocious vacuum suction. The other Couchelaxa presses down harder on your prostate. Your ejaculation becomes a massive flood gushing from you. You can even see it through Couchelaxa's translucent blue skin – a great white stream.<br> <br> That can't be possible. It's too much, way too much. It can't all be coming from you.<br> <br> The mattress expands as an even bigger bladder opens up within it. The vacuum suction intensifies. You feel something tear within you and you fall, lost, into the raging torrent spilling from you.<br> <br> "And thus, once the peak of pleasure is attained, The Epicurean can finally be at peace."<br> <br> The girls melt back into the mattress, leaving behind your empty and slowly cooling corpse.<br> <br> <<include [[Couchelaxa: Ending Cleanup]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
They shift position and turn you around. You're now facing the other way, towards the second Couchelaxa. Or rather, to her back. Your face is buried in the gelatinous curls of her hair. That too smells of blueberries and cream. She reaches back to take your arm and pull it around until your hand is pressed into her soft tit. She backs her voluptuous ass into you and your cock slides into another tight, well-lubricated passage. It too is textured in a way to provide maximum stimulation. You'd confuse it with a synthetic sex toy if her whole body wasn't moving against you.<br> <br> Both move against you. And, sandwiched between them, you use their elasticity to drive your hard cock back and forth. You're not sure if it's her ass or pussy, only that it feels incredible. You feel the stirrings of another orgasm begin in your balls.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> This one is a climax too far, though. You're empty. As much as you slide your cock back and forth into Couchelaxa's luscious body, you can't quite make it to the finishing line.<br> <br> "Sometimes The Epicurean falls, his flesh unable to keep up with the demands of his appetites."<br> <br> [[Continue.->Couchelaxa: Side: Bad End]] <<else>> It doesn't take long before the urge to come becomes unstoppable. You clutch Couchelaxa's breast tight and thrust as deep inside her as you can go. You feel another satisfying throb as you let go and pour a thick stream of cum inside her.<br> <br> The two women wait motionlessly on either side of you for your body to recover.<br> <br> "The Epicurean is never done. Even before the echoes of the last pleasure fades away, he is already in search of the next sensation. It is the role of we who serve to find it for him."<br> <br> <<include [[NPC Potion: Track Semen Harvested]]>> [[They still don't appear to be done.->Couchelaxa: Side 5]] <</if>>
They turn your body around, back to facing the first Couchelaxa. She hugs you tight and plants her soft lips on yours in a sumptuous kiss. The other Couchelaxa hugs you tightly from behind. Your cock, still hard even after two ejaculations, is returned to the lovely embrace of the first Couchelaxa's tight and well-lubricated vagina.<br> <br> This time you're wedged so tightly between their bodies you have little freedom of movement. It's not needed. Couchelaxa's lips move against you in a slow, sensual kiss. Her vagina pulses around your cock, providing gentle stimulation without either of you needing to move.<br> <br> //Irresistible// stimulation. You wouldn't have thought it possible after two climaxes already, but you can already feel the beginnings of a third stir in your loins.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> A third is too much, though. As nice as Couchelaxa's pussy feels, she can't quite stroke you to ecstatic release.<br> <br> "Sometimes The Epicurean falls, his flesh unable to keep up with the demands of his appetites."<br> <br> [[Continue.->Couchelaxa: Side: Bad End]] <<else>> Even after two ejaculations it doesn't take long for Couchelaxa's pussy to stroke you to a third. You hug her gelatinous body to you and flex your hips against her as your throbbing cock empties another thick stream of cum inside her. Her vagina throbs around you, eagerly milking every last drop from your penis.<br> <br> Then, spent, you let yourself lean back into the other Couchelaxa's arms.<br> <br> That's probably enough you think. Three times is already more than you thought you were capable of.<br> <br> "We who serve The Epicurean have a responsibility to show him further realms of pleasure. We who serve are guides to worlds of sensation The Epicurean might not have previously realised existed."<br> <br> <<include [[NPC Potion: Track Semen Harvested]]>> [[It appears they have other ideas.->Couchelaxa: Side 6]] <</if>>
You are turned around again. The second Couchelaxa shifts to face away from you. She doesn't turn, instead her body morphs and shifts and reforms until you're spooning the buxom blue girl. She takes both of your hands, brings them around her body and presses them into her soft, gelatinous boobs. She presses her shapely ass into your crotch. Your erection is again pushed into a warm, wet orifice.<br> <br> This might be her ass. It feels tighter than before. The jelly walls fit snugly around your cock and she stimulates you with regular, rhythmic pulses.<br> <br> Ooh, that feels good, you think, but you don't think you're going to be able to come again, not so soon after three climaxes in quick succession. It doesn't matter how tight, wet and wonderful she feels.<br> <br> The first Couchelaxa sits up behind you. She holds up a hand. Her fingers are curiously flexible and wriggle like worms.<br> <br> "We who serve The Epicurean have an obligation to aid him when his body proves weak."<br> <br> [[Continue.->Couchelaxa: Side 7]]
Her hand goes down between your ass cheeks. A flexible finger, slick with lubricant, slides into your ass and starts gently stroking your prostate. The other Couchelaxa presses her body back against you. Your cock is gripped by powerful, muscular throbs.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> Even that isn't enough. This room – the whole night – has been too much. You have no more left to give.<br> <br> "Sometimes The Epicurean falls, his flesh unable to keep up with the demands of his appetites."<br> <br> [[Continue.->Couchelaxa: Side: Bad End]] <<else>> Your head goes white and then you're coming as if you haven't come in a week, a month. It pours out of you in great shuddering gushes. In the mirror you see Couchelaxa's belly swell out. Through her translucent blue skin you see a large round cavity fill up with churning white liquid.<br> <br> That can't be you, you think. There is no way all that could have come from your body.<br> <br> Then Couchelaxa presses her finger down on your prostate like a button and your head goes white as your massive ejaculation ends with a great shuddering blast.<br> <br> "The Epicurean is sated. We who serve have fulfilled our duties."<br> <br> Both women melt and sink back into the mattress. You're left alone, still shivering uncontrollably in the aftermath of sensations more intense than you believed possible. What just happened? you think.<br> <br> <<include [[NPC Potion: Track Semen Harvested]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> [[You rest a while to recover.->Couchelaxa: Good End]] <</if>>
You don't make much sense of that. But you are on top, you think. And you are inside her. Which means you might as well do what you were fantasising about moments before.<br> <br> You lift your hips and start thrusting down. The bed is nice and bouncy, as is Couchelaxa. She seems to be made out of the same blue jelly-like material as the mattress.<br> <br> She might look strange, but her pussy feels incredible. It's tight, well-lubricated and the walls are textured in such a way to give you maximum stimulation as you thrust back and forth.<br> <br> "We who serve must take the role of the perfect receptacle. We must accept all from The Dominator."<br> <br> You don't know what Couchelaxa is talking about and don't really care. Fucking her is amazing. The elasticity of the bed – of her – allows you to power into her sex with great, deep thrusts. Another strange thing, on top of all the other strange things, is the angle. You're able to drive straight down, almost perpendicular, in a way that should not be possible with human anatomy and the way she is lying.<br> <br> "And The Dominator must give all, for that is the purpose of The Dominator."<br> <br> You ignore her and keep plunging down inside her. So deep that the swollen head of your cock comes up against the fleshy doors of some internal orifice, one that sucks at you and tries to prevent your cock from pulling back.<br> <br> That might be a little //too// weird.<br> <br> [[Continue.->Couchelaxa: Front 3]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> A mass bulges up between your ankles and flops down on your back. It's another woman made out of jelly. You can feel the two round bulges of her tits press against your back.<br> <br> Another girl? Or another part of Couchelaxa?<br> <br> It would seem to be the latter as the next time they speak, they speak as one, as if with they are the same voice.<br> <br> "The role of The Dominator is hard. To aid him, we who serve must be more than just a receptacle."<br> <br> The second girl presses her body down on you, making you the filling in a sandwich between the two of them. You are squashed between two big pairs of lovely round boobs. The upper girl starts adding her movements to yours, driving you deeper and harder into the wet pussy of the girl below you. Her vagina contracts and you feel a vacuum tug to every back stroke. It pulls on you like thick mud pulls on a boot.<br> <br> "The time approaches for The Dominator to carry out their role."<br> <br> This time you plunge all the way down to that mysterious opening within her and her vagina does not release you. It clamps around the base of your cock and forms a powerful seal. The jelly-like walls of her pussy grip you and begin to stimulate your member with slow regular pulses. The girl above you rubs her soft tits against your back.<br> <br> You feel the internal aperture open slightly and sense a cavity beyond it – a big one, maybe one that extends into and fills the interior of the mattress. You are sure now that the Couchelaxa beneath you, the Couchelaxa on top of you, and the mattress are all one and the same.<br> <br> "The role of The Dominator is demanding. We who serve must sometimes take part of that role unto ourselves in order to finish the task."<br> <br> [[Continue.->Couchelaxa: Front: Bad End]]
The Couchelaxa lying on top of you shifts position. You feel a jelly-like finger, slick with lubricant, slide into your ass. It worms deeper and starts massaging your prostate. The other girl's vagina wraps tightly around you and pulses harder and faster. Your cock starts throbbing with the urge to come.<br> <br> "And now The Dominator will fulfil his role and fill the receptacle."<br> <br> The aperture within her fully opens. The mattress swells as the cavity within it expands. It creates a powerful vacuum, one focused on your cock and balls.<br> <br> You climax in a big white explosion that blasts through you. You feel the biggest surge of release you've ever experienced. Your ejaculation feels less a spurt than a great throbbing gush. It blasts your thoughts away like floodwaters bursting through a dam.<br> <br> The whole mattress throbs and expands. The two women squeeze you between their voluptuous bodies. The finger on your prostate is insistent, as is the vagina wrapped around your cock. You continue to gush.<br> <br> Looking down through Couchelaxa's translucent blue body you see a pool of white liquid sloshing around inside the mattress.<br> <br> So much. That can't be you, can it?<br> <br> The mattress expands further. That remorseless vacuum suction increases, becomes unbearable. Inside, you feel something tear and give way. You follow, tumbling down into the white torrent rushing from your body, and are lost. You pour everything you have into Couchelaxa and it is nowhere near enough to fill her.<br> <br> The last you see is her previously expressionless face showing disappointment.<br> <br> "The Dominator proves unworthy of his role."<br> <br> And in your case, also dead.<br> <br> <<include [[Couchelaxa: Ending Cleanup]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* Vête Piège */ <<set $hi to 18>> <<set $allHarlots[$hi] to { number: $hi, name: "Vête Piège", shortDescription: "a curvaceous succubus wearing an elegant purple hat and gown. She has a thick tail that tapers to a fleshy arrowhead tip.", faction: 4, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], affection: 0, hasSpokenToNpcGossip: false, introductionLink: "Vete Piege: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Vete Piege: Socialising", npcGossipLink: "Vete Piege: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Default Harlot: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Vete Piege: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Vete Piege: Sell Exp Body", sellExpFeedbackLink: "Vete Piege: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 0>> <<set $player.charms.push(14)>> /* ...set player stats here */ <<set $hi to 18>> <<set $cgi to 1>> /* <<set $allHarlots[$hi].<property> to <value>>> ...set harlot stats here */ <<set $allHarlots[$hi].hasSpokenToNpcGossip to true>> <<include [[Harlot Tester: Intro]]>>
/* Madam intro */ "This is the very refined Mademoiselle Vête Piège," $npcMadam.name says. She puts her fan to her mouth and whispers to you, "Don't be put off by her haughty exterior. She's total filth between the sheets." <br> <br> /* Long description */ Mademoiselle Vête Piège is a curvaceous and slightly haughty succubus in an elegant purple gown. She seems a little overdressed for this establishment, looking more like a well-to-do lady on a night out at the opera rather than a hooker. Her dress balloons outward and terminates in a fancy frilled hem. Lacy frills adorn her cuffs and neck. Her off-shoulder neckline is so low it barely contains her considerable breasts. 'Heaving bosoms' is definitely a description that applies to Vête Piège!<br> <br> She's also another demon. She has a tail and little black bat wings. You suspect she also has horns as well, although they're currently hidden by her purple hat and tresses of long blonde hair. Her tail is a little different – being very thick at the base rather than whip-like. It terminates in a fleshy structure that looks like a cross between a playing-card spade and broad tip arrowhead. <br> <br> /* Harlot intro */ "Pleased to meet you," Mademoiselle Vête enunciates in proper clipped tones. She even gives you an elegant curtsey. <br>
You take Mademoiselle Vête Piège out into the bar area. She might act like a prim or proper woman, but her hands most definitely are not. They are all over you, as is the fleshy tip of her tail. Fortunately, she is attractive enough for you to put up with her indiscreet touching.<br> <br> You find a spare table and sit down.<br> <br> <<set $socNoMoneyLink to "Vete Piege: Socialising: No Money">> <<set $socDrinkLink to "Vete Piege: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> "How vulgar," Vête says, "to take a lady out and not even have the money to buy her a drink. Have you no class?"<br> <br> She returns to $npcMadam.name in a huff.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and an extremely expensive looking glass of sparkling champagne for Vête. You're glad the drinks prices in the bar appear to be standardised, as Vête's drink looks the kind of thing that would blow a hole in a wallet.<br> <br> You make the regular small talk. On one hand, it feels really good to be talking to a woman as attractive as Vête. She looks and talks like a posh, upper-class model. On the other, her tail – and its behaviour – is disconcerting. The whole time you're talking with Vête you feel it poking and prodding at you under the table. It's like it has a mind of its own and is trying to find a way to slip into your pants.<br> <br> <<include [[Socialising: End]]>>
/* must start with linebreaks if wish to start on new line */ <br> <br> /* Text here */ "My, what a nasty little hussy. And she seemed so cultured as well." /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
"Hmm, Mademoiselle Vête Piège. Hmm."<br> <br> $npcGossip.name looks uncharacteristically thoughtful as she taps on her cigarette holder to dislodge ash.<br> <br> "Now listen up, darling. As much as I love to hint and play games, I'm going to be direct about our little wannabe madam. She's a frightful brown noser – to our dear Madam not the patrons, so don't get your hopes up – and a conceited little snob with ideas above her station. Worst of all, she's a cheat."<br> <br> She takes a long draw on her cigarette.<br> <br> "There are rules to the House. The patrons must always be given a fair chance. Some of the succubi in here are so powerful they can turn a man's brain to mush and enslave him with a single bat of an eyelid."<br> <br> In a rare break with form, $npcGossip.name deigns to look straight at you. You feel held, as if by a powerful invisible force, and a heat rises in your loins. But only for a moment, as $npcGossip.name's bored gaze flicks away just as quickly as it briefly seized you.<br> <br> "Vête Piège is not. All she has is her tail fluids. They're nasty. They function like digestive enzymes, except they force the body to convert everything – fat, muscle, bone, organs – into cum. And once her man has spunked everything out, she sucks up the resulting soup."<br> <br> $npcGossip.name makes a horrible sucking sound with her lips and delights in your disgusted expression.<br> <br> "I know, it's positively revolting. Thankfully, the fluids quickly break down in the open air. She needs something to keep them enclosed around the flesh – your clothes. And that's her little trap. As soon as the luckless mark enters her room, she pretends to greet them while slipping her tail into his pants so she can fill them with her nasty fluids."<br> <br> $npcGossip.name pulls a face.<br> <br> "Now where is the fairness and chance in that? The poor sap is on the floor and spunking himself to death before he even knows what's happening. So, I'm not going to be cryptic about this little madam. As soon as you enter her room, take your clothes off. That'll stop her devious little ploy right in its tracks."<br> <br> $npcGossip.name takes a drink of her cocktail. Her lips are turned up in a curiously satisfied smile.<br> <br> "That's all I need to tell you about Mademoiselle Vête Piège. She's just a one-trick pony." <<include [[Print Gossip Gossip]]>> <br><br> <<set $allHarlots[$hi].hasSpokenToNpcGossip to true>>
<<set $isFactionIncrease to false>> /* set other scenario-specific vars here */ /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [2,false,false], /* Leaving room alive */ [3,false,false], /* Having sex with her */ [1,false,false], /* Black rose */ [1,false,false] /* out of semen */ ] }>> You enter a fancy bedroom. Mademoiselle Vête Piège is sitting at a makeup desk in front of a mirror. She turns to you.<br> <br> "Oh hello, darling. Welcome to my boudoir."<br> <br> 'Boudoir' seems the right word. The room is a cosy and intimate bedroom, with an air of antiquated elegance. The décor consists of lots of fleshy pinks and reds, with the lights turned down low. The bed is large and covered in shiny red satin sheets. The walls are decorated with pieces of erotica that tend more to the classy than the vulgar.<br> <br> Vête wastes no time in getting up to greet you.<br> <br> <<if $allHarlots[$hi].hasSpokenToNpcGossip>> <<include [[Vete Piege: Clothes Options]]>> <<else>> <<include [[Vete Piege: Allow Approach]]>> <</if>>
As Vête approaches, will you:<br> <br> [[Quickly step back and take your clothes off?->Vete Piege: Take Clothes Off]]<br> [[Let her approach you?->Vete Piege: Allow Approach]]
Your gaze is drawn to her eye-catching bosom as she approaches. They are, as the old period romances would say, //heaving//. Despite this, you still wonder if she might be a little overdressed for a place like this. That dress can't be the easiest to take off.<br> <br> If her appearance seems a little too refined, the attentions she gives you certainly aren't. You've barely taken a couple of steps into her room before she's all over you. She's very handsy. And also tailsy as well, with the fleshy tip moving over your body like an additional hand.<br> <br> [[You give her your gift.->Vete Piege: Clothes 1]]
You remember <<print $npcGossip.name +"'s">> warning. Before Vête reaches you, you step back and start taking off your clothes.<br> <br> Vête pauses and pretends to be shocked.<br> <br> "My, you don't waste any time. I can see you're keen to get on with it. Very well."<br> <br> She takes her gown off. For such an elaborate-looking costume, she removes it with surprising ease. She is not wearing anything underneath and stands in front of you in her full naked glory. And it is quite glorious. She has a wonderfully voluptuous figure, with both her bosom and hips swelling to pleasant proportions. Her skin is pink and smooth and flawless, right down to the shaved and hairless clamshell folds of her sex.<br> <br> You don't get long to admire her naked body as she goes straight to the bed and slides in between the sheets. She holds a corner of the sheets up and pats a spot on the pink mattress next to her, a spot she presumably wishes you to occupy.<br> <br> "Come and join me and we'll have a nice little tumble," she says, her voice a mixture of posh and outright filth. Her silky blonde hair spreads out over the pillow.<br> <br> It's an enticing invitation, although the pinkish-red coloration of the sheets does put you in mind of a gaping maw for some reason.<br> <br> [[Join her in bed?->Vete Piege: In Bed 1]]<br> [[Tell her you'd prefer to lie on top of the sheets.->Vete Piege: Request On Bed]]
/* TODO - Classify the gifts a bit better */ <<if $allGifts[$cgi].categories.includesAny(11, 12)>> <<set _text to "How peculiar">> <<elseif $allGifts[$cgi].categories.includesAny(6, 7, 9, 10)>> <<set _text to "How different">> <<else>> <<set _text to "How nice">> <</if>> She takes your gift off you.<br> <br> <<print "\"" + _text + ",\"">> she says, examining <<if $allGifts[$cgi].isSingular>>it.<<else>>them.<</if>><br> <br> Her other hand is already tugging at the front of your trousers. The tip of her spade-like tail slides into the gap. The structure at the end of her tail swells up and then flattens as she fills your underpants with a warm, soupy liquid.<br> <br> That in itself is unexpected. The liquid's effect on you is even more dramatic. As it fills your underwear and surrounds your cock and balls you feel a warm, tingling feeling in your loins. Your cock swells up to hard and throbbing in an instant. It doesn't stop there as you're suddenly hit with a climax powerful enough to drop you to your knees.<br> <br> "Better. A man should know his place," Vête says.<br> <br> Still with the tip of her tail down your trousers, Vête walks over and places your gift on a nearby shelf. The base of her tail swells up, the swelling travels down to the fleshy tip and then she's squirting more warm juices into your pants.<br> <br> The effect is immediate. You come so hard you feel muscles twinge in your crotch. The intensity drops you to the floor. The climax overwhelms everything else, effectively leaving you paralysed as you buck and twitch and helplessly spurt semen into your pants.<br> <br> <<set $semenChange to -3>> <<include [[Unchecked Semen Change]]>> [[Continue.->Vete Piege: Clothes 2]]
Vête looks down at you with an amused expression. "Oh dear. Are my tail fluids too strong for you?" She withdraws her tail and lets it slide around the top of your trousers. This time the fluid she exudes from the tip is very sticky and glues the waistline of your trousers to your skin. "Unfortunately, as powerful as my aphrodisiacs are, they denature very quickly when exposed to the open air." She moves down to your ankles and uses the glue from her tail to seal the bottoms of your trousers. "Sealed within your clothes, however..." The only place not sealed is a small gap at the front of your trousers. She slides the tip of her tail back into it, her tail swells and then deflates as she squirts a much greater quantity of warm liquid into your trousers. They swell up as the liquid has nowhere else to go. The whole of your lower half is enveloped in pleasant, tingling warmth. "...my aphrodisiacs will maintain their full potency. You're about to have a nice long spunkathon in your pants." You come again, violently, your muscles spasming to expel the semen from your body. As before, the intensity is so great it scrambles everything else and keeps you paralyzed. "All that spunk needs to come from somewhere, so let's treat your upper half as well." [[Continue.->Vete Piege: Clothes 3]]
You can do nothing as Vête seals up the bottom of your top, your cuffs and around your neck. She leaves just enough gap to insert the tip of her tail down the front of your top. It swells and throbs and your T-shirt and jumper fills up with warm liquid. The fluids feel especially pleasant against your nipples. You buck as another powerful orgasm rips through you. "And now we wait," Vête says. She picks up a nearby chair and places it down with the legs straddling your midriff. She sits down and the hem of her dress rests across your chest. "I know you'd prefer it if the chair wasn't here, but I can't straddle you directly. Men's bodies get a little //mushy// once my fluids start to work on them. How about I give you a little visual stimulation instead." She lowers the top of her dress until her boobs pop free. She has a lovely pair – shiny pink and baby-smooth. You admire them and are wracked by another powerful orgasm. "You can't stop. I suppose you could call it digestion. All that lovely spunk has to come from somewhere." [[Continue.->Vete Piege: Clothes: Bad End]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> You feel strange. Fuzzy. Pleasantly disassociated. It's like you're floating in warm honey.<br> <br> "It's a lot more pleasant than soaking you in acid and melting you away."<br> <br> Your hips jerk, your cock throbs, and you empty another massive load into your pants.<br> <br> "Yes, that's it. Spunk it all out. Fill your pants."<br> <br> You do. You can't stop. You feel pleasantly mushy. As if your trousers are filled with nothing but cum and Vête's marvellous tail fluids.<br> <br> "And now to suck it all up."<br> <br> Vête's tail dissolves some of the glue sealing your trousers, enough to create an opening big enough for the tip to squeeze inside. Her tail swells, but this time in the opposite direction as she starts sucking the fluids back out of your clothes. And you. Her potent aphrodisiacs have rendered you into little more than a soup of semen.<br> <br> "Delicious," Vête says as she sucks you up with her tail.<br> <br> By the time she's finished, your empty skin looks as deflated as your clothes.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You think it would be better if you made love to Vête on top of rather than in the bed. You make excuses about the room being warm and not wanting to get too hot and sweaty between the sheets. You flatter her by saying her body is gorgeous and you'd rather have a full, unobscured view of it.<br> <br> <<if $allGifts[$cgi].number eq 0>> <<include [[Vete Piege: Black Rose]]>> <<else>> <<include [[Vete Piege: On Bed 1]]>> <</if>>
Smiling, you slide between the sheets and join her for a cuddle. The bed is warm and Vête's body next to you is warmer still. As you kiss and cuddle it feels more like a night with a loving girlfriend than a cold, commercial transaction. That's not to say she isn't pure filth between the sheets. Her kisses are full of tongue and her hands stray to the parts of your body the good girls won't touch. Your erection was already rising as you got into bed with her. A couple of deft strokes of her hand has your cock rock-hard and twitching. She rolls you onto your back and lies on top of you. She plants smothering kisses on your face and lips while your erection rubs up against her smooth tummy. Vête breaks off the kiss and sits up. She holds the sheets like an outstretched cloak. The deep sensual red of the sheets forms a perfect backdrop to her gorgeous naked body. You admire her pendulous breasts. "Let's begin," she says. [[Continue.->Vete Piege: In Bed 2]]
She lifts her body up, finds the head of your cock with her vagina and settles down, easing your erection up inside tight, warm vagina. Then, your member captured by her hungry sex, she collapses down on top of you, covering you with her warm body and the sheets. Nice (and hot as hell), you think, but something that would work better as a finisher, after her luscious pussy has stroked you right to the edge of orgasm. Rather strangely, Vête seems to treat it as a finisher as well, being content to merely lie on top of you with your erection inside. You wonder if you made her come just by entering her. You do feel a damp patch, although it's around your heels and ankles. It's also a little bit more than a damp patch. It feels like both of your heels are resting in a puddle of warm fluid. "Mmm, it takes a little longer to fill a bed with my tail fluids," Vête says. "Be patient, darling. You'll be spunking up inside me soon enough." Tail fluids? [[Continue.->Vete Piege: In Bed 3]]
<<set $semenChange to -3>> <<include [[Unchecked Semen Change]]>> Vête sees your confused expression and smiles. You see the sheets rise up behind her as her tail moves beneath them. You feel warm liquid splash against your knees and inner thighs as her tail spits warm juices over them. Your skin tingles pleasantly.<br> <br> "My tail fluids contain powerful aphrodisiacs," Vête explains. "Unfortunately, these aphrodisiacs denature quickly when exposed to the open air. But here, beneath the sheets, they will retain their full potency."<br> <br> She wriggles in your lap, manoeuvring your cock inside her for a snugger fit.<br> <br> "Mm, just need the right stimulation to speed up the flow. Ah, there it is."<br> <br> She indicates she's found it with a low sigh. She stretches her tail out behind her and it starts gushing.<br> <br> The bed fills up. You're not sure how. The sheets must be waterproof and the edges sealed somehow. You feel warm liquid rise around your body. As it completely covers your balls you come in a massive orgasm that leaves you surprised and breathless.<br> <br> "Ah, my aphrodisiacs are quite wonderful are they not," Vête says.<br> <br> You don't say anything. You feel queerly paralysed, as if the climax was so intense it short-circuited the rest of your body.<br> <br> [[Continue.->Vete Piege: In Bed: Bad End]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Vête keeps filling up the bed until you're lying in a pocket of warm fluids. It feels pleasant, but unnaturally so.<br> <br> Another climax overcomes you, eliciting more erotic moans from Vête as you spurt a big load up into her pussy. Then, moments later, you're doing the same again while the rest of your body trembles uncontrollably. The muscles in your loins twinge in protest, but that quickly passes. Softens. Smooths away.<br> <br> Your whole body is enveloped by a soft, pleasant, //mushy// feeling. It starts with your skin, but then seeps down into your muscles and bones.<br> <br> "It was a mistake getting into bed with me," Vête says. "My tail fluids contain more than just aphrodisiacs. They make you come, but that cum has to come from somewhere. That's what's happening now. Your whole body is being converted into lovely, delicious spunk."<br> <br> You say nothing. You can barely focus as orgasm after orgasm keeps crashing through you. Your cock sprays semen up into Vête's warm pussy like a burst pipe.<br> <br> "I suppose it could be considered digestion," Vête muses, "but this way is far more pleasant for the prey."<br> <br> That, mercifully, is true. Your brain is starting to feel a little mushy now. All you want to do is keep spurting your cum inside Vête's luscious cunt.<br> <br> "Mmm," she sighs as she lies on top of you. "Normally I suck it up with my tail, but it is nice to use my pussy for a change. You should feel honoured."<br> <br> Your body slowly collapses beneath her. At this point your head is nothing but a fog of white bliss. You come, and come, and come...<br> <br> Vête sucks it all up inside her until the sheets deflate back down and she is alone in the bed. There's nothing left of you but your skin. You lie underneath her like a deflated blow-up doll, a last blissful smile on your lips.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
"But darling," Vête counters. "You brought me a <<print $allGifts[$cgi].name + ".">> The only way I can give you what you desire is between these sheets."<br> <br> She holds the sheets up and pats the spot on the mattress next to her again.<br> <br> "You do know the significance of the <<print $allGifts[$cgi].name + "?\"">><br> <br> Your nonplussed look indicates you do not. Vête rolls her eyes.<br> <br> "That damn Madam. I swear she's getting senile. She always forgets to explain that one."<br> <br> She looks back at you. Her eyes smoulder suggestively. Her lips form an appealing pout.<br> <br> "Never mind. It doesn't matter. You made a choice, whether or not you were aware of it, and the only way I can fulfil that choice is here, in between these sheets."<br> <br> She flutters her eyelashes and strokes the space on the bed next to her.<br> <br> "This is very awkward for me, darling. Please don't make it difficult."<br> <br> [[Get into bed with her.->Vete Piege: In Bed 1]]<br> [[Refuse.->Vete Piege: Refuse Black Rose]]
"As you wish, darling," Vête says. "My room is a little warm." And will get even hotter, you think as Vête slides out from between the sheets. She has a really gorgeous body. You join her on the bed and kiss and cuddle. It feels really nice in her arms, more like you're with a girlfriend or spouse rather than a hooker. She's not shy of touching your intimate parts. Her warm hands roam all over you. Her fleshy tail is equally as lascivious. Your cock was already swelling as you got onto the bed, a couple of strokes of her hand have it surge to hard and throbbing. You sense it's time to move on to the main event. [[Continue.->Vete Piege: On Bed 2]]
You repeat again your preference to make love on top of the bed rather than between the sheets. Vête blows up at that.<br> <br> "We can't fuck on top of the bed. My tail fluids won't work, and without my tail fluids I cannot bring you ultimate climax."<br> <br> She glares at your nonplussed face.<br> <br> "Oh, why am I bothering. You're clearly not here to give yourself over to ultimate climax. You don't even know what the $allGifts[$cgi].name signifies. This is a waste of time."<br> <br> She throws a pillow at you for emphasis.<br> <br> "Go on, fuck off."<br> <br> You pick up your clothes and beat a strategic retreat.<br> <br> /* SCORING */ /* no faction increase for this ending */ <<include [[Vete Piege: Surviving]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
Vête lies beneath you and opens her legs. You grab your cock and slowly slide it into her pussy. It feels wonderful – warm, wet, and far tighter than you were expecting. You feel the fleshy walls of her pussy pressing all around your erection. "Oh that's it, darling," Vête moans. "Fuck me. Fuck me hard." You brace your hands against the mattress and start thrusting your hips back and forth. It feels so nice to slide back and forth inside Vête's tight cunt. The view is also incredible. Vête lies beneath you, her lush blonde hair spread out across the pillow. Her exquisite high cheekbones, baby blue eyes, and sumptuous smile make her look like a posh totty model. If you ignore the horns. Which you do. You look instead at the luscious mounds of her pink tits. Her erect nipples jiggle with every thrust. That inspires you to greater efforts. You thruster deeper into her – harder and faster – while she moans ecstatically beneath you. Her eyelids flutter closed. She nibbles on her lower lip. Her big boobs sway back and forth. [[Continue.->Vete Piege: On Bed 3]]
You plunge deeper and harder. You feel pleasant little twitches in your cock and balls, signalling their desire to come and fill her with your juices.<br> <br> Before you can, you feel other juices suddenly flood over your back. It's as if someone is pouring them from a hose, although the water pressure is only slightly more than a dribble and the liquid feels thicker. The warm fluids trickle down your back and down between your ass cheeks. Your skin tingles pleasantly wherever the juices come into contact.<br> <br> You don't get much time to think about it. You tip over into climax with more suddenness than you were expecting.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Vete Piege: Out of Semen]]>> <<else>> <<include [[Vete Piege: On Bed 4]]>> <</if>>
Your wobbling elbows and knees give way and you collapse on top of Vête. Your hips flex – it feels more like an involuntary movement, like someone has dinged them with a live electric cable – and drive your erection deep into Vête's luscious pussy. And... ...nothing comes out. All your exertions over the evening have caught up with you. As much as your cock and balls strain, there's nothing left to spit out. Vête's eyes open. Her brow furrows. More warm fluids spatter over your back. They're coming from her tail, you realise, before your hips jerk uncontrollably again and slam your cock deep inside her. The outcome is the same. You just don't have anything. Vête's eyes narrow in anger. "Did you come here specifically to humiliate me?" she asks. [[Continue.->Vete Piege: Out of Semen: Good End]]
You climax //hard//. Your wobbling elbows and knees give way and you collapse on top of Vête. Your hips flex – it feels more like an involuntary movement, like someone has dinged them with a live electric cable – and drive your erection deep into Vête's luscious pussy. You grunt as the orgasm rolls out of you in a great stream. "My little trick," Vête whispers in your ear. "My tail fluids contain potent aphrodisiacs. Their effect is quite wonderful." Her tail squirts more liquid onto your back. The fluid runs over your flesh like warm oil. The effect is wonderful... and intense. Your hips jerk again as if shocked. You plunge all the way, your cock throbs against her tight vaginal walls and you empty your balls into her. Afterwards you lie in Vête's arms, breathing heavily as you recover from the nerve-shattering intensity of the climax. "Sadly, their effects are short-lived," Vête says. She runs a hand through your hair. Not a bad thing, you think. As awesome as that was, too much of it would tear you to pieces. [[Continue.->Vete Piege: Good End]]
Vête starts to roll you over. You notice her far hand is bringing the sheet with her, as if she wants to roll the both of you up like a carpet. Prompted by some nameless instinct you roll out from under her until you reach the end of the bed.<br> <br> Vête pauses, with the sheet held up behind her. You think you spot a brief flicker of annoyance, but it's only momentary and quickly gone to be replaced by a lovely smile.<br> <br> "That was wonderful, darling," Vête says. "I hope you enjoyed it too."<br> <br> It was, although you wonder where you can get cleaned up. Vête's tail fluids are still running down your back and you don't see anything resembling an ensuite shower.<br> <br> It's unnecessary, as it happens. Vête had mentioned the effects were short-lived and that is because the fluids are also short-lived. They evaporate to nothingness moments after you get off the bed.<br> <br> "Ah, I do love a good tumble," Vête says.<br> <br> She's lying back and using her arms to smooth out the sheets.<br> <br> You return to your clothes and are about to put them back on when you notice Vête has quietly slid off the bed and is standing not far from you.<br> <br> You decide it might be more prudent to get dressed //outside// of the room. You give Vête a little wave and a smile – which she returns – and go to the door.<br> <br> /* SCORING */ <<set $isFactionIncrease to true>> <<include [[Vete Piege: Surviving]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> /* GOOD END */ <<include [[Harlot Scenario: End]]>>
You lift yourself up off her. She dribbles more warm juices onto your back, but it has little effect this time. The mood has changed, become awkward. Your cock is already starting to soften.<br> <br> "You came in here empty and refused to get in my bed. Is it because you think I'm powerless? Well you'd be wrong."<br> <br> She clutches the bedsheets and lunges at you in an attempt to wrap them round both you and her. It's a clumsy effort and easy to avoid as you roll away and off the side of the bed. Vête thinks about dropping her and the sheets on top of you, but she's got tangled up herself and you're already scuttling away across the carpet before she even reaches the edge.<br> <br> "Come back here!" she snarls. "By the rules of the House your soul is mine!"<br> <br> Not bloody likely, you think as you scoot back across the floor and scramble back to your feet.<br> <br> "It's not fair," Vête says.<br> <br> She hurls pillows at you from the bed.<br> <br> "It's not fair."<br> <br> Leaving her to her tantrum, you scoop up your clothes and beat a hasty retreat.<br> <br> /* SCORING */ /* no faction increase */ <<include [[Vete Piege: Surviving]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
/* Suffocatrix Mamilla */ <<set $hi to 10>> <<set $allHarlots[$hi] to { number: $hi, name: "Suffocatrix Mamilla", shortDescription: "a pale-skinned succubus dressed in tight black latex. The shiny black material stretches noticeably over her considerable bust.", faction: 1, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasPlotRepeatVisits: true, hasBeenVisited: false, gifts: [1,28], affection: 0, isIrresistibleToAilment: 1, /* boob fetish */ introductionLink: "Suffocatrix Mamilla: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Suffocatrix Mamilla: Socialising", npcGossipLink: "Suffocatrix Mamilla: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Suffocatrix Mamilla: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Suffocatrix Mamilla: Populate Harlot Gossip", scenarioLink: "Suffocatrix Mamilla: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Suffocatrix Mamilla: Sell Exp Body", sellExpFeedbackLink: "Suffocatrix Mamilla: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.charms.push(22)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ <<set $player.currConst to 1>> <<set $player.currWill to 5>> /* <<set $player.currInt to x>> */ <<set $player.currIsSubmissive to true>> <<set $player.maxFactionAffinities to [1]>> <<set $hi to 10>> /* <<set $allHarlots[$hi].hasBeenVisited to true>> */ /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>> <<set $allAilments[0].harlot to $hi>> /* <<set $player.roomScores[0] to { round: 1, harlotNumber: $hi, scoreArray: [ [1,false,true], [4,true,true], [5,false,false], [5,false,false] ] }>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 28>> <<include [[Harlot Tester: Intro]]>>
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> /* Madam intro */ "This is Suffocatrix Mamilla," $npcMadam.name says. "She just loves smothering men between her lovely tits." <br> <br> /* Long description */ <<if _isEnslaved>>Mistress<<else>>Suffocatrix Mamilla<</if>> is clothed from head to foot in glossy black latex. The rubber is stretched taut over <<print _name + "'s">> large round boobs. A zipper at the front is pushed down to reveal the lush chasm of her cleavage. That zipper looks like it can go even lower, low enough to let <<print _name + "'s">> wondrous breasts pop out entirely. <<if _isRepeat>> You remember the feel of those lovely breasts against the side of your face and your cock surges to full hardness in your pants. <</if>> <br> <br> <<print _name + "'s">> skin is pale and smooth like milk. Shiny red lip gloss and smoky black eye shadow contrast sharply with her pale complexion. Her long black hair is tied back in a severe ponytail. Her intimidating appearance makes her appear taller than she is. Even with her height bolstered by her shiny stiletto heels, you'd put her at <<print "5'4\" or 5'5\"">> at the most.<br> <br> <<if _isEnslaved>> You don't mind her black horns, black bat wings and hip-like tail. Mistress is perfect as she is.<br><br> <</if>> <<if not _isRepeat>> You wish the black horns, black bat wings and whip-like black tail were also part of the costume, but given the House you know they're not. <br><br> <</if>> /* Harlot intro */ _name wastes no time in pushing out her considerable bosom to attract your attention.<br> <br> <<if _isRepeat>> "Ah, my boobslave. Are you ready for another lovely smothering?" she says. Her dark eyes twinkle with amusement. <<else>> "I'm Suffocatrix Mamilla and I'm going to smother you with my tits until you become my boobslave," she says. Her dark eyes twinkle with amusement. <</if>> <br>
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> You take <<if _isEnslaved>>Mistress<<else>>Suffocatrix Mamilla<</if>> out to one of the booth tables.<br> <br> <<set $socNoMoneyLink to "Suffocatrix Mamilla: Socialising: No Money">> <<set $socDrinkLink to "Suffocatrix Mamilla: Socialising: Drinking">> <<include [[While Socialising]]>>
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> <br> <br> "How useless, and not in the fun way," _name says.<br> <br> She leaves you to your shame.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> The waitress returns with a $socialisingDrinks[$sdi].name for you and a glass of wine for <<print _name + ".">><br> <br> <<if _isRepeat>> "Why are you wasting time," _name says with a smile. "We both know you want to be back in my room so you can feel these lovely tits pressing down on your face."<br> <br> She pushes up the lovely round mounds of her tits and squeezes them together enticingly. <<else>> As you sit opposite her, your gaze keeps sliding down into the milky-white chasm of her cleavage. You can't help it. The pull is as inexorable as gravity. You're obvious enough for Mamilla to notice.<br> <br> "You keep staring at my tits," she comments.<br> <br> You blush.<br> <br> "It's okay, I like men liking my tits. If you come up to my room with me, I'll give you an even closer look."<br> <br> She pushes up the lovely round mounds of her tits and squeezes them together enticingly.<br> <br> That is a rather tempting proposal, you think. <</if>> <br> <br> <<include [[Socialising: End]]>>
<<if _scoreArray[0][1] and not _osa[0][2]>> /* must start with linebreaks if wish to start on new line */ <br> <br> /* Text here */ "She likes chocolates? Well, who'd have thought it."<br> <br> His moustache wriggles as he chuckles. /* must end with linebreaks if wish feedback to start on new line */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
"Ah, Suffocatrix Mamilla," $npcGossip.name says. "She's what I call a //smotherbus//. They're a group of succubi that specialise in erotic asphyxiation. They think they get the best climaxes when the man is on the verge of passing out from oxygen deprivation."<br> <br> She puffs on her cigarette holder.<br> <br> "Mamilla likes using her boobs. I imagine it's quite pleasant having them squashed against your face... until you start gasping for air and realise you can't get any."<br> <br> $npcGossip.name blows a cloud of scented smoke in your face and you cough and splutter.<br> <br> "There's no need to worry too much. Mamilla might talk a lot about smothering you to death, but it's just part of her game. As long as you can hold your breath, she won't actually suffocate you to death."<br> <br> <<print $npcGossip.name + "'s">> lips turn up in a disturbing smile.<br> <br> "Unless you've annoyed her."<br> <br> She sips her drink.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"If you're wondering what tribute to bring her, I've heard she's quite partial to chocolate.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"If she gets you strapped into her smother chair... well, I hope you can hold your breath.\" " + $npcGossip.name + " laughs."}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Like all dominatrices, she expects her visitors to be compliant and submissive.\""}>> <<set $allHarlots[$hi].gossipGossip[3] to { isLie: false, text: "\"Her and her sister are very competitive. They have a long-standing dispute over which is better – ass or boobs. Get in the way of that rivalry at your peril.\""}>> <<set $allHarlots[$hi].gossipGossip[4] to { isLie: false, text: "\"While her lovely bosom is wondrous to behold, touch and feel, it is her instrument of torture and sometimes even execution. She is of that clan through and through, and – like most of them – despises those on the path of sensuality.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Suffocatrix Mamilla: First-Time Scenario]]>> <<else>> <<include [[Suffocatrix Mamilla: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ <<set $roomAffection to $allHarlots[$hi].affection>> <<if $isTesting>> ''Room affection = <<print $roomAffection>>''<br> <br> <</if>> /* has boob fetish already */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<set $hasBoobFetish to _hasAilment>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Chocolates */ [4,false,false], /* Surviving */ [5,false,false], /* being broken in on repeat visit */ [5,false,false] /* getting enslaved on repeat visit */ ] }>> Mamilla waits for you in a room that resembles a dominatrix's dungeon. Thankfully, it appears to be quite a //comfy// dominatrix's dungeon. The surfaces are padded, the chains are polished and everything looks to be spotlessly well maintained. It looks kinky rather than intimidating. If Mamilla's presence wasn't so strong you might struggle to take it seriously. Despite her average stature, she comports herself in a way that brooks no fucking around.<br> <br> "Ah, my new boobslave," she says. "Come in."<br> <br> With her glossy black latex, she looks similar to the classic dominatrices of fetish porn clips and just as hot. If it wasn't for her wings, horns and tail, you could fool yourself into thinking you were about to enter a 'regular' sex dungeon for a 'regular' session with a dominatrix. However, her demonic features are not costume props and you do feel some trepidation when trying to speculate on what a demon would regard as acceptable BDSM.<br> <br> <<if $player.currIsSubmissive or $hasBoobFetish>> (And also some excitement, that you can't deny.)<br> <br> <</if>> "Hand over your tribute."<br> <br> You think she means the gift.<br> <br> [[You give her your 'tribute'.->Suffocatrix Mamilla: First Time Gift]]
/* relevant scenario-specific vars defined here: */ <<include [[Suffocatrix Mamilla: Repeat Vars]]>> <<set $isEnslaved to _isEnslaved>> <<set $name to _name>> <<set $roomAffection to $allHarlots[$hi].affection>> <<if $isTesting>> ''Room affection = <<print $roomAffection>>''<br> <br> <</if>> /* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You return to <<if _isEnslaved>>Mistress's<<else>>Suffocatrix Mamilla's<</if>> comfy dominatrix dungeon. As before, _name looks incredibly sexy in her tight black latex. The light reflects off the glossy swell of her breasts.<br> <br> "Ah, my boobslave has returned."<br> <br> She holds out a hand.<br> <br> "What tribute have you brought me?"<br> <br> [[You give her your 'tribute'.->Suffocatrix Mamilla: Repeat Gift]]
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> <<if $cgi eq 1>> <<include [[Suffocatrix Mamilla: First Time Chocolates]]>> <<elseif $cgi eq 28>> <<include [[Suffocatrix Mamilla: Gift: Peach]]>> <<else>> <<include [[Suffocatrix Mamilla: Regular Gift]]>> <</if>> /* Set here as good gift permanently improves affection */ <<set $roomAffection to $allHarlots[$hi].affection>> <<if $isTesting>> ''Room affection = <<print $roomAffection>>''<br> <br> <</if>> She puts the gift to one side and directs you to some hooks on the wall. Thankfully, they look more like 'clothesy' type hooks rather than 'meaty' type hooks.<br> <br> "Undress and hang your clothes here."<br> <br> It's an order. Mamilla makes it very clear who's in charge in this room.<br> <br> You do as she says, undressing and hanging your clothes on the hooks. Naked, you feel a damn sight more vulnerable. Mamilla revels in your discomfort. The corners of her lips turn up as she looks you over. She seems to like what she sees. Or at least you hope she likes what she sees.<br> <br> The question then is which piece of equipment Mamilla wishes to use on you. That question is answered as she takes you to an imposing leather chair at the back of the room.<br> <br> "As you are new, your session will be in my smother chair," Mamilla says. "Come, sit."<br> <br> [[You sit in the chair.->Suffocatrix Mamilla: Chair]]
The chair has large back and foot rests, both slanted at 45˚. It resembles a dentist's chair, albeit a demonic one with shiny black leather padding and bondage straps attached to the armrests. It's at least reasonably comfortable. You sit in it, wondering what you've gotten yourself into.<br> <br> Things improve markedly as Mamilla straddles you and her attitude shifts from cold and stern to teasing and seductive. She lets her gorgeous chest sway and slides her hands over her slinky, latex-clad curves.<br> <br> "Do you like these?" she asks, squeezing her lovely boobs together. "I can see you can't stop looking at them."<br> <br> It's hard not to, especially as Mamilla lifts them, squeezes them and keeps your attention focused on them in a way that's hypnotic.<br> <br> "Would you like a closer look?"<br> <br> [[You would.->Suffocatrix Mamilla: Reveal Breasts]]
She pulls the zipper down to expose more of her smooth, pale flesh. Enough to let her pink nipples pop free. She swoops forwards and pushes her tits out, letting them hang tantalisingly close to your face – close enough for her nipples to almost brush against your cheeks – before swinging back with a teasing smile on her bright red lips.<br> <br> "Or maybe a touch. Yes, I think you'd like that. You'd like to have your face squashed beneath my lovely big boobs. Feeling their soft weight press against you, smothering you. Mmm yes, I think you'd like that a lot."<br> <br> Your Adam's apple bobs. Your gaze is rivetted to her lovely full breasts.<br> <br> "But first we need to make sure you're strapped in."<br> <br> The arm rests have straps. Mamilla leans over to start buckling them around your right arm.<br> <br> <<if $hasBoobFetish>> You're fine with this. You're impatient for Mamilla to start pushing those wonderful boobs in your face.<br> <br> [[You let her strap you in.->Suffocatrix Mamilla: Allow Being Strapped In]] <<else>> You're not so sure about this. Are you sure you want to let yourself be strapped in and at the mercy of a dominatrix sex demon?<br> <br> [[No, you don't want to be strapped in.->Suffocatrix Mamilla: Fight Being Strapped In]]<br> <<if $player.currIsSubmissive>> [[Yes, you're fine with it (and maybe a little excited).->Suffocatrix Mamilla: Allow Being Strapped In]] <<else>> [[Yes, you're fine with it.->Suffocatrix Mamilla: Allow Being Strapped In]] <</if>> <</if>>
You're not so keen on having your arms strapped to the chair. You pull your right arm away and start to get up from the chair.<br> <br> "Ah, a rebellious spirit," Mamilla says. "Or maybe just fearful."<br> <br> She points a finger at you. Her nail is long and pointed like a spear.<br> <br> "Sit down." she orders.<br> <br> She traces a complicated design in the air with her outstretched finger and whispers words in a language so foul your ears feel molested.<br> <br> You feel a burning sensation on your chest as if you've just been branded, and then a powerful invisible force crushes you back to the chair. You can't move. It's as if an invisible elephant is sitting on you.<br> <br> "Bad boobslave. You made mistress expend magical energy."<br> <br> Now that you're unable to move, she places your arm back on the arm rest and straps it in place. She then shifts position and does the same to your left arm.<br> <br> The burning sigil fades from your chest and with it, the invisible crushing force. It's no longer needed. With your arms firmly strapped to the chair, you're not going anywhere.<br> <br> [[Continue.->Suffocatrix Mamilla: First Smother 1]]
<<set $roomAffection += 1>> You let her strap you in. She wraps a long leather sleeve over your arm and buckles it in place at your wrist and elbow. She turns and does the same to your left arm. By the time she's finished you're firmly strapped to the chair and at her mercy.<br> <br> <<include [[Suffocatrix Mamilla: First Smother 1]]>>
"Look at you, all helpless," Mamilla taunts you seductively. "At my mercy. Whatever shall I do with you?"<br> <br> She pulls her zipper down further and opens out her top to fully expose her tits. They are gorgeous – soft, round, and crowned with perfect pink areolae and nipples.<br> <br> "This is my smother chair," Mamilla says. "I strap men in and smother them with my tits until they become my boobslaves."<br> <br> She cups her hands underneath her breasts and gives them a little bounce, showing off their firmness.<br> <br> "Or die," she adds with a nasty little laugh that indicates either outcome is fine for her.<br> <br> She twists her upper body, letting her pendulous tits sway. She leans closer, closer, close. The smooth pale hemispheres of her lovely tits fill your vision.<br> <br> "Here they come."<br> <br> [[You're about to be smothered.->Suffocatrix Mamilla: First Smother 2]]
She leans forwards and presses her tits into your face. You feel their soft fleshy weight. Her skin feels so smooth against your cheeks. You smell her perfume, a mix of lilacs and lilies. Mamilla lowers her chest and swings it from side to side, buffeting your face with her tits. You twist your head with it, wanting to keep in contact with their luscious ripeness.<br> <br> Mamilla pulls back and teasingly plays with her tits – kneading and squeezing the smooth white flesh.<br> <br> "I can see you liked that. Let's smother you a little harder."<br> <br> She presses down again. Your world is again reduced to her lovely round breasts. She grips the chair and presses down harder. Your nose is wedged up in her cleavage. At first your nose is filled with her delicate perfume, then nothing.<br> <br> "You should be careful not to get too fascinated. My tits are as deadly as they're lovely."<br> <br> She holds them in place and you realise you can't breathe. Her bosom covers you as effectively as a pillow and blocks air from entering your nose and mouth. Pleasure fades to discomfort as the air in your lungs grow stale. You start squirming underneath her. Then, when you think you can hold your breath no longer, she lifts up her smothering tits. You gasp and then gratefully breathe in.<br> <br> Mamilla looks at you and laughs. "I do love it when my tits leave them gasping for air."<br> <br> Then she's down again, burying your face beneath her breasts. She holds them there until your lungs beg for oxygen. Only then does she remove them to let you take a breath.<br> <br> [[And, breathe.->Suffocatrix Mamilla: First Smother 3]]
"This is my favourite game," Mamilla says. "Smothering men and feeling them pant and squirm beneath me as my lovely boobs slowly suffocate the life out of them."<br> <br> She smothers you again, covering your face with her ample bosom.<br> <br> "I think they like the game too. I can feel you do!"<br> <br> She reaches behind her and strokes a hand against your erection.<br> <br> <<if $hasBoobFetish>> "Oh! You really do."<br> <br> She laughs at the sight and feel of your straining erection.<br> <br> <</if>> "It's the excitement of not knowing," Mamilla says. "Whether I'll grant you another breath or hold my tits there until you suffocate to death. It makes all men hard."<br> <br> She swings her chest, letting the pendulous weight of her boobs sway your head from side to side. Again, just as you think you can hold your breath no longer, she removes their smothering weight.<br> <br> "Take a deep breath," Mamilla says. "It might just be your last."<br> <br> [[Take a deep breath.->Suffocatrix Mamilla: First Smother 4]]
You draw in as much air as you can before you're buried in luscious boobs again. This time she wraps your head with her arms, keeping your face wedged tightly into her bosom. Tighter and harder than before. You start squirming as the air runs out. This time Mamilla doesn't release you.<br> <br> "No, no more breath for you. Only my lovely deadly boobs."<br> <br> You can't breathe. You start to panic. You strain at the straps. This is too much, but there's no way to let Mamilla know it's too much. Your hands are strapped to the armrests and your mouth is buried in her chest. No matter how much you try to twist your head, Mamilla holds you tight. You cough up the expired air and find nothing to replace it. Black spots dance on the inside of your eyelids.<br> <br> /* Calculate _isFatalSmother from player.const & affection */ /* if player has anti-smother charm, treat CON as 5 */ <<if $player.charms.includes(22)>> <<set _tempCon to 5>> <<else>> <<set _tempCon to $player.currConst>> <</if>> <<include [[Suffocatrix Mamilla: Calculate Room Affection]]>> <<set _value to $roomAffection + _tempCon>> <<if $isTesting>> ''IsFatalSmother value = <<print _value>>''<br><br> <</if>> /* a value less than 1 is fatal (unless player has black rose) */ <<if _value gt 0 or $cgi eq 0>> <<include [[Suffocatrix Mamilla: First Smother: Survive]]>> <<else>> <<include [[Suffocatrix Mamilla: First Smother: Bad End]]>> <</if>>
Everything goes fuzzy. You ejaculate, spraying semen uselessly into thin air, then you pass out.<br> <br> You don't wake up.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Then, just as you think you're about to pass out, Mamilla releases you from her suffocating bosom. You cough and gasp, and suck in precious precious fresh air.<br> <br> "Aw, did I frighten you?" Mamilla says. "Did you think I might suffocate you?"<br> <br> She leans back and starts fondling her boobs again.<br> <br> "I still might."<br> <br> [[Continue.->Suffocatrix Mamilla: Deeper Smother 1]]
She reaches under the chair, pulls a lever and the whole chair tips back until you're almost lying horizontally.<br> <br> "A more comfortable position for me to smother you," Mamilla says.<br> <br> And she does. Burying you in her wonderful breasts again. At the same time she reaches behind her to stroke your cock.<br> <br> "Mmm, you feel turned on. Or is that the asphyxiation? It does have that effect. They say the orgasms at the point of suffocation are extremely intense. And they're right."<br> <br> You are turned on, but also terrified. You feel your lungs running out of oxygen again.<br> <br> "I could squash you beneath these tits and hold them there until you spunked your load up my back."<br> <br> She keeps stroking you with her hand.<br> <br> "That would be such a waste though. I'm a succubus and I need to feed."<br> <br> That sounds more promising. <<if not $hasBoobFetish>> Maybe she'll stop suffocating you and move on to sex.<br> <br> She releases you and you cough and gasp for fresh air.<br> <br> You would prefer a little less suffocation. <</if>> <br> <br> "Ah, but you're thinking, how can we fuck and have me smother you with my lovely boobs at the same time. Well, my little boobslave, succubi don't always feed with their pussies. We have other mouths."<br> <br> [[Continue.->Suffocatrix Mamilla: Deeper Smother 2]]
She catches the end of her tail and brings it forwards. The end swells and opens up into an orifice lined with moist pink flesh.<br> <br> "My little tailpussy," Mamilla says. "It will suck up your cum while my boobs smother the life from you."<br> <br> She reaches behind her and pushes the end of her tail down over your rampant erection. You slide up into something that feels like a tight and well-lubricated sheath. Except this is alive. The muscular walls bunch up and roll up and down your shaft in a gentle milking action.<br> <br> Then, with her tailpussy gently squeezing and tugging on your cock, she leans over and squashes your face beneath her boobs.<br> <br> And holds them there.<br> <br> "Oh, dear. Are you struggling to breathe?"<br> <br> And holds them there.<br> <br> "Your cock seems to like it." Her tail sheath teases your cock with a muscular little squeeze.<br> <br> And holds them there.<br> <br> You're in some discomfort, again. The air in your lungs is stale. Finally, you have no choice but to spit it out. But there's nothing to replace it, just Mamilla's smothering boobs.<br> <br> And holds them there.<br> <br> "I love this," Mamilla says. "Feeling a pathetic man squirm and breathe his last beneath my tits."<br> <br> And holds them there.<br> <br> You're really panicking now. Black spots are bursting in your skull. You strain, ineffectually, against the straps holding your arms. You're trapped, and suffocating.<br> <br> [[You might die here.->Suffocatrix Mamilla: Deeper Smother: Outcomes]]
/* Select outcomes */ /* Black Rose has precedence */ <<if $cgi eq 0>> <<include [[Suffocatrix Mamilla: Deeper Smother: Bad End]]>> <<else>> /* derive _isFatalSmother from player.const and affection */ /* if player has anti-smother charm, treat CON as 5 */ <<if $player.charms.includes(22)>> <<set _tempCon to 5>> <<else>> <<set _tempCon to $player.currConst>> <</if>> <<set _value to $roomAffection + _tempCon>> <<if $isTesting>> ''IsFatalSmother value = <<print _value>>''<br><br> <</if>> /* a value less than 5 is fatal */ /* fatal smother */ <<if _value lt 5>> <<include [[Suffocatrix Mamilla: Deeper Smother: Bad End]]>> <<else>> /* semen check */ <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Suffocatrix Mamilla: Out of Semen End]]>> <<else>> <<include [[Suffocatrix Mamilla: Deeper Smother: Survive]]>> <</if>> <</if>> <</if>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Mamilla sighs in pleasure and holds you tighter to her smothering bosom. There's no air. No air at all. You pass out.<br> <br> Your head is filled with erotic dreams. Your unconscious body jerks as you ejaculate a massive load of semen into Mamilla's tail. Then, those dreams slowly collapse into kaleidoscopes of white static as your oxygen-starved brain cells die out, one by one.<br> <br> You don't wake up.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Mamilla lifts her chest and frowns.<br> <br> "You should have come by now," she says.<br> <br> Her tail continues to tug on your cock with a muscular milking motion. It feels so good you're surprised you haven't already tipped over the edge.<br> <br> Or would be, if you weren't currently sucking in much-needed oxygen.<br> <br> "The only reason for you not to is because the other sluts in here have already sucked all the cum out of your balls."<br> <br> She leans back down and squashes your face between her tits. You're being smothered again.<br> <br> "Which is bad news for you."<br> <br> She holds her boobs tightly in place as your air dwindles.<br> <br> "You see, once all your semen is gone, the way is open to your soul. And the one thing a succubus loves more than squeezing out cum is squeezing out a soul."<br> <br> You start to squirm as your oxygen runs out. Mamilla gives you nothing. Her arms slide under your head and crush your face to her chest. Her tail grips you tighter and muscular rings pump up and down your shaft with greater force. If you still had any left, you'd definitely be coming right now.<br> <br> Mamilla doesn't lift her smothering tits even after you gasp out your last breath into her cleavage. She holds you tight as you fruitlessly squirm for more air.<br> <br> "Mmm, time to put you to sleep forever and let my tail suck out your soul."<br> <br> You don't know what comes first – your death from suffocation or her tail sucking your soul free and swallowing it. It's the same either way. You feel a great sense of relief, then nothing.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Again, just as you think you're going to pass out, Mamilla relents and lifts her smothering tits. You feel blessed relief – both from the sweet fresh air entering your lungs and the explosive climax that rips through you at the same time. Your body jerks as you ejaculate a massive load of semen into Mamilla's tailpussy. The fleshy sheath keeps milking you, dragging out the pleasure and then contracting tighter to squeeze out the last drops of cum in your urethra.<br> <br> "I find the close proximity of death focuses the body into a quite splendid orgasm," Mamilla says.<br> <br> She twists her upper body, lightly boffing you with her tits.<br> <br> "And now I have a new boobslave."<br> <br> <<include [[Suffocatrix Mamilla: Ending Variants]]>>
<<if $hasBoobFetish>> <<set _name to "Mistress">> <<else>> <<set _name to "Mamilla">> <</if>> The session appears to be over. _name unbuckles the straps to free your arms. Her tail releases you last of all. The muscular walls are still sucking on you as _name pulls it off with a wet pop.<br> <br> Shakily you get out of the chair. You know it's time to put your clothes back on, but for the moment you can't do anything but stare at <<print _name + "'s">> exposed tits. <<if $isRegularEnd>> <<include [[Suffocatrix Mamilla: End: Regular]]>> <<else>> <<include [[Suffocatrix Mamilla: End: High Will]]>> <</if>> /* scoring and clean-up */ <<set $isFactionIncrease to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
/* any common updates on leaving alive here */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
/* clear unused variables */ <<unset $roomAffection>> <<unset $isEnslaved>> <<unset $name>> <<unset $isRegularEnd>> <<unset $hasBoobFetish>> <<unset $preSemenCount>>
/* doesn't like Ass Fixation */ <<set _ailment to 2>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<set $roomAffection -= 3>> <</if>> /* likes Boob Fixation */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<set $roomAffection += 1>> <</if>> /* dislikes dominant personality */ <<if not $player.currIsSubmissive>> <<set $roomAffection -= 1>> <</if>> /* likes faction loyalty */ <<set _factionNumber to 1>> <<include [[Check if Faction is part of Player Max Faction]]>> <<if _isPlayerThisFaction>> <<set $roomAffection += 1>> <</if>> <<if $isTesting>> ''Room Affection = <<print $roomAffection>>''<br><br> <</if>>
/* Pre-reqs: _factionNumber _isPlayerThisFaction */ <<set _isPlayerThisFaction to false>> <<set _pmfa to $player.maxFactionAffinities>> <<for _i to 0; _i lt _pmfa.length; _i++>> <<if _pmfa[_i] eq _factionNumber>> <<set _isPlayerThisFaction to true>> <</if>> <</for>>
/* For harlots that don't have any additional gossip with NPC_Gossip */ /* We need to place a filler to avoid NPC_Gossip jumping straight to she has no more gossip */ <<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: ""}>>
''TEST: Checking Socialising flags set correctly.''<br> ''Dominator:'' $allHarlots[$hi].hasSocialisedDominator<br> ''Epicurean:'' $allHarlots[$hi].hasSocialisedEpicurean<br> ''Supplicant:'' $allHarlots[$hi].hasSocialisedSupplicant<br> <br>
/* algorithm to give more rounded stats */ /* total number of pts to distribute */ <<set _pts to 12>> <<set $str to 1>> <<set $agi to 1>> <<set $dex to 1>> <<set $con to 1>> <<set $int to 1>> <<set $wil to 1>> <<for _p to 0; _p lt _pts; _p++>> /* generate random number between 1 and 6 */ <<set _rng to random(1,6)>> <<switch _rng>> <<case 1>> <<set $str += 1>> <<case 2>> <<set $agi += 1>> <<case 3>> <<set $dex += 1>> <<case 4>> <<set $con += 1>> <<case 5>> <<set $int += 1>> <<case 6>> <<set $wil += 1>> <</switch>> <</for>> /* Clean-up for stats going above 5 */ <<if $str gt 5>> <<set $str to 5>> <</if>> <<if $agi gt 5>> <<set $agi to 5>> <</if>> <<if $dex gt 5>> <<set $dex to 5>> <</if>> <<if $int gt 5>> <<set $int to 5>> <</if>> <<if $con gt 5>> <<set $con to 5>> <</if>> <<if $wil gt 5>> <<set $wil to 5>> <</if>>
<<include [[Create New Player: Default]]>> <<include [[Player: Print Full Physical Stats]]>><br> <<include [[Player: Print Full Disposition]]>><br> [[Roll again->Test Player: Default]]<br> [[Test Player Ailments->Test Player Ailments]]
/* Default Sell Experiences Passage */ /* Intro */ <<include [[Sell Exp Intro]]>> /* Main */ <<include [[Sell Exp Body]]>> /* Feedback */ <<include [[Sell Exp Feedback]]>>
/* Intro */ $npcMoney.name pulls out a small black notebook and looks expectantly at you.<br> <br> <<if _isRepeatVisit>> <<include [[Default Harlot: Sell Exp Intro: Repeat]]>> <<else>> <<include [[Default Harlot: Sell Exp Intro: First Time]]>> <</if>>
/* Default Body */ Sometimes he grunts. Sometimes his moustache bristles.
<br><br> "Ah, the Arachamare Fetish. I'd heard the tales, of course."<br> <br> He taps his notebook in frustration.<br> <br> "If only she could be trusted to adhere to the old customs. But spiders... As you know."<br> <br>
/* Check if player has visited harlot previously */ <<set _isRepeatVisit to false>> <<set _visitCount to 1>> /* set index to 1 less than round being checked and count back to beginning */ <<for _i to $rsi - 1; _i gt -1; _i-->> <<if $player.roomScores[_i].harlotNumber eq $hi>> <<set _visitCount += 1>> <<set _isRepeatVisit to true>> <</if>> <</for>>
/* All the mathy bits moved to their own passage to keep things clearer */ <<set _roomScore to $player.roomScores[$rsi]>> <<set _scoreArray to _roomScore.scoreArray>> <<set $hi to _roomScore.harlotNumber>> /* MATH */ /* create a copy of the old array for NPC Money to reference if needed */ <<include [[Score Array: Copy Score Array]]>> /* check if repeat visit */ <<include [[NPC Money: Sell Exp: Is Repeat Visit]]>> /* _score */ <<include [[Score Array: Score the Array]]>> /* _totalScore */ <<include [[Score Array: Get Total Score]]>> /* _maxAvailablePts */ <<include [[Score Array: Get Max Pts]]>> <<if $isTesting>> ''RoomScore'' index = $rsi<br> ''Score Array length'' = _scoreArray.length<br> ''Is Multiple Visits'' = $player.roomScores[$rsi].isMultipleVisits<br> ''Is Repeat Visit'' = _isRepeatVisit<br> ''Visit Count'' = _visitCount<br> ''Max Avail Pts'' = _maxAvailablePts<br> ''Score'' = _score<br> ''Total Score'' = _totalScore<br> <br> <</if>>
/* Body_Begin */ You tell him what happened in <<print $allHarlots[$hi].name + "'s">> room, trying not to go into too much intimate detail. All the while $npcMoney.name scratches down notes in his little black notebook. <<include [[$allHarlots[$hi].sellExpBodyLink]]>>
/* Feedback */ /* check first the player gave them something to score */ <<if _score eq 0>> <<include [[Sell Exp Feedback: No Score]]>> /* Player did score */ <<else>> /* FEEDBACK_BEGIN */ Then, when you're finished, he closes his notebook and brings out his wallet.<br> <br> /* FEEDBACK HERE */ <<include [[$allHarlots[$hi].sellExpFeedbackLink]]>> <br> <br> /* FEEDBACK PAYOUT */ He reaches into his wallet, fetches out _score <<if _score eq 1>>$currencyName<<else>><<print $currencyName + "s">><</if>> and pushes <<if _score eq 1>>it<<else>>them<</if>> across the table to you.<br> <br> "A most satisfactory transaction," he says.<br> <br> <</if>>
/* Multiple visits */ <<if $player.roomScores[$rsi].isMultipleVisits>> $npcMoney.name pulls out a small black notebook and looks expectantly at you.<br> <br> <<include [[Default Harlot: Sell Exp Intro: Multiple]]>> <<else>> <<include [[$allHarlots[$hi].sellExpIntroLink]]>> <</if>>
<<if $allHarlots[$hi].currentSexAct eq 0>> /* Was thrown out after bringing vial of blood */ <<include [[Default Harlot: Sell Exp Body]]>> <<else>> <br><br> <<switch $allHarlots[$hi].currentSexAct>> <<case 1>> <<set _sexAct to "oral sex">> <<case 2>> <<set _sexAct to "vaginal intercourse">> <</switch>> <<if $allHarlots[$hi].previousSexAct eq 0>> "So, you engaged in _sexAct with her. Tell me more."<br> <br> <<elseif $allHarlots[$hi].currentSexAct eq $allHarlots[$hi].previousSexAct>> "You chose _sexAct again? I'm not sure this will tell me anything new, but do go on."<br> <br> <<else>> "Oh, you decided to choose _sexAct this time. How did that go?"<br> <br> <</if>> <</if>>
/* Vial of blood */ <<if $allHarlots[$hi].currentSexAct eq 0>> "I've heard that the other girls tease her about being a leech and she's very self-conscious about it. Your experiences would appear to confirm this."<br> <br> He pauses thoughtfully.<br> <br> "Hmm, but it would still count as a room visit. A safe room visit. That's worth keeping in mind." <<else>> /* Suka Big Suck */ <<set _bj to _osa[4][1] and not _osa[4][2]>> <<set _vag to _osa[8][1] and not _osa[8][2]>> <<if _bj or _vag>> "My goodness," $npcMoney.name exclaims. "Have you no sense of self-preservation. I'll pay you extra for this, but don't make a habit of it. You won't be able to bring me more information if a succubus takes all your fluids and leaves behind a dried husk. Here you are." /* regular feedback for Suka no-Hirudo */ <<else>> <<set _bj to _scoreArray[2][1]>> <<set _vag to _scoreArray[6][1]>> <<if _bj and _vag>> <<set _text to "anal intercourse.">> <<elseif _bj>> <<set _text to "vaginal or anal intercourse.">> <<else>> <<set _text to "oral sex or anal intercourse.">> <</if>> "Hmm. I had hoped her genial nature would make her a safe choice. From your description it appears she struggles with self-control. An unacceptable risk."<br> <br> He taps his notebook with the end of his pen. His moustache bristles.<br> <br> "Maybe that's not the case for _text If you can find out more, I will pay you for that information. Especially anal intercourse. No-one has been able to give me any information on that with Suka no-Hirudo. But for now, here's the payment for what you've told me." <</if>> <</if>>
<<set $currentRound to 2>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.currIsSubmissive to false>> <<set $player.currIsCautious to false>> <<set $hi to 2>> <<set $cgi to 0>> /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $allHarlots[$hi].hasBeenVisited to true>> <<set $allHarlots[$hi].currentSexAct to 2>> /* create score array */ <<set $player.roomScores[0] to { round: 1, harlotNumber: $hi, scoreArray: [ [1,true,false], /* any gift */ [1,true,false], /* non-neutral dsRole or wariness */ [2,false,false], /* bj1 */ [1,false,false], /* bj2 */ [1,false,false], /* bj3 */ [1,false,false], /* bj4 */ [2,true,false], /* vag1 */ [1,false,false], /* vag2 */ [1,false,false], /* vag3 */ [1,false,false], /* vag4 */ [1,true,false] /* comfort her */ ] }>> <<include [[Harlot Tester: Intro]]>>
/* Text here */ "Hmm, even knowing her trick, she still seems dangerous. If one got tangled in her sheets while trying to escape afterwards... it doesn't bear thinking about. No, I think I will cross her off the list of prospects." /* do not end with linebreaks */
<<if not _isRepeatVisit>> "She's such a difficult one to read," $npcMoney.name says. "Some come back, some do not, and I've not been able to determine why. I think the most prudent course of action is to give her, and her magnificent breasts, a miss." <<else>> <<if _scoreArray[2][1] and not _osa[2][2]>> "She breaks men in as if they were common beasts, with her tits! Well, I, for one, am no common beast, and have no desire to be fettered like one." <<else>> "Hmm. I'd say you should be careful lest she take your soul, but I fear she might already have it." <</if>> <</if>>
/* Pre-reqs: _ailment Output: _hasAilment */ <<set _hasAilment to false>> <<set _pail to $player.ailments>> <<for _i to 0; _i lt _pail.length; _i++>> <<if _pail[_i] eq _ailment>> <<set _hasAilment to true>> <</if>> <</for>>
/* Create all the player ailments here */ <<set _ailmentCount to 11>> <<set $allAilments = []>> <<for _ail to 0; _ail lt _ailmentCount; _ail++>> <<set _initLink to "Ailment" + _ail + "Init">> <<include _initLink>> <<set $allAilments[$ailment.id] to $ailment>> <</for>>
/* Boob Fetish */ <<set $ailment to { id: 1, name: "Boob Fetish", cureCost: 3 }>>
TESTING PLAYER AILMENTS<br> <br> <<include [[Test Ailments: Print All Ailments]]>>
''Number of Player Ailments = $allAilments.length''<br> <br> <<for _a, _ail range $allAilments>> <<print _a + ".">> _ail.name<br> <</for>>
/* print all ailments (known and unknown) the player has */ PLAYER HAS $player.ailments.length AILMENTS<br> <<set _ailments to $player.ailments>> <<for _i to 0; _i lt _ailments.length; _i++>> <<set _a to _ailments[_i]>> <<print $allAilments[_a].name>> <<if _a eq 0>> <<set _hi to $allAilments[_a].harlot>> <<print ": " + $allHarlots[_hi].name>> <</if>> <br> <</for>>
/* print all known ailments the player has */ PLAYER HAS $player.knownAilments.length AILMENTS THEY KNOW ABOUT<br> <<set _ailments to $player.knownAilments>> <<for _i to 0; _i lt _ailments.length; _i++>> <<set _a to _ailments[_i]>> <<print $allAilments[_i].name>><br> <</for>>
/* Add an ailment prereq: _ailment */ <<set $player.ailments.pushUnique(_ailment)>> <<if $isTesting or $player.charms.includes(19)>> ''You've picked up the $allAilments[_ailment].name ailment.''<br> <br> <</if>>
/* Add an known ailment prereq: _ailment */ <<set $player.knownAilments.pushUnique(_ailment)>> <<if $isTesting>> ''Player has been diagnosed with the $allAilments[_ailment].name ailment.''<br> <br> <</if>>
/* Remove an ailment - prereq: _ailment */ <<set $player.ailments.delete(_ailment)>> <<set $player.knownAilments.delete(_ailment)>> <<if $isTesting>> ''Player has been cured of the $allAilments[_ailment].name ailment''<br> <br> <</if>>
''NO AILMENTS''<br> <br> <<include [[Player: Print Player Ailments]]>><br> -------------------------------<br> <br> ''ADDING AILMENT''<br> <br> <<set _ailment to 0>> <<include [[Add Player Hidden Ailment]]>> <<include [[Player: Print Player Ailments]]>><br> -------------------------------<br> <br> ''DIAGNOSING AILMENT''<br> <br> <<include [[Add Player Known Ailment]]>> <<include [[Player: Print Player Ailments]]>><br> -------------------------------<br> <br> ''CURING AILMENT''<br> <br> <<include [[Remove Player Ailment]]>> <<include [[Player: Print Player Ailments]]>><br> -------------------------------
<<include [[Player: Print Hidden Ailments]]>><br> <<include [[Player: Print Known Ailments]]>><br>
<<if $hasInvestigatedScreen or $hasInvestigatedBed>> /* Leaving after investigating */ You're not sure what's supposed to happen here. Since her first instruction, Couchelaxa hasn't said anything or even revealed herself, even after you poking around inside the room.<br> <br> Your investigations haven't revealed her. You're not sure she's even here.<br> <br> You wait around a bit longer until it starts to feel awkward.<br> <br> Maybe you should leave.<br> <br> You decide to do just that. Couchelaxa doesn't call out or try to stop you. To be honest, you're not even sure she's in the room at all. <<else>> /* Leaving */ You're not sure what's supposed to happen here. Since her first instruction, Couchelaxa hasn't said anything or even revealed herself.<br> <br> At this point, you've been standing here for so long it would probably be awkward if she did.<br> <br> You decide to save the both of you that awkwardness and turn around and leave the room. Couchelaxa doesn't call out or try to stop you. To be honest, you're not even sure she's in the room at all. <</if>>
This is ridiculous. This is just like before. You enter her room and she's nowhere to be found.<br> <br> Sod this for a game of soldiers.<br> <br> Baffled and a little annoyed, you turn to leave the room.
<<set _hasLainOnBed to $allHarlots[$hi].hasLainOnBed>> <<set _currSex to $allHarlots[$hi].currentSexAct>> <<set _hasScoredEpi to _osa[5][2]>> <<set _hasScoredSupp to _osa[6][2]>> /* Text here */ <<if _hasLainOnBed eq false>> /* Didn't see her */ "Hmm, there is some new info here, so it's not a total waste. Try harder to find her next time, though." <<else>> <<if _hasScoredEpi eq false and _hasScoredSupp eq false>> /* first time realising she's the bed */ "She emerges from – is – the bed. My, how strange. She must be some breed of slime girl or mimic."<br> <br> He taps his pen against his notepad.<br> <br> <</if>> <<if _currSex eq 1>> /* Supplicant */ "Hmm, lying on your back sounds quite pleasant. And safe. Hmm."<br> <br> His whiskers bristle.<br> <br> "I might just give that a go. Thank you very much." <<elseif _currSex eq 2>> /* Epicurean */ "Hmm, I would describe myself as an epicurean, but that sounds like far too much! You look positively drained." <</if>> <</if>> /* do not end with linebreaks */
"Oh, you visited $allHarlots[$hi].name multiple times. This should provide good information."<br> <br> His moustache bristles eagerly as he perches with pen and notebook.<br> <br>
<<switch _visitCount>> <<case 2>> <<set _text to "2nd">> <<case 3>> <<set _text to "3rd">> <<default>> <<set _text to _visitCount + "th">> <</switch>> "Oh, this is your _text time of visiting <<print $allHarlots[$hi].name + ".">> What did you learn this time?"<br> <br>
"Go on," he says. "Tell me of your experiences with <<print $allHarlots[$hi].name + ".\"">> <br> <br>
Afterwards, he closes his notebook with a derisory snort. His nostril hairs bristle angrily. He doesn't bring out his wallet this time.<br> <br> <<if _isRepeatVisit>> "You've told me nothing you haven't already told me," he says. "I'm no mug. I don't pay for old information I've already paid for. I'm not a charity. If you want more <<print $currencyName + "s,">> go get me some new information!" <<else>> "There is nothing here that is useful. Nothing!" he says. "I'm not a charity. If you want more <<print $currencyName + "s,">> find out something I can use!" <</if>> <br><br> And that's that.<br> <br>
/* moved code to here and encapsulated to make test code easier to track */ ''Testing Scenario over.''<br> <br> [[Output results->Harlot Scenario: Output Results]]<br> [[Next Round->Test Harlot: Next Round]]
<<set $currentRound += 1>> /* Check if harlot testing wants to change variables between rounds */ <<set $addTestingPassage to "Harlot" + $hi + "AddTesting">> <<if tale.has($addTestingPassage)>> <<include $addTestingPassage>> <<else>> ''NO CHANGES BETWEEN ROUNDS''<br><br> <</if>> <<unset $addTestingPassage>> <<include [[Harlot Tester]]>>
/* Standard faction increase check Relevant for repeat visit harlots Makes sure faction increase only happens once */ /* Check which index we're updating */ <<set _vi to $visitNumberForFactionIncrease>> <<if $allHarlots[$hi].factionIncrease[_vi] eq false>> <<set $isFactionIncrease to true>> <<set $allHarlots[$hi].factionIncrease[_vi] to true>> <</if>> /* Reset to 0 afterwards as this is the default value for harlots with no repeat visits */ <<set $visitNumberForFactionIncrease to 0>>
<<set _currSex to $allHarlots[$hi].currentSexAct>> /* Text here */ <<if _currSex eq 1>> /* chair */ "Hmm, that sounds like it's over far too quickly to be enjoyable," $npcMoney.name harrumphs. His moustache bristles. "But it does sound safe, and in here that is the most important criterion of all." <<elseif _currSex eq 2>> /* sofa */ "That sounds far too strenuous for a man of my girth and advanced years! Maybe her bed would be more suitable for me. A shame I've not spoken to anyone who chose that option." <</if>> /* do not end with linebreaks */
/* Generic function for scoring if player has done a certain activity with a harlot pre-reqs: _x (activity being checked for) pre-reqs: $hi (harlot) output: _hasDoneX */ <<set _hasDoneX to false>> <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _sa to $player.roomScores[_r].scoreArray>> <<if _sa[_x][1] eq true>> <<set _hasDoneX to true>> <</if>> <</if>> <</for>>
<<unset $pixSofaMode>> <<unset _hasDoneChair>> <<unset _hasDoneSofa>>
/* additional testing between rounds */ <<set $cgi to 1>> <<set _ailment to 6>> /* <<include [[Add Player Hidden Ailment]]>> */ <<set $player.currAgi to 4>> <<set $player.currDex to 1>>
/* Enslavement - to a certain harlot. Must always pick them, may trigger Bad End in room */ <<set $ailment to { id: 0, name: "Enslavement", cureCost: 5, harlot: 0 /* add more stuff later as needed */ }>>
/* Selection forced by a player having the Enslavement ailment a player can only be enslaved to one harlot at a time. */ <<set _ailment to 0>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<set _mistressId to $allAilments[0].harlot>> <<for _i to 0; _i lt $hci.length; _i++>> <<if $hci[_i] eq _mistressId>> <<set _isMistressPresent to true>> <</if>> <</for>> <<if _isMistressPresent>> <<set $hci to [_mistressId]>> Your Mistress is here. You couldn't possibly select anyone else.<br> <br> <<include[[Harlot Selection: Create Options List]]>> <<if $player.mulliganTokens gt 0>> <br> It would be unthinkable to use a $mulliganToken.name to send Mistress away. <</if>> <<set _hasSelectionPoolBeenFinalised to true>> <</if>> <</if>>
/* list of force selection fetishes */ <<set _fetishList to [1,2,3]>> /* new harlot selections */ <<set _newHci to []>> /* for each fetish */ <<for _fi to 0; _fi lt _fetishList.length; _fi++>> <<set _ailment to _fetishList[_fi]>> /* check if player has that fetish */ <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> /* Need to check if any harlots are irresistible to ailment */ <<for _i to 0; _i lt $hci.length; _i++>> <<set _hid to $hci[_i]>> <<if def $allHarlots[_hid].isIrresistibleToAilment>> <<if $allHarlots[_hid].isIrresistibleToAilment eq _ailment>> /* add to new harlot list */ <<set _newHci.pushUnique(_hid)>> <</if>> <</if>> <</for>> <</if>> <</for>> <<if _newHci.length gt 0 and _newHci.length lt 3>> /* forced picks string */ <<set _picksStr to "">> <<for _i to 0; _i lt _newHci.length; _i++>> <<if _i neq 0>> <<set _picksStr += " and ">> <</if>> <<set _hid to _newHci[_i]>> <<set _picksStr += $allHarlots[_hid].name>> <</for>> /* rejects */ <<set $hci.delete(_newHci)>> <<set _rejStr to "">> <<for _i to 0; _i lt $hci.length; _i++>> <<if _i neq 0>> <<set _rejStr += " or ">> <</if>> <<set _hid to $hci[_i]>> <<set _rejStr += $allHarlots[_hid].name>> <</for>> You're not interested in <<print _rejStr + ".">> Only _picksStr <<if _newHci.length eq 1>>has<<else>>have<</if>> the attributes that turn you on.<br> <br> <<set $hci to _newHci>> <<include[[Harlot Selection: Create Options List]]>> <<if $player.mulliganTokens gt 0>> <br> You don't wish to use a <<print $mulliganToken.name + ".">> <<if _newHci.length eq 1>>This girl is<<else>>These girls are<</if>> exactly what you're after. <</if>> <<set _hasSelectionPoolBeenFinalised to true>> <</if>>
/* No conditions due to ailments */ <<include [[Harlot Selection: Create Options List]]>> <br> <<if $player.mulliganTokens gt 0>> <<if $hasUsedMulliganToken eq true>> You've already used a $mulliganToken.name this round. <<else>> [["Use a " + $mulliganToken.name + " to change the harlots on offer this round?"->Harlot Selection: Use Mulligan]] <</if>> <</if>>
<<set $isTesting to true>> <<set $player.mulliganTokens to 1>> <<set _ailment to 0>> <<set $allAilments[0].harlot to 5>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>> <<set $hci to [10, 18, 20]>> [[Begin Test->Summon to Harlot Choice]]
/* Pearl Necklace */ <<set $gift to { number: 16, name: "Pearl Necklace", isSingular: true, description: "a string of pearls", categories: [3, 8] }>>
<<set $hi to 20>> <<set $allHarlots[$hi] to { number: $hi, name: "Boobella", shortDescription: "a preppy looking succubus in a tight white sweater that accentuates her noticeably large bosom. She has platinum-blonde hair cut in a shoulder-length bob and her look is more cheerleader-try-out than demonic-hell-bitch.", faction: 4, minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, isIrresistibleToAilment: 1, gifts: [16, 11], affection: 0, introductionLink: "Boobella: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Boobella: Socialising", npcGossipLink: "Boobella: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Boobella: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Boobella: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Boobella: Sell Exp Body", sellExpFeedbackLink: "Boobella: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> /* ...set player stats here */ <<set $player.semenCount to 4>> <<set $player.money to 10>> <<set $player.currWill to 5>> <<set $player.charms.push(26)>> <<set $player.currIsSlutty to false>> /* <<include [[PlayerAilmentsInit]]>> */ <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> /* <<set $allHarlots[$hi].<property> to <value>>> ...set harlot stats here */ <<set $hi to 20>> /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* Madam intro */ "Here is the boobilicious Boobella," $npcMadam.name says. "Aw, she hates it when I introduce her that way." <br> <br> /* Long description */ Boobella looks more like she belongs on a university campus than a house of ill-repute. Well, if you ignore the usual succubus additions of red horns, bat wings and a tail. Aside from those, she has shoulder-length platinum-blonde hair and big brown eyes that occasionally flash red.<br> <br> She's dressed relatively conservatively in a plain white jumper and a dark blue dress that extends down to just above her knees. Her jumper covers, but can't hide the noticeable bulge of her boobs. If anything, it brings more attention to her chest. The fabric is stretched taut to contains her large tits and your curiosity on what they might look like underneath is enough to drive you crazy. <br> <br> /* Harlot intro */ "Hello, call me Boo," she says. "I'm looking forward to spending some time with you." <br>
Boobella latches onto your arm and rests her head on your shoulder as you walk out into the bar area. You feel a weird flash of pride, like being seen in public with a hot girl on your arm. It's silly, of course, being that you're currently in a supernatural brothel packed with hot girls, but you feel it nonetheless.<br> <br> You find a spare table.<br> <br> <<set $socNoMoneyLink to "Boobella: Socialising: No Money">> <<set $socDrinkLink to "Boobella: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> "Babe!" Boobella says. "This is not how you treat a lady."<br> <br> She gets up and leaves the table, leaving you alone with your shame.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
Boobella orders a brightly-coloured cocktail. She takes a sip before turning her attentions to you.<br> <br> "Like what you see, babe?"<br> <br> She gives her substantial chest a little jiggle.<br> <br> "This is not my only asset," she says. "Pick me and I'll be the best girlfriend experience you've ever had. I'll be the girlfriend you've always dreamed of having."<br> <br> She wraps her supple lips around the straw of her drink and takes a good long suck. Her gaze flicks back up to you.<br> <br> "...the girlfriend you've always dreamed of fucking."<br> <br> You gulp. Your Adam's apple bobs. Boobella does indeed have the face – and figure! – dreams are made of.<br> <br> <<include [[Socialising: End]]>>
"Ah the boobilicious Boobella. She really hates that, you know, which is why we call her it at every opportunity."<br> <br> $npcGossip.name chuckles and exhales a cloud of smoke.<br> <br> "Poor Boobella. She angered someone she shouldn't have and now she's in the House. She doesn't like it here and she doesn't like following $npcMadam.name's rules."<br> <br> $npcGossip.name taps her cigarette holder to dislodge ash.<br> <br> "Don't go letting those big brown eyes fool you. She can play the loving girlfriend when it suits her, but underneath she's another black-hearted succubus. Give her half a chance and she'll suck your life and soul out, and she likes being cruel about it from what I've heard."<br> <br> $npcGossip.name sips her drink.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"She likes preying on the weak-willed. They always have difficulty saying no to her.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"She's not one for pearl necklaces, if you know what I mean.\"\<br\>\<br\>$npcGossip.name nudges your elbow and gives you a positively filthy wink."}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Still, she's every boob lover's ultimate fantasy.\""}>>
/* no repeat scenario for this harlot */ <<set $isFactionIncrease to false>> /* faction increase - good gift + at least 2 pops or full 5 pops */ /* set other scenario-specific vars here */ <<set $fromBlackRose to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* good gift */ [1,false,false], /* romantic */ [1,false,false], /* paizuri */ [2,false,false], /* 1st pop */ [1,false,false], /* 2nd pop */ [1,false,false] /* 5th pop */ ] }>> Boobella's room is understatedly sensual. Pinks predominate the colour scheme and the big bed is covered in heart-shaped cushions, but the room just about remains within the bounds of what a regular woman's bedroom would look like, rather than just a room for shagging. That does make you wonder what the arrangements are within the House – do the various girls live here as well as carrying out their jobs within these rooms?<br> <br> Boobella is waiting for you as you open the door.<br> <br> "Welcome to my room. I'm so glad you chose me," she says. "And please, call me Boo."<br> <br> She steps forward and deposits a tingling kiss on your cheek.<br> <br> "Now, what do you have for me?"<br> <br> [[You give her your gift.->Boobella: Gift]]
<<if $allGifts[$cgi].categories.includesAny(4, 5, 8)>> /* Romantic, Sensual, Blingy */ <<include [[Boobella: Good Gift]]>> <<elseif $allGifts[$cgi].categories.includesAny(10, 11, 12)>> /* Arty, Weird, Gross */ <<include [[Boobella: Bad Gift]]>> <<else>> <<include [[Boobella: Mediocre Gift]]>> <</if>> <br><br> She grips the bottom of her jumper.<br> <br> [[Continue.->Boobella: Undress 1]]
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> Boo's eyes light up as you give her the $allGifts[$cgi].name.<br> <br> "Oh, how nice. You really know the way to a girl's /* if player is romantic */ <<if not $player.currIsSlutty>> heart. I can see you have a romantic soul. That's my favourite kind of man. They don't have to be handsome; they just need to know how to treat a lady right." <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<else>> heart." <</if>> <br><br> She moves her hands down her body, sliding them over her obvious curves.<br> <br> "And now, I'll show you the way to a man's heart."
Boo's face wrinkles up in disgust as you give her the <<print $allGifts[$cgi].name + ".">><br> <br> "Is this something you'd give your girlfriend?"<br> <br> She looks from the $allGifts[$cgi].name to you. Scorn is written clearly on her face.<br> <br> "No, I didn't think so."<br> <br> She makes a point of holding out the $allGifts[$cgi].name at arm's length before dropping <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> into a wastebasket. Then, the offending <<if $allGifts[$cgi].isSingular>>article<<else>>articles<</if>> removed, she turns back to you with a sunny smile on her face.<br> <br> "Let's make a fresh start and forget it ever happened," she says. "I'll unveil my gift. I think you'll like it."
Boo looks unimpressed as you give her the $allGifts[$cgi].name.<br> <br> "I can see you're not very experienced at this. I pity your current girlfriend, if you have one."<br> <br> She places <<if $allGifts[$cgi].isSingular>>it<<else>>them<</if>> on a nearby shelf.<br> <br> "You don't need her anyway. I'm your girlfriend, at least for the next hour. And I think you'll like my gift."
"I've seen you looking," Boo says. "I've seen your gaze fixed on them all night."<br> <br> She lifts the bottom of her jumper up a couple of inches, enough to reveal her flat stomach and navel.<br> <br> "I can see it's consuming you, that burning curiosity. You want to know what they look like."<br> <br> While swaying seductively, she lifts the bottom of her jumper up another couple of inches, to the bottom of her bulging breasts.<br> <br> "You want to see them revealed."<br> <br> You do, more strongly than you'd like to admit. The hidden swell of her bosom exerts a powerful magnetic grip on your gaze. Your heart rate kicks up a beat. You hear the blood pounding through your veins.<br> <br> [[She lifts her top up higher.->Boobella: Undress 2]]
Boo lifts her top high enough to give you a flash of her nipples. And it is just a flash. With a giggle she gives you only the briefest glimpse before folding the fabric back down over them.<br> <br> And what a glorious flash it was. You saw the lovely little pink nubs of her nipples, so perky and erect.<br> <br> Giggling, Boo flashes them again.<br> <br> You feel a little heady. There is some kind of perfume in the air, stronger than you first thought.<br> <br> "I'm sorry, I'm such a tease," Boo says.<br> <br> [[She takes her top off.->Boobella: Undress 3]]
She takes her top all the way off and you finally get to see her naked breasts in all their glory.<br> <br> They are, indeed, glorious. They're big, round, pink, and plump like lusciously ripe fruit. Her skin is smooth and glossy. Her nipples are perky and erect. Looking at her breasts, you have the strong urge to grab them with both hands and squeeze, to dive right into her cleavage and rub them against your cheeks.<br> <br> "Like what you see, babe?" Boo asks, giving her chest a little jiggle.<br> <br> She pouts her lips and blows a cloud of perfumed breath in your face. Your heartrate kicks up even higher. Your pulse races. You feel a little dizzy. Her magnificent bosom swells to fill your entire world.<br> <br> You sway a little uncertainly. You might even have toppled forward if Boo wasn't there to catch you... with her breasts. Helpless, you fall into the pink chasm between her lush peaks. You can't stop yourself from placing hands on either side and mashing the soft pillows against the side of your face. Your nose is filled with Boo's intoxicating scent.<br> <br> [[This is nice.->Boobella: Undress 4]]
Boo holds you there, gently running a hand through your hair.<br> <br> "Hmm, I wonder if you've fallen in too deep," she says.<br> <br> She jiggles her boobs, letting their smooth curves rub against your cheeks.<br> <br> "Many men do."<br> <br> Finally, she lets you go and steps backwards. You're left tottering unsteadily on your feet. That was an enjoyable experience.<br> <br> "Time to get undressed," she says.<br> <br> [[Yes, time to get undressed.->Boobella: Undress 5]]
You take off your clothes and hang them over the back of a nearby chair. Boo removes her dress, shoes and stockings. She doesn't remove her panties because she wasn't wearing any to begin with. She stands before you in all her naked glory. The shaven folds of her sex are as pink and smooth as her tits.<br> <br> You stand in front of her with a raging boner. She doesn't seem bothered by it. Instead the corners of her lips turn up in a playful smile as she glances down at it.<br> <br> "Mmm, I can see you liked having my boobs wrapped around your face. I wonder if you'd like me to wrap them around another part of your anatomy."<br> <br> She glances meaningfully down at your rampant erection. It throbs in anticipation as she presses her soft tits together.<br> <br> "Or we can go straight to me wrapping my lovely pussy around that big hard cock instead."<br> <br> She runs a finger through the groove of her sex. It comes away wet and glistening.<br> <br> "What do you say, babe?"<br> <br> /* check for boob fixation */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> [[It has to be the tits.->Boobella: Choose Paizuri]] <<else>> [[Start with the tits.->Boobella: Choose Paizuri]]<br> [[Go right to sex.->Boobella: Choose Sex]] <</if>>
<<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> Boo laughs. "Men are all the same. You all want to stick your dick between my tits. Come over here then, babe."<br> <br> She takes your hand and leads you to the bed. She motions for you to sit on the edge and then crouches down between your legs.<br> <br> "Now remember, this is just foreplay. I don't want you to get carried away and sully my lovely breasts."<br> <br> That will be easier said than done. Boo flops her wonderful bosom in your lap and wraps her boobs around your hard cock. She presses her hands into the sides and squeezes your cock between two wondrous fleshy pillows.<br> <br> Boo's eyes glitter with sultry filth as she looks up at you. "I prefer putting a man's cock in my pussy, but having it trapped here also feels nice."<br> <br> She squeezes her soft tits together. They're big enough to completely envelop your cock. It's buried between the two pink mounds.<br> <br> "And the men are just as helpless," she smiles.<br> <br> She plumps her tits together, fluffing them like pillows. Your erection is buffeted from either side and throbs from the sensation.<br> <br> "Are you enjoying being pampered by my boobies, babe?" Boo asks.<br> <br> She squeezes them together and moves them up and down. Their silky-smooth skin rubs up and down your shaft.<br> <br> "And this is just the appetizer. The main course is in my luscious twat."<br> <br> [[Continue.->Boobella: Paizuri]]
You like the sound of her lovely pussy wrapped around your hard cock. You're already massively turned on anyway. If you stuck your dick between those lovely boobs, things might get a little premature. You'd rather empty a load in her pussy than over her tits, as lovely as they look.<br> <br> Boo smiles approvingly. "I like a man who's direct. And..."<br> <br> She looks down at your rampant erection and doesn't even try to hide the naked lust in her gaze.<br> <br> "...I can see //that// doesn't require much fluffing."<br> <br> She takes you by the hand and leads you to the bed. You lie down on your back on the comfortable mattress and Boo straddles you.<br> <br> [[Time to fuck.->Boobella: Sex: Intro]]
She rolls her hands up and down the outside of her breasts, squeezing first your swollen glans and then rolling down to press around the root of your cock.<br> <br> "Are you getting turned on, babe?"<br> <br> She juggles her tits. She slides them over the top of each other. Your cock slides between them and you feel the luscious friction of her fleshy globes rubbing against you. An urge starts to grow in your balls.<br> <br> "If it starts to get too much, let me know, babe," Boo says. "I don't want you wasting any before we get to the proper sex."<br> <br> She presses her tits together and kneads them around your cock. Your whole erection is smothered in warm boobflesh. You feel it stoke up and down your erection. Her boobs press in so tight you feel like you're being pumped by a hand, or tight pussy.<br> <br> "Hold it in, babe," Boo says.<br> <br> At the same time, she squeezes her boobs in tighter. She shakes them up and down faster and faster, creating a stroking tugging sensation that's maddeningly arousing.<br> <br> <<set _reqStat to 2>> <<set _ailmentsList to [1]>> <<set _charmsList to []>> <<include [[Player: Test Will]]>> <<if _testPassed>> It feels so good. Almost too good. You know she told you not to, but you're feeling the strong urge to let it all go and come between her wonderful tits.<br> <br> [[Hold it in.->Boobella: Paizuri: Decline Ejaculation]]<br> [[Fuck it. Cream them!->Boobella: Paizuri: Ejaculation]] <<else>> It feels too good.<br> <br> [[You can't hold it in.->Boobella: Paizuri: Ejaculation]] <</if>>
It's no good. It feels too good. You can't hold on. You just have to spurt a load between Boo's lovely smothering tits.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Boobella: Paizuri: No Semen]]>> <<else>> <<include [[Boobella: Paizuri Bad End 1]]>> <</if>>
You want to. Her breasts feel so good pressed snugly around your cock. You're awfully tempted to just let go and spray her tits with your cock.<br> <br> But you also remember the lovely sight of smooth and hairless pussy. And as lovely as her tits feel, you really want to fire off a load inside that pussy. You won't be able to that if you shoot your bolt prematurely.<br> <br> So, you hold it in and ask her to stop while you're still able to hold it in.<br> <br> Boo's smile is all cheeky filth. "Already, babe? Are my boobs that good?"<br> <br> You nod. Foreplay was on the verge of tipping into regular play.<br> <br> And still might. Your whole crotch feels like it's on a hair trigger, about to explode at the slightest touch.<br> <br> Boo notices. "Mmm, you seem turned on enough now. Let's get you inside my pussy before you start spraying everywhere."<br> <br> Boo coaxes you into lying down the centre of the big soft bed, and then straddles you.<br> <br> [[Time to fuck.->Boobella: Sex After Paizuri]]
At least you thought you did. The desire to come becomes irresistible. It builds and builds until you feel your cock throb. But nothing emerges. You have a feeling that might because you have nothing left.<br> <br> Boo feels your cock twitch between her tits and immediately assumes the worse. Her expression turns to annoyance, then surprise. She parts her boobs to look down at the twitching cock nestled in her cleavage.<br> <br> "I was sure you'd tipped over," she said.<br> <br> Your cock throbs and twitches, but only a desultory little trickle of pre-cum oozes from the tip.<br> <br> "That's some impressive self-control, babe," she says, her eyes lighting up.<br> <br> You think it might be more because the other succubi in the House have left you completely drained and empty, but you don't say anything.<br> <br> "With that degree of self-control, I can't wait to see what you're like in bed."<br> <br> Boo coaxes you into lying down the centre of the big soft bed, and then straddles you.<br> <br> [[Time to fuck.->Boobella: Sex After No Semen 1]]
Your cock swells and you feel a satisfying surge of release as you pour cum into Boo's cleavage. The ejaculation is strong enough for spurts to fly up and splatter the top of Boo's breasts.<br> <br> As good as it felt for you, Boo is less amused.<br> <br> "Babe! I told you to hold it in," she says. "Now look at the mess you've made of my tits."<br> <br> She opens them out to show the ropes of cum you've deposited all over them. It's a lot.<br> <br> You'd feel apologetic, but isn't getting you off what she's here for? You try to placate her with flattery. She was so good you just couldn't help yourself.<br> <br> "Men," Boo complains. "No self-control at all. At least it won't go to waste."<br> <br> While Boo had been plumping her marvellous mammaries against your cock it had been easy to overlook her non-human features – her horns, wings and tail. You get an unwelcome reminder of how not-human she is when her bosom is suddenly surrounded by a nimbus of pale pink light. Then, the messy strands of your issue fade from view, as if drawn into and absorbed into her tits. Boo sighs as if savouring a delicious meal.<br> <br> [[That's a bit weird.->Boobella: Paizuri Bad End 2]]
"Mmm, I'm eager to see how good your control is," Boo says.<br> <br> The warm flesh of her vagina presses in tightly all around your erection. It fits you snugly like a glove. Boo rocks lightly in your lap. Her erect nipples bob up and down with her movements. The luscious wet walls of her pussy generate a delicious friction as they slide up and down your shaft. It feels so good you'd probably be coming right now if you had anything left.<br> <br> "Oh yes, very good, babe," Boo says. "Let's see how you handle this."<br> <br> Her big boobs sway as she moves up and down on top of you. The wet walls of her sex slide up and down your cock. The muscular walls press in and stimulate you with long sucking strokes.<br> <br> "Oh, you are good, babe," Boo sighs. "But no man can withstand this."<br> <br> A pink sigil flares on her flat belly, just above her sex. It looks like stylised heart tattoo, but picked out in glowing pink light. Her vagina warms up around your cock. Your cock is gripped first by a pleasant ethereal tingling sensation, and then by more tangible pleasures as her vagina starts to squeeze you with muscular pulses. Plump internal lips batten on the tip of your cock and start to suck.<br> <br> [[Oh yes.->Boobella: Sex After No Semen 2]]
Her big brown eyes flick open and stare right at you.<br> <br> "Seeing as you love my boobs so much, I think I'll drain you with them. What do you say to that, babe?"<br> <br> She presses her breasts together more firmly, wedging your cock tightly between them. Her bosom becomes a fleshy prison for your erection, one you're not too fussed about escaping from anytime soon.<br> <br> "You won't say anything," Boo says with a smile. "I know your sort. You're helpless before a nice big pair of lovely tits."<br> <br> [[You are, indeed, helpless.->Boobella: Paizuri Bad End 3]]
That pale pink nimbus surrounds her tits again. Maybe surrounds your cock as well. You feel a warm, pleasant, tingly feeling that starts in your penis, and then tickles up the back of your neck and massages the pleasure centres of your brain.<br> <br> "I wasn't really trying before," Boo says. "I'm not allowed to."<br> <br> Her breasts, while still luxuriously soft, feel a little firmer around your cock. The flesh presses tightly all around you. You feel a strange pulsing sensation, as if her boobs are stroking your cock with gentle rippling tugs.<br> <br> "You're too weak-willed, though, babe. And now I can have a proper feast. I would have preferred to have done it with my pussy, but my boobs can drain you just fine."<br> <br> She holds her boobs in place as they continue to pulse against and stimulate your cock. That pleasant, tingling sensation intensifies. You feel like you might be about to come again, but it feels a little different... fuzzy.<br> <br> "Can you feel it, babe? I'm starting to drain you, drain all your life with my nasty big tits. You see, we succubi don't have to use our pussies. We can use other parts of our body. And since you like my tits so much, I'm going to end you with them."<br> <br> The fuzzy, tingling, trickling feeling feels good, but also not right. You feel a little strange – weakened – as if your strength is flowing out of you and into her.<br> <br> [[This isn't good...->Boobella: Paizuri Bad End 4]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> You try, unsuccessfully, to break your cock free of the smothering clutch of her bosom.<br> <br> "No no, babe. It's too late now. It's my tits you wanted, and my tits you'll get."<br> <br> Boo pouts her lips and exhales a perfumed cloud. Your thoughts are submerged in a pink fog. You flop back on the bed and let Boo keep squeezing her tits around your cock.<br> <br> You sigh as another throbbing ejaculation overtakes you. You cock throbs and twitches and deposits another massive load between Boo's tits.<br> <br> "Oh yes, babe. Pour it out. Pour it all over my big tits."<br> <br> You do. You're helpless to prevent yourself from doing so. Boo has your cock buried completely between her tits, and coaxed on by their wonderful stroking pulsations, you spurt cum into the tight fleshy clutch of her cleavage. Her tits soak it up like thirsty sponges and demand more.<br> <br> "Yes, pour it all out," Boo exhorts. "Let my nasty big boobs soak up all your life and energy."<br> <br> She squeezes her tits still harder. Smothered between them, your cock keeps spurting and spurting, spitting out both your semen and life. Sighing with pleasure, Boo lets her tits draw it all from you until nothing is left of you but a slowly cooling corpse.<br> <br> <<include [[Boobella: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* handle clean-up here */ <<unset $fromBlackRose>>
Perhaps sensing you're already a little too close to the edge after her lovely titwank, Boo doesn't waste any time. She grabs your cock, steers it to the luscious entrance of her pussy and sits down on you. Your erection pushes up into her warm, fleshy sex. The muscular walls contract and //squeeze//.<br> <br> And that's already far too much simulation.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Boobella: Sex After Paizuri: No Semen]]>> <<else>> <<include [[Boobella: Sex After Paizuri: 1st Pop]]>> <</if>>
It feels amazing and your cock responds with hard throbs. If you weren't completely dry, it would have been a quite substantial ejaculation. As it is, the bliss of orgasm is tempered by dull scratchy aches as muscles in your loins strain to push out non-existent semen.<br> <br> Boo pauses when she feels nothing come out. Her confusion is only fleeting and instead of showing disappointment her face cracks in a broad smile.<br> <br> "Silly me," she says. "There was me thinking you had such superb control and it's because you have nothing left. Those other skanky succubi have already drained your balls dry."<br> <br> She leans over you. Her smile is altogether too //predatory//.<br> <br> "But they haven't drained you of //everything//," she says.<br> <br> [[Uh oh.->Boobella: Sex Bad End 1]]
Boo lies down on top of you and wraps her arms around you.<br> <br> "We're not done," she says.<br> <br> She kisses you passionately on the lips. She hugs you tightly, squashing her soft breasts against your chest. Her vagina continues to work on your cock. Muscular walls bunch up and tug on you as if trying to milk out the contents of your balls. Plump sensual inner lips suckle the swollen head of your cock.<br> <br> <<if $fromBlackRose>> You ejaculate explosively inside her. You feel like her pussy is also drawing something else out of you as well, although what, you can't tell. It's a strange feeling, like your strength is leaking out into her. Strange, but also euphorically pleasurable.<br> <br> "Mmm, my pussy is draining your energy as well as your spunk," Boo whispers in your ear. "It feels heavenly, doesn't it, even though my pussy is killing you." <<else>> And, even though you thought you were dry, her pussy does start to draw something out of you, although what, you can't tell. It's a strange feeling, like your strength is leaking out into her. Strange, but also euphorically pleasurable.<br> <br> "Mmm, my pussy is draining your energy," Boo whispers in your ear. "It would feel better if you were spunking up a load as well, but the sensation on its own is quite pleasant, even if my pussy is killing you." <</if>> <br> <br> For some reason you feel fine with that. Whatever you're spurting into Boo's pussy, you want to do it more. Boo's fragrant scent surrounds you and your thoughts are fuddled as if you're seeing the world through a pink gauze.<br> <br> [[Continue.->Boobella: Sex Bad End 2]]
Or should be. The pampering from Boo's boobs already took you right to the edge. The feel of her wet pussy walls sliding down your cock sets you throbbing in orgasm.<br> <br> Except you have nothing to pump into her. Your night in the House has left you empty. Your muscles clench and spasm in vain as nothing comes out.<br> <br> Boo pauses. "Don't you have any for me, babe?"<br> <br> [[Nope, you're out.->Boobella: Sex Bad End 1]]
As soon as you're inside her, you give a great shudder of pleasure and climax. Your cock throbs and you pump a massive load up into her wet cunt.<br> <br> Boo sits astride you and moans in bliss. She wriggles her hips and lets her pussy milk you with gentle, muscular pulsations.<br> <br> "That was fast," she laughs. "But at least you sprayed it in the right place."<br> <br> After a brief pause to let you both – well mainly you – recover, Boo leans over you. Her brown eyes glitter with desire.<br> <br> "It might have been fast, but it doesn't need to be the only one. We still have time. We can go again if you'd like."<br> <br> Her fragrance surrounds you, exotic and alluring. The mattress feels comfortably soft beneath you. Boo's naked body looks glorious on top of you. It would be a shame to let things end prematurely, so to speak, you think.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<set _reqStat to 3>> <<set _ailmentsList to [8]>> <<set _charmsList to [26]>> <<include [[Player: Test Will]]>> <<if _testPassed>> What do you say?<br> <br> [[Let's go again.->Boobella: Sex 2]]<br> [[That's enough.->Boobella: Sex: Stop]] <<else>> [[Yes, let's go again.->Boobella: Sex 2]] <</if>>
"I didn't think you'd want to leave my lovely pussy just yet."<br> <br> Boo lifts her hips up and brings them back down until your whole cock is swallowed up to the root. She gives a little wriggle, trying to find the best fit.<br> <br> "And my lovely pussy isn't finished with you."<br> <br> You're not done either. That last ejaculation might as well never have happened. You're already back to full hardness and twitching. Boo's vagina feels so good around you.<br> <br> "Let's go a little harder this time," Boo says.<br> <br> She starts riding you with smooth little bounces of her hips. You watch, entranced, as her big naked boobs bob and jiggle with her movements.<br> <br> "Oh yes, babe," Boo moans.<br> <br> You feel the sumptuous walls of her pussy stroke up and down your cock. It's so tight and snug you feel the suction tugging at you with every upstroke.<br> <br> "Feed me."<br> <br> [[Continue.->Boobella: Sex 2: Pop]]
<<if $cgi eq 0>> "Stop? I think not," Boo says. "You gave me permission for this."<br> <br> <<set $fromBlackRose to true>> <<include [[Boobella: Sex Bad End 1]]>> <<else>> "Oh, too much, babe?" Boo says. "Sex with a succubus can be quite... draining. It's okay."<br> <br> There's something about her tone and the way she looks at you that makes you think it is very much //not okay//, but she dismounts you anyway.<br> <br> //Drained// is the right word, you think as you get up out of the soft bed.<br> <br> "Mmm, I had a lovely time," Boo says. "I hope you did too."<br> <br> You did, but various twinges and aches across your body make you think it might be the sort of good time that ends up being regretted come the next morning.<br> <br> [[Continue.->Boobella: Good End]] <</if>>
"Now you lie back while I feed your cock to my hungry twat," Boo says.<br> <br> She reaches down to wrap a warm hand around your cock. Her labia part slightly, giving you a glimpse of the moist interior. You feel prickles of doubt then. The interior looks a little too red, a little too //hungry//.<br> <br> You don't get much of a chance to dwell on it as Boo holds your cock in place and slowly sits down on it. You see her plush labia fluff out as your hard cock slides up inside her. Your trepidation melts away as you feel the warm flesh of her sex press tightly around you.<br> <br> "Mmm, yes," Boo purrs in delight. "Now I've got you in my hungry pussy."<br> <br> She sits up astride you. Her lovely full breasts are swept upward. She seems fully in control of matters. Her pussy presses firmly around your sex.<br> <br> "I think it's time to let my hungry pussy feed," Boo says.<br> <br> [[Continue.->Boobella: Sex 1]]
She rocks lightly in your lap. Her erect nipples bob up and down with her movements. The luscious wet walls of her pussy generate a delicious friction as they slide up and down your shaft. She's damn tight in there and the sensation takes you right to the brink in virtually no time at all.<br> <br> "Don't deny my pussy," Boo says. "Feed her."<br> <br> She adds little wriggles to her up and down movements. Muscles flex in her vaginal walls and contract rhythmically around your cock. She smiles down at you radiantly while her wonderful naked tits bob up and down with her movements.<br> <br> There's no denying this.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> Well, you thought there was no denying this, but your body appears to have other ideas.<br> <br> Boo pauses. "Don't you have any for me, babe?<br> <br> [[Nope, you're out.->Boobella: Sex Bad End 1]] <<else>> [[You're coming.->Boobella: Sex 1: Pop]] <</if>>
You're coming. You sigh and grunt as a euphoric wave rushes through you. It surges down to your loins and then bursts out deep inside Boo's pussy.<br> <br> "Oh yes, babe, spurt it out inside me."<br> <br> She tips her head back as you empty out a great load inside her. Her vaginal walls flex and pulse around you. You squirm and gasp in helpless pleasure as she coaxes and drags the orgasm out longer. Her bat wings extend behind her. She continues riding you with lithe, up-and-down bobs as you empty your balls into her wonderful throbbing pussy.<br> <br> "Ah, that was lovely, babe," Boo says as you finally finish.<br> <br> You crash back, spent, on the soft mattress.<br> <br> Boo looks down at you. "But my pussy is still hungry. Do you think you can give me more?"<br> <br> Her expression is coquettish as she traces her finger in a circular motion around your belly button.<br> <br> "I'm sure you can give me more."<br> <br> Her fragrance, exotic and tantalizing, is all around you. The bed is soaked in it. You lie in it, surrounded by a blissful haze.<br> <br> "I'll make it feel so nice for you."<br> <br> To emphasize, she gives your cock a teasing little squeeze with her vagina.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<set _reqStat to 3>> <<set _ailmentsList to [8]>> <<set _charmsList to [26]>> <<include [[Player: Test Will]]>> <<if _testPassed>> Will you:<br> <br> [[Give her more?->Boobella: Sex 2]]<br> [[Tell her that's enough?->Boobella: Sex: Stop]] <<else>> [[You can give her more.->Boobella: Sex 2]] <</if>>
She rides you harder and faster. Her boobs bob and sway. You last longer this time, but not much longer.<br> <br> "Yes, babe, feed me your delicious spunk."<br> <br> Boo bounces higher than before then slams down. Her pussy clenches around your cock. You feel a strange sucking tug, and then...<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> ...you fail to climax properly. Your cock throbs as if in orgasm, but nothing comes out. You're dry, and you feel a scratchy uncomfortable sensation as muscles try to pump non-existent semen out of your body.<br> <br> Boo pauses, confusion shows on her face. "Are you out, babe?"<br> <br> [[Yep, you're out.->Boobella: Sex Bad End 1]] <<else>> ...you're coming. You buck your hips with her as you empty a second great flood of semen inside her pulsing pussy.<br> <br> "Yes," Boo cries.<br> <br> She continues to ride you and let her pussy milk every last drop of the ejaculation out of you.<br> <br> Afterwards you collapse, satisfyingly spent – //again!//, on the soft bed. Boo sits astride you. She gives a little flex and her pussy squeezes the last dregs out of your cock.<br> <br> "That was wonderful, babe," she smiles down at you.<br> <br> Her naked body, with its gloriously upswept breasts, is a lovely view.<br> <br> "We don't have to stop here, if you don't want. We can go again, if you'd like."<br> <br> She smiles seductively at you.<br> <br> "Would you like to go again?"<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> [[Yes!->Boobella: Sex 3]] <<set _reqStat to 2>> <<set _ailmentsList to [8]>> <<set _charmsList to [26]>> <<include [[Player: Test Will]]>> <<if _testPassed>> <br> [[No, that's enough.->Boobella: Sex: Stop]] <</if>> <</if>>
"I knew you could, babe," Boo says.<br> <br> She folds her upper body over you, close enough to rub her perky little nose against yours.<br> <br> "Let's take it slow and sensual this time."<br> <br> Boo doesn't sit up this time. Instead, she braces her arms on the mattress and sits with her body partially folded over yours. Her heavy pink breasts swing over your chest like luscious ripe fruits.<br> <br> "Yes, nice and slow," Boo says.<br> <br> She exhales perfumed air in your face. You lie back and relax as she slowly moves her hips up and down. Her dripping labia slide up and down your still-hard cock. Inside she's so tight you feel a tugging force pull against you every time she lifts her hips.<br> <br> What is she doing down there? It feels like her vagina is sucking on your dick like it's a lolly.<br> <br> [[Continue.->Boobella: Sex 3: Pop]]
Boo smiles down at you, enjoying the control she has over your body. She moves against you with long, slow strokes. Or rather, long, slow sucks. It feels more like a mouth sucking on your cock.<br> <br> "Mmm, yes," Boo says. "Slow and sensual. Let my pussy suck away your will to resist."<br> <br> It might be slow and sensual, but it's not long before she takes you – again – to the cusp of orgasm.<br> <br> At the top of a stroke, she pauses. She lets her soft plump labia pay special attention to the swollen head of your cock. She squeezes and sucks, letting her soft pussy lips draw the next orgasm inexorably to the surface.<br> <br> Then, knowing she's taken you over the edge, she drops her hips down, engulfing your whole length in one smooth <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> swallow. <br> <br> It should be enough, but it isn't. You can't seem to come no matter how much you want to. Maybe you're finally done for the night.<br> <br> "Oh, are you empty, babe?" Boo asks. Her smile turns vulpine. "Oh dear."<br> <br> [[Uh oh.->Boobella: Sex Bad End 1]] <<else>> swallow just as the third ejaculation surges out of you in a great throbbing gush. Boo collapses down on you and holds you in her arms as her pussy gulps down your issue. It feels great to be enveloped by her warmth and fragrance.<br> <br> "That was so nice, babe," Boo whispers in your ear. "Shall we do it again? I know you have more."<br> <br> She blows lightly in your ear and your cock throbs back to full hardness within the fleshy clutch of her pussy.<br> <br> [[Yes, let's do it again.->Boobella: Sex 4]] <<set _reqStat to 2>> <<set _ailmentsList to [8]>> <<set _charmsList to [26]>> <<include [[Player: Test Will]]>> <<if _testPassed>> <br> [[No, that's enough.->Boobella: Sex: Stop]] <</if>> <</if>>
"Mmm, good boy," Boo murmurs in your ear. "Lie back. My lovely pussy will do all the work now."<br> <br> That sounds wonderful to you.<br> <br> Boo lies on top of you and you're surrounded by her warmth and scent. Her soft boobs feel fantastic squashed against your chest. Her lovely vagina feels even better wrapped around your cock.<br> <br> This time she barely moves at all. She doesn't need to. The muscular walls of her vagina bunch up and roll up and down your shaft, until it feels like you're being milked with a gentle tugging action. Internally, something that feels like plump sensual lips battens around the head of your cock and sucks.<br> <br> "Don't hold back. Let it out," Boo whispers.<br> <br> Her vagina gives you a lovely squeeze. Those internal lips give your glans a wet suck.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> That should have been enough. It would have been enough... if you hadn't already had a lot of sex with the House's gorgeous inhabitants already this evening. The mind might be willing, but the body has limits. No matter how nicely Boo's pussy cajoles you, you can't reach climax.<br> <br> "Oh, are you out, babe?" Boo asks. Her smile becomes vulpine. "Oh dear."<br> <br> [[Uh oh.->Boobella: Sex Bad End 1]] <<else>> That's enough to take you over the edge. You grunt and shudder in her arms. Your throbbing cock releases a great slow flood of semen inside her. Those internal lips suck and slurp.<br> <br> "Yes, let my pussy drain you," Boo says.<br> <br> The pulsing fleshy motions of her vagina stretch it out as she coaxes and sucks every little drop out of your cock. Afterwards you do feel a little drained, as if she sucked out a little bit of your strength as well.<br> <br> "Again?" Boo whispers. She gives you a cheeky smile.<br> <br> Can you?<br> <br> [[Yes, you can go again.->Boobella: Sex 5]] <<set _reqStat to 2>> <<set _ailmentsList to [8]>> <<set _charmsList to [26]>> <<include [[Player: Test Will]]>> <<if _testPassed>> <br> [[No, that's definitely enough now.->Boobella: Sex: Stop]] <</if>> <</if>>
Boo laughs. "Such a slave to my pussy."<br> <br> She pouts her lips and exhales fragrant pink clouds into your face. You feel comfortable, pleasantly fuzzy, and also really horny. Your cock stays hard inside her as Boo sits back up. You're treated to the gorgeous view of her tits and face as she straddles you.<br> <br> "I don't think you have any resistance left," she says. "Just lie back and let my pussy slowly drain you."<br> <br> A pink sigil flares on her flat belly, just above her sex. It looks like stylised heart tattoo, but picked out in glowing pink light. Her vagina warms up around your cock. That heat transmits to you, and as the temperature increases, so does your arousal. You also feel a pleasant trickling sensation at the end of your cock, as if you're already leaking into her.<br> <br> "Ah yes, my vagina is draining you," Boo sighs. "It's drawing out your strength and energy."<br> <br> You feel fine with this. It feels rather pleasant.<br> <br> [[Continue.->Boobella: Sex 5: Pop]]
"You're helpless to stop it," Boo says. "My pussy is going to drain all the life from you and you won't lift a finger to stop it. Because I can give you big fat orgasms, just like this one."<br> <br> The sigil flares. Her muscular vaginal walls pulse around you. The plump inner lips suck on the tip of your cock.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> And yet, despite the incredible stimulation, you're unable to come.<br> <br> Boo laughs. "Oh dear, it looks like my lovely pussy has already drained all the cum out of you. No matter, this will feel just as pleasant."<br> <br> [[Uh oh.->Boobella: Sex Bad End 1]] <<else>> You reach climax and come. After four previous ejaculations, the fifth is less explosive and more like a long comfortable stream flowing out of you. It feels like part of your strength is flowing out with it. You're too soaked in bliss to mind.<br> <br> /* Black Rose */ <<if $cgi eq 0>> <<include [[Boobella: Black Rose]]>> <<else>> "Yes," Boo hisses. "Let it all flow out."<br> <br> A bell rings. The clear chimes reverberate through the room.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[5][1] to true>> [[Saved by the bell?->Boobella: Saved By Bell]] <</if>> <</if>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> "Normally, I would clear my enchantments and let you truly see your fate. It's far more entertaining that way," Boo says. "But the traditions of the House must be observed. So, lie back in a haze of bliss."<br> <br> She exhales and envelops your face in scented pink fumes. You sink into a cocoon of purest bliss. Boo presses her lips against yours and kisses you slow and sensually. Her vagina gently continues its milking of you. You don't feel anything but purest pleasure as Boo slowly draws out your life and you fade into blackness.<br> <br> <<include [[Boobella: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Boo looks around with an angry hiss. Flames burn briefly in her eyes. She flexes her midriff and her vagina tightens around your erection. It feels like she's tensing up for one last big suck.<br> <br> The bell rings again. Louder and more insistent.<br> <br> Boo gives another angry hiss. She mutters something foul but thankfully unintelligible under her breath. She pauses astride you, vagina tensed for one final, soul-shattering suck, and then thinks better of it.<br> <br> Her pussy relaxes its death grip on your cock. Boo is once again all smiles and sunshine as your fifth ejaculation naturally ebbs to a blissful conclusion.<br> <br> "I'm sorry," she says, "but it would appear our time is up, and $npcMadam.name insists on her girls keeping to the clock."<br> <br> She gets up off you. A few desultory drips ooze up out of your cock and dribble down the shaft. She leans over and blows in your face and it feels like a veil is blown away. Suddenly your thoughts are clear, and with it an uncomfortable awareness.<br> <br> Had she been about to...<br> <br> You try not to dwell on it.<br> <br> "Mmm, I had a lovely time," Boo says. "I hope you did too."<br> <br> She's all sunshine and smiles as she helps you up off the bed. And you need the help. She wasn't joking when she said her pussy would drain you. You feel as weak as a kitten. You feel like you've just done a full workout. That had been one epic fuck.<br> <br> [[Continue.->Boobella: Good End]]
You put your clothes back on. You can't resist sneaking a sidelong peek at Boo. One last look at her wonderful boobs before she covers them up again with her white sweater.<br> <br> "Please come again," she says. "Maybe we can go longer next time."<br> <br> You're not sure you'd survive longer.<br> <br> Boo leans forwards and gives you a full kiss on the lips.<br> <br> Maybe you will go longer. You're even tempted to forget about leaving for the moment and go again, right now.<br> <br> Another part of you, a tiny voice at the back of your head, thinks that would be a very bad idea.<br> <br> It is so tempting, though, you think, as you look at Boo standing there, her white jumper stretching taut to contain her beautifully bountiful bosom. It's with some reluctance you tear yourself away and turn to the exit.<br> <br> <<include [[Boobella: Is Faction Increase]]>> <<include [[Boobella: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
Boo laughs. "Poor wretch. So deeply drowned in my charms you'll do nothing more than sit back and smile while my pussy slowly drains the life from you."<br> <br> Her vagina gives you a little squeeze and you shudder in helpless bliss.<br> <br> /* Black Rose */ <<if $cgi eq 0>> <<include [[Boobella: Black Rose]]>> <<else>> Boo blows on your face and suddenly the fog clears. Suddenly, you realise you're in the arms of a demon. Suddenly, you realise that demon is sucking the life out of you. Your eyes widen in fear.<br> <br> Boo laughs again. "Ah, there you are. I could have left you lost within my charms, but it's so much more fun when they're fully aware of what's happening."<br> <br> Her vagina gives your cock another long rippling suck, drawing more of your life essence from your body.<br> <br> [[Continue.->Boobella: Sex Bad End 3]] <</if>>
You panic and try to push her off you.<br> <br> Boobella laughs and hugs you tightly. Something flares in her pussy and you're surrounded by lewd warmth and tingling pleasure. That trickling sensation, of essence leaking out of you and into Boobella, intensifies.<br> <br> She's draining you, like a vampire. Even that horrifying realisation doesn't give you enough of an adrenaline burst to buck free of Boobella's embrace.<br> <br> "Too late," Boobella gloats. "My pussy already has most of your strength. And now for the rest."<br> <br> Her vagina tightens around your cock and sucks. You were already feeling weak. With these sucks your struggles fade away completely as Boobella's vagina drains the last of your strength.<br> <br> "Ah, no more fight," Boobella says, hugging you tight to her. "Now we can take it nice and slow while my pussy drains out your life. We don't need to rush."<br> <br> And she doesn't. She takes a long, pleasurable time to gradually drain all the life from you. At least it feels pleasant, like one endless aftermath from the best orgasm you've ever experienced.<br> <br> And also your last. Her vagina draws all the energy out of you until you're a lifeless corpse, slowly cooling in her arms.<br> <br> <<include [[Boobella: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* determine if player actions caused faction increase */ /* must be romantic */ <<if not $player.currIsSlutty>> <<set _isGoodGift to $player.roomScores[$currentRound - 1].scoreArray[0][1]>> <<set _had2ndPop to $player.roomScores[$currentRound - 1].scoreArray[4][1]>> /* player will always have had at least 1 pop */ <<if _isGoodGift or _had2ndPop>> <<set $isFactionIncrease to true>> <</if>> <</if>>
/* Check if player has enslaved ailment and is enslaved to harlot pre-req: _hi output: _isEnslaved */ <<set _isEnslaved to false>> <<set _ailment to 0>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<if $allAilments[0].harlot eq _hi>> <<set _isEnslaved to true>> <</if>> <</if>>
/* set _isRepeat, _isEnslaved and _name */ <<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> <<set _hi to $hi>> <<include [[Check if Player is Enslaved]]>> <<if _isEnslaved>> <<set _name to "Mistress">> <<else>> <<set _name to "Mamilla">> <</if>>
/* everything else */ _name takes the $allGifts[$cgi].name from you. Her stern face makes it difficult to read whether your gift pleases or displeases her.<br> <br> "An acceptable tribute," she says. "Barely."<br> <br>
/* chocolates */ You hand over the <<print $allGifts[$cgi].name + ".">> <<print _name + "'s">> face is a fixed, stern mask, but you think you see the faint traces of a smile at the corner of her lips.<br> <br> "Ah, mistress's favourite," she says. "You have done well with your tribute."<br> <br> /* permanent affection change */ <<set _affectionChangeReason to "Mamilla likes gift">> <<set $affectionChange to 1>> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
"Good boobslave. You remembered Mistress's favourite," _name says as you give her the <<print $allGifts[$cgi].name + ".">><br> <br> <<set $affectionChange to +1>> <<set _affectionChangeReason to "Mamilla Likes Gift">> <<include [[Harlot Affection Change]]>> <<set $roomAffection += 1>>
_name takes the <<print $allGifts[$cgi].name + ".">> Her face is still that fixed hard-to-read mask. You think you see the corners of her plump lips turn downward in the faintest of frowns.<br> <br> "Hmm. The boobslave knows Mistress loves chocolates and yet chooses to bring her something else. Perhaps he wishes to be punished harder beneath Mistress's smothering boobs today."<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Mamilla Wrong Gift">> <<include [[Harlot Affection Change]]>> /* also need to modify room affection for this run */ <<set $roomAffection -= 1>>
_name takes the $allGifts[$cgi].name from you and sniffs it.<br> <br> "The boobslave wishes to dedicate himself further. Very well."<br> <br>
<<include [[Suffocatrix Mamilla: Repeat Vars]]>> /* Check if player has previously given chocolates */ /* checking if player has done specific act */ <<set _x to 0>> <<include [[Check if Player Has Done X With Harlot]]>> <<set _hasGivenChocolates to _hasDoneX>> <<if $isTesting>> ''Has given chocolates = _hasGivenChocolates''<br><br> <</if>> <<if $cgi eq 0>> /* Black Rose */ <<include [[Suffocatrix Mamilla: Repeat Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> /* Chocolates */ <<if _hasGivenChocolates>> <<include [[Suffocatrix Mamilla: Repeat Chocolates]]>> <<else>> <<include [[Suffocatrix Mamilla: First Time Chocolates]]>> <</if>> <<else>> /* Anything else */ <<if _hasGivenChocolates>> <<include [[Suffocatrix Mamilla: Repeat Not Chocolates]]>> <<elseif $cgi eq 28>> <<include [[Suffocatrix Mamilla: Gift: Peach]]>> <<else>> <<include [[Suffocatrix Mamilla: Regular Gift]]>> <</if>> <</if>> After accepting your 'tribute', Mamilla has you undress. She smiles at your noticeably erect penis.<br> <br> "So eager for another smother," she laughs. "As to be expected from a lowly boobslave."<br> <br> [[Continue.->Suffocatrix Mamilla: Repeat Smother]]
/* Ass Fetish */ <<set $ailment to { id: 2, name: "Ass Fetish", cureCost: 3 }>>
/* Lip Fetish */ <<set $ailment to { id: 3, name: "Lips Fetish", cureCost: 3 }>>
/* Foot Fetish */ <<set $ailment to { id: 4, name: "Foot Fetish", cureCost: 3 }>>
/* Leg Fetish */ <<set $ailment to { id: 5, name: "Leg Fetish", cureCost: 3 }>>
/* Fatigued */ <<set $ailment to { id: 6, name: "Fatigued", cureCost: 2 }>>
The waitress brings your drink and Anna's glass of what looks like milk.<br> <br> "I can't wait to get you back upstairs," Anna says to you.<br> <br> Her green eyes glimmer.<br> <br> "Most of the men in here are too flimsy. It's great to find one I can play with without worrying about breaking them."<br> <br> You're less sure about that. Your last session with Anna was... bruising. It was also fairly pleasurable.<br> <br> Anna seems to have warmed to you and is chattier this time. She seems quite enthusiastic about being picked again.<br> <br>
<<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> <<if _isRepeat>> <<include [[Anna Boa: Socialising: Repeat Drinking]]>> <<else>> <<include [[Anna Boa: Socialising: First Time Drinking]]>> <</if>> <<include [[Socialising: End]]>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Anna Boa: First-Time Scenario]]>> <<else>> <<include [[Anna Boa: Repeat Scenario]]>> <</if>>
/* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You return to Anna Boa's desert room. As before, you note the lack of furniture and the layer of soft sand covering the floor. <<if $player.hasVision>> She wastes no time in rushing up to greet you. <<else>> <br><br> Anna is back in her snake form, although you suspect it is illusion rather than shapeshifting that hides her serpentine lower half. She wastes no time in rushing up to greet you. <</if>><br> <br> [[You give her your gift.->Anna Boa: Repeat Gift]]
<<if $cgi eq 0>> You give her the $allGifts[$cgi].name. Anna seems a little sad to accept it.<br> <br> "One last wrestle then," she says.<br> <br> She smiles brightly at you and green eyes briefly flash purple.<br> <br> "I'll squeeze you until you pop with delight," she says.<br> <br> Then she's all over you with her hands in her desire to help you undress. <<else>> Anna shows no interest in your gift. It's you she wants. Her hands are all over you in her desire to help you undress. <</if>> <br> <br> [[Continue.->Anna Boa: Repeat Wrestling 1]]
Even though you know what to expect, you're still taken off guard by Anna's speed and suddenness. In a matter of moments she has you dumped on your back in the centre of the ring and is all over you.<br> <br> "I love being able to go all out," she says.<br> <br> Despite your best efforts, she's able to loop a couple of serpentine coils around your chest. She gives a loud cry of effort as she pulls the coils tight and exerts bone-crushing force around your chest. It's like being caught in a vice. /* fatigue check */ <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment or $player.currStr lt 5>> <<include [[Anna Boa: Repeat Horror End]]>> <<else>> <<include [[Anna Boa: Repeat Wrestling 2]]>> <</if>>
It's too much for you in your current state. You can't breathe. The pressure is too much. It feels like your ribs are about to collapse.<br> <br> Frantically, you try to tap out – on the floor, on her scaly coils.<br> <br> Anna ignores you.<br> <br> "Yessss!" she hisses triumphantly as she flexes her tail further.<br> <br> Her cries escalate to an almost orgasmic pitch as she squeezes hard enough to crush your ribs like an egg. Splintered bone shards are driven into the soft tissue of your lungs, shredding them.<br> <br> Anna pauses with a confused expression.<br> <br> "What? But you were strong enough before."<br> <br> That she didn't mean to do this is little consolation as you cough and gurgle and drown in your own blood.<br> <br> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
You can barely draw breath.<br> <br> "Yessss!" Anna hisses triumphantly as she flexes her tail and exerts massive pressure on your chest.<br> <br> Now you can't breathe. Your face flushes red with the blood forced into it. You fall back on the sand and your struggles weaken as Anna squeezes the resistance out of you.<br> <br> This time she doesn't squeeze you to unconsciousness. She relaxes her coils and leaves you to pant for breath on the sand.<br> <br> "Get up," she says, a fiery smile on her face. "We're not fucking yet. I want a proper sparring match first."<br> <br> [[Continue.->Anna Boa: Sparring]]
And a proper sparring match is what happens. Wrestling Anna is unorthodox. You have no idea how to manage her tail. In contrast, Anna is much practised at using it on regular humans and gleefully demonstrates on you all the various holds and pins she knows.<br> <br> "I love a good sparring match," Anna says.<br> <br> It's not completely one-sided. You're not a wimp. You get in a few good moves of your own. Anna likes that. She clearly prefers an even fight rather than dominating submissives.<br> <br> She's not above resorting to dirty tricks, though. You find this out as you get behind her and are about to get a submission with a rear naked choke hold. She slithers her tail up your leg, forces the tip into your bum and gives it a wriggle. The surprise causes you to loosen your hold and Anna is able to wriggle away.<br> <br> She turns back to you with her green eyes shining and a feral grin on her face.<br> <br> "This is getting me really turned on," she says. "How about we drop the clean stuff and get a little //dirty?//"<br> <br> [[Things are going to get a little 'dirty'.->Anna Boa: Dirty Wrestling]]
//Dirty// in this case means she starts fondling your genitals, tweaking your nipples, licking you, and even sticking a finger up your bum. You feel it's only fair to respond in kind, and take the opportunity to squeeze her breasts and grope her pussy. It leaves both of you sweaty and very aroused.<br> <br> Anna pins you to the floor with her big boobs squashed over your face. She humps her abdomen against you and your erection bounces against her underside like a spring.<br> <br> "That's enough foreplay," Anna says. "I'm so horny right now I can barely think straight."<br> <br> She squashes your erection flat against your body and wriggles from side to side.<br> <br> "And I can see you are too."<br> <br> She pulls you up and impales herself on your erection. She wraps her muscular tail around you and squeezes you against her crotch. You sink into her right to the root and feel her warm pussy all around your cock.<br> <br> "I hope you've got a lot of juice in those balls," Anna says. "Because I'm going to squeeze a big load out of them."<br> <br> [[She squeezes...->Anna Boa: Repeat Sex]]
She tightens her coils, squeezing the both of you together. As before, you feel rubbery flanges within her pussy start stroking against your shaft. Anna is in no mood to drag it out this time.<br> <br> "Yes," she sighs.<br> <br> A purple glow lights up between her scales. Her pussy contracts and squeezes your cock. Her coils squeeze tighter. You're gripped by an intangible force that concentrates in your loins. An irresistible urge to come rises in you, as if you're being squeezed like a tube of toothpaste.<br> <br> /* semen check */ <<set $semenChange to -3>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> /* black rose takes precedence */ <<if $cgi eq 0>> "And now to finish off with a splendid soul squeeze," Anna says. "You chose well. It's the ultimate pleasure."<br> <br> [[Her eyes flash purple.->Anna Boa: Soul Squeeze]] <<elseif $isOutOfSemen>> Anna squeezes and squeezes. You resist the urge to come, or maybe you don't have anything left. Anna sees it as a challenge. The purple glow between her scales intensifies and she squeezes you harder, only it feels like you're being squeezed //spiritually// as well as physically.<br> <br> "Oh no," Anna says. "I pushed too hard. I've gone into soul squeeze."<br> <br> Her eyes flare purple.<br> <br> "Never mind. There's no need to panic. You'll feel only bliss."<br> <br> [[Her scales start glowing.->Anna Boa: Soul Squeeze]] <<else>> You can't withstand the squeezing pressure any longer. It builds and builds until something has to give. Then, like a dam bursting, you're gripped by a massive climax. You spurt a massive load into Anna's stroking pussy. Or rather, Anna squeezes a massive load out of you. It's a great blast, and a long one, stretched out by the pulsing, stroking motion of Anna's vagina. Her pussy strokes, and squeezes, and cajoles, until finally the flood subsides. You collapse in Anna's coils, utterly drained.<br> <br> [[Continue.->Anna Boa: Repeat Good End]] <</if>>
She uncoils her serpentine body and lies next to you on the sand.<br> <br> "Now that was a good fuck," she says.<br> <br> She playfully tickles your cheek with her forked tongue.<br> <br> "It was so good, I nearly lost control and soul squeezed you," she says. "And that would be a shame. Good sparring partners are hard to find."<br> <br> After a pause to let you get your breath back, she helps you back to your feet. You feel like you've been properly worked over and will likely ache for weeks.<br> <br> Anna sighs and gives a good stretch.<br> <br> "We should definitely do that again," she says. "After you've sufficiently recovered."<br> <br> She laughs as she takes in the battered state of you.<br> <br> "The nurse has a good range of medicinal tonics. Speak to her and she'll have you feeling as good as new in no time at all."<br> <br> Her smile turns feral.<br> <br> "And then I can squeeze you again."<br> <br> She fusses over you as you put your clothes back on.<br> <br> /* this is where to add harlot gossip later */ "Be careful in here," she says. "Some of the girls are really dangerous. I hate losing good sparring partners."<br> <br> She gives you a playful punch on the shoulder that still has enough force to rock you.<br> <br> Then, aching but with your desires temporarily satiated, you turn to leave.<br> <br> /* player gets the fatigued ailment from their exertions */ <<set _ailment to 6>> <<include [[Add Player Hidden Ailment]]>> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[8][1] to true>> /* checked faction increase - can increase twice with Anna Boa */ <<include [[Default Harlot: Faction Increase]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<unset $okAffectionThreshold>> <<unset $goodAffectionThreshold>>
As before, she takes you to a large leather chair at the back of the room and straps you in. With you immobilized, she straddles you and again makes a point of running her hands over her slinky-latex-clad curves.<br> <br> <<if $player.charms.includes(22)>> "Mmm, I'd like to see what you're really made of. No outside help this time."<br> <br> She taps you on the shoulder and you feel a strange numb sensation on your back where $npcCharm.name put her charm.<br> <br> <</if>> /* check for boob fetish or enslaved */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment or $isEnslaved or $cgi eq 0>> <<include [[Suffocatrix Mamilla: Enslavement Smother 1]]>> <<else>> <<include [[Suffocatrix Mamilla: Fetish-Causing Smother 1]]>> <</if>>
"Like a moth to a flame," she says as she squeezes her lovely boobs together.<br> <br> You can't look at anything else. Slowly, teasingly, $name pulls her zipper down, revealing more and more, until her gorgeous tits pop free. Her pink nipples stand up proud and erect.<br> <br> "What will they be this time – an instrument of pleasure... or your destruction?"<br> <br> She lets her chest sway and leans closer and closer. The pink hemispheres of her tits fill your vision and excitement trembles through you.<br> <br> "Here they come," $name says.<br> <br> [[Continue.->Suffocatrix Mamilla: Enslavement Smother 2]]
"Now that you're nicely strapped in, I think there's something we should discuss."<br> <br> Mamilla lies on top of you with her big boobs pressed against your chest.<br> <br> "Most come back to me as obedient little boobslaves, but with you I'm not so sure. You seem insufficiently fixated on my lovely boobs. I think you're one of those strong-willed types."<br> <br> She caresses the side of your face with a latex-gloved hand.<br> <br> /* affection check */ <<include [[Suffocatrix Mamilla: Calculate Room Affection]]>> /* derive _isFatalSmother from player.const and affection */ <<set _value to $roomAffection + $player.currConst>> <<if $isTesting>> ''IsFatalSmother value = <<print _value>>''<br><br> <</if>> /* a value less than 5 is fatal */ <<if _value gt 4>> "Now, some succubi might get petty and kill you for your defiance. Me, I quite like you. I see this as a challenge."<br> <br> [[A challenge?->Suffocatrix Mamilla: Fetish-Causing Smother 2]] <<else>> "And that will not do."<br> <br> [[Uh oh.->Suffocatrix Mamilla: Fetish-Causing Smother: Bad End]] <</if>>
She leans forwards and presses her tits into your face. You feel again their soft fleshy weight. You marvel again at the feel of her smooth skin against your cheeks. You smell again her lilac-and-lilies perfume.<br> <br> $name skips the teasing this time and gets right to the smothering part. She presses her tits down and you feel their soft pressure pushing your head back into the padded head rest. They cover your nose and mouth completely. $name holds them there for nearly a minute before relenting. You gasp as you try to get air back into your lungs.<br> <br> "Yes, gasp. Gasp, my little boobslave."<br> <br> Her big soft boobs come down again. Her scent – perfume or natural – seems stronger. The air you suck in is tainted with it. You have a long time to savour the aroma as Mamilla shuts out all air with her big tits.<br> <br> "Yes, deeper and deeper," $name breathes. "My boobs are your world. You belong to them now."<br> <br> You're giddy and light-headed when she lifts her bosom. You're also so blissed out you nearly forget to snatch another breath before <<print $name + "'s">> big boobs come back down again.<br> <br> [[Continue.->Suffocatrix Mamilla: Enslavement Smother 3]]
"Look how hard you are," $name says.<br> <br> She reaches behind her and gives your erect cock a little stroke. As she lifts her chest, you get another opportunity to breathe.<br> <br> "I bet you'd love to just spunk out a big load right now," $name says.<br> <br> <<if $isEnslaved>> You would, but you know proper devotions must be observed first. You lie passively as Mistress squeezes her boobs against your face. You don't even struggle even when it feels like your air has run out.<br> <br> "Better," Mistress says. "You're taking to your training well."<br> <br> Your cock is sucked up into her fleshy tailpussy.<br> <br> "And now, your reward."<br> <br> She gives you a breath at the same time as her tailpussy starts pumping you with regular muscular pulses. You shudder in delight. <<else>> You feel warm wet flesh press around your swollen glans. It could be a mouth or a vagina, but from past experience you know it's Mamilla's tail. Your cock twitches in excited anticipation.<br> <br> "Not yet," Mamilla says. "Proper devotions must be observed first."<br> <br> Her tail leaves your cock and it twitches in frustration at the lack of stimulation. Mamilla lies back down and covers your mouth and nose with her boobs and keeps them there while your air runs out. Reflexively, you squirm and twist your head in a vain attempt to find precious oxygen.<br> <br> "Ah ah," Mamilla says. "No struggling. You breathe when my boobs let you breathe."<br> <br> She lifts them long enough for you to snatch a quick breath. It is only a quick breath. Her boobs come down and you're again smothered in marshmallow heaven.<br> <br> "You've been a good little boobslave," Mamilla says. "Time to reward you with some pleasure."<br> <br> Your hard cock is sucked up into her fleshy tailpussy. The warm walls undulate around your penis, pumping you with regular muscular pulses. It feels so good you gasp out the last of your air into Mamilla's cleavage.<br> <br> She laughs as if she was expecting it and lifts her boobs. <</if>> <br> <br> "Take a deep breath," she says. "It might be your last."<br> <br> [[Take a deep breath.->Suffocatrix Mamilla: Enslavement Pop]]
She doesn't really give you time to take a deep breath. Her tits are back down and she lets the weight of her chest push your head back into the padded rest of the chair. Her tail starts pumping your cock with greater force. You squirm beneath her, both from the pleasure and the lack of air. Black stars dance across your eyes.<br> <br> "I get the biggest spunks right when they're on the verge of losing consciousness," $name says.<br> <br> <<if $isEnslaved>> You shudder in delightful anticipation of the orgasm you know is coming. <<else>> Mercilessly, she holds her boobs in place, even though your lungs are empty. <</if>> Her tail continues to work your throbbing cock with wet tugs. Then, just as you're about to pass out, her tail bunches up and gives you a long, drawn out suck. Your cock throbs and you tremble in delight as you unload a massive ejaculation into <<print $name + "'s">> sucking tailpussy. The pleasure is like a bright shooting star blazing across the deepening blackness as all your thoughts collapse into darkness.<br> <br> /* semen check */ <<set $semenChange to -3>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> /* If player is Enslaved, black rose will skip semen check */ /* If player is not enslaved, they will get alt Bad End (this stops shortcutting quest line) */ <<if $isEnslaved>> <<if $isOutOfSemen>> <<if $cgi eq 0>> /* black rose overrides */ <<include [[Suffocatrix Mamilla: Wake Up: Enslaved]]>> <<else>> <<include [[Suffocatrix Mamilla: Enslavement: Out of Semen End]]>> <</if>> <<else>> <<include [[Suffocatrix Mamilla: Wake Up: Enslaved]]>> <</if>> <<else>> <<if $isOutOfSemen>> <<if $cgi eq 0>> /* black rose gives special ending */ <<include [[Suffocatrix Mamilla: Repeat: Black Rose]]>> <<else>> <<include [[Suffocatrix Mamilla: Enslavement: Out of Semen End]]>> <</if>> <<else>> <<include [[Suffocatrix Mamilla: Wake Up: Boob Fetish]]>> <</if>> <</if>>
Sadly, whatever you gave Mamilla, it wasn't enough. Disappointed in you, she keeps her smothering bosom pressed firmly over your face.<br> <br> You don't wake up.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You don't know where you are. The curves of the walls and ceiling look organic, but everywhere is covered in glossy black latex. The walls slowly move in and out. You feel a faint breeze and hear a low background sigh, as if somewhere a giant is wheezing for breath. The room feels still and peaceful.<br> <br> You can't move. You're lying on a large round cushion, or should that be //in// a large round cushion. Sheets of black rubber are stretched across your body, covering all but your face and genitals.<br> <br> You don't want to move. The cushion feels soft and supremely comfortable.<br> <br> "Ah, you're awake."<br> <br> You turn and see Mistress standing next to the bed.<br> <br> Mistress is fully naked. You marvel at her smooth pale skin and her voluptuous body, before your gaze again slides inexorably to her lovely round breasts.<br> <br> "We are no longer in the House," Mistress says. "Those of us who've given $npcMadam.name many years of service are given certain special dispensations."<br> <br> She trails a hand over the rubber sheet covering your body.<br> <br> "This is the Sanctum of Strangulated Sighs. Some would say it is in hell, but for you it will be heaven. I've claimed you as my boobslave and brought you back here to be smothered and fucked for the rest of your days."<br> <br> [[Continue.->Suffocatrix Mamilla: Enslavement End 2]]
You start to profusely apologise to Mistress for your weakness, but she cuts you off.<br> <br> "You don't have to apologise," she says. "I'd feel I wasn't fulfilling my duties properly if the boobslave didn't pass out."<br> <br> She helps you down from the chair. While putting your clothes back on you can't help but stare at the little 'v' of cleavage exposed by Mistress's latex bodysuit.<br> <br> Mistress spots you looking and squeezes her boobs together.<br> <br> "Mmm, you're definitely my little boobslave now. Another session and I think I'll make you mine for good," she says.<br> <br> Your thoughts are fuzzy and filled with excitement as you leave. You can't wait to pick Mistress again and feel her lovely soft boobs against your face.<br> <br> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> /* faction increase - this one is checked */ <<include [[Default Harlot: Faction Increase]]>> /* player gets enslavement ailment */ <<set _ailment to 0>> <<set $allAilments[0].harlot to $hi>> <<include [[Add Player Hidden Ailment]]>> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
She shifts her body up until her ample bosom is resting over your face. At the same time, the warm orifice at the end of her tail opens up and swallows up your erection. It starts stimulating you with slow, muscular pulses.<br> <br> "In the right hands, the correct application of pleasure can break a man just as easily as pain."<br> <br> She places her hands against the sides of her boobs. She squeezes and plumps them against your face like soft fleshy pillows. What little breaths you're able to take are tainted by her arousing fragrance. Her tail, feeling like a tight wet pussy, continues to throb around and squeeze your cock.<br> <br> "Mmm, I do adore breaking in a strong-willed man," Mamilla says.<br> <br> <<set $preSemenCount to $player.semenCount>> <<set $semenChange to -3>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Suffocatrix Mamilla: Fetish-Causing Smother: Out of Semen End]]>> <<else>> <<include [[Suffocatrix Mamilla: Fetish-Causing Smother: Pop]]>> <</if>>
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Mamilla moves suddenly. Her arms wrap around the back of your head and gather you up into her ample bosom. Her tail strikes and swallows up your erect cock. She starts pumping you hard with fast tugs.<br> <br> Fearing the worst, you thrash and twist and try to free your head of Mamilla's smothering tits. She tips her head back and sighs in delight. She holds your face firmly pressed into her soft cleavage. There's no air there.<br> <br> It doesn't take long for her tail to jerk you off to orgasm. Weakened by the aftermath of orgasm and declining oxygen, your struggles fade. Moaning orgasmically, Mamilla keeps your face wedged between her big tits. Her tail sucks another ejaculation out of you. And then a third right before you pass out.<br> <br> Her tail continues to suck more out of you, but by that point you've lost consciousness and the pleasures are nothing more than blissful sparks as you sink into darkness.<br> <br> You don't wake up.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
<<if $preSemenCount eq 0>> Despite all of Mamilla's expert attentions, she's unable to make you come. This is less a failure on her part and more a result of your sexual escapades with the other succubi in the House. They've utterly drained you and you have nothing left. <<else>> Mamilla gets <<if $preSemenCount eq 1>>one pop<<else>>two pops<</if>> out of you before you run out and can't come anymore no matter how skilfully her tailpussy stimulates your cock. <</if>> <br> <br> Mamilla lifts up her chest and stares down disapprovingly at you while you gasp and splutter for air.<br> <br> "I thought you were worth the effort. I was wrong."<br> <br> She flops her tits back down over your face and lies there until you stop breathing.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Mamilla waits right until you're on the verge of passing out. Then she squeezes you to orgasm at the same time as lifting her boobs high enough for your oxygen-starved lungs to pull in a breath.<br> <br> Twin blasts of relief hit you as you empty your balls into her squeezing tailpussy and get a rush of life-giving oxygen at the same time.<br> <br> She repeats it two more times until your thoughts are a scrambled, lightheaded mush of bliss.<br> <br> She knows she has you when she lifts her boobs after the third orgasm and is greeted with an expression of profound disappointment at having the soft, fleshy pillows taken away.<br> <br> "Much better," she says. She sits back up. "Now you're my boobslave."<br> <br> [[Continue.->Suffocatrix Mamilla: Repeat End: Gets Boob Fetish]]
She gets down from the chair and unstraps your wrists.<br> <br> Shakily you get out of the chair. You know it's time to put your clothes back on, but for the moment you can't do anything but stare at Mamilla's exposed tits. Their fascination is too strong for you to pull away. You're like a deer caught between headlights.<br> <br> Mamilla laughs and zips up her latex catsuit, finally breaking the unearthly hold her boobs have over you. Only then, blinking, are you able to move.<br> <br> "You can put your clothes back on, boobslave."<br> <br> Your lips mutter a "Yes, mistress" of their own accord.<br> <br> "Very good," Mamilla says. "You might make a good boobslave after all."<br> <br> You leave, but only because she orders you to.<br> <br> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> /* faction increase - this one is checked */ /* no faction increase */ /* Player given boob fetish ailment regardless of will*/ <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
/* ending variants */ <<if $hasBoobFetish>> <<include [[Suffocatrix Mamilla: After Smother: Boob Fix]]>> <<elseif $player.currWill gt 4>> <<include [[Suffocatrix Mamilla: After Smother: High Will]]>> <<else>> <<include [[Suffocatrix Mamilla: After Smother: Regular]]>> <</if>>
She looks at your adoring gaze.<br> <br> "Maybe one that's a little too eager," she laughs.<br> <br> That was beyond anything you've ever experienced. You'd give anything to have Mistress smother you again. You'd even happily suffocate for her, should she deem it so. Anything to have those silky-smooth boobs pressed against your face again.<br> <br> [[Continue.->Suffocatrix Mamilla: Good End][$isRegularEnd to true]]
Even after coming so close to suffocating to death, you have to concede that was a rather enjoyable experience. One you wouldn't mind repeating.<br> <br> [[Continue.->Suffocatrix Mamilla: Good End][$isRegularEnd to false]]
Even after coming so close to suffocating to death, you still feel disappointment at not having Mamilla's wondrous breasts pressed on either side of your face. You fear you'd do anything she asked just to feel the silky-smooth skin of her boobs against your cheeks.<br> <br> [[Continue.->Suffocatrix Mamilla: Good End][$isRegularEnd to true]]
/* no ailments */ You shake your head to try and clear it before resuming getting dressed.<br> <br> Mamilla watches your struggles with some amusement before finally zipping up her latex catsuit. You still find it difficult to look away from the glossy bulge of her chest.<br> <br> "As much as I'd like to break you in further, I have to follow the rules of the House. So, off you go, to be another succubus's catch."<br> <br> You're still shaking your head in an attempt to clear it as you leave.<br> <br>
/* combined */ Their fascination is too strong for you to pull away. You're like a deer caught between headlights.<br> <br> <<if $hasBoobFetish>>Mistress<<else>>Mamilla<</if>> laughs and zips up her latex catsuit, finally breaking the unearthly hold her boobs have over you. Only then, blinking, are you able to move.<br> <br> "You can put your clothes back on, boobslave."<br> <br> Your lips mutter a "Yes, mistress" of their own accord.<br> <br> <<if $hasBoobFetish>> <<include [[Suffocatrix Mamilla: Gets Enslaved]]>> <<else>> <<include [[Suffocatrix Mamilla: Gets Boob Fetish]]>> <</if>>
"So eager, a perfect little boobslave," Mistress says. "Another session and I think I'll make you mine for good," she says.<br> <br> Your thoughts are fuzzy and filled with excitement as you leave. You can't wait to pick Mistress again and feel her lovely soft boobs against your face.<br> <br> /* Player now has the Enslaved ailment */ <<set _ailment to 0>> <<set $allAilments[0].harlot to $hi>> <<include [[Add Player Hidden Ailment]]>>
"I could have such fun with you," she says. "But rules are rules," she tsks. "So back into the House you go, to be another succubus's catch."<br> <br> You leave, but only because she orders you to.<br> <br> /* player now has Boob Fixation ailment */ <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>>
You wake up and realise you're not in Mistress's room.<br> <br> [[Where are you?->Suffocatrix Mamilla: Enslavement End 1]]
<<set $semenChange to $player.semenCount * -1>> <<include [[Unchecked Semen Change]]>> Your head is filled with erotic dreams. Your unconscious body jerks as you ejaculate again and again into Mamilla's tail. Then, those dreams slowly collapse into kaleidoscopes of white static as your oxygen-starved brain cells die out, one by one.<br> <br> You don't wake up.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You wake up to Mistress lightly slapping the side of your face. You must have passed out. Mistress seems more amused than concerned.<br> <br> [[Continue.->Suffocatrix Mamilla: Repeat End: Gets Enslaved]]
Mistress gets on top and straddles your upper thighs.<br> <br> "Mmm. I can see you wondering, if Mistress fucks you, who will bury your face in lovely tits. I have help. Sacculyxiata." She snaps her fingers.<br> <br> Behind your head a busty feminine figure rises up out of the black latex. Extremely busty. As she rises, her boobs swell out as if inflated like balloons. Every part of her is covered in glossy black latex, even her face. Her expression is unreadable as she rises up and leans over your head. You don't know if she's alive or some kind of automaton. Then she drops her massive tits on your face and you don't care.<br> <br> At the same time, Mistress sinks down on your hard cock and you're drawn into her luscious tight pussy. She rides you while Sacculyxiata bounces her soft tits in your face.<br> <br> The gaps where you can draw breath become longer and longer as Mistress rides you harder and faster. Until, Sacculyxiata presses down and holds them there until you run out of air and gradually lose consciousness. Again, Mistress times it perfectly and rides you to explosive climax right at the point you black out. You experience it as a magnificent flare bursting through darkness.<br> <br> Mistress slaps you awake and repeats the whole thing. She does it over and over, until your balls are completely drained. Then she leaves you to recover. A tube is placed in your mouth, through which you suck delicious sweet nutrients. Every few days Mistress returns to smother you and empty your balls again.<br> <br> This is your life now.<br> <br> You are Mistress's boobslave and will live out the rest of your days in smothered bliss.<br> <br> <<include [[Suffocatrix Mamilla: Scenario Clean-Up]]>> ''YOU'VE ESCAPED THE HOUSE! (SORT OF)''<br> <br> [[Game Over.->Game Over]]
<<if _isRepeatVisit>> /* Text Here */ "You went back to see Anna Boa!" <<print $npcMoney.name + "'s">> whiskers twitch violently. "You're a braver man than I!" /* always end in line breaks */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Intro]]>> <</if>>
<<if _isRepeatVisit>> "My word. Just hearing your report gives me palpitations! You and I are clearly cut from a different cloth. She once offered to, how did she put it, 'squeeze' me into shape."<br> <br> $npcMoney.name shudders.<br> <br> "I declined." <<else>> "Pure physical strength appears to be what Anna Boa values in a <<if _scoreArray[7][1] and not _osa[7][2]>>man. You, with your impressive physique and attitude appear to be a perfect match for her."<<else>>man."<</if>><br> <br> $npcMoney.name gives a sad sigh.<br> <br> "My life has been one of numbers rather than physical exercise. I fear my time in Anna's coils would be far less pleasant." <</if>>
<<if _scoreArray[2][1]>> /* must start with linebreaks if wish to start on new line */ <br> <br> "Yes, her... harrumph... mammary glands are rather splendid." /* must end with linebreaks if wish feedback to start on new line */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
<<if _scoreArray[5][1]>> "Goodness, if that bell hadn't sounded when it did..."<br> <br> $npcMoney.name nibbles on the end of his pen.<br> <br> "I'd heard rumours our charming Boobella has a rather cruel side to her personality." <<else>> "As much as I'd like to hear what happens should a gentleman choose to go further, it was probably prudent for you to call a halt when you did." <</if>> /* do not end with linebreaks */
/* check if is now repeatable */ ''IsRepeatable = <<print $allHarlots[$hi].isRepeatable>>''<br> <br> /* <<set $player.semenCount to 3>> */ /* <<set $player.money to 0>> */ <<set $player.currStr to 5>> /* <<set $player.currDex to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ <<set $player.currIsSubmissive to true>> <<set $player.currIsCautious to true>> <<set $player.currIsSerious to true>> <<set $player.currIsSlutty to true>> /* <<set _ailment to 6>> */ /* <<include [[Add Player Hidden Ailment]]>> */ /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> /* <<set $cgi to 0>> */
/* <<set $player.semenCount to 10>> */ /* <<set $player.money to 0>> */ /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currConst to 1>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ /* <<set _ailment to 6>> */ /* <<include [[Add Player Hidden Ailment]]>> */ /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 0>>
<<set $npcNurse to { name: "Nurse Honey", harlotId: 100, isAvailable: true, isUnavailable: false, hasBeenIntroduced: false, hasBeenVisited: false, hasBeenAskedForSex: false, hasGivenEnergyTonic: false, tonicCost: 4, tonicRecovery: 3, diagnosisCost: 1 }>>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Create New Player: Default]]>> <<set $player.money to 100>> <<set $player.charms.push(18)>> <<set $player.charms.push(2)>> <<set _charmId to 2>> <<include [[Apply Charm Effect]]>> <<set $player.semenCount to 0>> <<set _ailment to 0>> <<set $allAilments[0].harlot to 10>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>> <<include [[Add Player Known Ailment]]>> <<for _ailment to 2; _ailment lt 11; _ailment++>> <<include [[Add Player Hidden Ailment]]>> <</for>> <<set $clubActivityUnits to 4>> <<set $npcNurse.isUnavailable to false>> <<set $npcNurse.hasBeenAskedForSex to false>> <<include [[NPC Nurse: Print]]>> <<include [[NPC Nurse: Determine Availability]]>> <br> [[Begin tests...->NPC Nurse: Look For]]
--NPC NURSE-------------------------------------<br> ''name'' = <<print $npcNurse.name>><br> ''harlotId'' = <<print $npcNurse.harlotId>><br> <br> ''hasBeenIntroduced'' = <<print $npcNurse.hasBeenIntroduced>><br> ''hasBeenVisited'' = <<print $npcNurse.hasBeenVisited>><br> <br> ''isAvailable'' = <<print $npcNurse.isAvailable>><br> ''isUnavailable'' = <<print $npcNurse.isUnavailable>><br> <br> ''hasBeenAskedForSex'' = <<print $npcNurse.hasBeenAskedForSex>><br> ''hasGivenEnergyTonic'' = <<print $npcNurse.hasGivenEnergyTonic>><br> <br> ''tonicCost'' = <<print $npcNurse.tonicCost>><br> ''tonicRecovery'' = <<print $npcNurse.tonicRecovery>><br> ''diagnosisCost'' = <<print $npcNurse.diagnosisCost>><br> ----------------------------------------------------<br> <br>
<<include [[NPC Gossip: Pay Action]]>> "The House has always had a nurse to look after patrons. If you haven't already realised, a session with one of the House's girls can be quite... draining. The nurse's main function is to serve up special tonics to replenish a patron's energy... so he can be drained again."<br> <br> $npcGossip.name cackles.<br> <br> "The game wouldn't be fun if the players wore out too quickly, and our dear Madam does like the game to be fun."<br> <br> She sips her cocktail.<br> <br> "The nurse also has the regular role of keeping patrons healthy. While the girls in here are immune to your regular human STDs, there are various other... exotic... ailments they can pass on to you."<br> <br> $npcGossip.name pauses.<br> <br> "The old nurse was a bit of a cow, literally. Then one day she just vanished. Poof. Gone. Just like that. And then $npcNurse.name was here in her place."<br> <br> She takes a thoughtful puff on her cigarette.<br> <br> "She's an old one. Very old. Very wily. Maybe very powerful as well. Certainly more powerful than she pretends. Our dear Madam would never admit, but I don't think she hired her and I don't think she likes her being around."<br> <br> $npcGossip.name exhales a cloud of perfumed smoke.<br> <br> "Be very careful of your dealings with $npcNurse.name. All debts must be paid."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
<<if $npcNurse.isAvailable eq true>> <<if $npcNurse.hasBeenVisited>> <<include [[NPC Nurse: Visit]]>> <<else>> <<include [[NPC Nurse: Visit: First]]>> <</if>> <<else>> <<include [[NPC Nurse: Unavailable]]>> <</if>>
The door to <<print $npcNurse.name + "'s">> office is closed and locked. $npcNurse.name appears to be unavailable at the moment. Maybe she's with another patient or fulfilling her other... role... within the House. Either way, you'll have to come back later.<br> <br> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Nurse: Repeat]] <<else>> [[You go back to your place at the bar.->Club Activities: Hub]]<br> //This did not cost an Action.// <</if>>
<<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Nurse: Time Up]]>> <<else>> <<include [[NPC Nurse: Energy Tonic Option]]>> <<include [[NPC Nurse: Diagnosis Option]]>> <<include [[NPC Nurse: Cure Option]]>> <<include [[NPC Nurse: Enquire Sex Option]]>> [[You're good for now.->NPC Nurse: Leave]] <</if>>
You return to <<print $npcNurse.name + "'s">> office. Again you marvel at how her glossy white latex nurse's outfit clings to her gorgeous curves.<br> <br> "Hello again, what treatment would you like?"<br> <br> <<include [[NPC Nurse: Hub Options]]>>
/* Nurse is always available if she hasn't yet been introduced for the first time */ <<if $npcNurse.hasBeenIntroduced eq false>> <<set $npcNurse.isAvailable to true>> <<if $isTesting eq true>> ''$npcNurse.name is available because she hasn't been introduced yet.''<br> <</if>> /* Check if Gossip has been made unavailable because of one of the events. */ <<elseif $npcNurse.isUnavailable eq true>> <<set $npcNurse.isAvailable to false>> <<set $npcNurse.isUnavailable to false>> <<if $isTesting eq true>> ''$npcNurse.name is unavailable because of an event.''<br> <</if>> /* follow the usual procedure for determining availability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcNurse.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcNurse.name is <<if $npcNurse.isAvailable eq false>>un<</if>>available because of availability roll.''<br> <</if>> <</if>>
Following <<print $npcBarman.name + "'s">> directions, you enter a small corridor leading off from the bar. The hallway continues past the toilets to a dead end with a door on the left. The door has a glass window with a big red cross on it. You walk through into a small medical office with a nurse... of sorts.<br> <br> She's wearing a nurse's uniform, but one made out of glossy white latex that clings very tightly to her curves... her rather noticeable and eye-popping curves. The nurse has a stunningly voluptuous figure. She wears an old-fashioned nurse's cap with a big red cross on it, also made out of the same glossy white latex. Her long silky blonde hair spills out beneath it. She looks human enough, until you get to her eyes. They are pure white and without pupil or iris.<br> <br> "Hello," she says. "I'm <<print $npcNurse.name + ".">> I'm the medical practitioner of this establishment. Is there anything that ails you?"<br> <br> You pause, slightly unsure of what you can ask for.<br> <br> <<print $npcNurse.name + "'s">> rubber outfit is clearly a sexy, fetishized version of a nurse's uniform. Outside of the House you'd never mistake her for a real medical person, but in the House... who knows. Maybe she is the actual nurse and would get offended if you mixed her up with <<print $npcMadam.name + "'s">> 'working' girls.<br> <br> $npcNurse.name looks you over.<br> <br> <<include [[NPC Nurse: Initial Impression]]>><br> <br> [[You listen as she gives you a full rundown of her services.->NPC Nurse: Services Explanation]]<br>
/* low semen */ <<if $player.semenCount lt 3>> "Oh my, those girls have really had a good suck on you. We'll have to do something about that." /* has an ailment */ <<elseif $player.ailments.length gt 0>> "Hmm, I can see something ails you. Let's see what we can do about that." /* has been slightly drained */ <<elseif $player.semenCount lt 8>> "I see you've already experienced the rather... draining... attentions of the girls in here. Not to worry, I have a range of replenishing tonics that will soon have you bursting with vitality again." /* good health */ <<else>> "Why you appear to be bursting with vitality. I don't think I'm needed yet, but I can give you a quick rundown of the services I offer for later." <</if>>
$npcNurse.name sits back in her chair. You can't help but be turned on by the way the glossy white latex of her outfit clings to her curves.<br> <br> "My second most requested service is for my energy tonics. They replenish the energy lust daemons drain from the body during sexual intercourse and make it possible for you to go longer... and harder... if you know what I mean."<br> <br> You do, indeed, know what she means.<br> <br> "My other role is to treat the various ailments patrons are exposed to within the house. While lust daemons are immune to conventional sexually transmitted diseases, there are other, more exotic, ailments they can pass on. My job is to keep you healthy so you can fully enjoy the pleasures the house has to offer."<br> <br> She smiles at you.<br> <br> "Unfortunately, the house does not offer a public health service. You will need to pay me in <<print $currencyName + "s">> for my treatments. I hope you haven't already spent them behind the bar."<br> <br> <<set $npcNurse.hasBeenVisited to true>> [[Continue.->NPC Nurse: Hub Intro]]
<<set _val to $npcNurse.tonicCost>> <<if _val eq 1>> <<set _coinText to _val + " " + $currencyName>> <<else>> <<set _coinText to _val + " " + $currencyName + "s">> <</if>> <<if $player.money lt _val>> Energy Tonic.<br> //This will cost _coinText and 1 Action. You do not have enough <<print $currencyName + "s">> for this.//<br> <br> <<else>> [[Energy Tonic.->NPC Nurse: Energy Tonic]]<br> //This will cost _coinText and 1 Action.//<br> <br> <</if>>
<<set $player.money -= $npcNurse.tonicCost>> <<include [[NPC: Pay Action]]>> <<if $npcNurse.hasGivenEnergyTonic>> <<include [[NPC Nurse: Energy Tonic: Subsequent]]>> <<else>> <<include [[NPC Nurse: Energy Tonic: First Time]]>> <</if>> /* update player semen count */ <<set $semenChange to $npcNurse.tonicRecovery>> <<include [[Checked Semen Change]]>> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
<<set _val to $npcNurse.diagnosisCost>> <<if _val eq 1>> <<set _coinText to _val + " " + $currencyName>> <<else>> <<set _coinText to _val + " " + $currencyName + "s">> <</if>> <<if $player.money lt _val>> Diagnosis. //This will cost _coinText and 1 Action. You do not have enough <<print $currencyName + "s">> for this.//<br> <br> <<else>> [[Diagnosis.->NPC Nurse: Diagnosis]]<br> //This will cost _coinText and 1 Action.//<br> <br> <</if>>
Cure:<br> <<if $player.knownAilments.length eq 0>> //You have no ailments that you're aware of.//<br> <br> <<else>> //This will cost 1 Action and the associated cost in <<print $currencyName + "s">>.// <table width="100%"> <<for _ai to 0; _ai lt $player.knownAilments.length; _ai++>> <<set _ailment to $player.knownAilments[_ai]>> <<set _val to $allAilments[_ailment].cureCost>> /* Note we don't need to worry about case of player being enslaved to Nurse. She never diagnoses it. */ <<if _ailment eq 0>> <<set _hi to $allAilments[_ailment].harlot>> <<set _ailText to $allAilments[_ailment].name + ": " + $allHarlots[_hi].name>> <<else>> <<set _ailText to $allAilments[_ailment].name>> <</if>> <<if _val eq 1>> <<set _coinText to _val + " " + $currencyName>> <<else>> <<set _coinText to _val + " " + $currencyName + "s">> <</if>> /* Create table row */ <tr> <td> </td> <td style="text-align:left"> <<if $player.money lt _val>> _ailText <<else>> <<capture _ailment>> [[_ailText->NPC Nurse: Cure Ailment][$ailmentToCure to _ailment]] <</capture>> <</if>> </td> <td> </td> <td>..........</td> <td> </td> <td style="text-align:right"> //_coinText// </td> </tr> <</for>> </table> <br> <</if>>
<<if $npcNurse.hasBeenAskedForSex eq false>> [[Enquire if she offers services of a more... sexual nature.->NPC Nurse: Enquire Sex]]<br> //This will cost 1 Action and ????//<br> <br> <</if>>
/* pay action if visited and done nothing */ <<if not $hasUsedActionWithNpc>> <<set $clubActivityUnits -= 1>> <</if>> There's nothing more you want $npcNurse.name to do. You thank her and go to leave.<br> <br> "Come back anytime," she says. "I'll be sure to keep you in perfect health so you can fully enjoy the house's various activities."<br> <br> <<include [[NPC Nurse: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Nurse: Repeat]] <<else>> [[You leave her office and return to your place at the bar.->Club Activities: Hub]] <</if>>
<<set $player.money -= $npcNurse.diagnosisCost>> <<include [[NPC: Pay Action]]>> $npcNurse.name has you lie back on a chair and thoroughly examines you. It's almost a regular medical examination, although $npcNurse.name touches your intimate parts a little more freely than professional decorum would normally allow.<br> <br> Afterwards...<br> <br> <<set _hasAilmentsToDiagnose to true>> <<if $player.ailments.length eq 0>> <<set _hasAilmentsToDiagnose to false>> <<elseif $player.ailments.length eq 1>> <<set _ailment to $player.ailments[0]>> /* nurse doesn't diagnose if she's the mistress */ <<if _ailment eq 0 and $allAilments[0].harlot eq $npcNurse.harlotId>> <<set _hasAilmentsToDiagnose to false>> <</if>> <</if>> <<if _hasAilmentsToDiagnose eq false>> "There's nothing wrong with you. No lingering mental abnormalities, exotic extraplanar plagues or soul-leeching parasites. You're perfectly healthy."<br> <br> That's reassuring. Knowing the other stuff exists and can be caught in here, not so much.<br> <br> <<else>> $npcNurse.name steps back to give you the bad news.<br> <br> "After examining you, you appear to be suffering from:"<br> <br> /* This is fairly straightforward - just push all the ailments into known ailments and then list them. */ /* switch everything to known */ <<for _i to 0; _i lt $player.ailments.length; _i++>> <<set _ailment to $player.ailments[_i]>> <<if _ailment eq 0 and $allAilments[0].harlot eq $npcNurse.harlotId>> /* she misses this one off */ <<else>> <<include [[Add Player Known Ailment]]>> <</if>> <</for>> /* list them */ <<for _i to 0; _i lt $player.knownAilments.length; _i++>> <<set _ailment to $player.ailments[_i]>> <<if _ailment eq 0>> <<set _hi to $allAilments[0].harlot>> ''<<print $allAilments[_ailment].name + ": " + $allHarlots[_hi].name>>'' <br> <<else>> ''<<print $allAilments[_ailment].name>>'' <br> <</if>> <</for>> <br> "I can cure you, but there is a cost," she says.<br> <br> <</if>> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
<<include [[NPC: Pay Action]]>> $npcNurse.name knows exactly what you're asking for. She smiles rather than taking any offence.<br> <br> "Ah, my most requested service."<br> <br> She shifts position in the chair, maximising the already devastating allure of her gorgeous body.<br> <br> "I do, but it can't be requested here. The house has rather fussy rules. If you want to experience my more personal services, you'll have to wait until you get an opportunity to pick me off <<print $npcMadam.name + "'s">> stage. I should warn you though, the pleasures I offer can be rather consuming."<br> <br> Looking at <<print $npcNurse.name + "'s">> gorgeously voluptuous body, you think you're fine with that.<br> <br> As you admire her body, you think you notice some movement in the latex stretched over <<print $npcNurse.name + "'s">> ample boobs. Weirdly, it looks like an imprint of a hand pushing out from beneath. Only briefly. So briefly you wonder if your eyes are playing tricks on you. Maybe you just imagined the whole thing.<br> <br> Maybe...<br> <br> <<set $npcNurse.hasBeenAskedForSex to true>> ''DEV NOTE: NURSE HONEY'S HARLOT SCENARIO HAS NOT YET BEEN WRITTEN. IT WILL BE ADDED AT A LATER DATE!''<br> <br> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
<<set _ailment to $ailmentToCure>> <<switch _ailment>> <<case 0>> <<include [[NPC Nurse: Cure Enslavement]]>> <<case 1>> <<include [[NPC Nurse: Cure Boob Fixation]]>> <<case 2>> <<include [[NPC Nurse: Cure Ass Fixation]]>> <<case 3>> <<include [[NPC Nurse: Cure Lips Fixation]]>> <<case 4>> <<include [[NPC Nurse: Cure Foot Fetish]]>> <<case 5>> <<include [[NPC Nurse: Cure Leg Fetish]]>> <<case 6>> <<include [[NPC Nurse: Cure Fatigued]]>> <<case 7>> <<include [[NPC Nurse: Cure Mushy]]>> <<case 8>> <<include [[NPC Nurse: Cure Potion Befuddlement]]>> <<case 9>> <<include [[NPC Nurse: Cure Potion Addiction]]>> <<case 10>> <<include [[NPC Nurse: Cure Boobfairy Milk]]>> <<default>> <<include [[NPC Nurse: Cure Unspecified]]>> <</switch>> <br><br>
"Is there anything else I can do for you?" $npcNurse.name asks.<br> <br> <<include [[NPC Nurse: Hub Options]]>>
As before, $npcNurse.name goes behind a screen at the back of the room and returns with a glass filled with amber-coloured liquid. You gulp it down a little faster this time, enjoying the sweetness and the pleasant glow it brings to your loins.<br> <br> You thank her and return the glass. You feel refreshed and ready to go again.<br> <br>
$npcNurse.name briefly goes behind a screen at the back of the room. She returns with a glass of amber-coloured liquid and passes it to you. You sniff and take a sip. It's sweet.<br> <br> You drink it. At first it's too sweet, like an energy drink with an extra dollop of honey, but the taste quickly grows on you. A warm feeling spreads through you. It diffuses down and coagulates in your loins and you start to feel a little horny.<br> <br> Looking at <<print $npcNurse.name + "'s">> gorgeous latex-clad curves also helps.<br> <br> You thank her and return the glass. You feel refreshed and ready to go again.<br> <br> <<set $npcNurse.hasGivenEnergyTonic to true>>
<<set _hi to $allAilments[_ailment].harlot>> $npcNurse.name puts her hands on either side of your head and stares into your eyes.<br> <br> "Hmm. A lust daemon has got a hold of part of your soul. Next time you encounter her she'll likely take full hold and you'll become her slave... or pet... or snack."<br> <br> There is nothing wrong with Mistress having part of your soul. You'd give her the rest if you could.<br> <br> "Now, it is normally considered very bad form for a daemon of lust to interfere with another's claim. However, in here, the rules are slightly different. I have <<print $npcMadam.name + "'s">> permission to break any claims. Now, look into my eyes."<br> <br> You look into her all-white eyes. They expand to fill your entire world. Everything goes white.<br> <br> The next thing you're aware of is $npcNurse.name snapping her fingers.<br> <br> "All done," she says breezily.<br> <br> <<include [[NPC: Pay Action]]>> <<set $player.money -= $allAilments[_ailment].cureCost>> <<include [[Remove Player Ailment]]>> /* NPC Nurse transfers the enslavement to her */ <<set $allAilments[_ailment].harlot to $npcNurse.harlotId>> <<include [[Add Player Hidden Ailment]]>> //You have been cured of the// ''<<print $allAilments[_ailment].name + ": " + $allHarlots[_hi].name>>'' //ailment.//<br> <br> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
"Hmm, you appear to have an unhealthy attraction to these," $npcNurse.name says.<br> <br> She leans over and practically pushes her big boobs into your face. You stare at them in hypnotised fascination, marvelling at the deep chasm of her cleavage and the way the glossy white rubber is stretched over her full curves.<br> <br> "Most men are, but it appears one of the girls in here has tweaked that to unhealthy levels, or inflicted so much pleasure on you your brain got all twisted of its own accord. Either way, it's easily fixed. Keep looking at my breasts."<br> <br> It's not as if you're going to look at anything else.<br> <br> You feel a prick in your thigh as if from a needle. You blink. <<print $npcNurse.name + "'s">> bosom, while being very lovely, no longer has an unbreakable hold on you.<br> <br> "All done," $npcNurse.name says breezily.<br> <br> <<include [[NPC Nurse: Cure Ailment: End]]>>
"Hmm, have you been roughhousing? Or maybe playing with one of the more hyperactive energy-bunny girls? You need to be careful. Some lust daemons are considerably stronger and more powerful than a regular human. Trying to keep up with them in the bedroom never ends well. No matter, a good massage will unknot your tired muscles."<br> <br> She has you lie down on a massage table at the back of the room and gives you a pleasant massage to soothe your aching limbs. It's a regular rather than erotic massage, although $npcNurse.name is certainly not shy about letting her big boobs 'accidentally' rub against your naked body.<br> <br> It's a good massage. Afterwards you feel lighter and raring to go.<br> <br> <<include [[NPC Nurse: Cure Ailment: End]]>>
''PLACEHOLDER''<br> <br> ''Whoops, our silly dev hasn't implemented a cure for this yet! (Or a wrong ailment code was typed in somewhere.)''<br> <br> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
Before you can answer you feel <<print $npcMadam.name + "'s">> buzzer vibrate twice in your pocket. Time's up. You need to go and make a choice.<br> <br> You apologise to $npcNurse.name.<br> <br> "No problem. I'm here anytime you need me," she says.<br> <br> You leave.<br> <br> <<include [[NPC Nurse: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Nurse: Repeat]] <<else>> [[Go and choose a harlot.->Harlot Selection: Intro]] <</if>>
<<unset $ailmentToCure>>
"What treatment would you like?"<br> <br> <<include [[NPC Nurse: Hub Options]]>>
<<set $clubActivityUnits to 4>> <<include [[NPC Nurse: Print]]>> <<include [[NPC Nurse: Determine Availability]]>> [[Begin tests...->NPC Nurse: Look For]]
/* Va-kyuuma */ <<set $hi to 7>> <<set $allHarlots[$hi] to { number: $hi, name: "Va-kyuuma", shortDescription: "a statuesque woman with pale skin who's wearing a black latex bodysuit that fits her curves so tightly it looks like part of her skin.", faction: 2, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, hasSeenBefore: false, looksPregnantNow: false, lookedPregnantLastTime: false, hasShownPregToNotPreg: false, hasShownNotPregToPreg: false, hasSeenPregnant: false, gifts: [17, 18], affection: 0, preIntroductionLink: "Va-kyuuma: Pre-Introduction", introductionLink: "Va-kyuuma: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Va-kyuuma: Socialising", npcGossipLink: "Va-kyuuma: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Va-kyuuma: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Va-kyuuma: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Va-kyuuma: Sell Exp Body", sellExpFeedbackLink: "Va-kyuuma: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 10>> <<set $player.money to 10>> <<set $player.charms.push(14)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ <<set $player.currInt to 5>> <<set $player.currIsSubmissive to true>> /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 7>> <<set $allHarlots[$hi].looksPregnantNow to false>> <<set $cgi to $allHarlots[$hi].gifts[1]>> /* <<set $cgi to 0>> */ <<include [[Harlot Tester: Intro]]>>
<<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> /* Madam intro */ "Ah, this is our specialist vac-bed technician, Va-kyuuma," $npcMadam.name says. "She just loves sucking people into her vac-bed and then sucking out all their cum." <br> <br> /* Long description */ Va-kyuuma is a statuesque woman in a shiny black bodysuit that hugs her curves like a second skin. Her long glossy black hair is tied back in a flowing ponytail. Her pink skin also has a slight glossy shine to it, as if it might be more akin to plastic than flesh.<br> <br> <<include [[Va-Kyuuma: Intro: Pregnancy]]>> /* Harlot intro */ <<if _isRepeat>> "Hello again, would you like another session in my vac-bed? Or maybe something else?" Va-kyuuma asks coyly. <<else>> "Hello, I'm Va-kyuuma," she says. "Would you like an enjoyable session in my vac-bed?" <</if>> <br> /* flip this around for unit testing */ <<if $isHarlotTesting>> <<set $allHarlots[$hi].looksPregnantNow to not $allHarlots[$hi].looksPregnantNow>> <</if>>
<<if $allHarlots[$hi].looksPregnantNow>> You take Va-kyuuma over to the bar area. It feels a little weird walking out with Va-kyuuma given how heavily pregnant she appears. No-one bats an eyelid. They're too engrossed with their own dates.<br> <br> <<else>> You take Va-kyuuma over to the bar area.<br> <br> <</if>> <<set $socNoMoneyLink to "Va-kyuuma: Socialising: No Money">> <<set $socDrinkLink to "Va-kyuuma: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> "No money?" Va-kyuuma says. "$npcMadam.name says we're to return right away if that happens."<br> <br> Va-kyuuma doesn't return right away.<br> <br> "It would be remiss of me not to point out my producer pays <<print $currencyName + "s">> for semen samples. If you're short, you can always talk to her. My way of extracting it is far more pleasurable, though."<br> <br> For a moment she drops her emotionless exterior to give you a saucy wink. Then she returns to $npcMadam.name.<br> <br> <<include [[Socialising: End]]>>
The waitress returns with your <<print $socialisingDrinks[$sdi].name + ".">> She brings nothing for Va-kyuuma.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> <<include [[Va-kyuuma: Socialising: Drinking: Repeat]]>> <<else>> <<include [[Va-kyuuma: Socialising: Drinking: First-Time]]>> <</if>> <<include [[Socialising: End]]>>
"Hmm, it's hard to explain what Va-kyuuma is. She's an artificial being, probably created by <<print $npcPotion.name + ".\"">><br> <br> $npcGossip.name puffs on her cigarette.<br> <br> "With your limited human way of thinking, you probably think 'artificial' means automaton, robot, golem. Va-kyuuma is far more complex than that. She's alive and sentient in every sense that matters. She has her desires, and her //hungers//."<br> <br> <<if $allHarlots[$hi].hasSeenPregnant>> You query about the bump. How can an artificial being get pregnant?<br> <br> "Pregnant?" $npcGossip.name laughs. "That's no baby."<br> <br> <</if>> She taps her cigarette holder to dislodge ash.<br> <br> "Unlike most of the girls in here, Va-kyuuma doesn't require semen – or souls – for sustenance. She is partial to flesh, though."<br> <br> $npcGossip.name flashes her teeth in a vulpine smile.<br> <br> "Very partial to flesh."<br> <br> She takes another sip of her drink.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"Her pussy has a tremendous suck to it. What else would you expect from a glorified sentient vacuum cleaner.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"Let her put you in her vac-bed and she'll suck a big load out of you.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"If you're feeling particularly adventurous, you can stick your unprotected dick in that super-suck pussy of hers. She's always looking for new babies.\"\<br\>\<br\>" + $npcGossip.name + " chuckles darkly."}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Va-kyuuma: First-Time Scenario]]>> <<else>> <<include [[Va-kyuuma: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Good Gift */ [1,false,false], /* Has seen look pregnant */ [5,false,false] /* Surviving */ ] }>> Va-kyuuma's room is very glossy. <<include [[Va-kyuuma: Room Description]]>>
<<if not $isHarlotTesting>> <<set $allHarlots[_hi].looksPregnantNow to (random(1,2) eq 1)>> <</if>> <<if $isTesting>> ''Va-kyuuma looks pregnant = $allHarlots[_hi].looksPregnantNow''<br> <br> <</if>> <<set _shortDescription to "a statuesque woman with pale skin who's wearing a black latex bodysuit that fits her curves so tightly it looks like part of her skin.">> <<if $allHarlots[_hi].looksPregnantNow>> <<set _shortDescription += " She also has a noticeable bulge at her belly that looks like a pregnancy bump.">> <</if>> <<set $allHarlots[_hi].shortDescription to _shortDescription>>
<<set $npcPotion to { name: "The Doctoress", isAvailable: true, isUnavailable: false, hasBeenIntroduced: false, hasBeenVisited: false, semenHarvested: 0, smallSamplePayout: 1, regularSamplePayout: 2, largeSamplePayout: 7, hasAskedAboutSemenExtraction: false, hasBeenAskedForSex: false, hasAskedSideEffects: false, hasSeenBigGulper: false, hasBeenInSemenExtractionBooth: false, hasUsedSmallGulper: false, hasUsedBigGulper: false, addictionLevel: 0, addictionPotCosts: [3,4,5,6,7], introActivities: [] }>> <<include [[NPC Potion: Populate Intro Activities]]>>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Create New Player: Default]]>> <<set $player.money to 100>> <<set $player.semenCount to 1>> /* <<set _ailment to 9>> <<include [[Add Player Hidden Ailment]]>> */ <<set $clubActivityUnits to 4>> <<set $npcPotion.isUnavailable to false>> <<set $npcPotion.hasBeenVisited to true>> <<set $npcPotion.addictionLevel to 4>> <<include [[NPC Potion: Print]]>> <<include [[NPC Potion: Determine Availability]]>> <<include [[Potions: Update Stock]]>> <br> [[Begin tests...->NPC Potion: Look For]]<br> <br> <<include [[NPC Potion: Print Subsequent Activities]]>>
--NPC POTION-------------------------------------<br> ''name'' = <<print $npcPotion.name>><br> <br> ''hasBeenIntroduced'' = <<print $npcPotion.hasBeenIntroduced>><br> ''hasBeenVisited'' = <<print $npcPotion.hasBeenVisited>><br> <br> ''isAvailable'' = <<print $npcPotion.isAvailable>><br> ''isUnavailable'' = <<print $npcPotion.isUnavailable>><br> <br> ''semenHarvested'' = <<print $npcPotion.semenHarvested>><br> <br> ''smallSamplePayout'' = <<print $npcPotion.smallSamplePayout>><br> ''regularSamplePayout'' = <<print $npcPotion.regularSamplePayout>><br> ''largeSamplePayout'' = <<print $npcPotion.largeSamplePayout>><br> <br> ''hasAskedAboutSemenExtraction'' = <<print $npcPotion.hasAskedAboutSemenExtraction>><br> ''hasBeenAskedForSex'' = <<print $npcPotion.hasBeenAskedForSex>><br> <br> ''hasAskedSideEffects'' = <<print $npcPotion.hasAskedSideEffects>><br> <br> ''hasSeenBigGulper'' = <<print $npcPotion.hasSeenBigGulper>><br> ''hasBeenInSemenExtractionBooth'' = <<print $npcPotion.hasBeenInSemenExtractionBooth>><br> ''hasUsedSmallGulper'' = <<print $npcPotion.hasUsedSmallGulper>><br> ''hasUsedBigGulper'' = <<print $npcPotion.hasUsedBigGulper>><br> <br> ''addictionLevel'' = <<print $npcPotion.addictionLevel>><br> ----------------------------------------------------<br> <br>
/* create score array */ /* 1st, find old score array (if multiple visits, take the last score array) */ <<for _r to 0; _r lt $player.roomScores.length; _r++>> <<if $player.roomScores[_r].harlotNumber eq $hi>> <<set _scoreArray to $player.roomScores[_r].scoreArray>> <</if>> <</for>> <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: _scoreArray }>> You return to Va-kyuuma's glossy room. <<include [[Va-kyuuma: Room Description]]>>
"Ah, <<print $npcMadam.name + "'s">> quaint little tradition," Va-kyuuma says. "It has some significance for a lot of the girls in here. Not so much for some o