JavaScript is required. Please enable it to continue.
Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
/* Assphyxia */ <<set $hi to 6>> <<set $allHarlots[$hi] to { number: $hi, name: "Assphyxia", shortDescription: "an intimidating succubus in tight black latex with a big curvy butt.", faction: 1, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Sammy */ <<set $hi to 1>> <<set $allHarlots[$hi] to { number: $hi, name: "Sammy", shortDescription: "a bouncy succubus with short red horns and a friendly smile.", faction: 0, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* This is where we create all the harlots */ <<set $harlotCount to 31>> <<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 $forcedHarlotPick to -1>>
''<<print "Number of harlots = " + $allHarlots.length>>'' <br> <<for _i to 0; _i lt $allHarlots.length; _i++>> <<print _i>>. <<print $allHarlots[_i].name>><br> <</for>>
/* Flagellita */ <<set $hi to 7>> <<set $allHarlots[$hi] to { number: $hi, name: "Flagellita", shortDescription: "a scary dominatrix succubus pierced with multiple sharp hooks.", faction: 1, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Whypnosia */ <<set $hi to 8>> <<set $allHarlots[$hi] to { number: $hi, name: "Whypnosia", shortDescription: "a succubus with distinctive large eyes and a scary looking whip.", faction: 1, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Cruella */ <<set $hi to 10>> <<set $allHarlots[$hi] to { number: $hi, name: "Cruella", shortDescription: "a cold-faced succubus with big black hair.", faction: 1, minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Princess Python */ <<set $hi to 11>> <<set $allHarlots[$hi] to { number: $hi, name: "Princess Python", shortDescription: "a muscular woman dressed in animal skins.", faction: 2, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* 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 */ You close the door behind you. You survived this time.<br><br> <<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>> //[[Time to return to the bar.->Post-Room Activities: Intro]]//
/* Jacula */ <<set $hi to 17>> <<set $allHarlots[$hi] to { number: $hi, name: "Jacula", shortDescription: "a sexy vampire in black robes.", faction: 4, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
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?->Test Main Game Loop]] <</if>>
/* Bubbel */ <<set $hi to 18>> <<set $allHarlots[$hi] to { number: $hi, name: "Bubbel", shortDescription: "a bubbling green slime girl.", faction: 4, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Skankia */ <<set $hi to 19>> <<set $allHarlots[$hi] to { number: $hi, name: "Skankia", shortDescription: "a skunk girl with a big bushy tail.", faction: 4, factionIncrease: [false], minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Boobella */ <<set $hi to 20>> <<set $allHarlots[$hi] to { number: $hi, name: "Boobella", shortDescription: "a succubus with big tits and a tight sweater.", faction: 5, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], affection: 0, isIrresistibleToAilment: 1, /* boob fetish */ 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", 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]]>>
/* Succuba */ <<set $hi to 21>> <<set $allHarlots[$hi] to { number: $hi, name: "Succuba", shortDescription: "a stereotypical and extremely sexy succubus.", faction: 5, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Nicole */ <<set $hi to 22>> <<set $allHarlots[$hi] to { number: $hi, name: "Nicole", shortDescription: "a chic woman wearing large sunglasses.", faction: 5, factionIncrease: [false], minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
© M. E. Hydra
ver0.016 Prototyping - very experimental!
/* 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 [[Harlot Presentation: Selection Algorithm]]>> //This is where the next 3 harlots are selected and presented to you by the Madam.//<br> <br> /* This is hardwired to 3 choices at the moment. */ You go over to the presentation stage and $npcMadam.name swishes a curtain aside to reveal three beautiful ladies.<br> <br> <<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 $forcedHarlotPick neq -1>> <<set _isAlreadyPresent to false>> <<for _i to 0; _i lt $hci.length; _i++>> <<if $hci[_i] eq $forcedHarlotPick>> <<set _isAlreadyPresent to true>> <</if>> <</for>> <<if _isAlreadyPresent>> ''No need to force add $allHarlots[$forcedHarlotPick].name: Already present.''<br><br> <<else>> <<set _replaced to $hci.pluck()>> <<set $hci.push($forcedHarlotPick)>> <<if $isTesting>> ''Force add harlot: $allHarlots[_replaced].name replaced with $allHarlots[$forcedHarlotPick].name.''<br><br> <</if>> <</if>> /* reset so furthur forced picks can be made */ <<set $forcedHarlotPick 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>> "Now I'll leave you to make up your mind."<br> <br> [[You return to the bar area to make up your mind.->Club Activities: Intro]]
/* This is the hub for activites the player can done after being introduced to harlots and before making their choice */ <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Choice]]>> <<else>> You have time for $clubActivityUnits Actions before you have to make a choice. What will you do?<br> <br> //This is where the player will have options to interact with various NPCs to find out information, alter stats, or buy items.//<br> <br> //More will be added later.//<br> <br> /* Madam */ [["Talk to " + $npcMadam.name + "?"->NPC Madam: Look For]]<br> /* Gossip */ <<if $npcGossip.hasBeenIntroduced eq false>> [[Try and find someone who knows more about the harlots?->NPC Gossip: Visit: Barman's Intro]]<br> <<else>> [["Talk to " + $npcGossip.name + "?"->NPC Gossip: Look For]]<br> <</if>> /* Nurse */ /* NOTE: we'll be doing her proper introduction once the barman is implemented */ [["Talk to The Nurse?"->NPC Nurse: Look For]]<br> /* Potion Seller */ /* NOTE: we'll be doing her proper introduction once the barman is implemented */ [["Talk to " + $npcPotion.name + "?"->NPC Potion: Look For]]<br> /* Charm Seller */ /* NOTE: we'll be doing her proper introduction once the barman is implemented */ [["Talk to " + $npcCharm.name + "?"->NPC Charm: Look For]]<br> <br> [[Choose a harlot?->Harlot Selection: Intro]] <</if>>
/* transition to club activities */ /* set max number of activities */ <<set $isPostRoom to false>> <<set $clubActivityUnits to $clubActivityMaxUnits>> /* Addiction check */ <<set _ailment to 9>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<include [[Club Activities: If Potion Addicted]]>> <<else>> You return to your place at the bar.<br> <br> <<include [[Club Activities: Hub]]>> <</if>>
/* Transition to harlot selection. */ You go back to the Madam to make your choice. Who will it be?<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>>
/* Transition to pre harlot's room stuff */ You selected <<print $allHarlots[$hi].name>>. <<if $allHarlots[$hi].isMultiplePeople>> They smile at you and head off to their room. <<else>> She smiles at you and heads off to her room. <</if>><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 */ //This is where the player is given the choice of gift to take up to the harlot. Some the harlot will like, some she will dislike, and some she will hate so much she'll... it won't be good.//<br> <br> You see a table with some items on it.<br> <br> <<set $gci to []>> <<include [[Gift Selection: Selection Algorithm]]>> <<for _i to 0; _i lt $gci.length; _i++>> <<set _gi to $gci[_i]>> <<print $allGifts[_gi].description>><br> <</for>> <br> What will you pick?<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>
You pick up the <<print $allGifts[$cgi].name>> and walk through into the back area where the harlots' rooms are located.<br> <br> You find <<print $allHarlots[$hi].name + "'s">> room, knock on the door and enter.<br> <br> [[Enter room.->Harlet Room]]
/* 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>> /* NPC Money Introduces himself here */ <<if $npcMoney.hasBeenIntroduced eq false>> <<include [[NPC Money Hails Player]]>> <<else>> You leave the back section and return to the main bar area.<br> <br> /* Check find money table here */ <<if $player.charms.includes(11)>> <<include [[Charm Effect: Roll on Find Money Table]]>> <</if>> <<include [[Post-Room Activities: Hub]]>> <</if>>
/* This is the hub for the activities done in between selection. These need to be different from the other activities. Not sure what they are apart from moneyNPC (maybe only moneyNPC and some recovery activities?) */ /* Time up check */ <<include [[Post-Room Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Presentation]]>> <<else>> You have time for $postroomActivityUnits Actions before the Madam presents you with three new harlots.<br> <br> //This is where the player will have the opportunity to carry out various actions before the next round. This where the player can earn money and cure possible negative statuses.//<br><br> /* GOSSIP */ <<if $npcGossip.hasBeenIntroduced is true>> [["Talk to " + $npcGossip.name + "?"->NPC Gossip: Look For]]<br> <</if>> <<if $npcMoney.hasBeenIntroduced is true>> [["Talk to " + $npcMoney.name + "?"->NPC Money: Look For]]<br> <br> <</if>> [[Wait until it's time for the next round?->Summon to Harlot Presentation]] <</if>>
/* We create all the possible gifts here */ <<set $giftCount to 21>> <<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 21>> /* 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", description: "A rose with black petals.", categories: [2, 3] }>>
/* Chocolates */ <<set $gift to { number: 1, name: "Chocolates", description: "A box of chocolates.", categories: [0, 4] }>>
/* Wine */ <<set $gift to { number: 2, name: "Wine", description: "A bottle of wine.", categories: [1, 4] }>>
/* Perfume */ <<set $gift to { number: 3, name: "Perfume", 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", description: "A fluted gold flask of scented oil.", categories: [2, 5, 7] }>>
/* Ribbon */ <<set $gift to { number: 5, name: "Ribbon", description: "A pretty white ribbon.", categories: [3, 9] }>>
/* Vial of Blood */ <<set $gift to { number: 6, name: "Vial of Blood", description: "A vial containing a red liquid that looks suspiciously like blood.", categories: [12,13] }>>
/* Small fluffy thing */ <<set $gift to { number: 7, name: "Small Fluffy Thing", description: "A small fluffy thing of indeterminate species in a glass jar.", categories: [9, 11] }>>
/* Grapes */ <<set $gift to { number: 8, name: "Grapes", description: "A bunch of delicious looking grapes.", categories: [0] }>>
/* Eyeball */ <<set $gift to { number: 9, name: "Eyeball", description: "A single eyeball.", categories: [12,13,14] }>>
/* Fish */ <<set $gift to { number: 10, name: "Fish", description: "A raw fish.", categories: [11] }>>
/* Heart */ <<set $gift to { number: 11, name: "Bleeding Heart", description: "A human heart. It's dripping blood.", categories: [12,13,14] }>>
<<print "Number of gifts = " + $allGifts.length>> <br><br> <<for _i, _gift range $allGifts>> <<print _i>>. <<print _gift.name + ". ">> <<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: [], 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 $forcedHarlotPick to 0>> TESTING Harlot selection algorithm:<br><br> <<set $player.factionAffinities[2] to 1>> <<set $currentRound to 1>> <<include [[Harlot Presentation: Selection Algorithm]]>> <<include [[Test Harlot Selection: Print Harlot Choices]]>> <<set $currentRound to 2>> <<include [[Harlot Presentation: Selection Algorithm]]>> <<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.016 of House of Hellish Harlots. We're still in the proof-of-concept stage, but more of the chunks are being added. Some segments will still be skeletal in terms of description.//<br> <br> //Currently there are 6 NPCs implemented: The Madam, 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 26 harlots for you to play with, some with repeat visit functionality and multiple scenes. The remaining harlots are dummy placeholders that will be replaced as I write new harlot scenarios.//<br> <br> //ver0.016 is the Charms release. A variety of protective and useful charms can be purchased from a new NPC (The Buxom Lolibaba). Not all of them do anything at the moment as the harlot abilities they protect against will be added in future releases. This release also includes 3 brand new harlots (Veronicella, Asphya and Pêl-O Sugn).//<br> <br> //I hope you enjoy playing with them and the others. 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>> <<include [[Init New Game Stats]]>> <<if $isTesting>> <<include [[Player: Print Full Physical Stats]]>><br> <</if>> [[First let's create a new character.->Start With Player Creation]]
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>> <<set $player.factionAffinities[$allHarlots[$hi].faction] += 1>> <</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>> /* 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>> <<include [[Harlot Presentation: Intro]]>>
/* Feculia */ <<set $hi to 16>> <<set $allHarlots[$hi] to { number: $hi, name: "Feculia", shortDescription: "a pungent-smelling succubus with a filthy grin.", faction: 4, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* 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]]>>
/* Sister Squeeze */ <<set $hi to 12>> <<set $allHarlots[$hi] to { number: $hi, name: "Sister Squeeze", shortDescription: "a blue-skinned woman with long dreads.", faction: 2, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Madame Mystoria */ <<set $hi to 13>> <<set $allHarlots[$hi] to { number: $hi, name: "Madame Mystora", shortDescription: "a mysterious woman hidden beneath a long hooded cloak.", faction: 2, factionIncrease: [false], minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Blobula */ <<set $hi to 14>> <<set $allHarlots[$hi] to { number: $hi, name: "Blobula", shortDescription: "a red slime girl.", faction: 3, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Carnivora */ <<set $hi to 15>> <<set $allHarlots[$hi] to { number: $hi, name: "Carnivora", shortDescription: "a green-skinned dryad with venus flytrap earrings.", faction: 3, factionIncrease: [false], minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Ecstasia */ <<set $hi to 23>> <<set $allHarlots[$hi] to { number: $hi, name: "Ecstasia", shortDescription: "a perfumed succubus dressed in see-through silks.", faction: 6, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Volumpula */ <<set $hi to 24>> <<set $allHarlots[$hi] to { number: $hi, name: "Volumpula", shortDescription: "a pink slime girl.", faction: 6, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Sensuelia */ <<set $hi to 25>> <<set $allHarlots[$hi] to { number: $hi, name: "Sensuelia", shortDescription: "a slender lamia in billowy silks.", faction: 6, factionIncrease: [false], minRound: 3, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Hellacia */ <<set $hi to 26>> <<set $allHarlots[$hi] to { number: $hi, name: "Hellacia", shortDescription: "a fiery succubus with flaming red hair.", faction: 7, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
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?->Test Main Game Loop]]
"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 harlot selection pool will require the payment of 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: Hub]]>> <<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, hasGivenComplementaryMulliganToken: false, hasToldHowToUseMulliganTokens: false, hasToldHowToBuyMulliganTokens: false, hasToldOfNpcMoney: false, mulliganTopic: 1, addHarlotTopic: 1, socialisingTopic: 1, backgroundInfoTopic: 1, galleryTopic: 1 }>>
/* 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: 6, 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], /* any breast massage */ [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", description: "An exotic green bottle with a pump. Looks like soap.", 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> /* Every option is at least +1 for NPC Money */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> [[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>>
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 0>> <<set $player.charms.push(18)>> <<set $player.charms.push(14)>> <<set $hi to 9>> /* <<set $cgi to $allHarlots[$hi].gifts[1]>> */ <<set $cgi to 0>> <<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, hasBeenBoughtFirstDrink: false, hasGivenMoneyHints: false, hasTalkedAboutHouse: false, hasBeenAskedForSex: 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. Whatever it is, she is unavailable this round. You'll have to talk to someone else. [[You go back to the bar.->Club Activities: Hub]] //This did not cost an action.//
$npcMadam.name is standing by her usual spot next to the presentation stage. You wait for her to finish chatting with one of the club girls and approach her.<br> <br> She notices you and greets you with a friendly smile.<br> <br> "Hello, my dear. What can I do for you?"<br> <br> Talk to her about?<br> <br> <<include [[NPC Madam: Hub Options]]>>
/* Update activity units */ <<set $clubActivityUnits -= 1>> $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 Topic 1: What if I don't]]
The fan raises. Her eyes are steel again. "Then a girl will pick you. And your time with her might not be so pleasant..." 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. $npcMadam.name has lowered the fan and is smiling again. It is not a pleasant smile. "Although I never hear any complaints from anyone picked this way." You suspect that's because she never hears //anything// from anyone picked this way. Ever again. "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..." Her eyes glimmer. "...there are ways to change the choices on offer." [[How do I change the choices on offer?->NPC Madam: Mulligan Topic 1: How to change harlot selection pool]]
<<if $npcMadam.hasGivenComplementaryMulliganToken eq false>> "Oh, didn't I 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.<br> <br> [[$mulliganToken.name + "? What's that?"->NPC Madam: Mulligan Topic 1: 1st Mulligan Token]] <<else>> "This is another use for that $mulliganToken.name I gave you," $npcMadam.name says. "It is House policy to only allow patrons to change the choices on offer once. It is to stop time wasters and our girls getting unduly irritated."<br> <br> She flutters her fan.<br> <br> "Unfortunately, we get so many patrons and my memory is not what it was. Sometimes I lose track of who has used their one change. So now the House has a token policy."<br> <br> <<set $npcMadam.mulliganTopic += 1>> [["Talk to " + $npcMadam.name + " about something else?"->NPC Madam: Continuation Hub]]<br> [[Return to the bar?->Club Activities: Hub]] <</if>>
"Well you see, it is House policy to only allow patrons to change the choices on offer once. It is to stop time wasters and our girls getting unduly irritated."<br> <br> She looks in her purse.<br> <br> "Ah, there it is."<br> <br> She plucks something out of her purse.<br> <br> "Unfortunately, we get so many patrons and my memory is not what it was. Sometimes I lose track of who has used their one change. So now the House has a token system."<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."<br> <br> <<set $player.mulliganTokens += 1>> <<set $npcMadam.hasGivenComplementaryMulliganToken to true>> <<set $npcMadam.mulliganTopic += 1>> [["Talk to " + $npcMadam.name + " about something else?"->NPC Madam: Continuation Hub]]<br> [[Return to the bar?->Club Activities: Hub]]
/* Update activity units */ <<set $clubActivityUnits -= 1>> "Yes my dear, what would you like to know about <<print $mulliganToken.name + "s">>?"<br> <br> <<include [[NPC Madam: Mulligan Topic 2: Options]]>>
"No, don't give it me now," $npcMadam.name says, waving away your attempts to give her the $mulliganToken.name. "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> <<set $npcMadam.hasToldHowToUseMulliganTokens to true>> <<include [[NPC Madam: Mulligan Topic 2: Options]]>>
<<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> <<set $npcMadam.hasToldHowToBuyMulliganTokens to true>> [["Buy a " + $mulliganToken.name + "?"->NPC Madam: Buy Mulligan Token: Coin Check]]<br> [[Decline?->NPC Madam: Buy Mulligan Token: Decline]]
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> <<set $player.money -= $mulliganToken.madamSellPrice>> <<set $player.mulliganTokens += 1>> <<if $npcMadam.mulliganTopic eq 2>> <<include [[NPC Madam: Mulligan Topic 2: Options]]>> <<else>> <<set _recapPassage to 0>> <<include [[NPC Madam: Mulligan Topic 3: Options]]>> <</if>>
<<if $player.money lt $mulliganToken.madamSellPrice>> <<goto [[NPC Madam: Buy Mulligan Token: Not Enough]]>> <<else>> <<goto [[NPC Madam: Buy Mulligan Token]]>> <</if>>
"That is fine, my dear. You can always come back any time if you need to buy more." <<include [[NPC Madam: Mulligan Topic 2: Options]]>>
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> <<set $npcMadam.hasToldOfNpcMoney to true>> <<if $npcMadam.mulliganTopic eq 2>> <<include [[NPC Madam: Mulligan Topic 2: Options]]>> <<else>> <<set _recapPassage to 0>> <<include [[NPC Madam: Mulligan Topic 3: Options]]>> <</if>>
/* Update activity units */ <<set $clubActivityUnits -= 1>> <<set _recapPassage to 0>> "Are you here to buy another $mulliganToken.name, my dear? Or do you need a reminder on how they work?"<br> <br> <<include [[NPC Madam: Mulligan Topic 3: Options]]>>
<<set _recapPassage to 1>> "As I told you before, this is one of the inviolable rules of the House," $npcMadam.name says. "You must choose one."<br> <br> <<include [[NPC Madam: Mulligan Topic 3: Options]]>>
<<set _recapPassage to 2>> "Then one will pick you," $npcMadam.name says with more than a hint of menace in her voice.<br> <br> <<include [[NPC Madam: Mulligan Topic 3: Options]]>>
<<set _recapPassage to 3>> "Are you getting forgetful?" $npcMadam.name asks. "It happens to us all. Use the $mulliganToken.name I gave you."<br> <br> <<include [[NPC Madam: Mulligan Topic 3: Options]]>>
<<set _recapPassage to 4>> "When it comes to the time of choosing, give me the <<print $mulliganToken.name + ".">> I will send the girls away and come back with three new ones for you."<br> <br> <<include [[NPC Madam: Mulligan Topic 3: Options]]>>
--NPC Madam---------------------------------------<br> name = <<print $npcMadam.name>><br> isAvailable = <<print $npcMadam.isAvailable>><br> isUnavailable = <<print $npcMadam.isUnavailable>><br> <br> mulliganTopic = <<print $npcMadam.mulliganTopic>><br> addHarlotTopic = <<print $npcMadam.addHarlotTopic>><br> socialisingTopic = <<print $npcMadam.socialisingTopic>><br> backgroundInfoTopic = <<print $npcMadam.backgroundInfoTopic>><br> galleryTopic = <<print $npcMadam.galleryTopic>><br> ------------------------------------------------<br>
Q = $topic.questionText<br> Link = $topic.link<br> isComplete = $topic.isComplete<br>
<<set $isTesting to true>> <<include [[NPC Madam: Print]]>> <<include [[Create New Player: Default]]>> <<set $player.money to 0>> <<set $currentRound to 1>> <<set $npcMadam.isUnavailable to false>> <<set $clubActivityUnits to -1>> <<include [[NPC Madam: Determine Availability]]>> <<set $hci to [0, 3, 5]>> [[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]]>>
"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> <<set $npcMadam.socialisingTopic += 1>> <<include [[NPC Madam: Socialising Hub]]>>
//This is where you will get to talk to the $npcMadam.name about the House. To be implemented later.// [[Back.->NPC Madam: Continuation Hub]]
//This is where you will be able to access the gallery mode and go directly to a favourite harlot's room. To be implemented (much) later.// [[Back.->NPC Madam: Continuation Hub]]
/* 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 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 feel the buzzer vibrate twice in your pocket. Time's up. You need to go 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: 3, 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 1>> <<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.number 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 $isNpcTesting or $isHarlotTesting>> ''Socialising Test Over''<br> <br> [[Other Testing->Harlot Tester]] <<else>> What now?<br> <br> [[Socialise with another harlot?->NPC Madam: Socialising Hub]]<br> [["Talk to " + $npcMadam.name + " about something else?"->NPC Madam: Continuation Hub]]<br> [[Return to the bar?->Club Activities: Hub]]<br> <</if>>
<<include [[NPC Madam: Socialising Hub]]>>
<<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>>
/* Check to see if used all activity units */ <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Choice]]>> <<else>> "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]] <</if>>
/* Update activity units */ <<set $clubActivityUnits -= 1>> <<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 false>> <<set $npcGossip.hasBeenIntroduced to true>> <<set $npcGossip.hasBeenBoughtFirstDrink to false>> <<set $npcGossip.hasGivenMoneyHints to false>> <<set $npcCharm.hasBeenVisited to true>> <<include [[NPC Gossip: Print]]>> <<include [[NPC Gossip: Determine Availability]]>> <<set $hci to [0, 3, 5]>> <<set $hapi to [9, 0, 3, 5, 2, 4]>> [[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>> /* 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 $allHarlots[$hi].isNonStandardGossip>> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]] <</if>>
<<set $npcGossip.hasBeenIntroduced to true>> You talk to $npcBarman.name.<br> <br> "Do I know anything about the girls working here? No, I'm afraid I can't help you with that one."<br> <br> $npcBarman.name gives you an apologetic smile.<br> <br> "My kind and their kind don't exactly mix. Hmm, but I do know someone that does. Her."<br> <br> He points to an elegant woman at the other end of the bar. She is tall and slender. She has a long aristocratic face with high cheekbones. She wears a thick fur stole over a sheer, sky-blue dress. A mass of silver-grey curls spill out from beneath a chic, sky-blue hat. She wears an ostentatious string of pearls around her neck. She smokes a cigarette in a long cigarette holder and her face is wreathed in clouds of smoke. Despite her anachronistic appearance, her age appears indeterminate. She is certainly no less attractive for it.<br> <br> "She knows everything about everyone, or so she claims," $npcBarman.name says, although he doesn't give you her name.<br> <br> You approach her. $npcGossip.name 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>>
<<include [[NPC Gossip: Pay Action]]>> <<set $npcGossip.hasBeenBoughtFirstDrink to true>> 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> <<if $npcMoney.hasBeenIntroduced>> [[$npcMoney.name + "?"->NPC Gossip: NPC Money]]<br> <</if>> <<if $npcNurse.hasBeenVisited>> [[$npcNurse.name + "?"->NPC Gossip: NPC Nurse]]<br> <</if>> <<if $npcPotion.hasBeenVisited>> [[$npcPotion.name + "?"->NPC Gossip: NPC Potion]]<br> <</if>> <<if $npcCharm.hasBeenVisited>> [[$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>
<<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]]>>
/* Initialise the barman (source of information on the house and - later - factions */ <<set $npcBarman to { name: "The Barman", isAvailable: true, isUnavailable: false, allTopics: [], hubTopics: [] }>>
"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>
/* 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]]
/* 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]]
<<include [[NPC Gossip: More Harlot Gossip]]>> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
<<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: 3, minRound: 1, maxRound: 12, 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.charms.includes(13)>> 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(13)>> <<set $player.charms.push(21)>> <<set $player.currIsCautious to false>> <<set $player.currIsSubmissive to false>> <<set $hi to 3>> <<set $cgi to $allHarlots[$hi].gifts[0]>> /* <<set $cgi to 1>> */ <<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", description: "A piping hot mug of fresh coffee.", categories: [1] }>>
/* Twig Fetish */ <<set $gift to { number: 14, name: "Twig Fetish", description: "A collection of twigs and fluff bound together by rough twine to form a vaguely humanoid shape. You have no idea what it represents.", 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.charms.includes(13)>> 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 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.charms.includes(13)>> 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.charms.includes(13)>> 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: 2, factionIncrease: [false], /* for repeat visits only */ 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.charms.push(13)>> <<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 7>> <<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.charms.includes(13)>> 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.charms.includes(13)>> 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.charms.includes(13)>> 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 isn't 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]]>>
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", 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: 5, 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 demons 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.currIsSerious to false>> <<set $player.charms.push(14)>> <<set $hi to 5>> <<set $cgi to $allHarlots[$hi].gifts[0]>> /* <<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 it on a nearby shelf. <<case 2 3>> You walk in and present her the <<print $allGifts[$cgi].name + ".">> Panta doesn't seem interested in it. She places it 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 prefect 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>>
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 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]]>>
"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> As you return to the bar area you notice a portly gentleman waving at you in an attempt to attract your attention. He is at a booth table to your left. It's the one nearest to the corridor that leads back to the harlots' 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 $postroomActivityMaxUnits Actions).//<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.charms.includes(13)>> <<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.charms.includes(13)>> 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.charms.includes(13)>> 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.charms.includes(13)>> <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 demons.\""}>> <<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.\""}>>
/* Check to see if used all activity units */ <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[Summon to Harlot Choice]]>> <<else>> "Yes, dear. What else would you like to talk about?"<br> <br> Talk to her about?<br> <br> <<include [[NPC Madam: Hub Options]]>> <</if>>
/* Mulligan Tokens */ <<switch $npcMadam.mulliganTopic>> <<case 1>> [[Do I have to pick one of the girls you've shown me?->NPC Madam: Mulligan Topic 1]]<br> <<case 2>> [["Can you tell me more about " + $mulliganToken.name + "s?"->NPC Madam: Mulligan Topic 2]]<br> <<default>> [["You're here about " + $mulliganToken.name + "s."->NPC Madam: Mulligan Topic 3]]<br> <</switch>> //This will cost an Action.//<br> <br> /* Adding a Harlot to the next Selection Pool */ <<switch $npcMadam.addHarlotTopic>> <<case 1>> [[Can I add a harlot of my choice to the selection pool?->NPC Madam: Add Harlot Topic 1]]<br> //This will cost an Action.// <<case 2>> <<if $player.mulliganTokens eq 0>> //You do not have enough <<print $mulliganToken.name + "s">> to ask $npcMadam.name to add a harlot of your choice to the next round.// <<else>> [["Pay one " + $mulliganToken.name + " to have " + $npcMadam.name + " add a harlot of your choice to the next round of selections."->NPC Madam: Add Harlot Topic 2]]<br> //This will cost an Action and a <<print $mulliganToken.name + ".">>// <</if>> <</switch>> <br><br> /* Socialising */ <<switch $npcMadam.socialisingTopic>> <<case 1>> [[Is there a way to get to know a girl a little better beforehand?->NPC Madam: Socialising Topic 1]]<br> <<default>> [[You're here to socialise with one of the harlots.->NPC Madam: Socialising Topic 2]]<br> <</switch>> //This will cost an Action and may have other effects.//<br> <br> /* Background Info */ [[Can you tell me more about this house?->NPC Madam: Info Topic 1]]<br> //This is not currently implemented. To be added later.//<br> <br> /* Gallery Mode */ [[There's a girl I really like. Can I skip the selections and see her right now?->NPC Madam: Gallery Topic 1]]<br> //This is a potential Gallery Mode to be implemented much later.//<br> <br> [[Never mind. Return to the bar.->Club Activities: Hub]]
<<if $npcMadam.hasToldHowToUseMulliganTokens eq false>> [["How do I use " + $mulliganToken.name + "s?"->NPC Madam: Mulligan Topic 2: How to use mulligan tokens]]<br> <</if>> <<if $npcMadam.hasToldHowToBuyMulliganTokens eq false>> [["How can I get more " + $mulliganToken.name + "s?"->NPC Madam: Mulligan Topic 2: How to get more mulligan tokens]]<br> <</if>> <<if $npcMadam.hasToldHowToUseMulliganTokens and $npcMadam.hasToldHowToBuyMulliganTokens>> <<set $npcMadam.mulliganTopic += 1>> [["Thanks. I understand " + $mulliganToken.name + "s now."->NPC Madam: Continuation Hub]]<br> <</if>>
What will you <<if _recapPassage gt 0>>do next?<<else>>do?<</if>><br> <br> /* Mulligan Token */ <<if $player.money lt $mulliganToken.madamSellPrice>> <<if $npcMadam.hasToldOfNpcMoney eq true>> Buy a $mulliganToken.name for $mulliganToken.madamSellPrice $currencyName?<br> //You do not have enough <<print $currencyName + "s">> for this.//<br> <<else>> [["Buy a " + $mulliganToken.name + "?"->NPC Madam: Buy Mulligan Token: Coin Check]]<br> <</if>> <<else>> [["Buy a " + $mulliganToken.name + " for " + $mulliganToken.madamSellPrice + " " + $currencyName + "s?"->NPC Madam: Buy Mulligan Token]]<br> <</if>> <br> /* Recap */ You'd like a reminder on:<br> <br> <<if _recapPassage neq 1>> [[Do I have to pick a girl?->NPC Madam: Mulligan Recap: Do I have to pick]]<br> <</if>> <<if _recapPassage neq 2>> [[What if I don't pick a girl?->NPC Madam: Mulligan Recap: What if I don't]]<br> <</if>> <<if _recapPassage neq 3>> [[Is there a way to change the choices on offer?->NPC Madam: Mulligan Recap: Changing harlot selection pool]]<br> <</if>> <<if _recapPassage neq 4>> [["How do I use the " + $mulliganToken.name + "?"->NPC Madam: Mulligan Recap: How to use mulligan token]]<br> <</if>> <br> [[It's fine. I'm good.->NPC Madam: Continuation Hub]]
''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.hasBeenIntroduced eq false>> <<include [[NPC Gossip: Visit: Barman's Intro]]>> <<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]]>>
/* Oppa */ <<set $hi to 27>> <<set $allHarlots[$hi] to { number: $hi, name: "Oppa", shortDescription: "a tall woman with the biggest tits you've ever seen.", faction: 7, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
/* Cateryxxia */ <<set $hi to 28>> <<set $allHarlots[$hi] to { number: $hi, name: "Cateryxxia", shortDescription: "a spiky succubus with sharp, pointed teeth.", faction: 7, factionIncrease: [false], minRound: 2, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], 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", 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]]>>
''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>>
/* Update activity units */ <<set $clubActivityUnits -= 1>> "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 eq 0>> [["You don't have any " + $mulliganToken.name + "s."->NPC Madam: Add Harlot: No Mulligan Tokens]] <<else>> [["Pay one " + $mulliganToken.name + " to have " + $npcMadam.name + " put a harlot of your choice in the next round of selections?"->NPC Madam: Add Harlot to Next Selection Pool]]<br> [[Decline?->NPC Madam: Add Harlot: Decline]] <</if>> <<else>> [[$mulliganToken.name + "? What's that?"->NPC Madam: Add Harlot: Explain Mulligan Tokens]] <</if>>
<<if $forcedHarlotPick eq -1>> <<include [[NPC Madam: Add Harlot to Next Selection Pool]]>> <<else>> <<include [[NPC Madam: Add Harlot: Already Added Harlot]]>> <</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> <<include [[NPC Madam: Add Harlot: End]]>>
$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> <<include [[NPC Madam: Add Harlot: End]]>>
"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 $currencyName 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> <<set $player.mulliganTokens += 1>> <<set $npcMadam.hasGivenComplementaryMulliganToken to true>> [["Pay one " + $mulliganToken.name + " to have " + $npcMadam.name + " put a harlot of your choice in the next round of selections?"->NPC Madam: Add Harlot to Next Selection Pool]]<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 */ <<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>>
/* 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 is not available. We are very busy tonight and she is fully booked."<br> <br> <<else>> "Yes, she is available. I will include her in the next round of selections. She is really looking forward to it."<br> <br> <<set $player.mulliganTokens -= 1>> <<set $forcedHarlotPick to $hi>> <</if>> She closes the tome and puts it back under the lectern.<br> <br> <<include [[NPC Madam: Add Harlot: End]]>>
"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]]>>
$npcMadam.name gives you a disapproving glare.<br> <br> "You have already asked me to add $allHarlots[$forcedHarlotPick].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[$forcedHarlotPick].name you no longer want her, she will be most upset. She was 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[$forcedHarlotPick].name her 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> //This did not cost you an Action.//<br> <br> <<include [[NPC Madam: Add Harlot: End]]>>
<<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>>
/* Go through here to try and stop weirdness in action count */ /* Advance topic if needed */ <<if $npcMadam.addHarlotTopic eq 1>> <<set $npcMadam.addHarlotTopic += 1>> <</if>> [["Talk to " + $npcMadam.name + " about something else?"->NPC Madam: Continuation Hub]]<br> [[Return to the bar?->Club Activities: Hub]]<br>
<<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>>
/* The first visit is free in terms of actions (It's already been paid with explanation) */ <<if $npcMadam.addHarlotTopic gt 1>> <<set $clubActivityUnits -= 1>> <</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: Successful Add Harlot]]>> <</if>>
"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. That girl is already one of the three girls I have shown you. She is waiting right now for you to pick her and let her take you up to her room for..."<br> <br> <<print $npcMadam.name + "'s">> voice trails off suggestively.<br> <br> [[That's okay, I wanted to book her for the next round as well.->NPC Madam: Add Harlot: Double-Book]]<br> <br> Oh, never mind.<br> <<include [[NPC Madam: Add Harlot: End]]>>
"Ooh, she 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 one of 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 her 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 she appears in the following round."<br> <br> She finishes with a bawdy wink.<br> <br> <<include [[NPC Madam: Add Harlot: End]]>>
/* 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 0>> <<set $player.currStr to 1>> <<set $player.currDex to 3>> <<set $player.charms.push(14)>> <<set $player.currIsSubmissive to false>> <<set $hi to 17>> <<set $cgi to 1>> <<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 it over there with the others," she says. "I'll look at it 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]]
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> /* STR & DEX Check */ /* To make it easier for me, STR 1 has priority over DEX 1 */ <<if $player.currStr eq 1>> <<include [[Pix Decipula: Sofa: STR 1]]>> <<elseif $player.currDex eq 1>> <<include [[Pix Decipula: Sofa: DEX 1]]>> <<else>> <<include [[Pix Decipula: Sofa: MidHigh Prelude]]>> <</if>>
<<set $pixSofaMode to 0>> <<set _isWeakerThisTime to $hasDoneSofa and $allHarlots[$hi].previousSofaMode gt $pixSofaMode>> The awkwardness of the sofa <<if _isWeakerThisTime>>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.currStr + $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: 7, 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]]
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 0>> <<set $player.money to 0>> <<set $player.charms.push(14)>> /* ...set player stats here */ <<set $hi to 18>> <<set $cgi to 0>> /* <<set $allHarlots[$hi].<property> to <value>>> ...set harlot stats here */ <<set $allHarlots[$hi].hasSpokenToNpcGossip to false>> <<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 it.<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> [[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]]
You feel strange. Fuzzy. Pleasantly disassociated. It's like you're floating in warm honey. "It's a lot more pleasant than soaking you in acid and melting you away." Your hips jerk, your cock throbs, and you empty another massive load into your pants. "Yes, that's it. Spunk it all out. Fill your pants." 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. "And now to suck it all up." 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. "Delicious," Vête says as she sucks you up with her tail. By the time she's finished, your empty skin looks as deflated as your clothes. ''BAD END'' [[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]]
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. "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." She wriggles in your lap, manoeuvring your cock inside her for a snugger fit. "Mm, just need the right stimulation to speed up the flow. Ah, there it is." She indicates she's found it with a low sigh. She stretches her tail out behind her and it starts gushing. 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. "Ah, my aphrodisiacs are quite wonderful are they not," Vête says. You don't say anything. You feel queerly paralysed, as if the climax was so intense it short-circuited the rest of your body. [[Continue.->Vete Piege: In Bed: Bad End]]
Vête keeps filling up the bed until you're lying in a pocket of warm fluids. It feels pleasant, but unnaturally so. 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. 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. "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." 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. "I suppose it could be considered digestion," Vête muses, "but this way is far more pleasant for the prey." 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. "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." 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... 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. ''BAD END'' [[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, hasBeenVisited: false, gifts: [1], 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(14)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ <<set $player.currConst to 5>> <<set $player.currWill to 3>> /* <<set $player.currInt to x>> */ <<set $player.currIsSubmissive to false>> <<set $player.maxFactionAffinities to [1]>> <<set $hi to 10>> /* <<set $allHarlots[$hi].hasBeenVisited to true>> */ /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set _ailment to 0>> */ /* <<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 2>> */ <<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 $allGifts[$cgi].number eq $allHarlots[$hi].gifts[0]>> <<include [[Suffocatrix Mamilla: First Time Chocolates]]>> <<else>> <<include [[Suffocatrix Mamilla: Regular Gift]]>> <</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> <<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>> <br> 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> <<set $roomAffection -= 1>> [[Continue.->Suffocatrix Mamilla: First Smother 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 for 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 */ <<include [[Suffocatrix Mamilla: Calculate Room Affection]]>> <<set _value to $roomAffection + $player.currConst>> <<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 */ <<set _value to $roomAffection + $player.currConst>> <<if $isTesting>> ''IsFatalSmother value = <<print _value>>''<br><br> <</if>> /* a value less than 4 is fatal */ /* fatal smother */ <<if _value lt 4>> <<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>>
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>>
/* calculate remainder of room affection here */ /* room affection from affection, gifts, and struggling when being strapped in should already have been added */ /* dominant or submissive */ <<if $player.currIsSubmissive>> <<set $roomAffection += 1>> <<else>> <<set $roomAffection -= 1>> <</if>> /* faction */ /* pain */ <<set _factionNumber to 1>> <<include [[Check if Faction is part of Player Max Faction]]>> <<set _isPain to _isPlayerThisFaction>> /* sensual */ <<set _factionNumber to 6>> <<include [[Check if Faction is part of Player Max Faction]]>> <<set _isSensual to _isPlayerThisFaction>> <<if _isPain and _isSensual>> <<if $isTesting>> ''Playerhas affinity for both Pain and Sensual - no change to Mamilla's affection.''<br><br> <</if>> <<elseif _isPain>> <<if $isTesting>> ''Player has affinity for pain - +1 to Mamilla's affection.''<br><br> <</if>> <<set $roomAffection += 1>> <<elseif _isSensual>> <<if $isTesting>> ''Player has affinity for sensual - -3 to Mamilla's affection.''<br><br> <</if>> <<set $roomAffection -= 3>> <<else>> <<if $isTesting>> ''Player has no affinity for pain or sensual - no change to Mamilla's affection.''<br><br> <</if>> <</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 1>> /* <<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 10>> <<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 Fixation", 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 */ <<if $allHarlots[$hi].factionIncrease[0] eq false>> <<set $isFactionIncrease to true>> <<set $allHarlots[$hi].factionIncrease[0] to true>> <</if>>
<<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 $player.currStr to 5>> <<set $player.currDex to 4>>
/* 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]>> /* 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 harlot selection pool?"->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", 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: 5, 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 10>> <<set $player.money to 10>> <<set $player.currWill to 3>> <<set $player.charms.push(14)>> <<set $player.currIsSlutty to false>> /* <<include [[PlayerAilmentsInit]]>> */ /* <<set _ailment to 1>> */ /* <<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 2>> <<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 ae 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 it into a wastebasket. Then, the offending article 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 it 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 skirt, 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 _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment or $player.currWill lt 2>> It feels too good.<br> <br> [[You can't hold it in.->Boobella: Paizuri: Ejaculation]] <<else>> 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]] <</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]]
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>> <<if $player.currWill lt 3>> [[Yes, let's go again.->Boobella: Sex 2]] <<else>> What do you say?<br> <br> [[Let's go again.->Boobella: Sex 2]]<br> [[That's enough.->Boobella: Sex: Stop]] <</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 gaps 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>> <<if $player.currWill lt 3>> [[You can give her more.->Boobella: Sex 2]] <<else>> Will you:<br> <br> [[Give her more?->Boobella: Sex 2]]<br> [[Tell her that's enough?->Boobella: Sex: Stop]] <</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]] <<if $player.currWill gt 1>> <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]] <<if $player.currWill gt 1>> <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]] <<if $player.currWill gt 1>> <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>>
"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> /* scoring & affection */ <<set $affectionChange to +1>> <<set _affectionChangeReason to "Mamilla Likes Gift">> <<include [[Harlot Affection Change]]>> <<set $roomAffection += 1>> <<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]]>> <<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: "Lip 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.charms.includes(13)>> 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> /* 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>>
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]]
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 x>> */ /* <<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 1>> */
<<set $npcNurse to { name: "Nurse Honey", harlotId: 100, isAvailable: true, isUnavailable: false, hasBeenIntroduced: true, 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]]>> <<set _ailment to 6>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 7>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 9>> <<include [[Add Player Hidden Ailment]]>> <<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 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]]>> <<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>>
<<set $hasUsedActionWithNpc to false>> <<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: 1, 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 3>> <<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: true, 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 of us. Most of the time we send the gifts back downstairs to be gifted to someone else. Less waste that way."<br> <br> You hand over the <<print $allGifts[$cgi].name + ".">><br> <br> <<if $cgi eq 0>> <<include [[Va-kyuuma: Gift: Black Rose]]>> <<elseif $allHarlots[$hi].gifts[0] eq $cgi or $allHarlots[$hi].gifts[1] eq $cgi>> <<include [[Va-kyuuma: Gift: Good]]>> <<else>> <<include [[Va-kyuuma: Gift: Default]]>> <</if>>
Va-kyuuma sniffs the Black Rose. The way she does it is strange, as if she's not sniffed a flower before.<br> <br> "Straight to the regular session then," she says.<br> <br> She takes your hand and leads you to the proper bed.<br> <br> [[Continue.->Va-kyuuma: Regular Bed 1]]
"Ah, this... might be quite useful. I think I'll keep hold of this."<br> <br> She puts it on the shelf with the other toys.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> [[Continue.->Va-kyuuma: Vac-Bed Explanation]]
Va-kyuuma looks it over.<br> <br> "I'm afraid that one will be going back downstairs," Va-kyuuma says.<br> <br> She notices your downcast expression.<br> <br> "Please don't take offense. I haven't. You have other gifts I'm interested in."<br> <br> She glances down at your crotch and her lips turn up in a smile. An odd smile, not quite natural, but clearly a smile.<br> <br> [[Continue.->Va-kyuuma: Vac-Bed Explanation]]
"Now for your session," Va-kyuuma says. "As $npcMadam.name has already told you, my speciality is the vac-bed. This."<br> <br> She points down at the rubber contraption lying on the floor.<br> <br> "It's a piece of bondage apparatus. I put you inside and suck out all the air. You'll be unable to move and helpless while I tease you."<br> <br> Her blue eyes shine with eager desire. You sense she very much enjoys teasing.<br> <br> "It's a pleasant experience," Va-kyuuma says.<br> <br> You look down at the strange rubber contraption. It also looks an unusual experience.<br> <br> <<if not $player.currIsSubmissive>> /* Dominant */ "Ah, but I can see you're not interested," Va-kyuuma says.<br> <br> She looks you over.<br> <br> "You're the dominant type. You like to be on top and in control. That's okay. I offer regular sexual intercourse as well. We'll do it on the bed."<br> <br> [[She takes you to the regular bed.->Va-kyuuma: Regular Bed 1]] <<else>> "But it might not be for everyone," she says. "Don't feel like you're forced to use it. We can have regular sexual intercourse on the bed if you'd rather do that instead. It's up to you."<br> <br> What would you rather do?<br> <br> [[Try out the vac-bed?->Va-kyuuma: Vac-Bed 1]]<br> [[Regular sexual intercourse?->Va-kyuuma: Regular Bed 1]] <</if>>
She takes you over to the proper bed and watches dispassionately while you take your clothes off and leave them at the foot. She doesn't undress. You wonder if she even can. The more you look at her, the more that glossy black bodysuit looks like it's actually part of her.<br> <br> Va-kyuuma gets on the bed fully clothed. She lies on her back and opens her legs. A hidden seam at her crotch pops and exposes the naked, hairless folds of her sex.<br> <br> You get up on the bed and kneel between her legs. You crank your cock to get it to full hardness, then slowly insert it into Va-kyuuma's pussy. She stays emotionless as you do so. You suppose she's done this many times before.<br> <br> She smiles pleasantly up at you, but does nothing more than lie back as you thrust back and forth into her.<br> <br> Her pussy feels a little different – a smooth, well-lubricated tunnel. She's warm and tight, but the walls are so smooth there's little friction to arouse you. You suspect you're going to have to do all the work here.<br> <br> Or maybe not.<br> <br> "Would you like it a little tighter?" Va-kyuuma asks.<br> <br> [[She tightens.->Va-kyuuma: Regular Bed 2]]
<<if $allHarlots[$hi].hasBeenVisited>> "Mmm, so you like a good tease," Va-kyuuma says. <<else>> You decide to try the vac-bed out.<br> <br> "Good," Va-kyuuma says. "People should always look to try out new experiences. I'm sure you'll find this to be very pleasant." <</if>> <br> <br> She opens up the vac-bed and has you take your clothes off and slide inside. The smooth rubber feels cool against your skin, but soon warms up.<br> <br> "Let's make sure it's properly sealed."<br> <br> The vac-bed is a rubber envelope stretched between a rigid frame. It's large enough to contain a full-grown man. There are two openings. A porthole for your face and a smaller opening for your genitals. Va-kyuuma seals you in and carefully exposes your cock and balls through the lower opening.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> As before, Va-kyuuma takes the trailing air hose and sits on a chair. Even though you've seen it before, you still have trouble believing what happens next. <<else>> Then, she takes the trailing air hose and sits on a chair. You presume she must have a vacuum cleaner or something similar to suck the air out, but you don't see anything. <</if>> <br> <br> "You'll be in the dark for the tease, but I show everyone this," Va-kyuuma says. "My producer said it would be a big turn-on for the men to see, and it usually is."<br> <br> The end of the ribbed air hose terminates in a plastic cup. Va-kyuuma opens her legs and fits the cup over her vagina. She throws her head back, gives a sultry grunt of effort and flexes her body. <<if not $allHarlots[$hi].hasBeenVisited>> <br> <br> No, surely not. <</if>> <br> <br> [[Continue.->Va-kyuuma: Vac-Bed 2]]
On cue, her vagina narrows and the walls press all around your cock. Pumping back and forth generates a vacuum pull on your cock that's quite pleasant.<br> <br> Va-kyuuma still does nothing but lie back and let you plough her pussy. She doesn't moan or sigh, just continues to look up at you with a faint smile on her lips. It feels like fucking an inanimate sex doll, even if Va-kyuuma is a damn sight more attractive.<br> <br> "Let me turn up the vacuum a little," Va-kyuuma says.<br> <br> You don't have to ponder what that means as you're immediately gripped by a strong suction that has you fall down on Va-kyuuma with a surprised "whoa".<br> <br> She's still staring at you with that fixed artificial smile, but you'd swear you saw a glimmer of mischief in her blue eyes.<br> <br> [[Continue.->Va-kyuuma: Regular Bed 3]]
You resume pounding her tight pussy. Your cock still slides back and forth in her smooth vagina with barely any friction. It's harder work now, as there is a powerful – and pleasant – force pulling back at you.<br> <br> "I just need a sample," Va-kyuuma says. "Then I can work my sex magic."<br> <br> This is moving away from the vanilla, you think. You try to put it out of your mind and keep pistoning into Va-kyuuma's pussy. The vacuum tug feels surprisingly pleasant.<br> <br> "Ah, there it is," Va-kyuuma says.<br> <br> You wonder what she means. You haven't come. Maybe it's your pre-cum. You're probably leaking some at this point.<br> <br> "Analysis complete," Va-kyuuma says. The blue irises of her eyes glow like LEDs.<br> <br> After previously being passive for the whole time you were fucking her, Va-kyuuma surprises you by suddenly wrapping her long legs around you. She does the same with her arms, hugging you close to her.<br> <br> "Engaging ejaculation-inducing vacuum," Va-kyuuma says.<br> <br> [[Continue.->Va-kyuuma: Regular Bed 4]]
You give another surprised "whoa". The vacuum pull of her pussy increases dramatically in force. You can't pull out. The vacuum oscillates and waves of force ripple down your cock in a constant, stroking suck.<br> <br> "Don't hold back," Va-kyuuma says.<br> <br> You couldn't even if you wanted to. Your body heats up as strange energies pulse through it. The vacuum suck on your cock is irresistible. You go limp in Va-kyuuma's arms and moan as you climax and empty a great flood of semen into her.<br> <br> "Ejaculation induced. Contract has been established. Commencing full vacuum," Va-kyuuma says.<br> <br> [[Continue.->Va-kyuuma: Regular Bed: Bad End]]
The vacuum force from Va-kyuuma's vagina intensifies further. It's too powerful, like she's trying to suck in more than just your semen. Weird energies crackle through you and you start to feel strange... soft.<br> <br> "Yes," Va-kyuuma sighs.<br> <br> Now she shows emotion. Her eyes close. Her cheeks puff as if she's exerting herself.<br> <br> You try to pull away. It feels like Va-kyuuma is trying to suck in your whole body. She hugs you close with her arms and legs wrapped around your squirming body. Her vagina continues its frightfully powerful vacuum tug.<br> <br> "Don't fight it," Va-kyuuma says. "My sex magic is taking hold. Let it happen."<br> <br> Dark magical energies pulse through your body. Under their influence bones soften and muscles liquefy. Until, with a great orgasmic moan, Va-kyuuma sucks the whole of your now-soft body into her vagina. Then she lies back on the bed, panting from the exertion, her belly swollen as if heavily pregnant.<br> <br> She puts a finger in her mouth and slides it over her belly bulge.<br> <br> "Ingestion complete," she sighs.<br> <br> You don't return from her vagina.<br> <br> <<include [[Va-kyuuma: Clean-up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
<<if not $allHarlots[$hi].hasBeenVisited>> Surely yes. <br> <br> <</if>> You hear no noise, but the air starts to leave the vac-bed as if sucked out. The rubber crinkles up and starts to cling to your skin. Loosely at first, but tighter and tighter until it becomes difficult to move. Va-kyuuma keeps sucking out all the air with her pussy until the whole vac-bed crinkles up and you feel vacuum-packed inside. It's a strange feeling, but also erotic as the warm rubber clings to you all over like a second skin.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Mmm, I see you're just as turned on as before," <<else>> "I told you it would be a turn-on," <</if>> Va-kyuuma says. She glances over to where your cock is standing up in full erection through the hole in the rubber.<br> <br> She twists a valve at the base of the tube, stopping air from flowing back in.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Are you imagining what it would feel like if my pussy sucked on your cock like that?" <<else>> "I let them watch that part." She walks up to the side of the vac-bed. "But only that part." <</if>> <br> <br> She crouches down next to the bed and folds an opaque rubber flap over the face hole. She fixes it in place and puts a short air hose in your mouth so you can still breathe. Now you can't see anything.<br> <br> "Mmm," Va-kyuuma says. You think she's standing just to the left of you. "I've sucked you into my little vac-bed and taken away both your movement and your sight. You're totally at my mercy."<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> You test your limbs. You're just as immobilised as before and deliciously at her mercy. <<else>> You wonder if this was a good idea. You test your limbs. There's barely any give in the rubber. You're immobilised. <</if>> <br> <br> "And now I'm going to tease you... mercilessly," Va-kyuuma says.<br> <br> [[Continue.->Va-kyuuma: Tease 1]]
You can hear her moving around you, but have no idea what she is doing.<br> <br> She gives your cock a light slap, setting it swaying.<br> <br> "Don't fall asleep in there," she says.<br> <br> There's no chance of that.<br> <br> You feel something slide along the side of your body. You can't tell if it's her hand or foot.<br> <br> Then you feel weight on top of you as she sits or lies on you. You feel more strokes and caresses through the rubber. Is that the palm of her hand, or her tongue? It's maddening. She's all over you, but you can't tell what she's touching you with.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> She leaves you. You know it's part of the tease and you wait, expectantly, and then tremble in delight as she returns to blow warm air against your cock. <<else>> She leaves you. You don't feel anything for some time and wonder if she might have been called away and then forgotten about you. And then, just when you're fearing you've been abandoned, you feel warm air blown against your cock. <</if>> <br> <br> "I love teasing this part the most," Va-kyuuma says.<br> <br> [[Continue.->Va-kyuuma: Tease 2]]
She blows more air against your cock. Whatever hardness you'd lost is quickly regained as your cock stands upright and throbs with a need for more attention.<br> <br> Va-kyuuma denies it. For a while. Then she returns with a stroke... a kiss. All the time keeping you hard and eager.<br> <br> Then another pause.<br> <br> This time she returns with toys. Your cock is exposed to a variety of stimuli. She tickles it with feathers, with soft fur... with some kind of vibrating wand. Caught between the rubber sheets, you writhe helplessly while she plays with you.<br> <br> "This toy is the best," she says.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> <<include [[Va-kyuuma: Toy 1: Repeat]]>> <<else>> <<include [[Va-kyuuma: Toy 1: First-Time]]>> <</if>> [[Continue.->Va-kyuuma: Toy 2]]
The soft pliable material bunches up around your cock and starts tugging on you with muscular sucks.<br> <br> <<if not $allHarlots[$hi].hasBeenVisited>> What? Is it alive?<br> <br> <</if>> "Mmm, it's a good toy, is it not," Va-kyuuma says.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>>You still have no idea what it is. <<else>>What is it? <</if>>Not being able to see is maddening as the thing stimulates your cock with slow deep sucks.<br> <br> "Lie back. Relax. Let it suck the cum out of you," Va-kyuuma says. From her voice, she appears to be lying down next you.<br> <br> The thing, whatever it is, continues to suck on your cock with regular pulsing gulps. As much as it weirds you out not being able to see it, the muscular milking action starts to have an effect on your cock. You grow harder still and begin to throb from the stimulation. This triggers a change in the living sheath. The pulsing suction grows harder and faster. You squirm helplessly beneath it, knowing you're being sucked inexorably to orgasm by this artificial pulsing thing.<br> <br> "Yes, spurt it out," Va-kyuuma says. "Give me a nice big sample."<br> <br> Her toy speeds up, ratcheting the arousal still higher.<br> <br> [[You don't think you can hold on...->Va-kyuuma: Climax]]
<<if $player.semenCount gte 3>> <<include [[Va-kyuuma: Good End]]>> <<else>> <<include [[Va-kyuuma: Not Enough Semen]]>> <</if>>
/* do this 3 times - Va-kyuuma always gets 3 units, regardless of charms */ <<set $semenChange to -1>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> <<set $semenChange to -3>> <<include [[NPC Potion: Track Semen Harvested]]>> You can't hold out against that. You climax... hard.<br> <br> You buck and thrash as much as the tight rubber sheets allow and spurt out a massive dollop of semen. The artificial sheath, if it is indeed artificial, battens down on your cock and hungrily gulps down your issue. The sucking motions trigger another explosive ejaculation and the undulating sheath greedily milks you for more and more. You writhe beneath it, helpless to resist.<br> <br> "Mmm, I think that's enough," Va-kyuuma says.<br> <br> She turns her toy off, releasing you from its greedy suction. She slides the moist sheath off your erection. Your cock releases a couple of spasmodic dribbles and then the massive orgasm finally subsides. You lie back, breathing heavily through the breathing tube.<br> <br> Va-kyuuma gives you a moment to recover, then lets the air back into the vac-bed and helps you out.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Such a big sample, again."<br> <br> Again, she insists on showing you a vial filled with your issue. Again, you marvel at just how much her mysterious toy has sucked out of you. <<else>> "Look at how much you produced," she says, holding up a vial containing a cloudy liquid.<br> <br> You're not sure you want to look at that right... wow, did you really come that much? <</if>> <br> <br> "My producer will be really happy."<br> <br> Va-kyuuma seems giddy with excitement. It's quite endearing. She helps you back to your feet and over to your clothes.<br> <br> "I hope you enjoyed the extraction process."<br> <br> It was pleasant, if draining. And you're alive. In a House filled with dangerous sex demons that probably counts as a win. You put your clothes on and leave a happy Va-kyuuma with her 'sample'.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <<include [[Default Harlot: Faction Increase]]>> <<set $allHarlots[$hi].hasBeenVisited to true>> <<include [[Va-kyuuma: Clean-up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<set _noSemen to $player.semenCount eq 0>> <<set $semenChange to -3>> <<include [[Checked Semen Change]]>> <<if _noSemen>> You hold out, but only because you think you've already been drained of all your semen by the House's other occupants. You squirm and writhe in helpless pleasure while Va-kyuuma's toy keeps sucking on you. Nothing comes out though. It's unable to bring you to climax. <<else>> It takes a little longer to get you there. The other occupants of the House have already comprehensively drained your balls, so you're not sure you have that much. You do have some. Eventually Va-kyuuma's remorseless toy is able to bring you to climax, but it's a weak one that feels more like a dribble than a great spurt.<br> <br> "Is that all?" Va-kyuuma says. <</if>> <br><br> She turns off her toy, whatever it is, and gently slides it off your erection.<br> <br> <<if _noSemen>>"No cum,"<<else>>"Not enough cum,"<</if>> she says.<br> <br> That is a rather unfortunate end to the session, you think. Especially after all the delicious teasing. Maybe it's the vac-bed... or her mysterious toy (which you worry might be some freaky living thing rather than an artificial device). Most likely it's because you've been forced to come multiple times already this evening by the House's other girls and you don't have anything left.<br> <br> "Oh well. My producer says I can take those ones. It's the rules of the House."<br> <br> You feel a weight settle on your lap and realise Va-kyuuma is straddling you. Your cock, still hard, is drawn up into what you think is her pussy. It feels a little smoother in comparison to the other women you've had sex with, but is at least well lubricated. Then a powerful vacuum starts up inside her and your cock is gripped by a powerful suction.<br> <br> That is definitely not like any other woman you've ever had sex with.<br> <br> [[Continue.->Va-kyuuma: Horror End]]
The suction increases in power until it starts to feel uncomfortable.<br> <br> "If you can, you should ejaculate," Va-kyuuma says. "In a moment I'm going to turn up the suction and draw your whole body into me. I am imbued with a special magic that softens the body and makes it an intensely pleasurable experience, but it requires a sample of your issue first. Without it..."<br> <br> She leaves that possibility unsaid.<br> <br> "I will help you," she says. "Commencing ejaculatory-inducing vacuum."<br> <br> Something clicks within her and the powerful sucking force starts oscillating up and down your cock. It manifests as regular tugging pulses. Normally that would be enough to get you coming in next to no time, but sadly your balls are totally depleted and don't respond to even this amazing stimulation. You don't hit climax.<br> <br> "No semen detected," Va-kyuuma says. "Failed to induce ejaculation. Commencing full vacuum."<br> <br> Full vacuum is far beyond even the already incredible suction pull of her pussy. It's powerful enough to suck your whole body through the narrow hole in the rubber sheet and up into Va-kyuuma's vagina. Unfortunately, you haven't been softened first by Va-kyuuma's special sex magic, so the process is painful, extremely messy and far too gruesome to be described here.<br> <br> <<include [[Va-kyuuma: Clean-up]]>> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
<<if $player.charms.includes(13)>> <<set $allHarlots[_hi].shortDescription to "a tall, lithe, muscular snake woman with tanned skin and long sandy-coloured pigtails. Below the waist her body switches to that of a giant snake.">> <<else>> <<set $allHarlots[_hi].shortDescription to "a tall, lithe, muscular woman with tanned skin and long sandy-coloured pigtails.">> <</if>>
/* Bottle of Lube */ <<set $gift to { number: 17, name: "Bottle of Lube", description: "A bottle of clear lubricant.", categories: [5, 6] }>>
/* Screwdriver */ <<set $gift to { number: 18, name: "Screwdriver", description: "A red-handled screwdriver.", categories: [11] }>>
<<if _scoreArray[1][1] and not _osa[1][2]>> /* must start with linebreaks if wish to start on new line */ <br> <br> "Ah, Va-kyuuma's mysterious pregnancy bump. If it is. Its rising always seems to correspond with another patron leaving, which raises implications best not contemplated." /* must end with linebreaks if wish feedback to start on new line */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
<<print $npcMoney.name + "'s">> whiskers bristle.<br> <br> "Harrumph. The thought of being trapped in her infernal rubber contraption, blind and unable to see what's she doing, solicits only dread. Not for me. Not for me at all. I do wonder what regular sexual intercourse with her is like, but everyone I speak to always chooses to play in her rubber bed." /* do not end with linebreaks */
/* Calliophi */ <<set $hi to 23>> <<set $allHarlots[$hi] to { number: $hi, name: "Calliophi", shortDescription: "a slender, lithe woman with pale skin and an exotically beautiful face. She wears a short plain white robe that appears to have been chosen more for practicality.", faction: 6, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, hasReceivedFluffyThing: false, hasGivenHappyEnding: false, hasBeenAskedForSex: false, gifts: [7, 4], affection: 0, preIntroductionLink: "Calliophi: Pre-Introduction", introductionLink: "Calliophi: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Calliophi: Socialising", npcGossipLink: "Calliophi: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Calliophi: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Calliophi: Scenario", sellExpLink: "Calliophi: Sell Exp", sellExpIntroLink: "Calliophi: Sell Exp Intro", sellExpBodyLink: "Calliophi: Sell Exp Body", sellExpFeedbackLink: "Calliophi: 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.hasSeenLamia to true>> <<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 x>> */ <<set $player.currIsCautious to false>> <<set _ailment to 6>> <<include [[Add Player Hidden Ailment]]>> <<set $hi to 23>> /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[1]>> /* <<set $cgi to 0>> */ <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a slender, lithe woman with pale skin and an exotically beautiful face. She wears a short plain white robe that appears to have been chosen more for practicality.">>
/* Madam intro */ "Ah, our lovely sinuous masseuse, Calliophi," $npcMadam.name says. "She is devoted to the arts of sensual pleasure." <br> <br> /* Long description */ Calliophi is a slender, lithe woman with pale skin. Her face is exotically beautiful with sultry green eyes. Her long lustrous black hair is tied behind her back in a long plait.<br> <br> She wears a short white robe made out of a plain cotton-like material. You can just about make out the lithe contours of her body beneath. She doesn't appear to wearing anything beneath the robe. Striking copper bracelets of serpentine design adorn her slender arms.<br> <br> Her long lashes flutter demurely as she looks at you.<<if $allHarlots[$hi].hasBeenVisited>> It's strange. You've seen her in her room. You know she is a lamia and has the lower body of a snake. Yet, you can't see that here. It's like your gaze slides off every time you try to glance below her waist.<<else>> She seems perfectly human... until you see a forked tongue flicker between her lips.<</if>><br> <br> /* Harlot intro */ <<if $allHarlots[$hi].hasBeenVisited>> "Hi," Calliophi recognises you. "Would you like me to relax you with another sensual massage." <<else>> "Hi, I'm Calliophi," she introduces herself. "I can relax you with a sensual massage if you're feeling tense or anxious." <</if>> <br>
You take Calliophi out to the bar area. <br><br> <<set $socNoMoneyLink to "Calliophi: Socialising: No Money">> <<set $socDrinkLink to "Calliophi: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> Calliophi's face scrunches up in apology.<br> <br> "I'm sorry, but if you don't have the <<print $currencyName + "s">> to buy me a drink, I have to return. $npcMadam.name is very strict on that."<br> <br> She leaves.<br> <br> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and what looks like some kind of protein shake for Calliophi.<br> <br> As she drinks, Calliophi looks around the room.<br> <br> "This is a dangerous place," she says, glancing from table to table, where pretty girls in not many clothes chat to entranced men. "It masquerades as a house of pleasure, but it's really an abattoir and you are all meat."<br> <br> This was a bit... heavier than you were expecting for light conversation. You enquire if Calliophi also eats meat.<br> <br> "Not anymore. I took an oath," she answers. I worship Priti Nāndyāh, the Goddess of Sensuality and Pleasure. To take the sensual arts and waste them on the mere gratification of hungers is a sin in her eyes."<br> <br> She takes your hand and gives you a warm smile.<br> <br> "You have nothing to fear from my session. To bring pleasure and relaxation is my only desire."<br> <br> <<include [[Socialising: End]]>>
"Oh dear. Poor deluded little Calliophi. She's far too pure for this House, which is why our dear Madam keeps her here. She follows a weird little religious sect that believes a succubus's gifts of pleasure should be used for higher purposes. Foolish."<br> <br> $npcGossip.name scoffs.<br> <br> "The irony of it all is that the venom in her fangs is one of the most lethal substances in here. Even the anti-poison magic charms are useless against it."<br> <br> She takes another puff on her cigarette.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"If you want to experience a real whoompth down here...\"\<br\>\<br\>She raises her arm in her lap like an elephant's trunk. Or something else...\<br\>\<br\>\"...get her to bite you.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"I've heard her massage can be quite therapeutic.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"The silly snake doesn't offer sex. I think she forgets what this House is. However, she does have a sister here who isn't such a wet noodle. She's a lot more fiery and passionate, and also fiercely protective of her misguided little sister.\""}>>
<<set $isFactionIncrease to false>> <<set $playerStruggled to false>> <<set $isConfirmedBlackRose to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Calliophi: First-Time Scenario]]>> <<else>> <<include [[Calliophi: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [0,false,false], /* leave early. No score, just a tag */ [1,false,false], /* plain massage */ [2,false,false] /* erotic massage with happy ending */ ] }>> Calliophi's room is small and intimate. The first thing you notice is the pleasant scent in the air. The source is various incense burners placed around the room. The walls are adorned with billowing silks, making the room seem even more intimate. Neat cases of shelves filled with various exotic bottles and flasks line the walls on either side. The centrepiece of the room is a plain stool with a padded white seat.<br> <br> "Please come in," Calliophi says.<br> <br> <<if $player.hasSeenLamia>> You notice immediately she's another snake person - a lamia or naga of myth. Below the waist her body <<else>> You have to do a double-take. This is not the Calliophi who introduced herself to you in the main room. That Calliophi didn't have a long serpentine lower body.<br> <br> Below the waist Calliophi has the body of a snake. It <</if>> tapers to a long and slender tail and is covered in green and copper scales. They gleam as if freshly polished. Her lower body is not the only place with scales. You see patches on her cheeks and at the elbows revealed by her rolled-up sleeves. Strangely, they complement her exotic features.<br> <br> [[Continue.->Calliophi: Early Decline Option]]
/* 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 Calliophi's small and intimate room. There is a pleasant scent in the air from the various incense burners. The walls are adorned with billowing silks and the shelves are stacked with various exotic bottles and flasks. Calliophi 'stands' just behind the plain white stool with the padded seat in the centre of the room.<br> <br> "Welcome back," she says. "Please come in."<br> <br> Calliophi's snake-like body isn't a surprise this time. Or the little patches of scales at her cheeks and elbows that glitter like sequins.<br> <br> <<include [[Calliophi: Pre-Gift]]>>
She notices your <<if $player.hasSeenLamia>>surprise.<<else>>alarm.<</if>><br> <br> "I hope my true form isn't too much of a shock to you." She lowers her head demurely. "$npcMadam.name insists we disguise our forms in the downstairs area so as not to alarm the patrons."<br> <br> <<if $player.hasSeenLamia>> She's not the first snake girl you've seen in the House, but it always comes as a surprise.<br> <br> <</if>> She sweeps her arms out to encompass her body. Her robe falls open slightly and you catch a glimpse of the side of one of her breasts.<br> <br> "I am, as you can see, a lamia. I am also a devotee to the arts of sensuality and pleasure. I will not cause you any pain or suffering."<br> <br> /* change 'arts of sensuality and pleasure' to fit the sensuality faction she belongs to once the proper name has been established */ She tilts her head back up to look at you. Her expression is both nervous and hopeful, and surprisingly vulnerable given her reptilian appearance.<br> <br> "Now that you know what I am, do you still wish to receive a massage from me?" she asks.<br> <br> <<set $player.hasSeenLamia to true>> [[No, she's a freaking snake!->Calliophi: Early Decline]]<br> [[Yes.->Calliophi: Early Accept]]
Calliophi seems saddened by your response, but she makes no attempt to prevent you from leaving. You suspect this is an answer she's received many times before.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<set $allHarlots[$hi].hasBeenVisited to true>> /* this path shuts off future visits */ <<set $allHarlots[$hi].isRepeatable to false>> <<include [[Calliophi: Scenario Clean-up]]>> <<include[[Harlot Scenario: End]]>>
Calliophi immediately brightens up.<br> <br> "Enter," she says. "My little room is a shrine to sensuality. You can forget all your cares here."<br> <br> <<include [[Calliophi: Pre-Gift]]>>
<<unset $playerStruggled>> <<unset $isConfirmedBlackRose>>
<<if $cgi eq 0>> <<include [[Calliophi: Gift: Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> <<include [[Calliophi: Gift: Fluffy Thing]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[1]>> <<include [[Calliophi: Gift: Oil]]>> <<else>> <<include [[Calliophi: Gift: Default]]>> <</if>>
Calliophi takes the <<print $allGifts[$cgi].name + ".">> Her exotic features are inscrutable for a moment. She looks from the $allGifts[$cgi].name to you.<br> <br> "Do you know the significance of this?" she asks.<br> <br> [[Yes.->Calliophi: Black Rose: Yes]]<br> [[No.->Calliophi: Black Rose: No]]
Calliophi sees the $allGifts[$cgi].name and her eyes light up. She smiles.<br> <br> <<if $allHarlots[$hi].hasReceivedFluffyThing>> "Another one," she says. <<else>> "Aww, the traditional gift for a lamia," she says. "It's supposed to be a tasty treat, but some of us have moved on and put barbarism behind us. My sister gets mad when men bring it to her. She considers it insulting. I don't mind. You're not to know." <</if>> <br> <br> She takes the jar over to a medium-sized cage sitting on top of one of the shelves. <<if $allHarlots[$hi].hasReceivedFluffyThing eq false>> <br> <br> "I cannot eat them and it would be cruel to throw them away, so I keep and care for them."<br> <br> <</if>> She opens a hatch in the top of the cage and carefully places the $allGifts[$cgi].name inside. It joins the other indeterminate fluffy things burrowing in the sawdust at the bottom of the cage.<br> <br> "Be nice," Calliophi says to the cage. "Don't eat each other."<br> <br> She turns her attentions back to you.<br> <br> <<if $allHarlots[$hi].hasReceivedFluffyThing>> "I'll need to get a new cage at this rate."<br> <br> <</if>> <<set $allHarlots[$hi].hasReceivedFluffyThing to true>> [[Continue.->Calliophi: Massage Prep]]
Calliophi sniffs the oil and tests the clear liquid between her fingers.<br> <br> "Good quality," she says.<br> <br> She sniffs it.<br> <br> "Arousing aroma," she says. "Perfect for erotic body-to-body massage. While that isn't quite what I offer here, I can still use it as part of your massage, if you'd like."<br> <br> You nod and she puts it on a small wheeled trolley already crowded with various exotic bottles and flasks.<br> <br> [[Continue.->Calliophi: Massage Prep]]
She takes your gift, thanks you and places it on a shelf packed with an assortment of strange items.<br> <br> [[Continue.->Calliophi: Massage Prep]]
You tell her you do.<br> <br> She puts her hands together and bows.<br> <br> "Then I shall carry out your wishes."<br> <br> She places the $allGifts[$cgi].name in a vase, puts it on a shelf and returns to you.<br> <br> <<set $isConfirmedBlackRose to true>> [[Continue.->Calliophi: Massage Prep]]
It has significance?<br> <br> You tell her no.<br> <br> Calliophi nods. She takes the $allGifts[$cgi].name over to one of the shelves. You think she's going to put it in a vase, but when you look the $allGifts[$cgi].name doesn't appear to be there.<br> <br> [[Continue.->Calliophi: Massage Prep]]
<<if $allHarlots[$hi].hasBeenVisited>> After taking your gift, Calliophi slithers to the back of the room and turns on that old CD player you were so surprised to see last time. <<else>> After taking your gift, Calliophi slithers to the back of the room. You are surprised to see her turn on an old CD player. The electronic device looks a little incongruous. It's a reminder of the regular world outside. A world that doesn't have magic, sex demons and pretty girls with the lower bodies of snakes.<br> <br> <</if>> Inoffensive relaxing music fills the air.<br> <br> "Take your clothes off, sit here, and we'll begin your massage."<br> <br> Calliophi taps the padded seat of the plain white stool.<br> <br> You take your clothes off and hang them on a nearby hook. Calliophi removes her plain white robes and you're not surprised to see she's naked underneath. Her body is lithe and trim – a dancer's body. You notice more patches of scales – at her shoulders, elbows and sides. They look like sequins glued to her skin as part of an exotic costume.<br> <br> You sit on the stool. Calliophi adjusts the height and positions herself behind you. She starts kneading the muscles of your shoulders with surprisingly strong fingers.<br> <br> "I want you to relax," she says. "My room is a temple to sensuality and relaxation. While you are relaxed, no harm can come to you here."<br> <br> She continues to knead the muscles of your shoulders. Her touch is very skilled. You feel knots you never knew you had start to loosen.<br> <br> [[Continue.->Calliophi: Massage 1]]
<<if $allHarlots[$hi].hasBeenVisited>> "You're still so tense," Calliophi says. "The pressures of trying to survive in here must weigh heavy on the soul." <<else>> "You're very tense," Calliophi says. "It's understandable. This House is a deathtrap. A pretty deathtrap, lined with fine silks and filled with pleasant perfumes, but no less lethal for it. Most of the girls here want your life and soul." <</if>> <br><br> Her hands move up to your neck. Her touch is lighter, but no less soothing.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "As a devotee of Priti Nāndyāh, I will do my best to lighten that load." <<else>> "Not me. I became a devotee of Priti Nāndyāh. We believe our sensual gifts should not be wasted in the mere gratification of carnal lusts and hungers." <</if>> <br><br> Her incredible fingers, so deft, move up to your head and start to gently knead your scalp.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "So, relax. Let my fingers caress your worries away." <<else>> "Unfortunately, all of us who work within the House are bound by its rules. I cannot help you escape, but I can use my session to lighten the weight on your shoulders." <</if>> <br><br> The tips of her fingers dance all over your scalp. At her delicate touch you feel like a dark cloud is lifting, one you were previously unaware existed.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> "Enjoy this moment of blissful serenity." <<else>> "To give you a moment of blissful serenity." <</if>> <br><br> She pulls your head back so it's resting on the twin soft pillows of her breasts. Her hands move to your temples and she massages them with slow circular rubs.<br> <br> [[Continue.->Calliophi: Massage 2]]
You let your head rest against her bosom and relax. Her head massage has you feeling properly pampered.<br> <br> <<if $allHarlots[$hi].hasBeenVisited>> And again, her lovely delicate touch translates into your arousal. Your penis rises up in erection. And again, Calliophi is unfazed by it. <<else>> And also a little aroused. Calliophi might claim it's not that 'sort' of massage, but you get turned on anyway. You feel a little bit of shame as you glance down and see your penis rise up in erection.<br> <br> Calliophi notices and seems unconcerned. <</if>> <br> <br> <<if $allHarlots[$hi].hasGivenHappyEnding>> <<include [[Calliophi: Repeat Erotic Massage]]>> <<else>> <<if $allHarlots[$hi].hasBeenVisited>> <<include [[Calliophi: Ask Permission: Repeat]]>> <<else>> <<include [[Calliophi: Ask Permission: First-Time]]>> <</if>> <</if>>
"Oh good," Calliophi says. "A healthy ejaculatory release is so good at flushing negative energy out of the body. I feel a massage is incomplete without it."<br> <br> She presses her body close to yours. You feel her slim belly press against your naked back. She rests your head back against her soft boobs while her fingers work wonders with your facial muscles.<br> <br> She winds her serpentine tail around your legs. That rather spoils the illusion of receiving a regular massage from an attractive girl.<br> <br> [[Try to kick the coils away?->Calliophi: Struggle 1]]<br> [[Let her carry on?->Calliophi: Erotic Massage 1]]
"As you wish," Calliophi says. "Some are discomfited at having their intimate parts touched outside of lovemaking. <<include [[Calliophi: Decline Erotic]]>>
You struggle and try to stop Calliophi winding her coils around your body.<br> <br> "It's okay, just relax," Calliophi says. "It's part of the massage."<br> <br> [[Stop struggling?->Calliophi: Stop Struggling]]<br> [[Keep struggling?->Calliophi: Struggle 2]]
Calliophi pushes your head back against her bosom. Her exquisite fingers continue to knead the muscles of your face. Her serpentine body slides against you and gives you a gentle squeeze.<br> <br> "I'm going to start stimulating the arousal centres now," Calliophi says.<br> <br> Her fingers dance along the line of your jaw, caress behind your ears and tickle up through the hairs of your scalp. Your hairs rise up and you feel a pleasant tingling sensation.<br> <br> "Relax," she whispers. "Let the erotic charge build within you."<br> <br> It's not the only thing building. Your erection stands upright and obvious.<br> <br> "Don't be ashamed," Calliophi says. "It's natural. And healthy."<br> <br> She lifts up the tip of her tail in between your legs and wags it.<br> <br> <<if $allHarlots[$hi].hasGivenHappyEnding>> <<include [[Calliophi: Consider Asking For More]]>> <<else>> "Let me help you release that tension."<br> <br> [[Continue.->Calliophi: Erotic Massage 2]] <</if>>
You stop struggling and let Calliophi wind her serpentine body around you.<br> <br> "See, it's okay," she says. "There's nothing to be scared of. Just relax. Let me pamper you."<br> <br> [[Continue.->Calliophi: Erotic Massage 1]]
You don't want her serpentine form coiled around you. You continue to kick out and prevent her from tightening her coils.<br> <br> "No, I'm not a constrictor. There is no need to be concerned."<br> <br> She pleasantly kneads your shoulders in an attempt to reassure you.<br> <br> [[Keep Struggling?->Calliophi: Struggle 3]]<br> [[Stop Struggling?->Calliophi: Stop Struggling]]
"No, no, no," Calliophi protests as you struggle more violently. "Please relax. You'll trigger my—"<br> <br> You cut her off by inadvertently stomping down on the end of her tail.<br> <br> Calliophi gives an angry hiss, tilts your head to the side and sinks long fangs into your neck. At first there's shock and a brief spike of pain. Then that shock gives way to shock of a different kind as Calliophi injects her venom into your bloodstream. It feels like opiates mixed with a powerful aphrodisiac and you are overwhelmed with both bliss and unbearable horniness. Stunned, you lean back against her as her venom runs through your veins like warm magma.<br> <br> "Oh... forgive me, Priti Nāndyāh. I didn't mean to. I'm so sorry."<br> <br> Calliophi retracts her fangs. Her bite is so clean all it leaves behind are two pinpricks beaded with blood.<br> <br> You feel... strange.<br> <br> <<set $playerStruggled to true>> [[Continue.->Calliophi: Bad End 1]]
"I am not a constrictor, I am a venomous lamia," Calliophi says. She sounds sad. "It is my curse. My bite brings the greatest pleasure... and then death. <<if $playerStruggled>> Forgive me, Priti Nāndyāh. I am still weak. I cannot fully control my instincts." <<else>> If I had the choice, I would never use it. But the House is cruel and rules are rules. We all must abide by them." <</if>> <br> <br> You start to feel weird, but pleasantly so. Your body heats up all over. The glow is especially concentrated in your loins. Your cock rises in an iron-hard erection. You're not sure what Calliophi is talking about. You feel great.<br> <br> "There's no point fighting it. My venom has you in its grip. In a moment you're going to start ejaculating and won't be able to stop. All I can do is make these last moments pleasurable for you."<br> <br> She snuggles up to you. The tip of her tail, slick with lubricating oil, coils around your cock and starts to pump you with twisty squeezes.<br> <br> You don't really need it. You feel so horny a gentle puff of air would be enough to get you to explode.<br> <br> You let out a cry and spray a long stream of semen in a great arc. The feeling of release is indescribable. It's not even the end. As Calliophi's tail continues to masturbate you, your cock throbs again and another great arc of cum shoots over the floor.<br> <br> [[It's not stopping...->Calliophi: Bad End 2]]
She sends her tail over to the nearby trolley and dips the tip in a flagon of scented oil. She brings it back dripping with lubricant and coils it around your erection. Then she starts pumping it up and down in a smooth and easy milking action. It feels like a handjob. A very skilled and very pleasant handjob.<br> <br> Calliophi continues to caress your scalp as her tail jerks you off. "Relax," she whispers. "Let pleasure flow through you. Let it build. We're going to pump out all that unhealthy tension."<br> <br> Her tail coils and squeezes, slides and twists. It gives your whole cock a working over. You slump against her, lost in the blissful sensations. Her long fingers continue to run through your hair and massage your scalp.<br> <br> <<if $isConfirmedBlackRose>> <<include [[Calliophi: Black Rose]]>> <<else>> <<include [[Calliophi: Tailjob]]>> <</if>>
"And now to give you what you asked for, even though it pains me."<br> <br> Her lips brush against your neck. You feel a brief sharp prick of pain as she pops long fangs and sinks them into your flesh. The bite is gentle, almost sensual. The pain is only brief and replaced by a euphoric rush as she injects her venom into your bloodstream. It feels like an opiate mixed with a powerful aphrodisiac. You slump back against Calliophi as it flows through your veins like warm magma.<br> <br> [[Continue.->Calliophi: Bad End 1]]
"Don't feel you need to hold it in," she says softly. "If you want to come, just let go."<br> <br> Her oiled tail smoothly pumps your cock, faster and faster now. You start to let out low moans and tremble on the stool. Sensing you're imminent, Calliophi pulls your head back into against her soft bosom. Her tail winds tighter and squeezes you rhythmically.<br> <br> "Let it go," she whispers.<br> <br> [[You're close...->Calliophi: Semen Check]]
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Calliophi: No Semen 1]]>> <<else>> <<include [[Calliophi: Ejaculation]]>> <</if>>
The urge to come grows and grows, but you can't quite get there. You've been a little //too// active in the House this evening. As good as Calliophi's oil-slick tail feels, it's going to take a bit more work to get you over that threshold.<br> <br> "Relax. Don't push it. It will come," Calliophi says.<br> <br> Her tail winds tighter and pumps harder. Calliophi squeezes, she twists. She attacks your cock with pleasurable sensations from all sides.<br> <br> To no avail.<br> <br> "It's okay. You're stressed," she says. "My form is a little strange for you. We can take longer. Just tip your head back and relax. Lose yourself to the pleasure."<br> <br> She shifts position to allow her tail to get a stronger grip. She gently kneads your shoulders while her tail jerks you off. It pumps you fast, then it pumps you deep and slow. Calliophi tries every trick she knows.<br> <br> [[Continue.->Calliophi: No Semen 2]]
The urge to come grows and grows, until finally – like a wave – it peaks. You groan and thrust and spray semen up and away from you in a great arc. Calliophi keeps pumping you with her oil-slathered tail.<br> <br> <<if $allHarlots[$hi].hasGivenHappyEnding>> "Yes, it's good to let it out." <<else>> "Yes, that's it. Let it all out," Calliophi says soothingly. <</if>> <br><br> She keeps squeezing and pumping your cock until the ejaculation finally subsides to a little dribble.<br> <br> <<if $allHarlots[$hi].hasGivenHappyEnding>> "Healthy." <<else>> "Oh good," she says. "A good healthy release works wonders for stress relief." <</if>> <br><br> She runs her hands through your hair. She uncoils her tail from your spent cock. While you sit on the stool and recover from a very satisfying ejaculation, she fetches some wet wipes and cleans your crotch.<br> <br> [[Continue.->Calliophi: Good End]]
<<if $allHarlots[$hi].hasGivenHappyEnding eq false>> "Did that feel good?" She turns her head and looks up at you with a breezy smile.<br> <br> You nod. It's about all you can do at the moment.<br> <br> <</if>> You feel... pretty damn good. Drained, but in a good way. When you stand up you feel like you're about to float away. You put your clothes back on. When you turn back, Calliophi has already put her robe back on. She gives you a little bow.<br> <br> <<include [[Calliophi: Cure Fatigued]]>> /* For later - this also results in temporary buff - resist pleasure or something similar */ <<if $allHarlots[$hi].hasGivenHappyEnding>> "I'm so happy you let me service you again," she says<br> <br> She looks back up. Her eyes are big and bright and beautiful.<br> <br> "You can come back anytime." <<else>> "I'm so happy to have served you," she says.<br> <br> She looks back up. Her eyes are big and bright and beautiful.<br> <br> "Please do come again." <</if>> <br><br> You leave her little room with a spring in your step. <br><br> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <<set $allHarlots[$hi].hasBeenVisited to true>> <<set $allHarlots[$hi].hasGivenHappyEnding to true>> <<include [[Default Harlot: Faction Increase]]>> <<include [[Calliophi: Scenario Clean-up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
You still can't get there. You wonder if you're done for tonight. You have come a lot already. Maybe your balls are empty.<br> <br> Calliophi refuses to give up. She wraps her serpentine body more tightly around you. Her oil slick tail continues to impart pleasurable friction as she winds it up and down your erection. She even drops her head down to whisper dirty talk in your ear.<br> <br> "Come," she says. "Spray your filthy cum all over my tail."<br> <br> You don't. You're done. After a few desultory dribbles of pre-cum, your cock starts to soften. Even Calliophi's lovely ministrations can't keep it hard.<br> <br> You glance up at her apologetically. She looks so mortified, as if this is somehow her fault even though you know it isn't. You go to tell her that, but before you can she pops long fangs and sinks them into your neck.<br> <br> There's shock and a brief spike of pain. Then it's replaced by a euphoric rush as she injects her venom into your bloodstream. It feels like an opiate mixed with a powerful aphrodisiac. You slump back against Calliophi as it flows through your veins like warm magma.<br> <br> [[Continue.->Calliophi: Bad End 1]]
"Let it out," Calliophi says. "It's all coming out. Better for you to let it flow."<br> <br> You have no problem with that. Calliophi pumps your cock and semen shoots out of you in great splattery arcs. Then you feel a slightly less pleasant convulsion in your loins as muscles pushed beyond their limits start to twinge.<br> <br> Too much, you protest. Your body doesn't listen. More shoots out of you. You squirm and writhe on the stool. The warmth is fading.<br> <br> Calliophi tries to whisper soothing words in your ear. Something is wrong, though, you can feel it. Things breaking inside you.<br> <br> Panic sets in. You can't stop this even though it's ripping you apart inside.<br> <br> Another massive convulsion. Something vital within you tears.<br> <br> Your throbbing cock continues to spray semen even as everything starts to fade to black. The last thing you hear is Calliophi weeping.<br> <br> <<include [[Calliophi: Scenario Clean-up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* both her plain and erotic massages cure fatigue */ <<set _ailment to 6>> <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<include [[Remove Player Ailment]]>> //You have been cured of the// ''$allAilments[_ailment].name'' //ailment.//<br> <br> <</if>>
The walls and furniture are upholstered in polished vinyl. The walls are creamy white while the furnishings are black. The floor is covered in springy white linoleum. A big bed lies to the left. The bedspread is very shiny, as if it's some kind of PVC. The right of the room is a big open space. The cupboards and racks lining the walls are filled with various exotic sex toys.<br> <br> Va-kyuuma is crouched down next to a contraption that looks like sheets of shiny black rubber stretched between a lightweight frame. The apparatus is about the same size as a small bed.<br> <br> "Come in," Va-kyuuma says. "I'm just getting the vac-bed ready for you."<br> <br> She gets up to greet you and you marvel at the way her glossy black jumpsuit clings perfectly to her body. It could be a second skin.<br> <br> Maybe it is her skin.<br> <br> You're not really sure what Va-kyuuma is. She doesn't have the horns and wings of the other devil girls in the House, but she definitely doesn't seem human either.<br> <br> <<include [[Va-kyuuma: In Room Pregnancy]]>> [[You hand over your gift.->Va-kyuuma: Gift]]
<<if $allHarlots[$hi].hasBeenVisited eq true>> <<include [[Va-kyuuma: Vac-Bed Explanation: Repeat]]>> <<else>> <<include [[Va-kyuuma: Vac-Bed Explanation: First-Time]]>> <</if>>
"Now for the session. I don't need to explain anything this time. You've already experienced what it's like to be teased in my vac-bed."<br> <br> Her blue eyes glitter.<br> <br> "Would you like the same again, or would you rather have regular sexual intercourse with me this time?"<br> <br> [[Vac-bed?->Va-kyuuma: Vac-Bed 1]]<br> [[Regular sex on the bed?->Va-kyuuma: Regular Bed 1]]
She slides that strange artificial sheath over your hard cock. You still don't know what it is – whether it is just a rubber toy, or something alive. As before, the interior is soft and slathered in warm lube. It feels really nice wrapped around your erection.<br> <br> And that's before it starts moving...<br> <br>
She slides some kind of artificial sheath over your hard cock. The interior is soft. It would be tight, but Va-kyuuma has slathered the textured interior with lube to allow your erection to smoothly slide inside.<br> <br> "You won't have experienced anything like this," she says.<br> <br> That puzzles you. It feels pleasant enough, but it's just an artificial sex toy sheath. Same as a Fleshlight or similar.<br> <br> Then it starts moving...<br> <br>
Va-kyuuma sits and regards you intently with her vivid blue eyes.<br> <br> "Normally, patrons take me out to find out more about the vac-bed service I offer. But you've already experienced it and know how it works, so I wonder why you're here. If it's about regular sexual intercourse, yes, I do offer that service as well. All you have to do is ask."<br> <br> She tilts her head and smiles prettily at you. <<if $player.currInt gt 3>>There is something disconcertingly //hungry// in her smile.<</if>> <br> <br>
"I don't need to drink," Va-kyuuma offers by way of explanation.<br> <br> Out here, under the lights, the glossy artificial gleam of Va-kyuuma's face seems more pronounced. You wonder what she is.<br> <br> "It's fine, I presume you brought me out here to find out more about the service I offer," Va-kyuuma says.<br> <br> She then proceeds to explain it to you.<br> <br> "The vac-bed is a specialised piece of bondage equipment. It's a rubber bag stretched between a frame. I put you inside and then suck out all the air until you can't move. Then I'll tease you for as long as you can handle it, and then bring you to a satisfying climax when you can't."<br> <br> For a brief moment her emotionless exterior cracks as she gives you a lascivious smile.<br> <br> "It's quite safe. I'm fully proficient in its use. But, if it's not to your interest, I also offer regular sexual intercourse as well."<br> <br> <<if $player.currInt gt 3>> Her smile, already disconcertingly artificial, almost imperceptibly alters further. Just a little – a slight parting of the lips, a brief hungry gleam in her eyes. You have the sudden intuition that regular sexual intercourse with Va-kyuuma would be anything but, and maybe not in a good way.<br> <br> <<else>> She smiles at you. Sounds tempting, you think as you take her back to <<print $npcMadam.name + ".">><br> <br> <</if>>
/* We overwrite the default because of the unusual 0-coin outcome if the player walks out at the start */ /* Intro (as default) */ <<include [[Sell Exp Intro]]>> /* Main (as default) */ <<include [[Sell Exp Body]]>> /* Feedback */ /* player walked out early. */ /* NOTE: Doing this turns off repeat visits and the option is not there for repeat visits, so this check is safe */ <<if _scoreArray[0][1]>> Then, when you're finished, he closes his notebook.<br> <br> "You dolt, she's one of the few girls in here that's close to harmless."<br> <br> He doesn't bring out his wallet.<br> <br> "Of course I'm not going to pay you. You haven't done anything!"<br> <br> And that's that.<br> <br> <<else>> /* (use default) */ <<include [[Sell Exp Feedback]]>> <</if>>
/* Text Here */ <<if _isRepeatVisit>> "You went to see Calliophi again?" $npcMoney.name says.<br> <br> He pulls out his notebook again, but doesn't seem in any hurry to write anything. <<else>> "Ah, Calliophi. One of my favourites." $npcMoney.name pulls out a small black notebook. He doesn't seem that attentive, as if he's expecting to be told a story he's heard before. <</if>> <br> <br>
<<if _isRepeatVisit>> /* must start with linebreaks if wish to start on new line */ <br> <br> "You're lucky to still get a chance to pick her." /* must end with linebreaks if wish feedback to start on new line */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
/* Clean Massage */ <<if _scoreArray[1][1] and not _osa[1][2]>> "Understandable. I do the same, as lovely as Calliophi seems. Some of the she-devils in here switch completely the moment they get the slightest sniff of a man's issue. Better to be boring and safe than sorry and dead." /* Erotic massage */ <<elseif _scoreArray[2][1] and not _osa[2][2]>> "Hmm. I never let it go that far when I visited her. You never know how these she-devils will react the moment they get their first taste of jism."<br> <br> He taps his pen mournfully against his notebook.<br> <br> "Perhaps my fears were unfounded. Oh well. She never shows up in my selection options anymore anyway. I suspect it's that accursed madam's doing." <<else>> ''ERROR: Our Dev done goofed - This should be unreachable. Please let him know so he can fix it.'' <</if>>
You walk in and Calliophi slithers over to you. Her movements are smooth and sinuous.<br> <br> "First we must adhere to the traditions of the House. Do you have a gift for me?"<br> <br> You do.<br> <br> [[You give her your gift.->Calliophi: Gift]]
"I see you've let some tension build up again. It's okay, I'll soon get rid of that."<br> <br> She presses her body close to yours. You feel her slim belly press against your naked back. She rests your head back against her soft boobs while her fingers work wonders with your facial muscles.<br> <br> She winds her serpentine tail around your legs.<br> <br> [[Continue.->Calliophi: Erotic Massage 1]]
"That is nothing to be ashamed of. It's natural," she says. "The sensual and the sexual have always been intertwined. A good strong ejaculation is an excellent way of flushing tension from the body."<br> <br> She presses your head back against her breasts.<br> <br> "I was planning on ending this massage with a good strong ejaculation. But only with your permission, of course."<br> <br> Will you give her that permission?<br> <br> [[Yes.->Calliophi: Accept Erotic]]<br> [[No.->Calliophi: Decline Erotic: First-Time]]
"It's natural and nothing to be ashamed of," Calliophi says.<br> <br> She presses your head back against her breasts.<br> <br> "Your body is sending you a message. Listen to it. Don't repress and deny your desires. It's unhealthy to let the tension build up inside you. So, please, this time let me finish your massage with a good, strong ejaculation. You'll feel so much better for it."<br> <br> [[Let her.->Calliophi: Accept Erotic]]<br> [[Keep it clean.->Calliophi: Decline Erotic: Again]]
Calliophi is again saddened by your decision.<br> <br> "It's okay. I understand. Some find such intimacy discomforting. <<include [[Calliophi: Decline Erotic]]>>
Causing discomfort is a sin in the eyes of Priti Nāndyāh."<br> <br> Calliophi keeps it clean and gives you a regular massage. She has a wonderful touch and afterwards you feel light and airy. You're almost floating as you get up from the stool.<br> <br> <<include [[Calliophi: Cure Fatigued]]>> <<if $allHarlots[$hi].hasBeenVisited>> "Please come again any time you need a relaxing massage." <<else>> "Pick me again anytime you need another relaxing massage," Calliophi says. <</if>> <br><br> She glances down at your flapping erection as you put your clothes back on.<br> <br> "I do wish you'd let me take care of that. It's not healthy to let it build up. Especially in here. The succubi in the House will take advantage of it and use your frustrated sexual tension to enslave or even consume you."<br> <br> She puts her silk robe back on and gives you a chaste little bow as you leave.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<set $allHarlots[$hi].hasBeenVisited to true>> <<include [[Calliophi: Scenario Clean-up]]>> <<include[[Harlot Scenario: End]]>>
"Other ways?" Calliophi says. "Oh, did you find my tail technique not pleasurable enough last time? I'll do better this time."<br> <br> It's not that, you reassure her. It felt very nice last time. It's just...<br> <br> <<if not $player.currIsCautious>> [[Come right out with it and ask her directly if she fucks?->Calliophi: Request Sex: Direct]]<br> <</if>> [[Discreetly try to find out if she fucks?->Calliophi: Request Sex: Indirect]]<br> [[Forget about it?->Calliophi: Request Sex: Change Mind]]
You get straight to the point and ask Calliophi if you can fuck her.<br> <br> "Oh," Calliophi says.<br> <br> Her hands pause what they are doing.<br> <br> "I'm flattered of course," she says. "Sadly, I do not offer full sexual intercourse. I have taken a vow of celibacy. <<include [[Calliophi: Request Sex: Combined]]>>
You spend the next minute or so tortuously trying to find out how far Calliophi goes without directly asking her for something that might offend her.<br> <br> "Are you asking if you can have sex with me?" Calliophi asks.<br> <br> Yes?<br> <br> "I'm sorry, I can't," she says. "I've taken a vow of celibacy. <<include [[Calliophi: Request Sex: Combined]]>>
...nothing, you tell her. Just ignore me.<br> <br> "See, tension," Calliophi says. She gives your erection a little boop with the tip of her tail. "It stops you from thinking straight. Let's ease it."<br> <br> [[Continue.->Calliophi: Erotic Massage 2]]
I cannot have sex until I have fully purged myself of all animal urges. I hope you understand."<br> <br> She resumes pleasantly kneading your shoulders and neck.<br> <br> "However, my sister is not bound by any religious vows."<br> <br> [[Sister?->Calliophi: Introduce Sister]]
"My sister is a free spirit," Calliophi says. "She'd almost certainly have sex with you if you ask. We're also alike in appearance, so if you find me attractive, you'll find her sexy as well."<br> <br> She leans forwards, turns her head to you and smiles at you if there's nothing wrong with this at all.<br> <br> "Just tell her you spoke to me and that you'd like to have sex with a pretty lamia. We're used to humans finding our snake bodies repulsive, so we tend to be cautious about offering full sex."<br> <br> She shifts position. Her sinuous tail slithers around behind you.<br> <br> "I should warn you. While we look alike, my sister is very different in personality. She's fiery and likes to take the dominant role. She might surprise you with unexpected pleasures."<br> <br> The tip of her tail slides between your legs and tickles your anus.<br> <br> /* TODO - to add when sister is implemented You are already familiar with SN's 'unexpected pleasures'. */ "You should seek her out. The vagina of a lamia is quite a unique experience. It's even better than my lowly tail for flushing out nasty tension."<br> <br> Your erection gives a little twitch.<br> <br> "Oh, my talk appears to have inadvertently increased your tension. We'll have to do something about that."<br> <br> <<set $allHarlots[$hi].hasBeenAskedForSex to true>> [[Continue.->Calliophi: Erotic Massage 2]]
You know what's coming next. Calliophi is going to wind the tip of her tail around your cock and give you a very satisfying wank. From experience you know it feels extremely <<if $allHarlots[$hi].hasBeenAskedForSex>> pleasant.<br> <br> [[Continue.->Calliophi: Erotic Massage 2]] <<else>> pleasant, but you wonder if that's all Calliophi has to offer.<br> <br> [[Let her carry on?->Calliophi: Erotic Massage 2]]<br> [[Ask if she has other ways of... relieving tension?->Calliophi: Request Sex]] <</if>>
/* Mushy (pre-digested by slime girls) */ <<set $ailment to { id: 7, name: "Mushy", /* add more stuff later as needed */ cureCost: 4 }>>
$npcNurse.name tests the joints of your wrist.<br> <br> "Hmm, mushy," she says.<br> <br> She lifts your left arm and lets it flop back to the chair.<br> <br> "Definitely mushy. Someone's been playing with slime girls."<br> <br> $npcNurse.name turns and walks over to a set of drawers. She crouches down, giving you a good view of her shapely ass.<br> <br> "A slime girl – or similarly carnivorous lust daemon – has covered you in her digestive fluids and they've soaked into your flesh, making you mushy. It's to make the body soft, so the slime girl can easily absorb you."<br> <br> $npcNurse.name returns with a slate-grey pill about the size of a coin.<br> <br> "You needn't look so revolted. It doesn't work the way you think. Slime girls are still lust daemons. Being absorbed by one is said to be an intensely sensual and pleasurable experience. Unfortunately, it's the type of experience that can only be experienced once, so we should get that ailment treated."<br> <br> The pill looks like slate and feels hard like slate as well. It takes a while to dissolve in your mouth and tastes unpleasantly chalky. Afterwards you feel strangely... //firm//. <br> <br> $npcNurse.name checks your wrist and arm afterwards and seems satisfied.<br> <br> <<include [[NPC Nurse: Cure Ailment: End]]>>
/* Baloobia */ <<set $hi to 19>> <<set $allHarlots[$hi] to { number: $hi, name: "Baloobia", shortDescription: "a large and extremely curvaceous woman in a big blue ballgown. She appears to be dripping, as if she's just stepped out of the shower, or off an exercise bike.", faction: 4, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: true, hasBeenVisited: false, isSensual: false, isPredatory: false, gifts: [], affection: 0, introductionLink: "Baloobia: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Baloobia: Socialising", npcGossipLink: "Baloobia: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Baloobia: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Baloobia: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Baloobia: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 2>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 3>> <<set $player.money to 0>> <<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 x>> */ /* <<set _ailment to 7>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 19>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0].number>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* Madam intro */ "Ah, the lovely Baloobia," $npcMadam.name says. "Go with her and be absorbed by the all-encompassing pleasures of her breasts." <br> <br> /* Long description */ Baloobia is a big girl. There is a lot of her contained within a fancy blue ballgown. Despite this, she can't really be described as fat. She still has the classic hourglass proportions, only scaled up. Her bosom is gigantic, but only by impression. Her elegant gown has a high neckline and modestly covers her chest. There is barely any glimpse of cleavage. The same is true of her overflowing dress. Baloobia clearly wants to keep her goods under wraps until the moment of unveiling.<br> <br> Her skin colour puts you in mind of pink chocolate for some reason. Her long straight hair is the same colour. She also appears to be dripping, as if $npcMadam.name had her run to the stage, or the summons caught her in the middle of a shower or bath. She has an open friendly smile and her eyes are big and brown. <br> <br> /* Harlot intro */ <<if $allHarlots[$hi].hasBeenVisited>> "Oh, it's you," Baloobia says. "Fancy another squelch and squeeze between my tits?" <<else>> "Hello. I'm Baloobia." She shakes your hand as she introduces herself.<br> <br> Her handshake is wet, and also weirdly //squishy//.<br> <br> "Come up to my room and I'll give you an all-over massage with these."<br> <br> She jiggles her substantial bosom within her loose-fitting dress. <</if>> <br>
You take Baloobia into the bar area. She doesn't go far and is eager to take the first available table. You don't blame her. Her ballgown is big and bulky and not the best for navigating between the tables and chairs. <br><br> <<set $socNoMoneyLink to "Baloobia: Socialising: No Money">> <<set $socDrinkLink to "Baloobia: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> Baloobia tuts disapprovingly.<br> <br> "You brought me out here, for nothing. You're lucky I'm not allowed to, as otherwise I've a good mind to mash you to mush between my tits right now."<br> <br> She leaves you alone with your embarrassment.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with your $socialisingDrinks[$sdi].name and a glass of clear liquid which may or may not be water for Baloobia.<br> <br> Baloobia looks like she needs it. You wonder if she's hot in that dress as she appears to be perspiring quite heavily.<br> <br> "Mmm, it will be good to get this off and wrap my tits around you," she says, adjusting the fabric of her voluminous dress.<br> <br> And now you're the one feeling a little hot.<br> <br> She wipes perspiration from her forehead with the back of her hand.<br> <br> "I'm sorry," she says. "Whenever I see a fine young stud like yourself, I just can't stop myself from salivating."<br> <br> Salivating? Surely she means sweating.<br> <br> <<include [[Socialising: End]]>>
"Baloobia, well there's a blob with airs and graces far above her station. With a massive chip on her shoulder about it as well. I don't know what she's thinking with that ridiculous dress and posh lady act. Everyone knows she's as common as muck."<br> <br> $npcGossip.name snarks into her cocktail glass.<br> <br> "Is muck, in fact."<br> <br> She swirls her drink.<br> <br> "She's limited even by the standards of her primitive race. It takes nearly all of her concentration to squeeze into that dress and hold her shape. At least she doesn't leave clumps of herself behind wherever she goes."<br> <br> She exhales a cloud of cigarette smoke.<br> <br> "No class. No class at all. No skill either. All she does is mash her big jugs together around a man. Some claim it's pleasant."<br> <br> Baloobia takes another draw on her cigarette holder.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"" + $npcMadam.name + " had to put special chemicals in the shower just to keep Baloobia from absorbing the patrons.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"There's little point showering beforehand. She's going to leave you covered in muck anyway. Slime girls, ugh.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Even though she's more solid than most, she's still a slime girl. You can never quite wash off all their gunk and if you don't get rid of it, it just makes it easier for the next one to slurp you up.\"\<br\>\<br\>" + $npcGossip.name + " makes disgusting shlur-shlur sounds with her lips."}>>
<<set $isFactionIncrease to false>> <<set $hasShowered to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Baloobia: First-Time Scenario]]>> <<else>> <<include [[Baloobia: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [10,false,false], /* surviving */ [10,false,false], /* sensual scenario */ [10,false,false] /* predatory scenario */ ] }>> Baloobia's room is on the bottom floor, for reasons that become apparent when you open the door. Her room more resembles communal showers than a bedroom. The wall is covered in lurid coral-pink tiles. The floor is sunken and looks like a large porcelain basin. A thigh-high ledge about a foot deep circumnavigates the whole room.<br> <br> It's a wet room, you realise. Baloobia did tell you she was going to rub her big breasts all over you. This must be some kind of soapy massage room.<br> <br> In that case, where is the inflatable airbed? If it was a soapy massage room, you would have expected to see an airbed on the floor or propped up against one of the walls. There's just Baloobia. She sits on the ledge on the far side of the room, in her fancy blue ballgown that doesn't really seem suited to the room at all.<br> <br> Baloobia forgoes the usual gift-giving ceremony to ask you: "Would you like a shower before we begin?"<br> <br> She motions to a regular showerhead and box attached to the left wall.<br> <br> [[Take a shower?->Baloobia: Take Shower]]<br> [[Have it afterwards?->Baloobia: Skip Shower]]
/* 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 Baloobia's room. Knowing what you know about her, her room more resembling communal showers is not a surprise this time. Again, she doesn't seem interested in any gift and merely sits on the ledge circumnavigating the room and watches while you undress.<br> <br> /* TODO - Check for anti-slime charm */ <<set _hasCharm to false>> <<if _hasCharm>> "You don't need the shower," Baloobia says. "The [charm name] you have will be protection enough from my juices." <<else>> "You don't need to bother with the shower," Baloobia says. "You're just going to get covered in slime between my tits anyway." <</if>> <br> <br> [[Take a shower anyway.->Baloobia: Repeat Shower]]<br> [[Skip the shower.->Baloobia: Repeat Skip Shower]]
<<unset $hasShowered>>
You might as well take a shower beforehand. Though, if Baloobia is like the other girls in here, she probably doesn't care that much about your cleanliness. You undress and leave your clothes – and gift – on the shelf. Maybe she'll join you in the shower.<br> <br> Baloobia makes no move to join you. She's content to sit on the shelf in her impractical-for-this-room dress and watch you.<br> <br> You turn on the tap and immediately wrinkle your nose. There is an unpleasant astringent tang to the water that puts you in mind of cleaning chemicals.<br> <br> [[Turn the shower off?->Baloobia: Turn Off Shower]]<br> [[Ignore it and carry on showering?->Baloobia: Continue Shower]]
You turn down the offer of a shower. You don't feel particularly unclean and it makes more sense to have it after the... mucky stuff.<br> <br> And looking at the room, you suspect it will be //mucky// in the literal sense. Baloobia is going to cover you in oil, or soap suds, or something like that, so there seems little point in showering beforehand.<br> <br> You take your clothes off and put them on the wide shelf circumnavigating the whole room. On the other side of the room, Baloobia stands up and starts to undress.<br> <br> [[Continue.->Baloobia: Undress]]
You jump to the side and reach back to turn the tap off, trying to avoid letting any of the strange-smelling water splash on you.<br> <br> "Is something the matter?" Baloobia asks.<br> <br> You tell her the water smells bad.<br> <br> Baloobia tsks. "It's the old plumbing. I keep complaining to $npcMadam.name about it."<br> <br> She stands up and starts to undress.<br> <br> [[Continue.->Baloobia: Undress]]
You stay under the shower. Aside from the unusual smell, the water seems fine enough. It's warm and it feels good to sluice away some of the filth.<br> <br> Unfortunately, afterwards you smell a little too clean. Like you've been dunked in bleach or some kind of livestock dip. It must be the residue of something left in the pipes. A room with this function probably gets cleaned a lot.<br> <br> Refreshed, if smelling a little funny, you watch as Baloobia stands up and starts to undress.<br> <br> <<set $hasShowered to true>> [[Continue.->Baloobia: Undress]]
Baloobia takes her dress off by lifting it up over her head. For such an elaborate fabrication, the dress is removed and folded up with surprising ease.<br> <br> Although, to be fair, you've stopped looking at it by the time Baloobia is placing it on the shelf. Your attention is drawn more by the enigma of Baloobia's body. You can't really make anything of it out. Beneath the dress, her lower half appears to be a chaotic mass of amorphous, chocolate pink flesh.<br> <br> Then Baloobia gives a sigh of relief and her body seems to flow up into and then down into her tits. It's a complete redistribution of mass that sees her boobs swell and grow to gigantic proportions. At the end of it her boobs have ballooned out to sag all the way to the floor. Although 'sag' is not really the right word. Her boobs are as round and perky as those of a glamour model in her prime, just enormous. The proportions would make her look like a giantess standing in a hole in the ground, except her head is the same – regular – size as before. You can't see anything of her body behind her enormous tits.<br> <br> "Ah, it feels so much better to get out of that dress," Baloobia says.<br> <br> [[Continue.->Baloobia: Slime Girl Talk]]
She notices your stunned expression and smiles coyly.<br> <br> "I'm a member of the slime family, but not as plastic as the others. I can shift into the form $npcMadam.name requires we take while solicitating patrons, but it takes some effort to hold it. Now we're in my room, I can relax."<br> <br> She gives you a lascivious smile.<br> <br> "And relax you too."<br> <br> You're not too sold on that. Baloobia's body looks... weird.<br> <br> She sees your trepidation.<br> <br> "What's the matter. I thought men liked big boobs."<br> <br> She presses her hands into the side of her enormous tits.<br> <br> /* boob fixation check */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> You do. You really do. But there are limits. Maybe. They are a nice pair... <<else>> There's big, and there's //big//. <</if>> <br> <br> "It'll feel heavenly to have them wrapped around your body," Baloobia says, giving her enormous funbags a good jiggle. "You'll melt away with pleasure."<br> <br> You're not sure you like Baloobia's emphasis on //melt//. You glance to the door. Maybe it would be prudent to beat a strategic retreat.<br> <br> [[Continue.->Baloobia: Boob Slime Capture]]
Baloobia sees you glance at the door and stifles a giggle. "I love it when they look to bolt. It really gets my predatory juices flowing."<br> <br> Yup. Time to leave, you think.<br> <br> She creeps towards you.<br> <br> Slowly.<br> <br> Very slowly.<br> <br> Like a snail.<br> <br> And now it's your turn to stifle a giggle. //Predatory?// You could break both your legs and still have enough time to crawl out of here before Baloobia got anywhere near you.<br> <br> "I see you thinking," Baloobia says. "You're wondering how a slow-moving slime girl like me could catch anything. Well let me show you."<br> <br> She leans back, hoists up her ginormous tits and sprays ropes of sticky white fluid over you. The gunk is very sticky. It's like being trapped under a net – an elastic and very sticky net.<br> <br> [[You're caught!->Baloobia: First-Time Approach]]
Baloobia smiles triumphantly and continues to creep across the floor towards you. She moves slowly. She doesn't need to move quickly given you're not moving at all.<br> <br> She reaches you and draws you between her humongous boobs. You continue struggling and are buffeted around by what feels like two enormous water-filled balloons. Your arms and legs sink deep into her gelatinous body. You're worried you might drown as the whole of you sinks between her tits, then she pops your head back up until it's nicely nestled in her soft cleavage.<br> <br> "Got you," she says.<br> <br> Baloobia lets you tire yourself out and then thickens the substance of her body until you can barely move. At least her expression is playful rather than predatory.<br> <br> "Succubi tend to look down on slime girls and call us weak and primitive. And yes, we might not match them in raw magical power, but few can match the pleasures a slime girl can bring once she's wrapped her body around her prey."<br> <br> She jiggles her enormous tits and you are caressed all over by her amorphous flesh. She presses her hands against her tits and lets the gigantic soft pillows of flesh squeeze you between them. It feels really pleasant – like you're getting an all-over erotic massage. Her boobs exude an arousing scent – a mixture of sweat and sex.<br> <br> [[This isn't so bad.->Baloobia: First-Time Envelopment]]
You stop struggling and let her do her thing. As weird as it is, there's something unmistakeably erotic about being squeezed between two giant boobs. It feels erotic as well. Like you've been immersed in warm mud while several nubile serving girls rub their naked bodies against you.<br> <br> Baloobia gently fluffs her big gelatinous boobs.<br> <br> "I see you're getting it now," she says. "Being enveloped by a slime girl feels wonderful."<br> <br> It does. You lie back and relax while her amorphous body sends pleasant ripples up and down your body. The touches become more sexual. Your balls are cradled. What feels like hands stroke up and down your cock. You swell in erection.<br> <br> <<include [[Baloobia: Absorption Check]]>>
/* mushy ailment check */ <<set _ailment to 7>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> "Ahh, I see one of my slime girl sisters has already prepared you. That will make this a lot easier."<br> <br> [[Make what easier?->Baloobia: Absorption Bad End 1]] /* Black rose check */ <<elseif $cgi eq 0>> /* no text, just go straight to absorption */ [[This feels really good.->Baloobia: Absorption Bad End 1]] /* shower check */ <<elseif $hasShowered>> <<include [[Baloobia: Player Has Showered]]>> /* TODO - anti-slime charm check */ <<set _hasCharm to false>> <<elseif _hasCharm>> <<include [[Baloobia: Player Has Charm]]>> /* didn't shower and had no protection */ <<else>> <<include [[Baloobia: Player Skipped Shower]]>> <</if>>
More perspiration rises up on Baloobia's breasts. The stench of sex and arousal settles over your face like a thick fog.<br> <br> Your hands and feet sink into her. This time it feels like more than just being enveloped by her soft, malleable flesh. A membrane becomes porous and your hands and feet pass right through it.<br> <br> Into her.<br> <br> Your fingers and toes are surrounded by a pleasant, tingling sensation.<br> <br> <<if $allHarlots[$hi].isPredatory>> "Squirm all you like, there's no escape. You're my prey and now I'm going to absorb you," Baloobia says. <<else>> "Whoops, looks like I've accidentally started to absorb you," Baloobia says. "Oh well, might as well go the whole way." <</if>> <br> <br> Her body bunches up. More perspiration – stinking of sweat and sex – rises up on her skin. Within her, your cock is enveloped, stimulated to full hardness and then that too pierces a membrane and sinks into Baloobia's semi-liquid body. The swollen head is enveloped by a pleasant tingling sensation. It feels like thousands of miniature lips kissing your glans.<br> <br> The orgasm that overtakes you is sudden and powerful. Your cock throbs and empties a stream of cum into Baloobia's liquid interior.<br> <br> [[Continue.->Baloobia: Absorption Bad End 2]]
A portion of her amorphous body lifts up off your waist and then squelches back down. Your erection sinks into a warm spot soaked with her juices.<br> <br> "Oh yes," Baloobia says as your cocks sinks into... her? "Let's give you a good squelch."<br> <br> Her lower half starts to pump up and down and your cock slides back and forth into a warm, wet //something//. Is it flesh, or thick mud?<br> <br> It does feel... good. Every upward movement of Baloobia's... you guess, ass... feels like a delicious wet suck on your cock.<br> <br> "Yes, lets it squelch it out," Baloobia moans. "Squelch it all out."<br> <br> You cock grows stiffer as Baloobia squelches up and down on it. She starts squeezing her big boobs, pressing them up against your body while she fucks you. She presses down on your crotch. The muddy substance of her sex churns around your cock. It slithers up and down your erection in a stroking motion that becomes faster and more irresistible the tighter she presses her boobs together.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> It's almost enough to send you over the edge, but not quite.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[Too good...->Baloobia: 1st Pop]] <</if>>
It's too much. Sensing you're about to come, Baloobia relaxes her body and allows you to buck and tremble between her enormous tits. Your cock throbs and you let loose a thick stream into her molten body. The wet substance continues to churn around your erection, and suck. Your cock responds to the stimulation with powerful throbs as you empty your balls into her.<br> <br> Afterwards you lie back, fully supported by her soft body. It feels very comfortable between her big soft boobs.<br> <br> "How delicious," Baloobia says. "I must have more."<br> <br> She pulls her amorphous body together. You're held firmly in her cleavage, with only your head showing. Warm liquids pool around your face and you breathe in an overwhelming melange of sex, sweat and arousal.<br> <br> "And now for the squeeze," Baloobia says.<br> <br> She presses her hands into the side of her tits. Her mammoth boobs press up all around you. And press. And press. An unnatural force grips you and concentrates down in your loins.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> As powerful as Baloobia's squeezing feels. It's too soon after your last ejaculation. You can't come again so quickly, especially after all the other things you've done in the House this night.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[Her squeezing is too much to withstand.->Baloobia: 2nd Pop]] <</if>>
You groan as you're again unable to hold on. Your cock throbs as a second, more powerful, ejaculation blasts from you.<br> <br> Is squeezed from you.<br> <br> Baloobia squeezes you between her enormous tits like an orange and you are powerless to stem the flow of 'juice' pouring into her amorphous body. There is no stroking. Or caressing. Baloobia squeezes the semen out of you.<br> <br> Until finally, spent, you're left to lie – passive and panting – in her cleavage. At least that feels comfortable, although Baloobia doesn't give you long to relax.<br> <br> "Very nice," she says. "I would have preferred to melt you with pleasure between my lovely boobs, but this will have to suffice. Maybe next time."<br> <br> She expels you from her cleavage and onto the floor as if spitting out a piece of flavourless gum. You're completely soaked in her warm slime. It looks like slurry and smells like wet pussy. She enjoys watching your ineffectual slitherings as you try to get your jangling nerves back under control for long enough to get back to your feet.<br> <br> [[Continue.->Baloobia: Good End]]
After a couple of false starts, you finally stand back up. The slurry-like slime you're soaked in has cooled and feels pretty gross.<br> <br> Baloobia squeezes her body back into her blue dress and watches you haughtily.<br> <br> "And to think succubi claim us slime girls are weak in the arts of pleasure."<br> <br> She laughs at your sorry state.<br> <br> This time you don't wait for Baloobia to ask if you'd like to use the shower.<br> <br> <<include [[Baloobia: Good End Shower Fragment]]>> "Come again for another full-body squeezing," Baloobia says. She pushes her over-large, but at least vaguely normal-sized breasts together beneath her blue dress.<br> <br> It did feel good, even if washing Baloobia's slime off afterwards was a chore. Even after a long shower you're not sure you've got rid of it all. You still feel a little moist and squelchy underneath your clothes as you walk to the door.<br> <br> <<set _ailment to 7>> <<include [[Add Player Hidden Ailment]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<set $allHarlots[$hi].hasBeenVisited to true>> <<include [[Default Harlot: Faction Increase]]>> <<include [[Baloobia: Scenario Clean-up]]>> <<include[[Harlot Scenario: End]]>>
"Ah," Baloobia sighs. "This is what absorption is. I'm not a heathen monster. I'm not going to melt your body to mush with acid. I'm going to make you melt with pleasure. Your body will become cum <<if $allHarlots[$hi].isPredatory>>and I will absorb it. It's your secret fantasy, I know. Enjoy it."<<else>>and that lovely big cock of yours will spurt it all out within me."<</if>> <br> <br> The pleasant tingling sensation intensifies around your body. It's getting harder to tell where you end and Baloobia begins. She moans and sighs and plumps her massive tits against you. Pleasant ripples lap against your flesh... run through your flesh. It feels like everything is flowing down to your loins. You moan in pleasure as another long, incredibly satisfying ejaculation flows from you.<br> <br> <<if $allHarlots[$hi].isPredatory>> "Yes, doesn't it feel good. So nice. So pleasant," Baloobia says. "Come, and become part of me. Forever." <<else>> "Yes," Baloobia sighs. "You'll feel only the bliss of one last, endless orgasm." <</if>> <br> <br> She presses her hands into the sides of her boobs and moves them in slow, languid circles. Within her, you're gently rubbed and massaged all over. Another long and pleasantly drawn-out ejaculation flows from you. It's followed by another, and another, until they start to run together in one endless stream of bliss. Your body and limbs dwindle as you keep spurting inside her. Then finally, while you smile in empty-headed bliss, Baloobia draws your head between her giant boobs as well. She sighs in ecstatic satisfaction as she completely absorbs you.<br> <br> <<include [[Baloobia: Scenario Clean-up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You take the shower anyway. Your nose wrinkles at the astringent tang to the water, but you stay under and have a good shower.<br> <br> You turn the tap off when you're finished and turn to watch as Baloobia stands up and undresses.<br> <br> <<set $hasShowered to true>> [[Continue.->Baloobia: Repeat Undress]]
Normally, you'd take a shower, but you remember what happened with Baloobia last time. You're going to get covered in goop anyway, so it seems pretty pointless.<br> <br> You take your clothes off and put them on the wide shelf circumnavigating the whole room. On the other side of the room, Baloobia stands up and starts to undress.<br> <br> [[Continue.->Baloobia: Repeat Undress]]
Baloobia takes her dress off by lifting it up over her head. As always, you're amazed that such an elaborate fabrication folds up as neatly as it does.<br> <br> Again, Baloobia's body morphs. Her mass flows up and into her tits. They grow and swell to gigantic proportions until all you can see of her is her head and two enormous, but perfectly proportioned boobs.<br> <br> "Ah, it always feels good to get out of that dress," she says.<br> <br> She turns to you.<br> <br> "What about you? Are you looking forward to having these wrapped around you again?"<br> <br> She taps the sides of her gigantic mammaries. You remember what they felt like last time and your cock swells and switches.<br> <br> /* check on player preferences from prev visits */ <<if $allHarlots[$hi].isSensual>> [[Continue.->Baloobia: Sensual Approach]] <<elseif $allHarlots[$hi].isPredatory>> [[Continue.->Baloobia: Predatory Approach]] <<else>> Baloobia starts oozing towards you, then pauses.<br> <br> "I know you're not going to run, but I can still spray my net slime over you. Some find it kinky."<br> <br> [[Let her spray.->Baloobia: Choose Predatory]]<br> [[It's fine. You're not going anywhere.->Baloobia: Choose Sensual]] <</if>>
Baloobia smiles. "So you like it kinky. Let's have some fun then."<br> <br> <<set $allHarlots[$hi].isPredatory to true>> <<include [[Baloobia: Predatory Approach]]>>
You don't need that, you tell her. You're not going anywhere.<br> <br> <<set $allHarlots[$hi].isSensual to true>> <<include [[Baloobia: Sensual Approach]]>>
Baloobia smiles and creeps slowly towards you. She reaches you and you let her draw you between her humongous boobs. You relax and sink into her warm, gelatinous flesh. As before, you sink all the way into her cleavage until only your head is left exposed.<br> <br> "Mmm, relax and let my boobs massage you all over," Baloobia says.<br> <br> She jiggles her enormous tits and you are caressed all over by her amorphous flesh. She presses her hands against her tits and lets the gigantic soft pillows of flesh squeeze you between them. It feels really pleasant – like you're getting an all-over erotic massage. Her boobs exude an arousing scent – a mixture of sweat and sex.<br> <br> [[It feels nice.->Baloobia: Sensual Envelopment]]
Baloobia leans back, hoists up her ginormous tits and sprays ropes of sticky white fluid over you. This time she keeps spraying. Far more than is actually needed to hold you in place. She keeps spraying just for the joyful hell of it. You don't mind. The warm slime feels pleasant against your skin and it is a little kinky. Your cock is already rising and pushing against the strands of sticky slime.<br> <br> "Got you," Baloobia says. "And now you are my helpless prey."<br> <br> She creeps slowly across the floor to you, a playful smile on her lips. You make a half-hearted attempt to pull free of the net, but mostly you're impatient for her to reach you and absorb you between those luscious big boobs.<br> <br> "No escape," Baloobia says. "The slime girl has you now. She's going to suck you into her cleavage and absorb you."<br> <br> [[She sucks you in...->Baloobia: Predatory Envelopment]]
You stop struggling and let her do her thing. As weird as it is, there's something unmistakeably erotic about being squeezed between two giant boobs. It feels erotic as well. Like you've been immersed in warm mud while several nubile serving girls rub their naked bodies against you.<br> <br> Baloobia gently fluffs her big gelatinous boobs.<br> <br> "There's nothing like being enveloped by a lovely slime girl," Baloobia says.<br> <br> You lie back and relax while her amorphous body sends pleasant ripples up and down your body. The touches become more sexual. Your balls are cradled. What feels like hands stroke up and down your cock. You swell in erection.<br> <br> <<include [[Baloobia: Absorption Check]]>>
<<if $allHarlots[$hi].isSensual>> "Mmm, that's it. Relax and be comfortable. We'll have a nice long squelch."<br> <br> [[Continue.->Baloobia: Sensual Sex]] <<elseif $allHarlots[$hi].isPredatory>> "I'm going to absorb all your cum."<br> <br> [[Continue.->Baloobia: Predatory Sex]] <<else>> "Mmm, let's give that cock a good squelch."<br> <br> [[Squelch?->Baloobia: Good Squelch]] <</if>>
<<if $allHarlots[$hi].isSensual>> "Relax. You have nothing to fear. You bear the [charm name]. I can't absorb you, so lie back and enjoy this."<br> <br> [[Continue.->Baloobia: Sensual Sex]] <<elseif $allHarlots[$hi].isPredatory>> "Mmm, that charm won't protect you when my juices really start flowing."<br> <br> [[Continue.->Baloobia: Predatory Sex]] <<else>> "You got my hopes up when you refused that shower, but I can see you didn't need it. You bear the [charm name]. No matter. We can still have some squelchy fun."<br> <br> [[Charm? Squelchy fun?->Baloobia: Good Squelch]] <</if>>
A portion of her amorphous body lifts up off your waist and then squelches back down. Your erection sinks into a warm spot soaked with her juices.<br> <br> "Just lie back and relax," Baloobia says.<br> <br> Her lower half pumps up and down and you feel the delicious suction of her semi-liquid body tugging on you.<br> <br> "Oh yes, a good squelch," Baloobia says.<br> <br> She wriggles her back half as she squelches up and down on your cock. It feels like many oil-slick hands stroking up and down your cock. You cock responds and lengthens and hardens. She squeezes her boobs together and gently massages your body while her muddy sex strokes you. She drags it out longer this time. Her touches are slower and more sensual. It feels more like leisurely sex than being wrung out.<br> <br> "We don't need to rush," Baloobia says.<br> <br> She sighs as she bunches up her body. You feel more firmly wedged within her soft flesh. Her flesh wriggles pleasantly around you. Your cock is slowly and gently pumped. It's a slower path to climax, but just as irresistible.<br> <br> "Oh yes. Here it comes," Baloobia says.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> But it doesn't. Baloobia's ministrations feel great, so it can't be that. You think your previous exertions in the House might have left you depleted.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[Continue->Baloobia: Sensual 1st Pop]] <</if>>
A portion of her amorphous body lifts up off your waist and then squelches back down. Your erection sinks into a warm spot soaked with her juices.<br> <br> "This is how a slime girl digests you. She turns you into cum and sucks it all out. Mmm, yes."<br> <br> Her warm amorphous flesh bunches up round your cock and starts pumping up and down. It wraps around your testicles and gently sucks on them. It even tickles lightly around the rim of your anus. She keeps plumping her big boobs around you with rhythmic squeezes.<br> <br> "They all try to hold on. But none can resist a slime girl."<br> <br> She plumps you faster, bouncing you between her giant boobs. You don't even know what she's doing in there now, only that it feels incredible. Your cock is assailed by pleasure from all sides.<br> <br> Baloobia draws up her body and laughs.<br> <br> "Ho ho, you think you can resist this."<br> <br> Her lower half starts squelching up and down on your crotch with increasing speed and force. Your hard cock is fully enveloped and pumped with wet tugs. You writhe helplessly as her flesh presses all around you.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> It turns out you can, in fact, resist this. Although that's probably more because you've had a whole night of sexy succubi draining your balls and there isn't any left.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[Continue.->Baloobia: Predatory 1st Pop]] <</if>>
It's coming. Coaxed by Baloobia's gooey ministrations, your cock throbs and you let loose a thick stream of cum into her molten body. The wet substance continues to churn around your erection, and suck. Your cock responds to the stimulation with powerful throbs as you empty your balls into her.<br> <br> Afterwards you lie back, supported by her soft body. It does feel really comfortable between her big boobs. They ripple around you pleasantly.<br> <br> "Comfortable?" Baloobia asks.<br> <br> You are. Supremely.<br> <br> "I'll give you a moment to recover, then we'll go again," Baloobia says. "We still have time."<br> <br> Her big boobs, throb and shift around you. It feels like being slowly caressed by loving hands. You lie back and completely relax.<br> <br> "Ready?" Baloobia says after a short pause. "I have a little special something for you."<br> <br> [[Continue.->Baloobia: Sensual Sex 2]]
She lowers her gooey body onto your crotch. Only this time it's not gooey and undifferentiated. Your cock finds an opening and sinks into something warm and soft.<br> <br> "I made a little fleshpot for your cock," Baloobia says. "Doesn't it feel nice."<br> <br> Your cock is enveloped. Little ripples tickle up and down your shaft. Baloobia presses her warm boobs around you. More juices rise up on her skin. You breathe in an overwhelming melange of sex, sweat and arousal.<br> <br> "Let's get those balls fully drained," Baloobia says.<br> <br> She jiggles her big boobs, bouncing you around within her. Your cock slides deep into her wet fleshpot. It pulses around you and strokes up and down your cock. Another orgasm is brewing within you.<br> <br> "Just a gentle squeeze this time," Baloobia says. "A nice gentle squeeze."<br> <br> Her boobs press around you. Her fleshpot pleasantly squeezes your cock.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> It feels good. Really good, but she can't tip you over the edge. It's too soon after the last ejaculation and you've been too active in the House tonight.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[You're coming...->Baloobia: Sensual 2nd Pop]] <</if>>
Your body stiffens and you grunt as your cock throbs and empties an even bigger load of cum inside her.<br> <br> So good. So wet and soft and squelchy.<br> <br> Her inner fleshpot continues to stroke up and down your cock. Your swollen glans is enveloped in warm goo. You cock continues to pulse and throb as you pour out your semen inside her.<br> <br> "Oh yes, so much and so delicious," Baloobia says. "I could gobble you all up."<br> <br> Her internal fleshpot and lovely big boobs keep stimulating your body until the ejaculation finally subsides and you lie back – completely spent and satisfied – within her soft body. She continues to massage your body with slow gentle caresses.<br> <br> "Mmm, I'd so like to really melt you with pleasure between these boobs, but not this time. You'll have to content yourself with the lesser pleasures of being enveloped by my body."<br> <br> She gently expels you from her cleavage and onto the floor. Again, you're completely soaked in warm slime. It smells even more strongly of wet pussy. Baloobia still smiles at your struggles to get back to your feet, but at least she helps you this time.<br> <br> [[Continue.->Baloobia: Sensual Good End]]
Baloobia squeezes her body back into her blue dress.<br> <br> "See, I can be gentle and sensual as well. And the succubi say we're simple-minded creatures with no finesse. Hmpth."<br> <br> She helps you over to the shower. You need it. You're completely splattered in Baloobia's gunk. As pleasant as being with her is, you wish it wasn't quite so messy.<br> <br> <<include [[Baloobia: Good End Shower Fragment]]>> "Please visit me again if you fancy a sensual squeeze between my tits." She pushes her now normal-sized breasts together beneath her blue dress.<br> <br> That was rather pleasant, although washing her slime off afterwards is a chore. You can never quite get rid of the mushy feeling. It looks like another trip to $npcNurse.name is called for.<br> <br> Oh well, totally worth it.<br> <br> You squelch your way over to the door.<br> <br> <<set _ailment to 7>> <<include [[Add Player Hidden Ailment]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include [[Default Harlot: Faction Increase]]>> <<include [[Baloobia: Scenario Clean-up]]>> <<include[[Harlot Scenario: End]]>>
<<if $hasShowered>>You get under and try to ignore the funny smell.<<else>>You get under and turn the tap. The water smells funny – astringent – but you ignore it.<</if>> You try to sluice as much of her slime off you as you can. Then you dry yourself off and get dressed.<br> <br>
Baloobia draws you between her humongous boobs. You pretend to struggle as you're buffeted by her enormous gelatinous tits. She wraps you up fully in her amorphous body with only your head free. She bunches up and thickens her body until you can no longer move.<br> <br> "And now to digest you," Baloobia says.<br> <br> She fluffs her big boobs and you are jostled between them. It feels like getting an intimate all-over body massage. Baloobia exudes more juices. She smells even more strongly of sex and arousal this time.<br> <br> "Oh yes, let's work those fluids into your flesh."<br> <br> Your body is massaged all over. It feels like many hands pressing against the membrane and squeezing, kneading your flesh until you feel warm, comfortable, relaxed.<br> <br> And aroused. Really aroused.<br> <br> She turns her attentions to your cock and balls. Squeezing them. Caressing them. Stroking them.<br> <br> <<include [[Baloobia: Absorption Check]]>>
<<if $allHarlots[$hi].isPredatory>> "And now there is no escape. You really should have taken that shower," she says. Her expression is not quite so playful.<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> "I'm so glad you skipped the shower. The chemicals they put in the water to stop my body from absorbing you taste foul."<br> <br> [[Absorbing?->Baloobia: Absorption Bad End 1]] <</if>>
Too much. Too good. Baloobia's motions reach a crescendo and you peak with them. You buck and jerk as much as Baloobia's overflowing boobs will allow as you release a big flood of sperm within her. Her gelatinous flesh continues to pump and throb around you, stretching out your ejaculation for as long as possible until eventually you crash back down, spent.<br> <br> "The prey's resistance is broken," Baloobia says.<br> <br> Her gelatinous boobs ripple against your body. It's very wet inside her. The stench of sex and arousal is overpowering.<br> <br> "Now lie back and be helpless prey while I squeeze the rest of your cum out."<br> <br> Her muddy fleshy churns and forms a slow-moving cyclone centred around your cock. She starts to squeeze her tits rhythmically against you. Her warm wet flesh presses tightly all around you. An unnatural force grips you and concentrates down in your loins.<br> <br> <<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> As powerful as Baloobia's squeezing feels. It's too soon after your last ejaculation. You can't come again so quickly, especially after all the other things you've done in the House this night.<br> <br> "Mmm, it seems like you're struggling," Baloobia says. "I'll secrete more of my juices to help you."<br> <br> [[Continue.->Baloobia: Absorption Bad End 1]] <<else>> [[You can't hold on...->Baloobia: Predatory 2nd Pop]] <</if>>
The pressure is too much to resist. You groan and buck and release a second massive flood of semen into her churning sex.<br> <br> "Mmm yes. You're mine," Baloobia says. "I'm going to squeeze you all out."<br> <br> Her gelatinous boobs press tightly around you. You are pulled down until her cleavage is pressing around your cheeks. She squeezes and squeezes. Warm muddy jelly churns around your genitals – licking, caressing, cajoling, coaxing.<br> <br> "Squeeze you dry like a lemon."<br> <br> Your cock throbs and mindlessly spurts gouts of cum into her wet slime. You are lost completely to orgasmic pleasure within the slimy clutch of Baloobia's tits.<br> <br> Then, just as you're thinking she might actually squeeze you all out like a lemon, she stops and spits you out of her cleavage like a pip. You're left to slither about – covered in slime – on the floor, cum still dribbling from your spasming cock.<br> <br> [[Continue.->Baloobia: Predatory Good End]]
"That was fun," Baloobia laughs. "I do love a patron who lets me indulge my predatory side."<br> <br> She watches while you unsteadily get back to your feet.<br> <br> "Was it fun for you? Kinky? Sexy?"<br> <br> She lightly strokes your still-dribbling cock with a wet hand.<br> <br> "I think so. You let out so much inside me."<br> <br> She leaves you be and squeezes her body back into her blue dress. You stumble over to the shower.<br> <br> <<include [[Baloobia: Good End Shower Fragment]]>> "You should let me fully absorb you next time. The pleasure will be like nothing you've ever experienced," Baloobia says.<br> <br> You're tempted. You think it would feel so good to sink into Baloobia's soft body and be within her forever.<br> <br> You're tempted, and it scares you. You make your excuses and hurriedly leave.<br> <br> <<set _ailment to 7>> <<include [[Add Player Hidden Ailment]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <<include [[Default Harlot: Faction Increase]]>> <<include [[Baloobia: Scenario Clean-up]]>> <<include[[Harlot Scenario: End]]>>
/* predatory */ <<if _scoreArray[2][1]>> "What an awful, disgusting experience," $npcMoney.name says.<br> <br> He looks at you in shock.<br> <br> "What? You enjoyed it?"<br> <br> He shakes his head. /* sensual */ <<elseif _scoreArray[1][1]>> "Hmm, maybe she's not so bad once she warms up to you. The whole experience still sounds intolerably grubby. I shall be avoiding her." /* first-time */ <<elseif _scoreArray[0][1]>> "How positively disgusting," $npcMoney.name says. "A slime girl, and a muddy slime girl at that! Only the Feculatia are more revolting. Thank you for the forewarning. You shall be richly rewarded." <<else>> /* shouldn't get here */ <</if>>
<<set _ailment to 7>> <<include [[Remove Player Ailment]]>>
/* array storing all gift category names */ <<set $giftCategoryNames to [ "EDIBLE", "DRINKABLE", "SCENTED", "PRETTY", "ROMANTIC", "SENSUAL", "SMUTTY", "BODYCARE", "BLINGY", "CUTE", "ARTY", "WEIRD", "GROSS", "MACABRE", "BODYPARTS" ] >>
/* Print gift categories. pre-req: _giftCategories */ <<include [[Gifts: Create Categories String]]>> <<print _catString>>
"It won't be necessary, but I like the way you're thinking."<br> <br> Sapoonis's blue eyes glimmer as she gives you a knowing smile.<br> <br> <<set $affectionChange to 2>> <<set _affectionChangeReason to "Sapoonis likes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
"Ooh, no thanks. I'd rather not pollute my water with that."<br> <br> She drops the flask into a bin next to the bath.<br> <br> "Never mind. You weren't to know."<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Sapoonis dislikes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
"How thoughtful."<br> <br> She turns the $allGifts[$cgi].name over in her hands before placing it on a shelf overhanging the bath.<br> <br> <<set $affectionChange to 1>> <<set _affectionChangeReason to "Sapoonis likes Gift">> <<include [[Harlot Affection Change]]>>
Sapoonis looks at the $allGifts[$cgi].name with a puzzled expression.<br> <br> "I think this might have been intended for one of the other girls."<br> <br> She tosses it into a bin next to the bath.<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Sapoonis dislikes Gift">> <<include [[Harlot Affection Change]]>>
"That's nice. Place it over there."<br> <br> You find room for it on a shelf covered in various bottles.<br> <br> /* No affection change */
Arana looks at the $allGifts[$cgi].name and stifles a little chuckle with her hand.<br> <br> [[Arana changes...->Arana Solfugis: Transformation]]
"Are you trying to get me drunk?" she laughs.<br> <br> She downs it in one lusty gulp, puts the mug to one side and gives a satisfied sigh.<br> <br> "Lovely," she says. "And now for the main course."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]]
<<if $allHarlots[$hi].hasBeenVisited eq false>> She looks at the ugly little fetish. Her expression is unreadable as she studies it.<br> <br> You feel a little foolish for bringing it. It's an ugly primitive little twisted thing. Why would you ever present that to a pretty woman?<br> <br> "I don't suppose you know the significance of this?" she asks. "No, they never do."<br> <br> You stare blankly.<br> <br> "It's a symbolic offering from prehistoric times," Arana says. "There existed a ferocious tribe of spider-women. The men feared them, but also wished to mate with them, which was dangerous, as the spider-women liked to eat men. So, the men would bring the spider an offering, in order to slake her terrible hunger beforehand. Over time the offering became a symbolic one, a child of twigs and twine, rather than one of meat and blood. The spider-women were fine with this, for they also needed to mate with the men to propagate their own species."<br> <br> What will you say to that?<br> <br> [["\"Did it work?\""->Arana Solfugis: Fetish Question]]<br> [[Nothing. Stay silent.->Arana Solfugis: Fetish Silence]]<br> <<else>> Arana smiles. She takes the $allGifts[$cgi].name off you and casually tosses it to the other side of the room, where it sticks in a patch of web.<br> <br> "There's no need to bother with that," Arana says. "I told you next time I'd be putting you in my pussy."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]] <</if>>
"How nice," Arana says. "You shouldn't have."<br> <br> She puts it to one side and turns back to you.<br> <br> "You really shouldn't have."<br> <br> [[Arana changes...->Arana Solfugis: Transformation]]
She takes the $allGifts[$cgi].name off you and gives it a sniff.<br> <br> "Okay, I'll go easy on you. But not too easy," she says.<br> <br>
She dips her fingers in the oil and tests its slipperiness between her fingertips.<br> <br> "I don't like using massage oil," she says. "I know some girls do, but not me. It's hard to give you a really good squeeze when you're sliding around like a greased pig."<br> <br> <<set $affectionChange to -1>> <<set _affectionChangeReason to "Anna Boa dislikes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
Anna holds up the glass jar and stares at the small indeterminate fluffy thing inside.<br> <br> "Oh, how cute," she says with a warm smile. "I'll save him for later."<br> <br> There is a hungry gleam in her eyes. It's probably best not to dwell on what she means by 'saving him for later'. This time you're definitely sure you saw a forked tongue flicker between her lips.<br> <br> <<set $affectionChange to 1>> <<set _affectionChangeReason to "Anna Boa likes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
You hand her the <<print $allGifts[$cgi].name + ".">><br> <br> "Oh, thank you. Such a lovely present."<br> <br>
/* Sorpresa Ombra */ <<set $hi to 8>> <<set $allHarlots[$hi] to { number: $hi, name: "Sorpresa Ombra", shortDescription: "", faction: 1, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [7], affection: 0, preIntroductionLink: "Sorpresa: Pre-Introduction", introductionLink: "Sorpresa: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Sorpresa: Socialising", npcGossipLink: "Sorpresa: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Sorpresa: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Sorpresa: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Sorpresa: Sell Exp Intro", sellExpBodyLink: "Sorpresa: Sell Exp Body", sellExpFeedbackLink: "Sorpresa: 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.hasSeenLamia to true>> <<set $player.charms.push(14)>> <<set $player.maxFactionAffinities to [1, 2]>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ <<set $player.currConst to 5>> /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ <<set _ailment to 0>> <<include [[Add Player Hidden Ailment]]>> <<set _ailment to 1>> <<include [[Add Player Hidden Ailment]]>> <<set $hi to 8>> /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 15>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a pale-skinned snake woman. Her top half is pleasing, if mysterious. A black veil hides her eyes and a short black latex halter top struggles to contain an impressive bosom. But her lower half... has the body of a giant snake.">>
/* Madam intro */ "This is the slinky and mysterious Sorpresa Ombra, who appears to have forgotten something."<br> <br> $npcMadam.name pauses to stare pointedly at Sorpresa, who blithely ignores her with an enigmatic smile on her glossy black lips.<br> <br> "Don't be put off by her... unusual appearance. Sorpresa is a true mistress of the dark arts of pleasure."<br> <br> /* Long description */ <<if $player.hasSeenLamia>> Sorpresa Ombra is another snake girl, like the ones you've already seen. Unlike them, she uses no illusion to hide it during the selection process. <<else>> <<set $player.hasSeenLamia to true>> Sorpresa Ombra is a snake girl, like right out of myth. There's no getting around that. <</if>> Below the waist her body tapers off in a long serpentine tail.<br> <br> She's very pale-skinned, as if she never sees the sun at all. Her short black latex halter top exposes her slender midriff. It also exposes her bulging cleavage, with just two straps at the top and bottom connecting the two halves of her garment.<br> <br> Her face is thin and goth pale. Her straight black hair frames it in a classic Cleopatra bob. An opaque black veil covers her eyes. Despite this you get the impression she sees you just fine. A forked tongue flickers between her glossy black lips.<br> <br> Her tail is clothed in glossy black latex. It looks like bondage-wear for snakes, even though the very concept sounds absurd to you. It covers maybe two thirds of her lower body and – like her halter top – is laced together with a series of straps. The tip of her tail also has some kind of latex cap, but with a bulge at the end that looks suspiciously phallic.<br> <br> /* Harlot intro */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> Given that she has no legs, it's hard to gauge how tall Sorpresa is. She rears up in front of you until her considerable bosom is at eye level. The straps of her halter top frame her lush curves like a picture frame and your gaze is <<if _hasAilment>>irresistibly<<else>>magnetically<</if>> drawn to the pale canyon within.<br> <br> "Are you ready to drown in the dark pleasures of my bosom?" Sorpresa says. Her voice is soft and sibilant.<br> <<if _hasAilment>> <br> Even with her eyes seemingly blindfolded, she notices how you can't seem to stop staring at the inviting bulges of her cleavage.<br> <br> "Yes, I can see you are." <br> <</if>>
You take Sorpresa out into the bar area. Given her serpentine form, you have to take one of the round tables in the central floor area. No-one bats an eyelid at Sorpresa's monstrous form. They're too engrossed in their own conversations. <br><br> <<set $socNoMoneyLink to "Sorpresa: Socialising: No Money">> <<set $socDrinkLink to "Sorpresa: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> "Tut tut," Sorpresa says. "That's breaking the rules. Patrons must buy a drink for the girl."<br> <br> She leans close to whisper.<br> <br> "I won't tell $npcMadam.name if you don't."<br> <br> Her eyes are hidden by the veil. Her mouth is turned up in a mischievous smile. Then she sits back, again looking dark and mysterious. <br><br> <<include [[Sorpresa: Socialising: Combined]]>>
The waitress returns with your <<print $socialisingDrinks[$sdi].name + ".">> She doesn't bring anything for Sorpresa. The snake woman just sits there, looking dark and mysterious.<br> <br> <<include [[Sorpresa: Socialising: Combined]]>>
At least for a short while. Given her aura of dark mystery, it comes as a surprise when Sorpresa tells you frankly what she's going to do with you.<br> <br> "I know you've brought me here to find out what I'll do to you in the room, so I'll tell you. I'm going to wrap my coils around you and push your face into my lovely big tits until you can barely breathe."<br> <br> She pushes out her eye-catching bosom.<br> <br> "Then I'll put your cock in my pussy and my tail in your ass. I'll massage your prostate with my tail while my lovely vagina squeezes your cock. Then you'll gasp your pleasure into my smothering boobs as you empty your balls in me. Does that sound good for you?"<br> <br> She smiles.<br> <br> You're a little taken aback by her frankness, but yes, that does sound good to you. Maybe.<br> <br> It sounds good to your cock. You can feel its hardness in your pants as you return to <<print $npcMadam.name + ".">> <br><br> <<include [[Socialising: End]]>>
"Sorpresa Ombra? That cold-blooded breath stealer? You're a brave one. She makes the snakes seem warm-blooded in comparison."<br> <br> $npcGossip.name puffs on her cigarette holder.<br> <br> "She's another smotherbus. She likes her breathplay. She also likes conventional – and unconventional –" $npcGossip.name chuckles at that "– pleasures as well. So, if you want some sex to go along with your erotic smothering, she's your gal. Just be careful she doesn't suck out your soul as well as your breath."<br> <br> She exhales a cloud of perfumed smoke.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"She has a kiss that will take your breath away.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"That thing on the end of her tail – yes, it is what you think it is, and yes, she will insert it there.\"\<br\>\<br\>$npcGossip.name smiles, revealing her teeth.\<br\>\<br\>\"Don't look so shocked. You'll like it.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Although we're not held to them in here, Sorpresa still follows the old laws. She won't take those already claimed by another.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Sorpresa: First-Time Scenario]]>> <<else>> <<include [[Sorpresa: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ <<set $roomAffection to $allHarlots[$hi].affection>> <<if $isTesting>> ''Room affection = <<print $roomAffection>>''<br> <br> <</if>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* gift: fluffy thing */ [1,false,false], /* gift: scented */ [1,false,false], /* gift: unsuitable */ [4,false,false], /* surviving */ [2,false,false] /* surviving because of other's prior claim */ ] }>> Sorpresa Ombra's room is mostly shrouded in darkness. The shadows are so deep and inky-black they feel almost tangible. You know it's just a room, but it somehow feels much larger, like a giant cavern even though there is no way such a massive hall could fit within the confines of the House.<br> <br> You hear far-off wheezing sounds. Like ancient bellows or an old dying man struggling to draw breath. The air is thick with musky perfume. A little too thick. The scent, while pleasant, is also cloying, as if your mouth and nose are covered by a soaked cloth.<br> <br> Sorpresa's white face appears out of the gloom, startling you. Even though her eyes are covered with an opaque black veil, you're pretty sure she can see you.<br> <br> "Come in," she says.<br> <br> [[You enter.->Sorpresa: Pre-Gift]]
/* no repeat scenario planned for Sorpresa at this point */ <<include [[Sorpresa: First-Time Scenario]]>>
She takes your hand and draws you to her, and deeper into the room. Even though you only take a couple of steps it feels like you've travelled much further. You wonder if you turned your head the door would now be a tiny rectangle far off in the distance, or maybe vanished completely.<br> <br> You don't turn your head. The sculpted perfection of Sorpresa's face and the lush swell of her bosom command your attention.<br> <br> "What have you brought me?"<br> <br> A forked tongue flickers between Sorpresa's glossy, bruise-black lips.<br> <br> [[You give her your gift.->Sorpresa: Gift]]
<<if $isTesting>> ''Room affection before gift = <<print $roomAffection>>''<br> <br> <</if>> <<if $cgi eq 0>> <<include [[Sorpresa: Gift: Black Rose]]>> <<elseif $cgi eq $allHarlots[$hi].gifts[0]>> <<include [[Sorpresa: Gift: Fluffy Thing]]>> <<elseif $allGifts[$cgi].categories.includes(2)>> <<include [[Sorpresa: Gift: Scented]]>> <<elseif $allGifts[$cgi].categories.includesAny(0, 1, 3)>> /* pretty, edible, drinkable */ <<include [[Sorpresa: Gift: Unsuitable]]>> <<else>> <<include [[Sorpresa: Gift: Default]]>> <</if>> <br><br> <<if $isTesting>> ''Room affection after gift = <<print $roomAffection>>''<br> <br> <</if>> She curls her tail around behind you.<br> <br> [[Continue.->Sorpressa: Boob Tease]]
You present her the <<print $allGifts[$cgi].name + ".">> She takes it from you with an enigmatic smile.<br> <br> "Ah, the traditional gift for a lamia. An easy mistake to make."<br> <br> She sniffs the top of the glass and then puts her lips to it and inhales. The indeterminate fluffy thing gives a short, panicked squeak and then falls silent.<br> <br> The hairs rise on the back of your neck. You wonder if you made a mistake picking Sorpresa.<br> <br> She puts the jar aside.<br> <br> "A nice little appetizer," she says. <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>>
Sorpresa takes the $allGifts[$cgi].name and gives it a long sniff.<br> <br> "Ah, the gift for one seeking to be smothered in the greatest of pleasures. I will give you what you crave."
Sorpresa puts the $allGifts[$cgi].name to her nose and sniffs.<br> <br> "A pleasing aroma," she says. <<set $roomAffection += 1>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
She takes the $allGifts[$cgi].name and frowns.<br> <br> "I'm not the right person for this." <<set $roomAffection -= 1>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>>
She takes the $allGifts[$cgi].name from you.<br> <br> "Thank you," she says.
Sorpresa's tail curls around behind you and pushes you closer to her body. You undress. Or rather, Sorpresa undresses you. She lifts your top up over your head and then pulls your trousers and underwear down. She rears up in front of you. Given her serpentine lower half, it's difficult to tell her exact height. Standing like this, her boobs, with their impressive, bulging cleavage, are at eye-level for you.<br> <br> "Let's begin," she says.<br> <br> She lightly caresses the back of your head while jiggling her substantial bosom in your face. She bends closer. Closer. Closer. The window to her bulging curves formed by the straps of her halter top expand to fill your view.<br> <br> "First, the tease," Sorpresa says.<br> <br> Her boobs swing closer and closer. Her smooth skin brushes the tip of your nose. You feel a surge of excitement at the prospect of them being pressed against your face.<br> <br> [[Here they come.->Sorpresa: Boob Press]]
Then Sorpresa pulls back with a teasing little half smile on her full lips.<br> <br> "This shouldn't be rushed," she says. Her forked tongue flickers between her lips.<br> <br> She puts her hands on the back of your head. Her swinging tits come closer. Closer. Closer.<br> <br> This time she presses them against your face. You revel in their softness and smoothness as she rubs them against you. Your nose is filled with her exotic fragrance. She mashes her big boobs against your face and then pulls back with another little smile on her full black lips.<br> <br> "I don't like to be too forceful with my smothering. Others like to squash the resistance out of their prey with boobs or asses, depriving them of oxygen until they acquiesce."<br> <br> She grips the back of your head and presses your face back into her bosom. She holds you there a little longer before releasing you.<br> <br> "It should be slow and sensual, so they slowly drown in dark pleasure."<br> <br> Slowly, teasingly, she unfastens the straps and pulls her halter top aside, leaving her tits fully unfettered. She pulls you into them and wedges your nose into her cleavage.<br> <br> [[You're being smothered.->Sorpresa: Boob Smother]]
She repeats her boob presses, each time clasping you to her bosom for longer and longer. She sighs erotically as she rubs her tits against your face.<br> <br> "Yes," she sighs. "Sink. Sink deep into them. Drown."<br> <br> She presses her whole body against you. Her serpentine tail winds up around you. A thick muscular band contracts against your back and squeezes you tight to Sorpresa's body. She crosses her arms behind your head and buries your face deep in the soft pillows of her tits.<br> <br> "Mmm, yes," Sorpresa sighs sibilantly. "It is better to dominate through pleasure than force."<br> <br> There is still some force. Her tail coils tighter, crushing you so tight to her body it becomes hard to draw breath. Her tits smother your mouth and nose. You feel you should be panicking, but it feels so good nuzzling between her big soft boobs.<br> <br> "Sink," Sorpresa whispers. "Let yourself fall in. Let me control your breathing."<br> <br> [[You don't have any say in it.->Sorpresa: Vaginal Insertion]]
She controls your breathing. Before you can pass out, she relaxes the muscular band coiled around you and pulls your head out of her bosom long enough for you to take a shallow breath. It is only a shallow breath before her tail tightens again and your face is buried back in her soft cleavage.<br> <br> Between the lack of oxygen and the press of her soft tits against your face, you start to feel pleasantly giddy and lightheaded. Your cock rises in erection and presses against her body like an iron bar.<br> <br> Sorpresa gives a sibilant hiss of delight. "Yesss. Fall into me. Drown in dark pleasure."<br> <br> She shifts position, pulling her body back far enough to let your erection stick out from your body, far enough for her to catch the head in her gaping vagina. Her tail shifts down until the muscular band settles across your buttocks. She squeezes and slowly pushes your cock all the way into her warm, tight sex.<br> <br> She gives a low, sibilant moan of pleasure. Your moan is smothered in her tits. Her vagina is muscular, tight, and very wet.<br> <br> "Yesss, drown," she sighs. "Drown in darkness, drown in me."<br> <br> [[Continue.->Sorpresa: Tail Insertion]]
At first she moves her body sinuously against you, using her muscular tail to hold you in place as she forces your cock to slide back and forth inside her tight wet pussy. Then some form of internal muscular peristalsis takes over. She presses her body close to you and muscular pulses stroke up and down your shaft.<br> <br> "There are pleasures in the darkness, are there not," Sorpresa says. "Even some you might not expect."<br> <br> Her sinuous tail coils around your lower legs and parts them. You feel something probe lightly at your anus. It's the tip of her tail, covered with some kind of rubbery cap. The tip feels wet with lubricant and you're still considering the ramifications of this when she gently pushes it into your ass.<br> <br> Your shocked gasp of pleasure is swallowed up by her boobs.<br> <br> Sorpresa laughs. "This my mastery of the dark arts of pleasure, and through them, my mastery of you."<br> <br> [[She has complete control.->Sorpresa: Dark Kiss]]
The lubricated latex cap on the tip of her tail stretches your ass like a butt plug. Deftly, she wriggles it inside you, hitting all the pleasure receptors, especially when she pushes deeper and starts rubbing it against your prostate. Her vagina contracts around your cock and stronger muscular pulses stroke up and down your shaft. She cradles the back of your head and rolls your face around the soft valley of her cleavage.<br> <br> You're overwhelmed. You think your feet are off the ground, but can't tell if that's because Sorpresa is supporting you or using some kind of magic. Her pussy and tail assault you with so much pleasure it's difficult to think of anything else.<br> <br> "Yesss, lose yourself to dark pleasures," Sorpresa hisses.<br> <br> She tilts your head back out of the soft valley of her breasts and leans down until her lips lock with yours in a kiss. You think it a kiss, a deep passionate kiss, and then she exhales, filling your lungs with her breath. Then she breaks away and buries your face back in her soft cleavage.<br> <br> [[You're smothered again.->Sorpresa: Approaching Climax 1]]
Her breath fills your lungs. At first it feels pleasant, but then it starts to curdle into something less wholesome, a corruption roiling in your lungs. You ache to let it out, but with your face wedged tight to her chest there would be no air to replace it. You have to hold it in, even though it starts to feel like cold oil seeping out into your chest.<br> <br> "Can you hold out against these dark, sinful pleasures. I don't think so," Sorpresa taunts you.<br> <br> Her tail pushes deeper and harder up against your prostate gland. Her vagina grips you and pleasant muscular contractions roll up and down your shaft. The motions become slower and more deliberate. It's as if she knows you're at the brink and is going to hold you there for as long as she can. Caught between the twin pleasures, you're helpless.<br> <br> [[She has you.->Sorpresa: Approaching Climax 2]]
She holds your face tight to her soft bosom. Her breath roils in your lungs, feeling wrong, feeling somehow corrupted. Her pussy pulses slowly around your cock. Her tail presses against your prostate with the same slow rhythm. She knows she has you, and holds you helplessly at the edge.<br> <br> <<include [[Sorpresa: Ending Selector]]>>
"Let it all out," Sorpresa says.<br> <br> She pulls your face away from her smothering bosom.<br> <br> /* check if enslaved */ <<set _ailment to 0>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> [[Continue.->Sorpresa: Aborted Bad End]] <<else>> [[Continue.->Sorpresa: Default Bad End]] <</if>>
Her hands grip the side of your head and tilt your face upwards. You look up into her face.<br> <br> Sorpresa's mouth starts to stretch, revealing a gaping, cavernous maw. Just as you're starting to fear she might swallow you whole... or worse, she closes her too-wide mouth and favours you with a smile.<br> <br> "No, I should not," she says. "You are another's claim."<br> <br> She presses your face back into her smothering boobs.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> <<include [[Sorpresa: Good End Precursor]]>>
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Sorpresa: No Semen Bad End]]>> <<else>> <<include [[Sorpresa: Good End 1]]>> <</if>>
/* Faction bonus to room affection */ <<set _factionNumber to 1>> <<include [[Check if Player is Exclusively this Faction]]>> <<if _isPlayerThisFaction>> <<set $roomAffection += 3>> <</if>> /* black rose check */ <<if $cgi eq 0>> <<include [[Sorpresa: Too Low Affection]]>> /* second, check CON stat */ <<elseif $player.currConst lt 5>> <<include [[Sorpresa: Too Low Const]]>> /* third, check affection */ <<else>> <<if $isTesting>> ''Room affection = <<print $roomAffection>>''<br><br> <</if>> /* affection of +2 is safe */ <<if $roomAffection gt 1>> <<include [[Sorpresa: Good End Precursor]]>> <<else>> <<include [[Sorpresa: Too Low Affection]]>> <</if>> <</if>>
Her breath in your lungs starts to feel wrong... corrupt. You try to hold it in as long as you can, and can't. Your throat hitches. You squirm against Sorpresa's smothering boobs.<br> <br> <<include [[Sorpresa: Bad End Precursor: Default]]>>
"Time to come," Sorpresa whispers.<br> <br> [[Continue.->Sorpresa: Good End Semen Check]]
Sorpresa presses on your prostate with her tail. Her tight vagina clenches around your cock. Your body trembles. You gasp in pleasure, releasing Sorpresa's tainted breath into her bosom. You think you come, but you're not sure. Your cock throbs as if in orgasm, but you can't feel for certain that anything came out. Maybe, after all your previous exertions in the House this evening, you might not have anything left.<br> <br> "Nothing?" Sorpresa says with a disappointed hiss, confirming what you thought. "And I was going to let you go."<br> <br> She tilts your head up and leans down for another kiss. Again she exhales and fills your lungs with her tainted breath. It feels thicker and more corrupted this time. Sorpresa keeps her lips locked with yours as her tainted breath seeps out into your body and sinks hooks in you.<br> <br> Then she inhales, drawing her breath back into her. You soul is ripped out and inhaled with it. Your body twitches a couple of times in her arms and then grows still.<br> <br> Sorpresa gulps down your soul and lets out a satisfied sigh.<br> <br> <<include [[Sorpresa: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Her tail presses up against your prostate. Her vagina clenches around your cock. You gasp and expel her tainted breath into her smothering cleavage. Your body is rocked by a powerful climax. Your cock throbs and you release a massive stream of cum into her warm, pulsing pussy.<br> <br> Sorpresa moans in delight.<br> <br> Your moans are smothered in her tits. You can't breathe. Your nose and mouth are covered by her soft boobs. You grow lightheaded. Stars flash behind your eyes.<br> <br> "Drown. Drown in me."<br> <br> Sorpresa pushes deep in your ass with her tail, pressing down on your prostate. Her vagina gives you another powerful, rippling suck.<br> <br> You explode again. You have no air to gasp into her bosom, but you still have plenty of semen. Your body trembles and writhes in her coils as you spurt more of it into her sex.<br> <br> You still can't breathe. Her tits smother you completely.<br> <br> You're still helplessly spurting semen inside her even as everything starts to grow dark.<br> <br> [[Continue.->Sorpresa: Good End 2]]
...and then you're coughing and spluttering, your lungs working like bellows to suck precious oxygen into your chest. You're on your hands and knees with the door right in front of you.<br> <br> You hear Sorpresa's sultry laughter behind you. You turn and see only inky-black shadows.<br> <br> Feeling like you might have had a lucky escape, you grip the door handle and stumble out of Sorpresa's room.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<include [[Default Harlot: Faction Increase]]>> <<include [[Sorpresa: Scenario Clean-Up]]>> <<include [[Harlot Scenario: End]]>>
<<unset $roomAffection>>
Her hands grip the side of your head and tilt your face upwards. You look up into her face.<br> <br> "Give it all to me," she hisses.<br> <br> Her mouth opens and stretches wide. It keeps stretching wider, distorting the rest of her face. It's wide enough to swallow your whole head. Her face stretches even more. Her maw is a gaping black void.<br> <br> Her tail presses up against your prostate. Her tight vagina clenches around your cock. Your body is rocked by a powerful climax. Your cock throbs and you spurt a big load of cum into her warm, pulsing pussy.<br> <br> At the same time you gasp, expelling Sorpresa's tainted breath from your lungs. It drags your soul out with it. You float in the air above your own orgasming body, before you're caught by the whirling vortex of Sorpresa's gaping maw and drawn up into darkness. Your body is still bucking and pumping cum into her tight vagina even as she inhales your soul.<br> <br> Your cock gives a last few desultory spurts. Your body grows still and cold in Sorpresa's embrace. She gulps down your soul and lets out a satisfied sigh.<br> <br> <<include [[Sorpresa: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
"Time to give you what you want," Sorpresa says.<br> <br> She pulls your face away from her smothering bosom.<br> <br> [[Continue.->Sorpresa: Default Bad End]]
/* black rose also goes through this path */ She holds you at the brink for what feels like forever. Her breath continues to roil in your lungs. Her pussy pulses with slow throbs. She's in total control.<br> <br> You are not. You can't hold her breath in any longer. You squirm against her as your lungs burn to release the corrupted air.<br> <br> <<if $cgi eq 0>> <<include [[Sorpresa: Bad End Precursor: Black Rose]]>> <<else>> <<include [[Sorpresa: Bad End Precursor: Default]]>> <</if>>
/* check if player is exclusively part of a faction (has max affinity only with that faction). */ /* Pre-reqs: _factionNumber _isPlayerThisFaction */ <<set _isPlayerThisFaction to false>> <<set _pmfa to $player.maxFactionAffinities>> <<if _pmfa.length eq 1>> <<if _pmfa[0] eq _factionNumber>> <<set _isPlayerThisFaction to true>> <</if>> <</if>>
/* Text Here */ "Sorpresa Ombra? That cold-blooded reptile. You're a brave man, or crazy." $npcMoney.name pulls out a small black notebook. /* always end in line breaks */ <br> <br>
/* fluffy thing */ <<if _scoreArray[0][1] and not _osa[0][2]>> <br><br> $npcMoney.name shudders as you mention what happened to the <<print $allGifts[7].name + ".">><br> <br> "The poor thing." <br><br> /* scented */ <<elseif _scoreArray[1][1] and not _osa[1][2]>> <br><br> "I've heard she has a refined sense of smell. To make up for the..." He points to his eyes. "You know," he says. <br><br> /* unsuitable */ <<elseif _scoreArray[2][1] and not _osa[2][2]>> <br><br> "I've heard rumours she is blind and does not require either food or drink for sustenance," $npcMoney.name says. <br><br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
/* saved */ <<if _scoreArray[4][1] and not _osa[4][2]>> "It sounds like you had a very narrow escape," $npcMoney.name says. "Or maybe it's just forestalling the inevitable, if, as she implies, another she-devil already has her claws hooked in your soul." <<else>> He shivers.<br> <br> "Terrifying. Absolutely terrifying. You are a lucky man to be alive and able to recount your tale. As for me, I'd rather not leave things to luck. Or have things inserted into... sensitive places."<br> <br> $npcMoney.name rubs his ass and his face reddens. <</if>> /* do not end with linebreaks */
/* Zuripai Suponji */ <<set $hi to 26>> <<set $allHarlots[$hi] to { number: $hi, name: "Zuripai Suponji", shortDescription: "", faction: 7, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], affection: 0, hasSocialised: false, preIntroductionLink: "Zuripai: Pre-Introduction", introductionLink: "Zuripai: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Zuripai: Socialising", npcGossipLink: "Zuripai: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Zuripai: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Zuripai: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Zuripai: Sell Exp Intro", sellExpBodyLink: "Zuripai: Sell Exp Body", sellExpFeedbackLink: "Zuripai: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 1>> <<set $player.money to 10>> <<set $player.charms.push(14)>> <<set $player.maxFactionAffinities to [1, 2]>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currConst to 5>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ <<set $player.currIsSubmissive to false>> /* <<set _ailment to 1>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 26>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
/* Text Here */ "Ah, the big girl," $npcMoney.name says. "I did wonder if she was some kind of ogress or giantess, like in the myths, but I've been informed this is not, in fact, correct."<br> <br> He pulls out a small black notebook.<br> <br> "Anyway, please tell me of your experiences." /* always end in line breaks */ <br> <br>
<<set $allHarlots[_hi].shortDescription to "a gigantic woman with enormous tits. She's nearly twice as tall as the girls around her. She wears a black leather jumpsuit with a complex harness of leather straps to hold her gigantic boobs together.">>
<<set _isRepeat to $allHarlots[$hi].hasBeenVisited>> /* Madam intro */ "This is the large and lovely Zuripai Suponji," $npcMadam.name says. "Don't be put off by her imposing appearance. She's lovably soft and squishy."<br> <br> $npcMadam.name puts a hand to her mouth to whisper.<br> <br> "Especially her boobs." <br> <br> /* Long description */ Zuripai Suponji is a giant. You estimate her as being around ten feet tall. Standing next to her you feel like a small child.<br> <br> She is otherwise normally proportioned aside from her overflowing bust. It would be big for a woman of normal size. On her it's mind-meltingly massive.<br> <br> <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> She wears a tight black leather jumpsuit that covers all of her body aside from her chest. A complex series of leather straps is stretched across her boobs to hold them in place. The straps cover her nipples and that's about it. Her cleavage is a vast pink chasm.<<if _hasAilment>> You teeter helplessly at the edge and have to fight hard to stop yourself falling in.<</if>><br> <br> In contrast to her ogreish size, her face is beautiful like an otherworldly model – narrow with exquisite high cheekbones. She has a big mane of strawberry-blonde hair that billows out behind her. <br> <br> /* Harlot intro */ "Hello, I am Zuripai." Despite her size, her voice still sounds soft and feminine.<br> <br> She takes your hand and it feels small and childlike in hers.<br> <br> "I'll give you a good squeeze between my tits." <br>
With your hand in Zuripai's much bigger hand, you walk into the bar area. If it wasn't for the size of the tables and chairs, you'd feel like a child walking with his mother. You're surprised that Zuripai's considerable stature doesn't attract more attention. Everyone else seems engrossed in their own partner. You find a quiet table over by the corner. <br><br> <<set $socNoMoneyLink to "Zuripai: Socialising: No Money">> <<set $socDrinkLink to "Zuripai: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> "How disappointing," Zuripai says. "I hope you're not a tease. I really hate teases."<br> <br> Shamefaced, you return to <<print $npcMadam.name + ".">> <br><br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you. You were expecting her to bring something large for Zuripai, like a big pitcher of beer, and are surprised when the waitress returns with a dainty wine glass. It almost looks like a thimble in Zuripai's hands.<br> <br> "I suppose you'd like to know what service I offer," Zuripai says.<br> <br> You have to crane your neck to look at her face.<br> <br> "I offer a full-body paizuri," she says. "I pop you between these and give you a good squeeze until you come."<br> <br> She presses her boobs together and lets them bounce in a way that hypnotically draws your gaze.<br> <br> "My boobs react to cum. The more you give them, the more pleasant they feel. So make sure you're fully stocked up when you visit me. The nurse can help you with that."<br> <br> Full-body paizuri. How intriguing.<br> <br> The vision of her big boobs bouncing together stays with you even after you've returned to <<print $npcMadam.name + ".">> <br><br> <<set $allHarlots[$hi].hasSocialised to true>> <<include [[Socialising: End]]>>
"Hmm, Zuripai Suponji. She's a rare one. Succubi aren't normally so large. It makes the physics... awkward."<br> <br> $npcGossip.name runs a finger back and forth through a hoop of her thumb and forefinger while chuckling filthily.<br> <br> "She uses her tits. She puts a man between them and squeezes until his cum leaks out. It sounds dreadfully uncultured to me, but I've been told is both effective and pleasurable. Just be careful you don't sink in too deep."<br> <br> She gives a nasty laugh.<br> <br> "I do feel a little sorry for her. $npcMadam.name believes the prey must always have a chance to escape, so all of us in here must choose a set of rules to make the game fair. Zuripai chose poorly for a house filled with semen-hungry succubi."<br> <br> $npcGossip.name chuckles again.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"Her big tits need a lot of semen.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She hates teases, so make sure you've got at least something to give her if you don't want to be broken in half.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"If you want to escape her cloying cleavage you might want to make sure your balls are drained a little beforehand. Not exactly hard in here,\" $npcGossip.name laughs."}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Zuripai: First-Time Scenario]]>> <<else>> <<include [[Zuripai: 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], /* 1 ejaculation */ [3,false,false], /* 2 ejaculations */ [6,false,false] /* 3 ejaculations */ ] }>> <<include [[Zuripai: Enter Room]]>>
/* no repeat scenario at the moment*/ <<include [[Zuripai: First-Time Scenario]]>>
"Come in," Zuripai Suponji says.<br> <br> You enter her room. It looks rather comfy and stylish with thick padded leather panels on the walls. Zuripai sits suggestively on a large black chair at the back of the room. It's as majestic as a throne, while still resembling a large, comfy black armchair.<br> <br> For a moment everything looks normal and the scale confuses you. Then you take a step into the room and it's as if you've shrunk down to child-size.<br> <br> "Welcome," Zuripai says.<br> <br> She languidly swings her legs down and stands up. She walks over until she's towering above you.<br> <br> "What do you have for me?" she asks.<br> <br> [[You present your gift.->Zuripai: Gift]]
You present her the <<print $allGifts[$cgi].name + ".">><br> <br> <<if $cgi eq 0>> <<include [[Zuripai: Gift: Black Rose]]>> <<else>> <<include [[Zuripai: Gift: Default]]>> <</if>> <br> <br> She places it on a table.<br> <br> "Now, if you could take your clothes off please."<br> <br> [[Time to get undressed.->Zuripai: Undressing]]
Zuripai takes the $allGifts[$cgi].name from you.<br> <br> "Hmm," she says, looking you over. "It will depend on you and how willing your body is."<br> <br> She sends a hot glance down to your crotch.
She takes the $allGifts[$cgi].name and smiles.<br> <br> "That's very nice. Thank you."
You undress and hang your clothes on a stand next to the door.<br> <br> <<if $allHarlots[$hi].hasSocialised>>"As I told you downstairs, the<<else>>"The<</if>> only service I offer is full-body paizuri," Zuripai says.<br> <br> She undoes the leather straps of her top and lets her big breasts bounce free and unfettered. Her pink skin has a healthy glossy shine. Each lusciously round breast is topped with a darker pink areole and bolt-like erect nipples.<br> <br> "I'll place you between these and squeeze you until you fill my cleavage with creamy cum," she says, her eyes smouldering lustily.<br> <br> She squeezes her big soft tits together and sets them bouncing and swaying.<br> <br> /* boob fetish check */ <<set _ailment to 1>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> You're entranced by the sight and find it hard to look away.<br> <br> "I can see you really like big boobs," Zuripai laughs. "You're really going to enjoy this." <<else>> <<if not $player.currIsSubmissive>> "You look like the sort that likes to be in control," Zuripai says. "You won't be able to do that here, so relax and let me take it from here." <<else>> "You look like the sort that likes to let the girl take the lead," Zuripai says. "That's the right attitude to have in this room." <</if>> <</if>> <br><br> Naked, you stand before Zuripai. The size difference makes it weird. It feels like you've been regressed down to a child.<br> <br> "Over here," Zuripai says.<br> <br> [[Continue.->Zuripai: 1st Paizuri 1]]
She directs you over to one of the walls. Up close, the padded black panels look very plump and deep. They more resemble cushions on an armchair or sofa.<br> <br> "Ready?" Zuripai smiles.<br> <br> She scoops you up and hugs your body to her mammoth, ballooning chest. Then she slams you up against the soft padded wall, wedging you deeper into her considerable cleavage.<br> <br> She smiles at your surprised expression. "It's to hold you in place," she says. "At the start."<br> <br> You're pinned to the wall. Your feet kick out ineffectually. You feel like a toddler compared to her size.<br> <br> "Mmm, squirm all you like," Zuripai laughs. "I like it when they wriggle."<br> <br> You also like wriggling between her enormous breasts. They're soft and warm like giant pillows. You slide your hands over the top and her skin feels silky-smooth to touch.<br> <br> "Enjoying the feel?" Zuripai asks. "It does feel nice being squeezed between my big boobs, doesn't it."<br> <br> She presses her hands against the side of her tits and the big round cushions of flesh bounce against you.<br> <br> "Hmm, but as comfortable as it is, I can see you wondering how I can get you off like this," Zuripai says. "Let me show you."<br> <br> [[Continue.->Zuripai: 1st Paizuri 2]]
She presses her hands into the side of her tits and //flexes//. You're sucked deeper into the pink chasm of her cleavage. The warm flesh of her breasts presses snugly up against your body. Her silky-smooth skin enfolds your front and draws your lengthening erection out from your body.<br> <br> "Ah there it is," Zuripai murmurs.<br> <br> Her breasts, despite their huge size, pinch together so tightly it feels like your cock has sunk into a nice tight sheath.<br> <br> "Time to start milking out your lovely manjuice," Zuripai says.<br> <br> She starts moving her hands against the sides of her boobs in slow circular motions. Within the tight space between her tits it translates to a gentle tugging sensation on your cock.<br> <br> "Relax. Let my boobs milk it out of you."<br> <br> She continues moving her hands in slow sensual circles. Your cock is tugged by gentle strokes. If you close your eyes and imagine, it feels like resting between two big pillows while a sexy woman gives you a handjob, or even a blowjob.<br> <br> "Yes, let's squeeze it out."<br> <br> Zuripai's hands move faster and faster. She adds little squeezes that set her big boobs bouncing against you. Your cock is stroked and squeezed deep within her cleavage.<br> <br> "Don't hold it in. Spray your cum all over my tits."<br> <br> You start trembling as the urge to come builds within you. It feels like your dick is being sucked by warm soft flesh.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> [[Continue.->Zuripai: Bad End: No Semen]] <<else>> [[Continue.->Zuripai: 1st Ejaculation]] <</if>>
"Is it coming?" Zuripai asks.<br> <br> It isn't. As good as it feels, Zuripai can't quite stroke you to climax. You think you might be empty.<br> <br> Zuripai tries increasing the speed and force without any success.<br> <br> "What? Nothing? Not even a drop?" Zuripai says.<br> <br> She shifts position, letting you slide down until your dick is pushing up into the bottom of her cleavage. She wraps her arms around you and hugs you tight to her body.<br> <br> A little too tight. Bear-hug tight.<br> <br> "I hate teases," Zuripai says. "I hate it when men let themselves get completely drained by the other succubus sluts and come to me with nothing. It's so frustrating."<br> <br> She squeezes with her powerful arms. Her tits, which before seemed so soft and yielding, now seem as unyielding as rocks. You're bent uncomfortably against them.<br> <br> "You'd better have something for me to squeeze out," Zuripai says.<br> <br> She squeezes harder until you're almost bent back upon yourself and whimpering in pain. Zuripai keeps going. She gives a loud grunt of exertion and squeezes you up against her unyielding body until your spine snaps and your top half flops back on itself. She drops you and stares down scornfully at your crippled body.<br> <br> "To die for not even having a little dribble," she says. "How shameful."<br> <br> What the House does to those it deems crippled and useless is best not mentioned.<br> <br> <<include [[Zuripai: Scenario Clean-Up]]>> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
"Is it coming?" Zuripai asks.<br> <br> Yes, it is coming. You can feel it rising up from your toes. Your whole body tenses as the orgasm bursts up from within you.<br> <br> "Yes, here it comes. I can feel it," Zuripai says.<br> <br> She brings her arms up and hugs you tightly to her considerable bosom. The tension builds within you until you can contain it no longer. You press your hips into her soft bosom and spurt thick ropes of semen deep into the fleshy pink depths of her cleavage.<br> <br> "Yes, pump it all out. Dirty my big slutty tits."<br> <br> She holds you tight to her overflowing bosom until the shuddering orgasm ends.<br> <br> <<if $player.semenCount lt 3>> "Mmm, a nice amount. Did it feel good?" <<else>> "So much," she says. "Did you store up a lot for me?" <</if>> <br><br> Her hands slide down your back and cradle your buttocks. An oversize finger slides between your butt cheeks.<br> <br> "Let's see if you have any left. I can't let you go until those balls have been completely drained."<br> <br> Her finger prods and tests the underside of your balls.<br> <br> [[Continue.->Zuripai: 1st Check]]
<<if $player.semenCount eq 0>> "Oh, you're done. You're all empty." She sounds a little disappointed. <<else>> <<if $player.semenCount gt 2>> "Ooh so much." She sounds excited. "You're going to give my tits a good soaking." <<else>> "Mmm. Still some left. We'll have to squeeze that out of you." <</if>> <</if>> <br><br> Her finger slides along your perineum, past your anus and then up your spine, sending a pleasant shiver through you.<br> <br> <<if $player.semenCount eq 0>> [[Continue.->Zuripai: Good End: 1 Ejaculation]] <<else>> "Let's go again," Zuripai says.<br> <br> [[Continue.->Zuripai: 2nd Ejaculation]] <</if>>
<<include [[Zuripai: Get Dressed]]>> <<if $cgi eq 0>> <<include [[Zuripai: Black Rose Conv]]>> <<else>> <<include [[Zuripai: Shallow Paizuri Conv]]>> <</if>> /* no faction increase for this */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<include [[Zuripai: Good End: Leave]]>>
She takes a deep breath and flexes her chest. You are sucked deeper into her fleshy cleavage. She no longer needs to pin you against the walls to hold you in place.<br> <br> "Mmm. Semen is so good for my boobs," Zuripai moans. "It makes them all soft and malleable."<br> <br> She grips the side of her tits and starts rubbing them up and down. Your whole body is buffeted and squeezed between two big balloons of flesh. A pleasant scent, like sweet perfume, rises up around you.<br> <br> Her voice goes low and raspy. "Let's squeeze another load out."<br> <br> She squeezes her tits together. Your cock is again snugly sheathed in warm flesh. It feels wetter and stickier this time, almost like an actual orifice. Grunting in pleasure, Zuripai bounces her overflowing boobs against you. You feel a throbbing pleasure in your cock. You feel it grow and spread down to your balls. Your body starts trembling again in anticipation of another climax.<br> <br> "Yes, don't hold back. Pour it all out between my luscious tits," Zuripai exhorts.<br> <br> She wraps her arms around you and hugs you tight to her bosom. Her boobs throb around you. You throw your head and gasp as another powerful orgasm overwhelms you. You buck against her cushion-soft tits as your cock spurts more thick ropes of semen into her cleavage. Zuripai holds you there, her bosom slowly rising and falling with her breaths, as she milks out your cum.<br> <br> <<set $semenChange to -1>> <<include [[Checked Semen Change]]>> Two powerful orgasms in a row have left you feeling a little drained. You slump forwards and rest against her soft bosom.<br> <br> <<if $player.semenCount eq 0>> [[Continue.->Zuripai: Good End: 2 Ejaculations]] <<else>> [[Continue.->Zuripai: 3rd Ejaculation]] <</if>>
"So much lovely cum," Zuripai says. "Just feel how soft and comfy my boobs are getting."<br> <br> A change has come over her breasts. You run your hands over the top and her flesh seems softer and tackier, like a sponge you can push your hand into.<br> <br> "I'd take more, but I can tell you're out. I've completely emptied your balls."<br> <br> She gently lifts you out of her cleavage. Her soft breasts feel strangely tacky, as if reluctant to let you go.<br> <br> <<include [[Zuripai: Get Dressed]]>> <<if $cgi eq 0>> <<include [[Zuripai: Black Rose Conv]]>> <<else>> <<include [[Zuripai: Shallow Paizuri Conv]]>> <</if>> /* faction increase for this */ <<include [[Default Harlot: Faction Increase]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include [[Zuripai: Good End: Leave]]>>
"So much lovely cum," Zuripai says. "Just feel how soft and comfy my boobs are getting."<br> <br> A change has come over her breasts. You run your hands over the top and her flesh seems softer and tackier, like a sponge you can push your hand into.<br> <br> "Let's pull you in deeper."<br> <br> Zuripai sighs and flexes again. Her breasts roll up around you and before you realise it, you're sunk deep enough into her cleavage for her boobs to enfold you completely. Your head and shoulders stick out of the top. Your legs dangle out of the bottom. The rest of your body is wrapped in warm tits.<br> <br> "Ah," Zuripai sighs. "See how eager they are to accept you. A couple more pops and you'll join with them fully."<br> <br> You push half-heartedly at the top of her bosom. There's nothing to grab hold off and you're frightened of pushing too hard. Her breasts have softened up so much you fear your hands might sink right in.<br> <br> "Let's pump out another load," Zuripai says.<br> <br> She doesn't have to move her boobs with her hands. They throb and squeeze of their own accord. The slow throbbing pulsations run through your body and focus down at your cock. It doesn't take long before you're again perched, trembling, at the precipice of climax.<br> <br> "Let it out," Zuripai sighs.<br> <br> Her boobs throb again, strongly, and you can't hold back as another ejaculation bursts from you. Her soft boobs soak your issue up like a sponge. It's a slower, longer orgasm that leaves you slumped in her cleavage.<br> <br> <<set $semenChange to -1>> <<include [[Checked Semen Change]]>> <<if $player.semenCount eq 0>> [[Continue.->Zuripai: Good End: 3 Ejaculations]] <<else>> [[Continue.->Zuripai: Bad End: Boob Absorption 1]] <</if>>
"So close," Zuripai says. "Just one more."<br> <br> She sucks you in deeper. So deep it feels like her boobs are on the cusp of absorbing you completely. They throb and pulse pleasantly around you. Your body again starts to climb back up to the peak of climax, but this time it feels too far away. Your cock throbs weakly between her tits, but nothing comes out.<br> <br> "Oh well," Zuripai says. "It is to be expected in a house full of hungry succubi."<br> <br> She parts her breasts and gently peels you out of her cleavage. Her breasts feel sticky and reluctant to give you up. Zuripai pulls you from their cloying grip.<br> <br> <<include [[Zuripai: Get Dressed]]>> <<if $cgi eq 0>> <<include [[Zuripai: Black Rose Conv]]>> <<else>> <<include [[Zuripai: Deep Paizuri Conv]]>> <</if>> /* faction increase for this */ <<include [[Default Harlot: Faction Increase]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <<include [[Zuripai: Good End: Leave]]>>
"So close," Zuripai says. "One more and my boobs will be soft enough to absorb you."<br> <br> She flexes again and you're sucked even deeper into her pillowy cleavage. So deep you think they might gobble you up entirely. Then you realise with horror that they are gobbling you up. It feels like her flesh is melting around you and you're slowly being drawn into her bosom. You push against the surface and feel your hands sink right into her soft flesh as if it's warm mud.<br> <br> Zuripai sighs with pleasure. "There is no escape. Just relax and enjoy the pleasure."<br> <br> Her boobs slowly throb around you. Your cock is gripped by a gentle tugging suction. Again you feel the urge to come rise within you and you cannot hold it back.<br> <br> "Here it comes," Zuripai says.<br> <br> [[Continue.->Zuripai: Bad End: Boob Absorption 2]]
Her big soft boobs stroke and pulse you to another shuddering orgasm. As you cum you feel her tits become malleable around you and your cock sinks into her yielding flesh. The sensations now feel like your cock has been enveloped by a thirsty sponge. It is a strange and pleasant feeling, as if the semen is being drawn out of your cock.<br> <br> Her boobs become completely porous and you start to sink into them.<br> <br> "Ah. That's all I need," Zuripai says. "Now relax and float in bliss as my boobs absorb you."<br> <br> Zuripai returns to her big chair and settles back into it. She moans and sighs with pleasure as you slowly sink into her flesh. Your fears are overcome with bliss as her warm flesh wraps intimately around you. You're still shuddering in orgasm as your head and shoulders are drawn down into her cleavage and you're completely absorbed.<br> <br> Zuripai presses her tits together and a small dribble of cum wells up out of the top of her cleavage. She tilts her head down to lick it up and lets out a contented sigh.<br> <br> <<include [[Zuripai: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She returns to her giant chair at the back of the room. Pleasantly emptied, you leave.<br> <br> <<include [[Zuripai: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
Zuripai puts you back down and starts to reattach the leather straps of her harness top. Her nipples are covered and her beautiful big boobs caged again.<br> <br> Shakily, you start to put your own clothes back on.<br> <br>
"I can't give you what you want," Zuripai says. "You'll need to come back with a full tank."<br> <br> She glances meaningfully down at your crotch.<br> <br> "The nurse can help you with that."<br> <br>
"Did you enjoy my full-body paizuri?" Zuripai asks.<br> <br> You nod.<br> <br> "That was only the shallow version. Come back with more in the tank..."<br> <br> She glances meaningfully down at your crotch.<br> <br> "...and I'll show you the deep version."<br> <br>
"You came so close," Zuripai says. "Just a little more in the tank..."<br> <br> She glances meaningfully down at your crotch.<br> <br> "...and my breasts would have fully accepted you into a world of unrivalled bliss."<br> <br> As much as you're curious, you suspect it is a world you would not be able to return from.<br> <br>
/* must start with linebreaks if wish to start on new line */ <br> <br> "A full-body titwank. How queer. Then I suppose it might be the only way given the... ahem... obvious size differences."<br> <br> He taps his notebook.<br> <br> "And how many times did she make you... uh... release between her tits?"<br> <br> You tell him. /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
/* Text here */ <<if _scoreArray[0][1] and not _osa[0][2]>> "Just the once? I've heard she usually induces more, providing the flesh is... harumph... willing. I've heard rumours that her breasts change <<include [[Zuripai: Sell Exp Feedback Additional]]>> <<elseif _scoreArray[1][1] and not _osa[1][2]>> "Twice, eh. And in quick succession. I'd heard she was rather talented in the use of her breasts."<br> <br> $npcMoney.name's moustache twitches.<br> <br> "Did you notice anything different about her breasts afterwards. I've heard they alter <<include [[Zuripai: Sell Exp Feedback Additional]]>> <<elseif _scoreArray[2][1] and not _osa[2][2]>> "Three times! Lord, you must be possessed of an uncommon vitality. And you said her tits felt different afterwards—soft and spongy. And you felt like you were sinking into them? Almost like they were trying to absorb you?"<br> <br> Deep in thought, he taps his pen against his chin.<br> <br> "Hmm. Is it number or quantity?" he mumbles to himself. "Three seems to be the upper limit. Some don't return after two. No one as of yet has managed four. Hmm. Hmm."<br> <br> He remembers you're there.<br> <br> "Thank you. Most helpful." <</if>> /* do not end with linebreaks */
depending on the quantity of semen... ahem... deposited between them. Maybe you can investigate that. After giving yourself enough time to recover, of course. Hmm, maybe the nurse can help out with that. I've heard she's good with such things."
/* Cibi Somnia */ <<set $hi to 27>> <<set $allHarlots[$hi] to { number: $hi, name: "Cibi Somnia", shortDescription: "", faction: 7, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [13], affection: 0, hasSocialised: false, preIntroductionLink: "Cibi: Pre-Introduction", introductionLink: "Cibi: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Cibi: Socialising", npcGossipLink: "Cibi: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Cibi: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Cibi: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Cibi: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Cibi: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 3>> <<set $player.money to 10>> <<set $player.charms.push(14)>> <<set $player.maxFactionAffinities to [1, 2]>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currConst to 5>> */ <<set $player.currWill to 5>> /* <<set $player.currInt to x>> */ /* <<set _ailment to 6>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 27>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
"Ah, the sheep," $npcMoney.name says as he pulls out a black notebook. "She looks harmless enough. I've been thinking of paying her a visit myself." /* always end in line breaks */ <br> <br>
<<set $allHarlots[_hi].shortDescription to "a pretty sheep girl with heavy-lidded violet eyes and large curled horns. She wears a stylish blue longcoat with wool trim.">>
/* Madam intro */ "Oh ho, Cibi Somnia has woken up and deigned to grace us with her presence," $npcMadam.name says. "Her relaxing touch will send you to slumberland." <br> <br> /* Long description */ Cibi Somnia is a sheep girl...you think. There is a strong sheep motif to her appearance. Her hair is a tightly curled bob of silvery-white wool. She has a large pair of ram's horns that curl around her pointed ears.<br> <br> She has woollen ruffs around her neck, wrists and ankles. It's while looking at her ankles you realise she's not wearing any shoes. From her posture, you assumed she was up on high heels, but on closer inspection you realise she's propped up on a pair of elegant hooves.<br> <br> She wears a stylish Prussian-blue longcoat with wool trim that extends down to her knees. Her eyes are big and expressive, with heavy eyelids and strange but alluring violet irises. <br> <br> /* Harlot intro */ "Hi, I'm Cibi. Would you like a relaxing cuddle with me?" Cibi says. <br>
Despite her beastly appearance, Cibi cuts a chic and alluring figure as she accompanies you out into the bar. She snuggles up close to you, more like a date than an escort. You find a quiet table. <br><br> <<set $socNoMoneyLink to "Cibi: Socialising: No Money">> <<set $socDrinkLink to "Cibi: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> Cibi stifles a loud yawn.<br> <br> "You interrupted my nap, for this."<br> <br> She leaves you to your red-faced embarrassment. <br><br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and a cocktail for Cibi. You make idle chitchat. Beastly appearance aside, being in Cibi's company is very relaxing. Maybe a little too relaxing. You feel your eyelids start to droop.<br> <br> Cibi leans forward to whisper. "I'm not wearing anything at all beneath this coat."<br> <br> That jolts you back to full attentiveness.<br> <br> Cibi giggles.<br> <br> "I thought that would get your attention. You looked like you were dozing off."<br> <br> You apologise.<br> <br> "There is no need for that. The House can be quite draining. You're probably exhausted."<br> <br> It has been a long night.<br> <br> "Come up to my room and we'll have a nice long cuddle together. If you're feeling tired, you can put your head in my lap and take a little nap. I won't mind."<br> <br> Her offer is quite tempting. You do feel quite tired. You stifle a yawn as you return to <<print $npcMadam.name + ".">> <br><br> <<set $allHarlots[$hi].hasSocialised to true>> <<include [[Socialising: End]]>>
$npcGossip.name shudders at the mention of her name.<br> <br> "That's a wolf in sheep's clothing if ever there was one," she says.<br> <br> She sips her cocktail.<br> <br> "Her kind still belong to the Dominion of Lust, barely, so she can fuck with the best of them. But you'll want to be careful you don't get too relaxed in her presence. There's a nightmare waiting behind that pretty face."<br> <br> She takes another sip.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"She doesn't like coffee.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"That massage of hers will send you right off to slumberland if you've tired yourself out beforehand.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"You'll need a strong will or outside help to avoid falling asleep in her presence.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Cibi: First-Time Scenario]]>> <<else>> <<include [[Cibi: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ <<set $choseMassageAfter to false>> <<set $hasDrunkCoffee to false>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Massage */ [1,false,false], /* Doggy */ [2,false,false], /* Missionary */ [3,false,false] /* Cowgirl */ ] }>> <<include [[Cibi: Enter Room]]>>
/* no repeat scenario at the moment*/ <<include [[Cibi: First-Time Scenario]]>>
Cibi Somnia's room is pretty and decorated to look like the twilight sky. The walls go from a lighter shade to a darker shade of blue. The ceiling is painted black and studded with stars. The furniture is covered with thick bundles of cottonwool and made to resemble clouds. You see a big cloud in the centre of the room that likely serves as the bed.<br> <br> You notice faint music playing in the background. It sounds like a lullaby punctuated with silvery bells. The whole ambience of the room is relaxing, almost soporific. You find yourself stifling a yawn as Cibi gets up off one of the 'clouds' and comes over to greet you.<br> <br> [[You present her your gift.->Cibi: Gift]]
<<unset $choseMassageAfter>> <<unset $hasDrunkCoffee>>
<<if $cgi eq 0>> <<include [[Cibi: Gift: Black Rose]]>> <<elseif $cgi eq 13>> <<include [[Cibi: Gift: Coffee]]>> <<else>> <<include [[Cibi: Gift: Default]]>> <</if>>
Cibi takes the $allGifts[$cgi].name from you.<br> <br> "Hold on. I'll just need to adjust the room settings," she says.<br> <br> She picks up a remote control and presses some buttons. The lights dim and the piped background lullaby increases in volume.<br> <br> [[Continue.->Cibi: Undressing]]
"For me?" Cibi says as you present her the <<print $allGifts[$cgi].name + ".">><br> <br> She takes a sniff and her nose wrinkles in disgust. She passes the mug back to you.<br> <br> "I'm sorry. I never got a taste for coffee. I find it too bitter. Maybe you should drink it. I've heard the House's coffee is very good. It would be a shame to let it go to waste."<br> <br> [[Drink it?->Cibi: Drink Coffee]]<br> [[Don't drink it?->Cibi: Don't Drink Coffee]]
Cibi takes the $allGifts[$cgi].name off you.<br> <br> "Why, thank you," she says.<br> <br> She places the $allGifts[$cgi].name in a small cupboard decorated to look like a tiny cloud and turns back to face you.<br> <br> [[Continue.->Cibi: Undressing]]
Cibi gives you a seductively mischievous glance and puts her hands on the edges of her longcoat. Teasingly, she swings to the left, then to the right, then opens her jacket with a "tada!"<br> <br> <<if $allHarlots[$hi].hasSocialised>>As she said in the bar downstairs, she's<<else>>She's<</if>> not wearing anything underneath.<br> <br> Her revealed body is curvy, voluptuous and looks very comfy. You can see her lovely pink nipples and the pink gash of her sex.<br> <br> You can also see the fuzz of a thin layer of silvery white wool covering most of her body.<br> <br> "Not too beastly, I hope," Cibi says.<br> <br> It is unusual, but not unappealing. If it was elsewhere you'd think it some kind of exotic cosplay. Her breasts are exposed, as is a little pink circle of flesh around her navel. The downy wool merges into and forms a triangle of pubic hair around her exposed sex. Her arms and legs are bare aside from little cuffs of wool at her wrists and calves. She has a similar ruff around the bottom of her neck. It doesn't really detract from her curvaceous figure and Cibi can see that from the way you look at her.<br> <br> "And now your turn," she says, pointing at your clothes.<br> <br> You swiftly disrobe and join her in nakedness.<br> <br> Cibi runs a hand over the top of the cloud bed. It looks very soft and fluffy.<br> <br> "Would you like your massage before or after sex?" she asks.<br> <br> [[Before?->Cibi: Choose Massage Before]]<br> [[After?->Cibi: Choose Massage After]]
You drink the coffee. Cibi is right, the House does make good coffee. It's bitter, but rich with flavour. Strong too. You feel more alert and some of the tiredness leaves your eyes. You put the empty mug to one side and turn back to Cibi.<br> <br> <<set $hasDrunkCoffee to true>> [[Continue.->Cibi: Undressing]]
You don't have much of a liking for coffee either. You put the mug to one side where it won't be knocked over and turn back to Cibi.<br> <br> [[Continue.->Cibi: Undressing]]
<<set $choseMassageAfter to false>> "Come and lie down here." Cibi pats the centre of the fluffy cloud bed. "I'll give you a nice arousing massage to put you in the mood."<br> <br> You climb onto the cloud bed. It feels fluffy and warm, but the mattress beneath is maybe a little too soft. Fucking Cibi on here is going to be tiring.<br> <br> You lie down on your front where Cibi indicates and sink down into a mass of soft cottonwool. It has a pleasing aroma you can't quite place.<br> <br> [[Cibi begins the massage.->Cibi: Massage]]
<<set $choseMassageAfter to true>> "Okay, I'll give you a nice relaxing massage after we've had sex."<br> <br> She climbs up on the bed and glances seductively back at you.<br> <br> "But first the sex," she says.<br> <br> You climb onto the cloud bed. It feels fluffy and warm, but the mattress beneath is maybe a little too soft. Fucking Cibi on here is going to be tiring.<br> <br> [[Continue.->Cibi: Doggy Style 1]]
"Relax," she whispers.<br> <br> She breathes heavily right next to your ear, sending a pleasant tingle through your body.<br> <br> "Let your cares and worries float away."<br> <br> Moving around you on the fluffy mattress, Cibi gives you a slow, relaxing massage. Her soft hands glide over your back and shoulders, gently kneading and caressing your tired muscles. She does the same to your legs, finding spots of soreness and gently smoothing them away.<br> <br> She switches to using her cuffs of soft wool. Her touch becomes featherlight – little more than a whisper across your exposed skin. They send a pleasant tingle through you that causes your hairs to prick up. Cibi sighs as she continues to glide her woollen cuffs over your back and shoulders. You feel both relaxed and aroused. Maybe more relaxed. The pleasant lullaby music continues to play in the background. You feel your eyelids droop.<br> <br> Cibi puts a leg across your body and lies on top of you. You feel her warm weight pushing you down into the cottonwool-soft bed.<br> <br> She breathes heavily in your ear.<br> <br> "Relax," she says.<br> <br> More gentle sighs.<br> <br> "Drift. Dream."<br> <br> Your eyelids feel very heavy. Lulled by Cibi's sighs and the soft music playing in the background, you feel really sleepy.<br> <br> /* score massage */ <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<if $choseMassageAfter>> <<include [[Cibi: Massage After: End]]>> <<else>> <<include [[Cibi: Post-Massage Test]]>> <</if>>
Cibi gets on her hands and knees and wiggles her inviting ass at you.<br> <br> "How about we start with some doggy," she says. "Or should that be sheepy," she laughs.<br> <br> You move up behind her and position yourself on your knees between her legs. Cibi reaches behind her, grabs your cock and guides it to the entrance to her vagina. She rocks back and you sink into her warm, wet pussy.<br> <br> You grab the lush cheeks of her ass and hold them as you thrust back and forth inside her. Her pussy feels luxuriously tight and wet. Your cock twitches with delight as you explore her warm depths.<br> <br> "Mmm, fucking a sheep like this," Cibi says. "It's like you've had previous experience. Would you like me to //baaaaa//?"<br> <br> You pause when you realise what she's implying.<br> <br> Cibi laughs. "I'm just teasing. Some of us in here might look a little beastly, or even stranger, but we're still women in all other regards."<br> <br> She rocks back against you. Her vagina tightens hungrily around your cock. You pump hard against her. The springy little muff of curly wool around her vagina makes for a nice cushion as your bodies come together.<br> <br> "Grab my horns," Cibi urges between breathy sighs.<br> <br> You lean over, grab her curling horns and hold them like handlebars. You press close to her, feeling her downy soft wool rub against your chest while you thrust away. You feel delicious slick friction as your cock slides back and forth inside her.<br> <br> [[You're coming...->Cibi: Doggy Style 2]]
"Close your eyes and have a little nap," Cibi breathes in your ear. "I'll wake you up at the end of the session."<br> <br> That sounds like a good idea. You feel really tired. A little nap won't hurt.<br> <br> <<include [[Cibi: To Bad End]]>>
Your eyelids are drooping shut when you hear the snap of Cibi's fingers.<br> <br> "You're dozing off," she says.<br> <br> She rolls off and lies next to you on the bed.<br> <br> "We haven't had sex yet," she says. "If I let you sleep through the whole session $npcMadam.name will accuse me of trying to con the punters."<br> <br> [[Continue.->Cibi: Doggy Style 1]]
/* always include this at end of passage */ Cibi cuddles up to you with her warm body. She nuzzles your neck and breathes softly in your ear.<br> <br> You're unable to stop yourself from closing your eyes and dozing off. You drift off to sleep.<br> <br> [[You fall asleep.->Cibi: Bad End]]
<<set $semenChange to -1>> <<include [[Checked Semen Change]]>> /* score doggy */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> You're close. So is Cibi. She trembles beneath you. You tremble too. The orgasm rises up within you and bursts out in a great flood. You press tightly to her, push up with your hips and hold her there as you empty thick ropes of semen inside her.<br> <br> Unable to help herself, Cibi lets out a loud orgasmic "Baaaaa!"<br> <br> Then, spent, you pull out and collapse on the cloud bed next to her. Your breathing is heavy and your heart is still racing. That was harder work than you were expecting.<br> <br> Cibi cuddles up to you and envelops you in her warmth and scent.<br> <br> You feel pooped. The mattress, while pretty as a cloud, is so soft it makes sex tiring. It is very warm and comfortable, though. Lulled by the soft music playing in the background, you feel your eyelids droop.<br> <br> <<include [[Cibi: 1st Post-Coital Test]]>>
/* no semen */ <<if $player.semenCount eq 0>> <<include [[Cibi: To Bad End]]>> <<else>> /* test overrides (black rose, coffee, charms) */ <<if $cgi eq 0 or $hasDrunkCoffee>> [[Continue.->Cibi: 1st Interlude]] <<else>> /* Will test (need 3 or higher) */ <<if $player.currWill lt 3>> <<include [[Cibi: To Bad End]]>> <<else>> /* fatigue test */ <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<include [[Cibi: To Bad End]]>> <<else>> /* passed */ [[Continue.->Cibi: 1st Interlude]] <</if>> <</if>> <</if>> <</if>>
Then flick back open as you hear a strange bony click. For a brief, disorientating moment, you glimpse Cibi's face in the corner of your eye and it seems //altered//. Your eyes open, you turn to face her and see it's just her regular friendly face smiling back at you.<br> <br> "We've still got time," she says. "Let's go again."<br> <br> [[Go again.->Cibi: Pre-Missionary]]<br> <<if $cgi neq 0>> [[Politely turn her down.->Cibi: 1st Decline]] <</if>>
Not much is known about the mysterious Dream Eater. No one even knows what they really look like, as the Dream Eater never reveals her true form while there is anyone awake to see it. The only thing known for certain is that a person should never //ever// fall asleep – alone – in the presence of a Dream Eater.<br> <br> Your dreams are pleasant... and then they are not.<br> <br> You never wake up.<br> <br> <<include [[Cibi: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She reaches over to stroke your cock. You're surprised it's still hard.<br> <br> "Pheromones," Cibi explains. "It's another advantage to being a little beastly. Although, mine aren't very strong, at least not in comparison to your average succubus. Not that they need to be. The whole House is drenched in succubus pheromones. You'll be walking around with a stiffy for most of your time in here."<br> <br> <<include [[Cibi: Missionary 1]]>>
"Oh, did I do something wrong?" Cibi asks as you decline to continue.<br> <br> She looks disappointed. She also makes sure to open her legs to show what you're missing. Maybe you were a little hasty.<br> <br> "We don't have to fuck," Cibi says. "We can just cuddle if you want."<br> <br> That also sounds fine.<br> <br> What will you do?<br> <br> [[Change your mind and have more sex?->Cibi: 1st Decline: Change Mind]]<br> [[Cuddle?->Cibi: Cuddle]]<br> [[Leave?->Cibi: Choose Early Leave]]
Smiling at you, Cibi lies on her back next to you and opens her legs. She reaches between and runs her hand along the moist groove of her sex. She parts her labia with her fingers and shows off the moist pink interior of her vagina.<br> <br> That's all the encouragement you need. You climb on top and push down with your hips. Your swollen glans parts her labia and again your cock is sinking into the tight, slick clutch of her pussy. You sink all the way down to the hilt and relish the feeling of her warm tightness pressing all around your manhood.<br> <br> You start pistoning your hips, driving your cock back and forth into her wet pussy. Her body rocks beneath you with each thud. Her tits jiggle. Cibi pants and moans with pleasure. She wraps her legs around you and crosses her feet. She wraps her arms loosely around you and lightly rakes her nails across your back. As with her massage, she switches to using the woollen cuffs around her wrists. Their whispery caresses send sympathetic shivers down your spine. They coalesce into bolts of energy that energise your hips to thrust harder and faster.<br> <br> [[You're coming...->Cibi: Missionary 2]]
<<set $semenChange to -1>> <<include [[Checked Semen Change]]>> /* score missionary */ <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> Cibi moans. "Oh. Oh. Excuse me. I sound so goofy when... Ah. No good. I can't help..."<br> <br> Her moans and sighs intensify until she hits orgasm with a loud, bleating "Baaaaa!" Her pussy flutters madly with her climax, pulsing around you and propelling you into joining her in orgasm. Your buttocks flex, you push deep into her luscious warmth and vent your own orgasmic cry as you unleash a throbbing river of cum inside her.<br> <br> Afterwards you collapse on top of her, panting. You roll off to the side, still breathing heavily. Again you wish the bed, as comfortably soft as it is, had a little more spring to it. Fucking Cibi on it is really exhausting.<br> <br> Cibi cuddles up to you with her warm body. As your breathing slows and returns to normal you again feel your eyelids start to droop and the urge to take a little nap rise with you. You close your eyes.<br> <br> <<include [[Cibi: 2nd Post-Coital Test]]>>
/* no semen */ <<if $player.semenCount eq 0>> <<include [[Cibi: To Bad End]]>> <<else>> /* test overrides (black rose, coffee, charms) */ <<if $cgi eq 0 or $hasDrunkCoffee>> [[Continue.->Cibi: 2nd Interlude]] <<else>> /* Will test (need 4 or higher) */ <<if $player.currWill lt 4>> <<include [[Cibi: To Bad End]]>> <<else>> /* fatigue test */ <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<include [[Cibi: To Bad End]]>> <<else>> /* passed */ [[Continue.->Cibi: 2nd Interlude]] <</if>> <</if>> <</if>> <</if>>
Again, your eyes flick back open as you hear a strange bony click. You have the curious impression that Cibi's face has disassembled and as you turn to her, the pieces snap back together like a puzzle box.<br> <br> "Anything, the matter?" Her face looks perfectly normal and radiant.<br> <br> You blink to clear the tiredness from your eyes. Yes, normal and smiling. You must have imagined it.<br> <br> "Dozy," Cibi says nuzzling her nose against you. "Hmm, it appears I haven't fully taken care of this."<br> <br> Her hand pumps up and down your still-hard cock.<br> <br> "How about we go again?"<br> <br> [[Go again.->Cibi: Pre-Cowgirl]]<br> <<if $cgi neq 0>> [[Politely turn her down.->Cibi: 2nd Decline]] <</if>>
/* no semen */ <<if $player.semenCount eq 0>> <<include [[Cibi: To Bad End]]>> <<else>> /* test overrides (black rose, coffee, charms) */ <<if $cgi eq 0 or $hasDrunkCoffee>> [[Continue.->Cibi: Massage Before: End]] <<else>> /* Will test (need 2 or higher) */ <<if $player.currWill lt 2>> <<include [[Cibi: To Bad End]]>> <<else>> /* no fatigue test */ /* passed */ [[Continue.->Cibi: Massage Before: End]] <</if>> <</if>> <</if>>
"You look tuckered out, but that's fine. I'll take a turn on top this time."<br> <br> <<include [[Cibi: Cowgirl 1]]>>
"Oh. Was it too much?" Cibi asks. "You do look a little tired."<br> <br> She runs a hand lightly down your side.<br> <br> "We don't have to fuck. We can just cuddle if you want."<br> <br> That doesn't sound too bad.<br> <br> What will you do?<br> <br> [[Change your mind and have more sex?->Cibi: 2nd Decline: Change Mind]]<br> [[Cuddle?->Cibi: Cuddle]]<br> [[Leave?->Cibi: Choose Early Leave]]
She gets up and straddles you with her cloven hooves. She squats down until the swollen head of your cock is nuzzling up to the entrance of her pussy.<br> <br> "This is where I get to indulge my more animalistic instincts and go a little beastly on you."<br> <br> She lowers herself. Her labia part and your engorged cock is gobbled up by her vagina, millimetre by teasing millimetre, until the curly wool pad of her pubic hair is pressing against your crotch. She starts slow at first, but only at first. She speeds up, her hips slamming down against you faster and harder as she fucks you hard. Sighing and moaning, she bounces on your cock. Her voluptuous breasts bounce with her. It feels like a tight, slick hand pumping up and down your shaft.<br> <br> "Oh yes, give me your seed," she cries.<br> <br> She wriggles her hips and lets your swollen cock slide around inside her.<br> <br> [[You're coming...->Cibi: Cowgirl 2]]
<<set $semenChange to -1>> <<include [[Checked Semen Change]]>> /* score cowgirl */ <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> Cibi's face reddens. "Yes. Yes. Oh no."<br> <br> Again, she loses control and bleats out a loud "Baaaaa!" at the moment of climax. Again, you don't really care as you can already feel the tightening in your loins that precedes your own orgasm. As Cibi collapses and folds her body over yours, you hit climax and your cock throbs and spurts deep inside her.<br> <br> Cibi stays coupled with you for longer, her arms wrapped around you as you cuddle. Even though she did most of the work this time, you feel exhausted. Cibi is also breathing heavily from the exertion. Her sighs in your ear have a soporific effect. The bed feels so soft and comfortable – her body so warm and cozy as she cuddles you – your eyelids start to droop.<br> <br> "I think we're both tuckered out," Cibi says. "I feel like taking a little nap. Do you?"<br> <br> She snuggles up close to you. A little nap sounds tempting. Your eyelids droop closed. You feel yourself drifting off.<br> <br> <<include [[Cibi: 3rd Post-Coital Test]]>>
/* no semen is fine at this point */ /* black rose overrides all saves */ <<if $cgi eq 0>> [[You fall asleep.->Cibi: Bad End]] <<else>> /* charms override fatigued */ /* fatigued overrides coffee */ <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> [[You fall asleep.->Cibi: Bad End]] <<else>> /* Coffee overrides will test */ <<if $hasDrunkCoffee>> [[Continue.->Cibi: 3rd Interlude]] <<else>> /* Will test (need 5) */ <<if $player.currWill lt 5>> [[You fall asleep.->Cibi: Bad End]] <<else>> /* passed */ [[Continue.->Cibi: 3rd Interlude]] <</if>> <</if>> <</if>> <</if>>
Your eyelids snap open. Did you doze off? For a brief moment your conscious of something in your arms – an eldritch and unknowable alien //something//. In the corner of your eye you see Cibi's face opened up like a jigsaw puzzle. In the abyssal gaps between the pieces lurk pointed white teeth and waving blood-red tendrils.<br> <br> Reflexively, you try to pull away.<br> <br> "What's the matter?" Cibi asks sleepily. "Are you having a bad dream?"<br> <br> Her face has snapped back together so perfectly you can see no seams nor any evidence it was ever anything but whole. Indeed, you wonder if it was just a dream, or your imagination playing tricks on you.<br> <br> Cibi's sleepy smile seems innocent enough, but there's something in her violet eyes – a hint of //knowing//.<br> <br> <<if $choseMassageAfter>> [[Continue.->Cibi: Massage After Sex]] <<else>> [[Continue.->Cibi: Good End]] <</if>>
"I think that's enough fucking," Cibi says with a laugh. "Time to slow things down. Roll over and I'll finish up by giving you a nice relaxing massage."<br> <br> You roll over and lie down on your front where Cibi indicates. You sink down into a mass of soft cottonwool. It has a pleasing aroma you can't quite place.<br> <br> [[Cibi begins the massage.->Cibi: Massage]]
"That was a lot of fucking," Cibi says with a laugh. "Maybe we should just nap for a bit. We can always go again after—"<br> <br> She is interrupted by the ringing of a bell, loud enough to be heard over the soft lullaby playing in the background.<br> <br> "Or maybe not," she corrects. "That means our time is up. Looks like we'll have to stop here."<br> <br> She bounces up out of the bed. You're much slower. Your body feels very heavy and it takes a bit of effort to extricate yourself from the soft cloud mattress. You're almost tempted to stay where you are and go to sleep for a bit, but you don't know what the House does to people who overstay their sessions in the room and you think you don't want to find out.<br> <br> You finally get off the bed, yawn, stretch and then retrieve your clothes.<br> <br> "That was very nice," Cibi says.<br> <br> She has already put her longcoat back on.<br> <br> "I'm glad I didn't eat you," she adds.<br> <br> [[Did you hear that right?->Cibi: Good End 2]]
Looking at Cibi's gorgeous body you think it would be a shame to leave early.<br> <br> <<include [[Cibi: Missionary 1]]>>
Cuddling does sound appealing. You lie down and let Cibi put her arms around you. She snuggles up close and you're enveloped in her warmth and scent.<br> <br> "If you're feeling tired, just take a little nap," Cibi breathes in your ear.<br> <br> That sounds like a good idea. You feel really tired. A little nap won't hurt.<br> <br> <<include [[Cibi: To Bad End]]>>
<<if $choseMassageAfter>> <<include [[Cibi: Leave Before Massage]]>> <<else>> <<include [[Cibi: Early Leave]]>> <</if>>
"Oh, but you haven't had your massage," Cibi says. "At least let me give you that."<br> <br> [[Let her give you a massage?->Cibi: Early Massage After Sex]]<br> [[Leave?->Cibi: Early Leave]]
Cibi seems disappointed, but makes no attempt to stop you getting off the bed.<br> <br> "I'm sorry we didn't quite hit it off."<br> <br> She lounges on the soft cloud bed and her naked body looks absolutely gorgeous even with the little fuzz of wool covering most of her skin.<br> <br> "If you change your mind, you're always welcome to come back for a nice relaxing cuddle," Cibi says.<br> <br> You put your clothes back on and leave. Maybe you did leave too early. Maybe that was the right call. You don't know.<br> <br> /* no faction increase for leaving early */ <<include [[Cibi: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
Cibi smiles and rubs the middle of the cloud bed to indicate where she wants you. You lie down on your front and sink down into the mass of soft cottonwool. It has a pleasing aroma you can't quite place.<br> <br> [[Cibi begins the massage.->Cibi: Massage]]
You think that maybe you can go again.<br> <br> "That's the spirit," Cibi says. "I'll give you a break and take a turn on top this time."<br> <br> <<include [[Cibi: Cowgirl 1]]>>
You pause and look in her direction. For a brief moment you see not her but something else simultaneously behind, within and superimposing her form – an eldritch chilly toothy //absence// in the shape of Cibi that turns your bowels to ice water.<br> <br> And then it's gone, leaving behind a pleasant smiling girl with the motif of a sheep, and making you wonder if it was nothing more than a figment spawned from tired eyes.<br> <br> Except her big violet eyes. They //know//.<br> <br> "Please come again whenever you need a nice relaxing cuddle," Cibi beams.<br> <br> You put your clothes back on and leave.<br> <br> /* faction increase */ <<include [[Default Harlot: Faction Increase]]>> <<include [[Cibi: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
/* Text here */ /* Full Feedback */ <<if _scoreArray[3][1] and not _osa[3][2]>> "I don't know what to make of it," $npcMoney.name says. "Her massage sounds delightfully relaxing. Sex with her seems normal, at least by this infernal House's standards. And yet..."<br> <br> He pauses, deep in thought.<br> <br> "I don't know what to make of it." /* Left without massage */ <<elseif _scoreArray[0][1] and not _osa[0][2]>> "You left early. Was she not your type? Hmm, it's something, but I would prefer more to be perfectly honest." /* Left early */ <<else>> "You left without even letting her give you a massage. Was she not your type? Hmm, it's something, but I would prefer more to be perfectly honest." <</if>> /* do not end with linebreaks */
<<print "Number of gifts = " + $allGifts.length>> <br><br> <<for _i, _gift range $allGifts>> <<print _i>>. <<print _gift.name + ". ">> <<print _gift.description + ".">> <br> <</for>>
<<set $isSub to false>> <<set $isSlut to false>> <<set $isSerious to false>> <<set $isCautious to false>> <<set $isBlunt to false>> <<set $isGloomy to false>> /* submissive - dominant */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isSub to true>> <</if>> /* slutty - romantic */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isSlut to true>> <</if>> /* serious - humorous */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isSerious to true>> <</if>> /* cautious - impulsive */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isCautious to true>> <</if>> /* blunt - tactful */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isBlunt to true>> <</if>> /* gloomy - cheerful */ <<set _rng to random(1)>> <<if _rng eq 0>> <<set $isGloomy to true>> <</if>>
Player Disposition:<br> BASE<br> <<if $player.baseIsSubmissive>>Submissive<<else>>Dominant<</if>><br> <<if $player.baseIsSlutty>>Slutty<<else>>Romantic<</if>><br> <<if $player.baseIsSerious>>Serious<<else>>Humorous<</if>><br> <<if $player.baseIsCautious>>Cautious<<else>>Impulsive<</if>><br> <<if $player.baseIsBlunt>>Blunt<<else>>Tectful<</if>><br> <<if $player.baseIsGloomy>>Gloomy<<else>>Cheerful<</if>><br> <br> CURRENT<br> <<if $player.currIsSubmissive>>Submissive<<else>>Dominant<</if>><br> <<if $player.currIsSlutty>>Slutty<<else>>Romantic<</if>><br> <<if $player.currIsSerious>>Serious<<else>>Humorous<</if>><br> <<if $player.currIsCautious>>Cautious<<else>>Impulsive<</if>><br> <<if $player.currIsBlunt>>Blunt<<else>>Tectful<</if>><br> <<if $player.currIsGloomy>>Gloomy<<else>>Cheerful<</if>><br>
/* Cèis nan Cridheachan */ <<set $hi to 25>> <<set $allHarlots[$hi] to { number: $hi, name: "Cèis nan Cridheachan", shortDescription: "", faction: 6, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [15], affection: 2, preIntroductionLink: "Ceis: Pre-Introduction", introductionLink: "Ceis: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Ceis: Socialising", npcGossipLink: "Ceis: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Ceis: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Ceis: Populate Harlot Gossip", scenarioLink: "Ceis: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Ceis: Sell Exp Intro", sellExpBodyLink: "Ceis: Sell Exp Body", sellExpFeedbackLink: "Ceis: 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(17)>> /* <<set $player.currStr to x>> */ /* <<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.currIsSlutty to false>> */ <<set $player.currIsSerious to false>> /* <<set $player.currIsCautious to false>> */ <<set $player.isAwareOfFairyTrick to false>> /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 25>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0].number>> */ <<set $cgi to 2>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a fairy girl about the size of your hand with a shock of bright pink hair. She flutters around in racy pink lingerie that shamelessly shows off her nipples and sex.">>
/* Madam intro */ "Ah, one of the wee fair folk – Cèis nan Cridheachan," $npcMadam.name says.<br> <br> She drops her voice to whisper.<br> <br> "And in case you're wondering, yes, there are ways." <br> <br> /* Long description */ Cèis nan Cridheachan is a fairy. A very slutty fairy. She flutters around on two pairs of delicate insect wings, leaving sparkly pink glitter in her wake.<br> <br> In form she looks like a miniaturised glamour model, albeit one that looks like she does more explicit work on the side. Her face is mischievous with pouty lips, high cheekbones and big sleepy eyes. Her pink hair sticks out in a puff like the bud of a cotton plant.<br> <br> Her full, womanly figure is dressed in racy and exceptionally slutty pink lingerie. Her tiny nipples are revealed by peepholes in her bra. Her panties are open at the crotch and show off the smooth, hairless groove of her sex. Her long stockinged legs end in fancy pink fairy boots with curled toes.<br> <br> While she looks sexy, she's also small enough to fit in the palm of your hand. <br> <br> /* Harlot intro */ Cèis flutters in front of your face and blows you a kiss. "Hi stud. You wanna fuck?"<br> <br> You wonder if that's even possible, given the size difference.<br> <br> Cèis sees your puzzled expression. "Okay, not directly. You're a little too big for me." She laughs. "But there are other ways I can pleasure you."<br> <br> Before you can react, she swoops down and hugs your crotch.<br> <br> "Cèis!" $npcMadam.name calls out. "What have I told you about touching the patrons before you're picked."<br> <br> "Sorry, Madam." Cèis leaves your crotch and flutters back to her spot with a suitably chastened expression.<br> <br> Then, when $npcMadam.name isn't looking, she sticks her tongue out at her. She turns and gives you a saucy wink. <br>
You take Cèis out into the bar. She flutters alongside you and then alights on your shoulder.<br> <br> <<if $player.currIsSerious>> "Don't be so stiff and boring," Cèis says. "Let's have a drink and have some fun." <<else>> "I love going out into the bar," Cèis says. "So much life and fun." <</if>> <br><br> She picks out a table amongst the hustle and bustle and you take a seat. <<set $socNoMoneyLink to "Ceis: Socialising: No Money">> <<set $socDrinkLink to "Ceis: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> "You don't have any money?" Cèis says incredulously. "What a skinflint."<br> <br> She takes off, blows you a raspberry and then whirs off back in the direction of the stage, leaving a trail of sparkly pink glitter behind her.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and a thimble of sweet-looking liquid for Cèis. The waitress also places a tiny doll's-house chair on top of the table. Cèis sits in it and suggestively crosses her legs.<br> <br> "Okay, real talk," Cèis says in a slightly more serious manner. "As you're probably aware, there's a bit of a size difference between us that's going to make the fucky-fucky... tricky. And don't pin your hopes on any sort of size-changing magic either, I don't got any."<br> <br> She crosses and uncrosses her legs on her tiny chair, shamelessly knowing it will draw your attention to between them.<br> <br> "What I can do is give your dick a full-body massage. This means rubbing it with these lovely tits..."<br> <br> She gives her chest a suggestive jiggle.<br> <br> "...this lovely ass..."<br> <br> She wriggles in the seat.<br> <br> "...and this lovely pussy."<br> <br> She opens her legs and shamelessly shows off her sex.<br> <br> "Rubbing it and rubbing it until you blast cum everywhere."<br> <br> She runs a tongue around her full lips.<br> <br> "You might not think it sounds much, but believe me, you'll find it a lot more pleasurable than a regular wank."<br> <br> You don't doubt you will. Even though Cèis is barely bigger than a doll, you still have an erection when you return to $npcMadam.name.<br> <br> <<include [[Socialising: End]]>>
"Ah, Cèis nan Cridheachan, one of the succufairies," $npcGossip.name says. "They're like the fairies of your myth, but sluttier. They like stealing human souls, so be careful when having sex with her that she doesn't..."<br> <br> $npcGossip.name mimes grabbing your nose.<br> <br> "...yank your soul right out of you. Everything in here is a succubus, even if they resemble other creatures of myth."<br> <br> $npcGossip.name sees your look of confusion.<br> <br> "Ha ha. I've seen that look before. You're wondering how it's even possible to have sex with someone so tiny. There are ways."<br> <br> $npcGossip.name taps her nose.<br> <br> "And they don't involve size-changing magic. It's really rather disgu... No, it's better if I don't spoil the surprise."<br> <br> She chuckles darkly.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"She rewards the stolid and serious with an extra special service.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"Don't let her small stature make you complacent. You'll be bound the whole time with fairy magic and won't be able to stop her should things get... risky.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Like most of her kind, Cèis is whimsical and fun-loving. She likes men who are the same.\""}>>
<<set $allHarlots[$hi].harlotGossip[0] to "Balla-Balla an Buachar likes to inflate her pussy in a man's ass.\"">> <<set $allHarlots[$hi].harlotGossip[1] to "The Mùchadh sisters are twisted. Broinn likes to cover a man's nose and mouth with her pussy until he suffocates.\"">> <<set $allHarlots[$hi].harlotGossip[2] to "Especially Sgriosar Balgan-Buachair. They call her the dick-destroying fairy for good reason.\"">>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Ceis: First-Time Scenario]]>> <<else>> <<include [[Ceis: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ <<if $isTesting>> ''affection = $allHarlots[$hi].affection''<br><br> <</if>> /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [3,false,false], /* Survival */ [1,false,false] /* any +ve gift */ ] }>> <<include [[Ceis: Enter Room]]>>
/* No repeat scenario as of yet */ <<include [[Ceis: First-Time Scenario]]>>
Cèis nan Cridheachan's room is a little unusual. It has been decorated to look like a woodland clearing, but in a cheap and tacky manner. There are tree branches stuck to the walls and extending out into the room. The branches look like they've been made out of plastic rather than wood. Piped woodland music and birdsong plays in the background. The whole room looks obviously fake, as if the owner felt obligated to form a certain impression, but wasn't too fussed about the quality.<br> <br> Cèis swoops down off a plastic branch to greet you.<br> <br> "Welcome to my glen," she says.<br> <br> She poses suggestively as she hovers before your face. Up close, you notice she has a pair of un-fairylike red horns poking up out of her pink puff of hair. Then, with a quick whir of her wings, she drops down and glomps your crotch. You can feel her little hands pushing against your trousers to rub your genitals beneath.<br> <br> "I love cock," Cèis says, trying to squeeze you through your trousers. "I can't wait to get this out and give it a good hug."<br> <br> She flutters back up and looks at the gift in your hand.<br> <br> "What have you brought me?"<br> <br> [[You give her your gift.->Ceis: Gift]]
<<if $allGifts[$cgi].categories.includes(3)>> <<include [[Ceis: Gift: Pretty]]>> <<elseif $allGifts[$cgi].categories.includes(2)>> <<include [[Ceis: Gift: Scented]]>> <<elseif $allGifts[$cgi].categories.includes(12)>> <<include [[Ceis: Gift: Gross]]>> <<elseif $allGifts[$cgi].categories.includes(0)>> <<include [[Ceis: Gift: Edible]]>> <<elseif $allGifts[$cgi].categories.includes(11)>> <<include [[Ceis: Gift: Weird]]>> <<else>> <<include [[Ceis: Gift: Default]]>> <</if>> <br><br> She flutters off with your gift and stashes it in a hollow tree trunk.<br> <br> "Take your clothes off," she calls back at you.<br> <br> [[You start to undress.->Ceis: Undress]]
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Cèis likes Gift">> <<include [[Harlot Affection Change]]>> "Ooh, pretty," Cèis says as you give her the $allGifts[$cgi].name.<br> <br> She seems delighted with your gift. <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Cèis likes Gift">> <<include [[Harlot Affection Change]]>> Cèis puts the $allGifts[$cgi].name to her nose.<br> <br> "That smells nice," she says. <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Cèis dislikes Gift">> <<include [[Harlot Affection Change]]>> "Ugh, gross," Cèis says as you give her the $allGifts[$cgi].name.<br> <br> She doesn't seem impressed with your gift.
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Cèis dislikes Gift">> <<include [[Harlot Affection Change]]>> "That will make me fat," Cèis says as you give her the $allGifts[$cgi].name.<br> <br> She doesn't seem impressed with your gift.
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Cèis dislikes Gift">> <<include [[Harlot Affection Change]]>> "Um, thanks... I guess," Cèis says as you give her the $allGifts[$cgi].name.<br> <br> She seems a bit perplexed by your gift.
"Nice," Cèis says as you give her the $allGifts[$cgi].name.
You take your clothes off and hang them on a branch next to the door that appears to be there for this purpose. Then you look around the room.<br> <br> There is furniture, of sorts, amongst the fake tree stumps and branches. You see a wooden cot-like bed tucked away in the right corner. At the very back of the room a big comfy hammock is strung between two big branches. In front of that is a round fluffy mat, dyed green to resemble grass and large enough for multiple people to lie upon. Closer to the left is a wooden chair with a lush red seat and legs carved to look like living shoots. On the right is a fake tree shaped like a cross with straps to hold arms and legs. Cèis has a lot of options for where to put her visitors.<br> <br> She buzzes around the centre of the room. She looks at you and then the various furnishings as if considering which to use.<br> <br> "We'll use the chair," she says. "Come over here and sit on my wanking stool."<br> <br> [[Continue.->Ceis: Wanking Stool]]
You sit down. Cèis flies off and returns with a water bowl bigger than she is. She places it on the ground and flies off again, this time returning with a bottle of lubricant. She positions the bottle next to the bowl and, smiling suggestively at you, works the pump with her ass. She moans erotically as she does so, playing it up as a sexual act. The pump moves up and down with her ass and squirts globs of clear lubricant into the bowl.<br> <br> "I have to get lubed up," Cèis says.<br> <br> She removes her bra and panties and starts splashing in the bowl like a bird in a water fountain. //Splashing// isn't quite the right word as the lubricant is far more viscous than water. Cèis covers herself in it while taking every opportunity to show off her body to you. She makes a live erotic show of it and her body looks so gorgeous you feel a pang of regret she's only six inches in height.<br> <br> As tiny as she is, seeing her oil herself up like this is enough to cause your cock to rise in erection.<br> <br> Cèis flutters up out of the bowl until she's hovering just in front of you.<br> <br> "Before we begin, I need to bind your hands behind your back with restraint magic," Cèis says.<br> <br> <<if $player.isAwareOfFairyTrick>> [[Ah, this again.->Ceis: Fairy Binding]] <<else>> [[You what?->Ceis: Fairy Binding]] <</if>>
Seeing your expression, she explains further.<br> <br> "It's for my safety," Cèis says. "Once I get going, some men get a little too into it and their first instinct is to grab the thing rubbing against their cock, and rub it faster... and then you end up with one very crushed fairy. So, hands behind back, please."<br> <br> You do as she says. Cèis does a strange little dance in the air, sparkly pink glitter spilling from her limbs. She whispers silvery words too fleet for your ears to catch. The air coalesces around your wrists to form elastic handcuffs. The same happens at your ankles, cuffing both of them to the chair legs.<br> <br> "Now let's wank that big fat cock of yours."<br> <br> Cèis flutters down, wraps her arms and legs around your burgeoning erection and gives it a hug.<br> <br> "I love cock," she says.<br> <br> She plants lusty kisses on your swollen glans. Your cock perks up to full hardness. At first Cèis is content to just hug your cock tightly. Then she starts to slide her oiled-up body up and down your erection. She rubs her naked boobs against you. She humps her pussy against your shaft. She twirls around your hard-on like it's a stripper pole.<br> <br> "I love wanking them off until they spurt cum everywhere," Cèis says.<br> <br> [[Continue.->Ceis: Wanking]]
She makes an erotic dance of it as she writhes and slithers around your erection. She slides all the way down your shaft and uses her naked feet to play with your balls. You feel a stirring in your loins and your cock twitches pleasantly from the stimulation. Cèis climbs back up to the head of your cock and her eyes light up as she sees a little dewdrop of pre-cum well up from the tip.<br> <br> "This is my nectar," she says.<br> <br> She leans in and sucks up the droplet of pre-cum. She presses her soft lips to your urethra and sucks more out directly. Her tongue teases the edges and even slips inside.<br> <br> You writhe and squirm with pleasure.<br> <br> "Not yet," Cèis says. "Let it build."<br> <br> She departs your glans with a kiss and moves down to continue masturbating your shaft with her hands and feet.<br> <br> "This cock is so lovely I could gobble it right up," Cèis says. "In fact, I think I will."<br> <br> [[Huh?->Ceis: Everts Vagina]]
She leans back and starts wildly humping your erection. It looks a little silly – like a horny dog humping a leg.<br> <br> "Ah, time to fuck," Cèis says.<br> <br> <<if $player.isAwareOfFairyTrick>> Her sigh trails off into a loud erotic moan. Her whole body stiffens. What comes next doesn't surprise you as you've visited other succufairies before and already know about the fairy 'trick'. Her vagina turns inside out and swells up like a pinkish-white balloon. It envelops your erection and you feel gentle pressure all around your cock. <<else>> Her sigh trails off into a loud erotic moan. Her whole body stiffens. Then you watch in surprise as what looks like a pinkish-white balloon swells up out of her crotch and envelops your cock. You feel a soft membrane press all around it. It feels like you've just plunged into a warm vagina. Only there is no vagina, just Cèis lying against a pinkish-white bubble and your dick hidden away inside it. You feel gentle pressure all around your cock. <</if>> <br><br> "This is fairy pussy," Cèis says. She's still breathing heavily. "We can't fit a cock inside us, so we blow our vagina inside out and wrap it around the penis."<br> <br> She rubs her hands and feet against the bubble of flesh enveloping your manhood. Her motions travel through as gentle silken strokes.<br> <br> "It feels good to have you in my pussy," Cèis says. She languidly rubs her arms and legs against the billowing membrane. "I can feel you like it too."<br> <br> It does feel surprisingly pleasant.<br> <br> "Now what to do with you."<br> <br> <<include [[Ceis: End Determinator]]>>
/* affection must not be lower than zero and player must not be serious */ <<if $isTesting>> ''affection = $allHarlots[$hi].affection''<br><br> <</if>> <<if $cgi eq 0 or $player.currIsSerious or $allHarlots[$hi].affection lt 0>> <<include [[Ceis: To Bad End]]>> <<else>> <<include [[Ceis: Begin Good End]]>> <</if>>
She continues to hug and stroke her bulging inside-out vagina. Inside, your cock is buffeted by pleasurable pressure.<br> <br> "<<include [[Ceis: Begin Bad End]]>>
She continues to hug and stroke her bulging inside-out vagina. Inside, your cock is buffeted by pleasurable pressure.<br> <br> "You seem fun, so I'll only take your cum," Cèis says.<br> <br> [[Reassuring, you think.->Ceis: To Ejaculation]]
She rocks and bounces against the balloon of flesh surrounding your cock. It feels like silken caresses moving up and down your shaft. What arousal you'd lost when Cèis had everted her vagina is returned with interest as the pleasure starts to overwhelm you.<br> <br> "Let's get that lovely juice out," Cèis says.<br> <br> She grips the bulging membrane tighter and rocks faster against it. Within it, your cock is squeezed and stimulated with tugging strokes. It's more than that. It feels like your cock is enveloped with a warm glow that sinks down into your loins. A comfortable urge to come starts to rise within you.<br> <br> "Yes, spurt it out," Cèis says. She rocks harder and faster.<br> <br> <<include [[Ceis: Semen Check]]>>
<<if $player.semenCount eq 0>> [[Continue.->Ceis: No Semen]] <<elseif $player.semenCount eq 1>> [[Continue.->Ceis: Low Semen]] <<else>> [[Continue.->Ceis: Good End 1]] <</if>>
You don't.<br> <br> As pleasant as it feels, your body has been through too much already this evening. There isn't anything left and Cèis cannot rock you over the edge no matter how hard she tries. She continues to work your cock with her silky-smooth everted vagina, before coming to the conclusion nothing is coming out.<br> <br> "I was only going to take your cum, but you don't appear to have any, so... <<include [[Ceis: Begin Bad End]]>>
Given all you've already gone through, you do wonder if the silky stroking throbs of Cèis's inside-out pussy are enough to get you off, even as wonderful as they feel. Cèis persists and her skilful rocking motions are enough to drag you to shuddering climax.<br> <br> It's a weak climax. Your balls are nearly fully drained. When you finally come, it's barely more than a dribble of semen into the smothering membrane of Cèis's everted vagina.<br> <br> "Is that all?" Cèis says.<br> <br> She sounds disappointed.<br> <br> "I was only going to take your cum, but this little dribble isn't enough, so... <<include [[Ceis: Begin Bad End]]>>
/* already checked */ <<set $semenChange to -2>> <<include [[Checked Semen Change]]>> You're coming. Your body tenses up and you rise up off the seat. Cèis rises up and rolls her ballooning vagina up and over the head of your cock, until it's completely covered. You peak with a loud grunt and spurt a big load of cum up into a warm bubble of flesh. Cèis catches it all. Not a drop escapes the warm smothering membrane. She uses her hands and feet to expertly squeeze the head of your glans, coaxing every last drop of cum out of your throbbing cock. You empty your balls in a massive ejaculation and then slump back on the chair.<br> <br> "So much," Cèis says with an excited cry. "You've completely soaked my pussy."<br> <br> But not for long. The membrane is already absorbing your issue even as it deflates and Cèis slowly draws it back into her body.<br> <br> You sit back on the chair, still overwhelmed by the intensity of the orgasm. Cèis hovers up to the head of your cock and greedily sucks the last dregs of ejaculate from your urethra.<br> <br> "Delicious," she says, running a tongue around her lips.<br> <br> She flutters up to your face in a shower of pink glitter and deposits a wet kiss on your cheek.<br> <br> "That was a nice fairy fuck," she says.<br> <br> [[Continue.->Ceis: Good End 2]]
She swoops down level with your chest and snaps her fingers. The magical bonds restraining your wrists and ankles evaporate. You bring your hands forward and rub your wrists. Cèis buzzes off to clean up.<br> <br> You leave the chair and put your clothes back on. Cèis returns and you see she's put her bra and panties back on.<br> <br> She flutters up to give you a goodbye kiss on the cheek.<br> <br> "You're fun and your nectar tastes sweet. Any time you want your cock wrapped up in fairy pussy, come again."<br> <br> /* give hint if affection high enough */ <<if $allHarlots[$hi].affection gt 1>> She flitters over to whisper in your ear.<br> <br> "But be careful of the other succufairies. <<include [[Harlot Scenario: Select Harlot Gossip]]>> <br> <br> <</if>> It was nice, you feel, even if you don't think you'll be getting rid of that image of Cèis everting her vagina and enveloping your cock with it anytime soon. You're not sure you want to. The way your cock twitches in your trousers at the memory of it makes you think it will return to you in deeper, wetter dreams.<br> <br> You blow the tiny fairy a kiss and leave.<br> <br> <<set $player.isAwareOfFairyTrick to true>> /* only increase faction if affection gt 0 */ <<if $allHarlots[$hi].affection gt 0>> <<include [[Default Harlot: Faction Increase]]>> <</if>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<include [[Ceis: Scenario Clean-Up]]>> <<include[[Harlot Scenario: End]]>>
I think I'll take your soul," Cèis says.<br> <br> [[Continue.->Ceis: Bad End 1]]
Still hugging the ballooning membrane enveloping your member, she drops down and rests her naked feet against your balls. She moves them around, gently massaging your testicles but also probing and testing.<br> <br> "Ah, yes, I can draw it down to here."<br> <br> She tightly hugs the membranous bubble. Your cock is gently squeezed within it. Cèis starts chanting in a language you do not understand. Her voice is still high and singsong, but the words are heavy and malignant with antediluvial evil. Her distended vagina heats up around your cock.<br> <br> Cèis starts moving her feet in circular motions against your scrotal sac. She continues to fluff up and squeeze the membranous balloon wrapped around your cock.<br> <br> Cèis chants more alien words and you start to feel strange – slightly discombobulated, as if you've tipped into a waking dream. Cèis continues to stroke and rock against the warm fleshy balloon wrapped around your cock. Your cock is gripped by a tugging force more powerful than those movements should generate.<br> <br> It's more than just your cock. You feel like something has come loose inside you and is being inexorably pulled down to your crotch.<br> <br> "Ah, I can feel it," Cèis says.<br> <br> [[Continue.->Ceis: Bad End 2]]
She moves faster. Your cock is stimulated by more powerful tugs. Rings of magical force start pumping up and down your shaft.<br> <br> "There's no need to be afraid. It'll come out in a great burst of cum. It will be the greatest pleasure you'll ever know."<br> <br> Cèis switches position. Her feet start pressing into the membrane at the base of your cock. That weird magical energy continues to throb up and down. You feel it reel some part of you down and into the base of your cock.<br> <br> "Yes, here it comes," Cèis says.<br> <br> She continues to rock and stroke, and you writhe and shudder in the throes of sexual bliss. There is something in your cock, some sort of blockage. Cèis continues to use her billowing inside-out vagina to stroke your cock with silken caresses. Something is slowly coaxed up your shaft. Behind it and stoked by Cèis's sensual tugs, the pressure builds and builds like a head of steam.<br> <br> "A little more," Cèis says.<br> <br> She climbs up to the head of your shaft and rolls her billowing pussy up over the swollen head. It flows down over and around your cock like a soft cushion. Cèis puts her thighs against it and stimulates your glans with rhythmic squeezes. She moves her hands like a conductor and the rings of magical force continue to pulse and stroke up and down your shaft.<br> <br> "Here it comes," she says with glee.<br> <br> [[Continue.->Ceis: Bad End 3]]
She starts bouncing on the membranous cushion and it sends ecstatic vibrations pulsing down your cock.<br> <br> It's too much. You can't hold on any longer. The pressure is too much. You tense up and gasp. Your cock swells up and blasts cum into the soft membranous pressure engulfing it. It is a great, blissful outpouring. So powerful, you feel like you've been caught up with it and shot out of your cock as if it's a cannon.<br> <br> Cèis catches and enfolds your soul with her ballooning vagina.<br> <br> "Got you," she says.<br> <br> She sighs in pleasure as she draws the membrane back into her body.<br> <br> Your body sits motionless on the chair – like a toy robot with the batteries removed and just as dead. Cèis rubs her belly with a smile before fluttering back to her favourite perch. The House's caretakers will remove the body.<br> <br> <<include [[Ceis: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
"I have seen fairy girls fluttering around. I'm surprised they are working girls here, given the obvious... physical... incompatibilities."<br> <br> He pulls out his black notebook and looks at you expectantly.<br> <br> "Tell me of your experiences with Cèis nan Cridheachan." /* always end in line breaks */ <br> <br>
"I thought it would be some form of size-changing magic. Or maybe her using her whole body to masturbate the penis. But this..."<br> <br> $npcMoney.name doesn't finish.<br> <br> "I understand now why others refused to speak of what happened once Cèis finished massaging their penis."
/* must start with linebreaks if wish to start on new line */ <br> <br> $npcMoney.name pulls a face like curdled milk as you describe Cèis blowing her vagina inside out and enveloping your cock with it. /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
/* Balla-Balla an Buachar */ <<set $hi to 16>> <<set $allHarlots[$hi] to { number: $hi, name: "Balla-Balla an Buachar", shortDescription: "", faction: 4, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [19], affection: 2, preIntroductionLink: "Balla-Balla: Pre-Introduction", introductionLink: "Balla-Balla: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Balla-Balla: Socialising", npcGossipLink: "Balla-Balla: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Balla-Balla: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Balla-Balla: Populate Harlot Gossip", scenarioLink: "Balla-Balla: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Balla-Balla: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Balla-Balla: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 1>> <<set $player.money to 0>> <<set $player.charms.push(17)>> /* <<set $player.currStr to x>> */ /* <<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.currIsSlutty to true>> /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ <<set $player.isAwareOfFairyTrick to false>> /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 16>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 15>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a voluptuous fairy girl with a big curvy butt. She's about six inches high and wears loose-fitting white lingerie. She hovers in place with a dirty grin on her face.">>
/* Madam intro */ "This is our resident butt fairy, Balla-Balla an Buachar," $npcMadam.name says. "She really likes butts." <br> <br> /* Long description */ As your attention turns to Balla-Balla an Buachar, she turns around and – while still hovering in the air – wiggles her curvy butt at you. It's a nice butt – plump and swollen like a luscious peach. Her loose-fitting white panties are little more than a thong pinched into her narrow butt crack. Her ass cheeks swell out on each side to form perfect fleshy hemispheres.<br> <br> It's also a very small butt. Balla-Balla is barely bigger than your hand. She hovers in place on two pairs of whirring insect wings. Despite her miniaturised size she has a lovely curvaceous figure – big bouncy bosom, beautiful bulging booty, connected by a narrow wasp waist.<br> <br> Her face is heart-shaped and lovely, with big brown eyes and one of the dirtiest smiles you've ever seen on a woman. Her chestnut hair is swept up in a gravity-defying whirl. The one un-fairylike feature she possesses is a pair of curled brown horns. <br> <br> /* Harlot intro */ "Hi, I'm Balla-Balla an Buachar," the chestnut-haired fairy girl says. "Would you like me to play with your butthole?" she asks with a cheeky grin. <br>
Balla-Balla an Buachar flitters alongside you as you enter the bar.<br> <br> "Look at these losers," she laughs as she looks at a table where an earnest young man looks like he's trying to woo a stylish horned succubus. "The House is no place for romance. They're sex daemons. The best you can hope for is a dirty fuck and hope she doesn't decide to suck your life and soul out while your dick is inside her."<br> <br> You find an open table. <br><br> <<set $socNoMoneyLink to "Balla-Balla: Socialising: No Money">> <<set $socDrinkLink to "Balla-Balla: Socialising: Drinking">> <<include [[While Socialising]]>>
Balla-Balla frowns and shakes her head.<br> <br> "At least those losers remembered to bring cash with them," she says.<br> <br> She buzzes back to $npcMadam.name in a huff. <br><br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
While waiting for the waitress to return, Balla-Balla sits on the edge of the table. She makes a show of planting one curvy butt cheek, then the other, and then giving her ass a good wiggle on the table surface.<br> <br> She glances over her shoulder. "Like what you see?"<br> <br> She does have a lovely, albeit tiny butt. <<set _ailment to 2>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> You can't take your eyes off it. You wish you could be shrunk down small enough to slide your cock between her sumptuous cheeks. <</if>> <br><br> Balla-Balla gets up and resumes hovering the moment the waitress comes back with your drinks – a $socialisingDrinks[$sdi].name for you and a thimble of brown fluid for Balla-Balla.<br> <br> "I love butts," Balla-Balla says. "I love playing with buttholes. Men love me playing with their buttholes. It's one of the advantages of being tiny. I can get my arm up into all sorts of places."<br> <br> She holds up her hand and wiggles her fingers while giving you a suggestive smile.<br> <br> "And other parts of the body."<br> <br> She gives you a filthy wink.<br> <br> "I might be small, but I know exactly where to touch and rub to bring you to a shuddering full-body orgasm."<br> <br> You don't doubt her and can't stop thinking about it as you walk back to $npcMadam.name. <br><br> <<include [[Socialising: End]]>>
"Ugh, the shit fairy," $npcGossip.name says with obvious distaste. "She's a succufairy. They're like the fairies of your myth, but sluttier. They like stealing souls. Those of her particular breed are even more revolting than the regular sort."<br> <br> $npcGossip.name grimaces into her drink.<br> <br> "They're horrible little vulgar things. Minds full of the same swamp muck they wallow in."<br> <br> She takes a gulp of her drink as if to wash away a bad taste.<br> <br> "Despite their small stature, you can still fuck a succufairy. Although, given Balla-Balla's proclivities, she'll more than likely fuck you."<br> <br> She laughs at that.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"Her mind is as mucky as the shit she likes to roll in, and she likes those of the same disposition.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"She believes the way to a man's soul is through his ass. That's her idea of romance.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"She does know how to give a good prostate massage. I'll give her that.\""}>>
<<set $allHarlots[$hi].harlotGossip[0] to "If you fancy a regular fairy fuck, pick Cèis nan Cridheachan. I've heard her pussy feels really nice wrapped around a cock. Just pretend you don't know about the trick. She hates the surprise being spoiled.\"">> <<set $allHarlots[$hi].harlotGossip[1] to "But be careful with the Mùchadh sisters, Broinn and Ciùin. Broinn gets her kicks from popping her pussy out over a man's face and smothering him with it.\"">> <<set $allHarlots[$hi].harlotGossip[2] to "Well apart from Sgriosar Balgan-Buachair. That gal has issues, poor girl. You probably won't encounter her. I don't think $npcMadam.name allows her to work in the House nowadays. And for good reason. They don't call her the dick-destroying fairy for nothing.\"">>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Balla-Balla: First-Time Scenario]]>> <<else>> <<include [[Balla-Balla: Repeat Scenario]]>> <</if>>
/* set other scenario-specific vars here */ /* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [3,false,false], /* Survives */ [1,false,false] /* Any positive gift */ ] }>> <<include [[Balla-Balla: Enter Room]]>>
/* no repeat scenario as of yet */ <<include [[Balla-Balla: First-Time Scenario]]>>
<<set $gift to { number: 19, name: "Butt Plug", description: "A medium-sized butt plug made out of black rubber.", categories: [6] }>>
Balla-Balla an Buachar's room is decorated to resemble an idyllic spot of marshland. The walls are painted with murals and have tree branches affixed to them. There are a couple of water features at the back of the room, complete with tall bullrushes. The sound of frog song and insects can be heard in the background.<br> <br> It's all fake. The plants are plastic and the sound effects are a short loop of recordings piped into the room.<br> <br> Balla-Balla flitters over to greet you.<br> <br> "Welcome to my dirty little den," she says. "What have you brought me?"<br> <br> [[You give her your gift.->Balla-Balla: Gift]]
<<if $cgi eq 0>> <<include [[Balla-Balla: Gift: Black Rose]]>> <<elseif $cgi eq 19>> <<include [[Balla-Balla: Gift: Butt Plug]]>> <<elseif $allGifts[$cgi].categories.includes(6)>> <<include [[Balla-Balla: Gift: Smutty]]>> <<elseif $allGifts[$cgi].categories.includes(0)>> <<include [[Balla-Balla: Gift: Edible]]>> <<elseif $allGifts[$cgi].categories.includes(4)>> <<include [[Balla-Balla: Gift: Romantic]]>> <<elseif $allGifts[$cgi].categories.includes(2)>> <<include [[Balla-Balla: Gift: Scented]]>> <<else>> <<include [[Balla-Balla: Gift: Default]]>> <</if>> <br><br> She flies off with your gift.<br> <br> "Take your clothes off," she calls behind her.<br> <br> You undress and leave your clothes in a small pile. Balla-Balla stashes your gift behind some long grasses and then returns.<br> <br> [[Continue.->Balla-Balla: Kneeling]]
Balla-Balla takes the $allGifts[$cgi].name.<br> <br> "Ooh, so you want the really special fuck. Okay."
<<set $affectionChange to 2>> <<set _affectionChangeReason to "Balla-Balla likes Gift">> <<include [[Harlot Affection Change]]>> Balla-Balla examines the $allGifts[$cgi].name with a really dirty smile.<br> <br> "I can see you're a man after my own <<if $player.currIsSlutty>> heart. You're really going to enjoy this session." <<else>> heart."<br> <br> She looks you up and down.<br> <br> "Maybe." <</if>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Balla-Balla likes Gift">> <<include [[Harlot Affection Change]]>> Balla-Balla purrs approvingly as she takes the $allGifts[$cgi].name.<br> <br> "Mmm, kinky." <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Balla-Balla likes Gift">> <<include [[Harlot Affection Change]]>> Balla-Balla's eyes light up as you give her the $allGifts[$cgi].name.<br> <br> "Mmm, yummy." <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>>
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Balla-Balla dislikes Gift">> <<include [[Harlot Affection Change]]>> Balla-Balla looks disapprovingly at the $allGifts[$cgi].name.<br> <br> "How wet and sappy. You need a good hard fuck."<br> <br> She flashes you an extremely dirty smile.<br> <br> "And you're in the right place for it."
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Balla-Balla dislikes Gift">> <<include [[Harlot Affection Change]]>> Balla-Balla gives the $allGifts[$cgi].name an experimental sniff.<br> <br> "Ugh, what a horrible pong." Her face twists up in disgust.<br> <br> Balla-Balla does not seem to appreciate the smell.
Balla-Balla accepts the $allGifts[$cgi].name.<br> <br> "Mmm, it's nice, but I'd rather have your ass," she says.
"Okay studmuffin," Balla-Balla says. "I'm going to need you to kneel down here."<br> <br> She directs you to a small padded board on the floor. You get down and your knees press into the soft padding. More comfortable than kneeling on a hard floor, you think.<br> <br> The floor in front of you is covered in clear plastic sheeting. If this was a mob boss's office, you'd be worrying you might be about to get a bullet in the back of the head. This is a whorehouse, though, so maybe it's there to catch your issue, although Balla-Balla seems to be vastly overestimating your capabilities given how far the sheet extends.<br> <br> There is a dish and pump bottle of clear fluid next to the padded board. Balla-Balla sits on top and suggestively works the pump with her ass, while smiling filthily over her shoulder at you. Her gorgeous ass pumps up and down and the pump squirts a few globs of clear lubricant into the dish. Balla-Balla buzzes down to the dish and takes her bra and panties off.<br> <br> "Time to get lubed up," she says, giving you a saucy wink.<br> <br> She digs her arms into the viscous lubricant and spreads it around her body until she's glistening. She spools copious amounts around her miniature arms.<br> <br> "You've probably realised by now that our size difference makes regular fucking an impossibility. This is not a problem. We fairies know plenty of other ways to pleasure human men."<br> <br> [[Continue.->Balla-Balla: Kneeling 2]]
She buzzes down to your crotch and gives your cock a wet hug. She rubs her big boobs against you and you feel an erection start to rise.<br> <br> She lets go and then buzzes up over your shoulder and then down behind you.<br> <br> "I need your legs a little further apart," Balla-Balla says. She taps you on the back of your left calf.<br> <br> You comply.<br> <br> "Not too far," Balla-Balla says. "I want you to be comfortable. You're going to be kneeling like that the whole time. I just need to be able to get between your legs. Ah, that's fine," she says.<br> <br> She gives you a little pat on the ass.<br> <br> "Now I need you to bring your hands behind your back."<br> <br> You do as she says. <<if not $player.currIsSubmissive>>It feels an uncomfortably submissive position.<</if>> <br> <br> "Now, I'm going to use some fairy binding magic. It's nothing to worry about. It's to stop you from accidentally squishing me in the heat of the moment."<br> <br> <<if $player.isAwareOfFairyTrick>> [[Ah, this again.->Balla-Balla: Fairy Binding]] <<else>> [[Continue.->Balla-Balla: Fairy Binding]] <</if>>
She alights on your hands and chants words that slip right through your ears like silvery fish. The air congeals around your wrists to form a pair of rubbery manacles. There is some give to them, but they're strong enough to handcuff you in place. Similar bonds form around your knees and ankles and tether you to the floor.<br> <br> "Now we can begin," Balla-Balla says.<br> <br> She flies down underneath you. You feel the air from her whirring wings tickle the underside of your balls and between your butt cheeks.<br> <br> "Men focus so hard on their cocks they forget there are other parts of your body that can give them pleasure. Like this."<br> <br> Balla-Balla starts rubbing her hands up and down the sensitive patch of skin between your balls and anus.<br> <br> "This is the taint. It feels very pleasant when tickled the right way."<br> <br> She pushes the heels of her hands into your flesh and rubs them back and forth. You feel a pleasant tingly sensation spread through your loins.<br> <br> "I could keep tickling away here until you come, but I really want to play with your butthole," Balla-Balla says.<br> <br> [[Continue.->Balla-Balla: Butthole Massage]]
She moves away and the next you feel of her is her tiny hands gliding around your anus in slow lazy circles.<br> <br> "I love butts, and I love buttholes," Balla-Balla says.<br> <br> You feel a strange ticklish, lapping sensation around the rim of your anus and realise Balla-Balla is licking away with a long tongue.<br> <br> "Mmm delicious," she sighs. "You don't have to worry about whether you've kept yourself clean down here. To tell you the truth, if you were to curl one out on top of me right now, I'd come myself in delight."<br> <br> She continues to use her little hands to massage around your butthole.<br> <br> "Haha, but I'm here for your pleasure, not mine."<br> <br> She slips a lubricated hand inside and starts moving it around in slow circles.<br> <br> "Ah good, it's starting to respond. Let's get these muscles nice and loose. And then, in we go."<br> <br> She pushes a tiny arm up into your ass. There's little resistance – your sphincter has loosened and her arm is slathered in plenty of lubricant. It feels like a slender finger being gently inserted. She pushes up until she finds a little bump in your rectal wall.<br> <br> "Ah there it is," she says.<br> <br> [[Continue.->Balla-Balla: Prostate Massage]]
She starts to rub her hand against your prostate in gentle circular motions. You feel a pleasant warmth radiate outwards. Your erection rises and hardens.<br> <br> "I could keep pressing your little button until you start jizzing everywhere, but any human could do that with their finger and here in the House the Madam encourages us to be better than that."<br> <br> She withdraws her hand. With her other, she holds your sphincter open. You wonder what she's going to do – climb inside?<br> <br> Instead, she shifts position and braces her legs against your butt cheeks with her head pointing to the underside of your balls. You hear her make little grunts of exertion as she holds your butthole open.<br> <br> Then she lets out a loud, almost orgasmic, sigh. You feel something expand in your ass. Not a finger or tiny arm, this feels more like a balloon or butt plug.<br> <br> "Oh studmuffin," Balla-Balla sighs erotically. She slides her arms up your perineum. "Are you wondering what this is?"<br> <br> She laughs filthily. The thing in your ass slowly expands and throbs. It feels like a soft rubber balloon in the way it swells up and down. <<if $player.isAwareOfFairyTrick>> You've visited succufairies before and know about the fairy 'trick', but she couldn't have... <</if>><br> <br> "It's my pussy. Us fairies have a dirty little trick. We're too small to fit a human cock inside us, so we puff our pussies inside out and envelop the cock outside of our bodies."<br> <br> She giggles.<br> <br> "Or in my case, puff it out and expand it in their ass."<br> <br> [[What!?->Balla-Balla: Vagina 1]]
Balla-Balla sighs with exertion and that rubber balloon – her vagina or whatever it is – swells further in your ass and starts to stretch your rectal wall. Your hands are bound. You can't do anything. You're not sure you want to do anything. That gentle swelling pressure feels surprisingly pleasant. Your cock twitches as waves of tingling pleasure flow through your groin.<br> <br> "It's an interesting reversal, don't you think," Balla-Balla says. "My vagina pushed into you like a naughty little butt plug. A very special little butt plug."<br> <br> She flexes and swells her distended vagina inside you.<br> <br> "A very juicy little butt plug."<br> <br> Your ass tingles. The muscles feel pleasantly loose and relaxed.<br> <br> "That'll be the aphrodisiac secretions of my inner membrane. Normally they're for driving cocks wild, but they're also really good at making asses feel nice and receptive."<br> <br> The membranous bubble slowly swells up and down, sending waves of pleasure running through you.<br> <br> "Don't fight it. Relax and let the pleasure build inside you."<br> <br> Her pussy swells still further. You feel it start to press up against your prostate. You let out a little gasp of pleasure.<br> <br> "And now for the real prostate massage," Balla-Balla sighs.<br> <br> [[Continue.->Balla-Balla: Vagina 2]]
She blows her vagina up and down inside you. The soft membrane rolls back and forth over your prostate with each swell and ebb. You feel a tingly warm sensation start to grow within you.<br> <br> Balla-Balla sighs as she lets the moist membrane of her distended pussy swell against and massage your rectal walls. The gentle pressure stimulates your prostate and you feel waves of pleasure radiate out from it. Your cock bucks and twitches even though nothing is touching it to provide stimulation.<br> <br> "Relax and let it build," Balla-Balla says.<br> <br> She pushes her hands against your perineum and starts massaging your prostate from the outside as well. You let out a soft groan.<br> <br> Balla-Balla palpitates her everted pussy with short, rapid pulses and sends vibrations up into your bowels. Your prostate starts to feel like it's lit up and glowing.<br> <br> She hits you with another burst of rapid pulses, sending more vibrations up into your bowels and lighting up all the nerve endings around your prostate. You moan as your body gives a little shudder. Your cock hasn't been touched and yet you feel like you're on the verge of a powerful orgasm.<br> <br> <<include [[Balla-Balla: End Determinator]]>>
<<if $isTesting>> ''affection = $allHarlots[$hi].affection''<br><br> <</if>> <<if $cgi eq 0 or not $player.currIsSlutty or $allHarlots[$hi].affection lt 0>> <<include [[Balla-Balla: Begin Bad End]]>> <<else>> <<include [[Balla-Balla: Begin Good End]]>> <</if>>
"I'm going to make you lose control of your bowels as you come," Balla-Balla says. "Nothing to be ashamed of or worry about. My pussy will soak it all up. It absorbs shit just as well as cum. Souls too."<br> <br> [[Souls?->Balla-Balla: Bad End 1]]
"I'm going to make you lose control of your bowels as you come," Balla-Balla says. "Nothing to be ashamed of or worry about. My pussy will soak it all up. It absorbs shit just as well as cum. Souls too, but I like you, so I'll leave that where it is."<br> <br> [[That's reassuring.->Balla-Balla: To Ejaculation]]
She starts pulsing her pussy in fast rhythmic bursts. Her hands press against your perineum and rub up and down with the same rhythm. Your bowels feel like they've been vibrated to warm water. Your prostate feels like a glowing bubble about to pop. You tremble all over in blissful anticipation.<br> <br> <<if $player.semenCount lt 2>> <<include [[Balla-Balla: No Semen]]>> <<else>> <<include [[Balla-Balla: Ejaculation]]>> <</if>>
Balla-Balla starts chanting. The alien words slither into your ears like oiled eels and make you feel nauseous. Her hands warm up. She presses them into a spot between your legs and send pulses of dark energy into your prostate.<br> <br> "Succufairies normally suck the soul out through the dick, and make men come buckets when they do," Balla-Balla says. "Me, I like sucking it out through the ass."<br> <br> Balla-Balla rubs her warm hands against your perineum and it feels like she's stroking your prostate directly.<br> <br> "Don't worry. You'll still come buckets. Maybe more. You'll shit yourself as well. I love that," she adds with twisted glee.<br> <br> Her hands move quicker. She starts pulsing her pussy in fast rhythmic bursts. The vibrations travel up into your bowels until it feels like your guts have become water. Your prostate feels like an overripe fruit about to burst. You tremble all over in blissful enthrallment.<br> <br> "Here is comes," Balla-Balla says.<br> <br> [[Continue.->Balla-Balla: Bad End 2]]
It's not a normal ejaculation. It starts as a strong urge, almost like wanting to pee, and grows and grows until you shudder in the grip of an orgasm that hits you like a tidal wave. The violence of the orgasm is so much it feels like it splits your consciousness in two.<br> <br> You're aware of an outer you groaning and grasping in the grip of a body-shuddering orgasm as you spray ropes of semen all over the plastic sheet in front of you.<br> <br> You're also aware of an inner you floating around inside the outer you. As the orgasm hits with enough force to cause your bowels to let go, your inner self breaks free. At first you float freely in place, as if still tethered to your outer self, then you're gripped by a strange pulsing magnetism that tugs you out of position and you start to fall. You tumble down inside yourself until your fall is broken by a soft membrane that billows up and enfolds you.<br> <br> Balla-Balla sighs as she withdraws her unusual vagina out of your body and your soul with it. Without a soul, your body shuts down. It tips to one side and stays there like a machine without power.<br> <br> Balla-Balla pulls her distended vagina – and your ensnared soul – back into her body and taps her belly in contentment.<br> <br> Balla-Balla has stolen your soul. You are no more.<br> <br> <<include [[Balla-Balla: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
"Hmm, this prostate feels a little empty. Have you been letting too many other succubus skanks suck your cock?"<br> <br> She continues massaging your prostate from both sides, which makes you feel really good, but doesn't cause you to peak.<br> <br> "This is a shame," Balla-Balla says. "I wasn't going to take your soul. But if I can't make you come with my normal button rub..."<br> <br> [[Continue.->Balla-Balla: Bad End 1]]
/* check already done */ <<set $semenChange to -2>> <<include [[Checked Semen Change]]>> "Here it comes," Balla-Balla says.<br> <br> It's not a normal ejaculation. It starts as a strong urge, almost like wanting to pee, and grows and grows until you shudder in the grip of an orgasm that crashes through your body in great waves. Your cock throbs and releases a long stream of cum that arcs through the air before splashing down on the plastic sheet. It keeps flowing out of you in a steady stream. Balla-Balla continues massaging your insides until you whiteout from the sensory overload.<br> <br> Before you do, you feel your bowels let loose, but the movement is interrupted and enfolded by the membranes of Balla-Balla's vagina. She keeps pressing on both sides of your prostate until the stream finally runs out and slows to a little dribble.<br> <br> You slump forward, breathing heavily while all your nerves jangle in the aftermath of the intense orgasm.<br> <br> [[That was intense.->Balla-Balla: Good End 1]]
Balla-Balla deflates her pussy and gently draws it out of your ass. She pushes away from you and flutters around to the front. You see her distended vagina swollen out between her legs like a little pink bubble or bag. The surface is streaked with brown.<br> <br> You should be revolted, but you're still lost in a haze of post-orgasmic bliss.<br> <br> Balla-Balla's distended pussy swells up in excitement as she spots your streams of semen splattered across the plastic sheet.<br> <br> "Ooh studmuffin, you came so much for me," Balla-Balla coos.<br> <br> And then she's off, bouncing across the plastic sheet like a tiny doll tied to a pink balloon. She splashes your spilt semen all over herself and drags her swollen pussy through it. Crying and moaning with wild abandon, she rolls around on the ground. She soaks up all your cum like a sponge until none remains.<br> <br> Then she flops on her back as if drunk with pleasure.<br> <br> "Don't look so judgemental," she says to you as she gets back up. "I felt your whole-body orgasm. I know you enjoyed it."<br> <br> Her fairy wings buzz and take her back up into the air, still with her inside-out pussy dangling between her legs.<br> <br> "Let's get the last drops," she says.<br> <br> [[She flies in.->Balla-Balla: Good End 2]]
She inflates her pussy again and pushes it down against your cock. The head of your cock pushes up into the soft membrane until the whole of your glans is enveloped. It feels a good deal more pleasant than it looks. Your cock gives a pleased little throb and expels the last dregs of ejaculate up into the soft membrane.<br> <br> "And now we've fucked," Balla-Balla says with a ribald laugh.<br> <br> The bubble between her legs slowly deflates as she draws her vagina back into her body. That done she flutters up to hover in front of your face. She's smeared in cum and brown streaks you don't want to think too much about. She grins from ear to ear.<br> <br> "That was a good bit of filthy fun," she says.<br> <br> She snaps her fingers and the magical bonds holding your wrists and legs evaporate. Released, you nearly topple forward. Your nerves are still jangling from that massive whole-body orgasm. Unsteadily, like a baby deer, you get back to your feet.<br> <br> "I hope you enjoyed that," Balla-Balla says. "All succufairies can do that trick with their pussies. We're good <<if $allHarlots[$hi].affection lt 2>> lays." <<else>> lays. <<include [[Harlot Scenario: Select Harlot Gossip]]>> <</if>><br> <br> It did feel pleasant, you think as you put your clothes back on. Maybe you should focus on that and not think too hard about... what happened.<br> <br> /* faction increase */ <<if $allHarlots[$hi].affection gt 0>> <<include [[Default Harlot: Faction Increase]]>> <</if>> <<set $player.isAwareOfFairyTrick to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> <<include [[Balla-Balla: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
"Ah one of the fairies. The slutty one. Bra and panties practically falling off. Unhealthily keen on butts. I know the one."<br> <br> He pulls out his notebook.<br> <br> "I do wonder what she thinks she's doing shaking her ass in such a suggestive manner. It's clearly a physical impossibility. I doubt I could even fit my pinkie. Unless..." he taps his notebook thoughtfully "...some form of size-altering magic."<br> <br> He looks at you.<br> <br> "Well, how did it go with Balla-Balla an Buachar?" /* always end in line breaks */ <br> <br>
/* Text here */ $npcMoney.name doesn't say a word. He pulls out another notebook, turns to a page near the front and noisily scratches out one of the entries. /* do not end with linebreaks */
/* Broinn and Ciùin Mùchadh */ <<set $hi to 6>> <<set $allHarlots[$hi] to { number: $hi, name: "Broinn and Ciùin Mùchadh", shortDescription: "", faction: 1, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [9], affection: 0, isMultiplePeople: true, preIntroductionLink: "Muchadh: Pre-Introduction", introductionLink: "Muchadh: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Muchadh: Socialising", npcGossipLink: "Muchadh: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Muchadh: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Muchadh: Populate Harlot Gossip", scenarioLink: "Muchadh: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Muchadh: Sell Exp Intro", sellExpBodyLink: "Muchadh: Sell Exp Body", sellExpFeedbackLink: "Muchadh: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 8>> <<set $player.money to 10>> <<set $player.charms.push(17)>> <<set $player.charms.push(22)>> /* <<set $player.currStr to x>> */ /* <<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.currIsSlutty to true>> */ <<set $player.currIsSerious to true>> /* <<set $player.currIsCautious to false>> */ <<set $player.isAwareOfFairyTrick to false>> /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 6>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 5>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a pair of tiny fairy girls fluttering around on whirring insect wings. Both are dressed from head to toe in tight black latex and look like miniature dommes.">>
/* Madam intro */ "These are the Mùchadh sisters, Broinn and Ciùin," $npcMadam.name says. "They just love taming the 'Big Ones' as they put it." <br> <br> /* Long description */ Broinn and Ciùin Mùchadh are a pair of fairy girls, no more than six inches in height. They buzz around on whirring insect wings.<br> <br> Both are tightly clad in glossy black latex. Broinn wears a fairly severe basque with suspenders to hold up black fishnet stockings. Ciùin wears a full latex bodysuit. She also wears a latex hood with openings at the eyes and mouth. Her long black hair is drawn out through the top of the hood in a high, austere ponytail. In contrast, Broinn has her black hair cut short and chic. Both have stubby little devil horns. While Ciùin's could be mistaken for an accessory of her fetish hood, Broinn's are clearly visible and unmistakeable. Both wear black stiletto heels, but with the toes stretched out and curled back on themselves.<br> <br> They have very serious expressions for women only six inches in height. Ciùin holds a curled-up whip in her hands. <br> <br> /* Harlot intro */ "I am Broinn and this is Ciùin," Broinn introduces herself. Her voice is very prim and correct. "We provide a bondage and domination service."<br> <br> You raise an eyebrow. They might look the part, but they're still only six inches high.<br> <br> Broinn notices and glances back to her sister. "Taming this one will be fun," she says. <br>
You take Broinn and Ciùin into the bar. They perch on your shoulders as you make your way across the busy floor and look for a spare table. Neither says a word.<br> <br> You find an open table. Broinn and Ciùin jump off and stand on the far side of the table like sexy anime figurines. <<set $socNoMoneyLink to "Muchadh: Socialising: No Money">> <<set $socDrinkLink to "Muchadh: Socialising: Drinking">> <<include [[While Socialising]]>>
Broinn and Ciùin share a glance. Wordlessly, they take off and whir back to the stage area. <br><br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and two thimbles of sweet-smelling nectar for Broinn and Ciùin.<br> <br> The sisters ignore their drinks and instead take up sexy dominatrix poses as they stare at you.<br> <br> "Do you wish to be disciplined and dominated by us?" Broinn asks.<br> <br> <<if $player.currIsSerious>> <<if $player.currIsSubmissive>> You would. They definitely look the part. It's just... you're not sure how. <<else>> It wouldn't normally be your thing, but you're intrigued to see how they would even pull it off. <</if>><br> <br> Broinn sees your expression and smiles chillily. "We have ways to control persons of your size. I'm sure you will find them most effective, and maybe even pleasant." <<else>> You find it impossible to suppress a smile. They're just so tiny. It's more adorable than intimidating.<br> <br> "I've seen that smirk on many a face," Broinn says. "I enjoy snuffing it out. Sometimes permanently if they displease me enough."<br> <br> Broinn's lips turn up in a smile so cold and psychotic you feel a chill even despite her tiny stature. <</if>><br> <br> Throughout it all Ciùin doesn't speak at all. She just runs her gloved hands lovingly around the coils of her whip.<br> <br> <<include [[Socialising: End]]>>
"Ah, the Mùchadh sisters, Broinn and Ciùin. They're an odd pair of succufairies. Very serious in comparison to their other brethren. Very serious indeed."<br> <br> $npcGossip.name sips her cocktail.<br> <br> "Broinn has serious ambitions to be a full-fledged suffocatrix. It would be quite an achievement for one of such tiny stature. She does relish taking the 'Big Ones' down and she's very adept at using the fairy trick to smother men."<br> <br> <<if not $player.isAwareOfFairyTrick>> $npcGossip.name sees your expression.<br> <br> "Fairy trick? Oh, I couldn't possibly spoil the surprise. Let's just say it is possible to fuck a succufairy. It's also possible for one to suffocate the life out of you."<br> <br> <</if>> $npcGossip.name takes another sip.<br> <br> "As for Ciùin, she's not much of a talker."<br> <br> $npcGossip.name puffs on her cigarette.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"You should always take the Mùchadh sisters seriously. Those that don't never live long enough to regret it.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: true, text: "\"Joking around with Broinn motivates her to provide a quite intense experience.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"Ciùin has a love of the macabre. She collects eyeballs. It's a good gift to bring her now that $npcMadam.name has forbidden her from taking them from patrons.\""}>>
<<set $allHarlots[$hi].harlotGossip[0] to "If you just want a sensual fairy fuck, I hear Cèis nan Cridheachan is quite pleasant.\"">> <<set $allHarlots[$hi].harlotGossip[1] to "Balla-Balla an Buachar is a little slovenly and obsessed with butts, but her prostate massage is rumoured to be exquisite.\"">> <<set $allHarlots[$hi].harlotGossip[2] to "But not all. There is a difference between near-death and death. Avoid Sgriosar Balgan-Buachair. She is broken.\"">>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Muchadh: First-Time Scenario]]>> <<else>> <<include [[Muchadh: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Early leave */ [3,false,false], /* Survive */ [1,false,false], /* Good gift */ [2,false,false], /* Premature Ejaculation */ ] }>> /* set other scenario-specific vars here */ <<set $hasLickedPussy to false>> <<include [[Muchadh: Enter Room]]>>
/* no repeat scenario as of yet */ <<include [[Muchadh: First-Time Scenario]]>>
Broinn and Ciùin Mùchadh's room is an eerie fairytale tableau. It looks like an isolated clearing under a full moon, except all the plants are dead and leafless. The empty stems and branches are twisted out of shape by stretched strips of glossy black latex. The same black latex covers the ground and smothers everything like thick black oil. On first glance you're not sure whether you're entering a bedroom or a strange art installation.<br> <br> In the centre of the room is long padded black bench about three foot high. It's lit from above by a lamp filtered to look like moonlight. Hovering above the bench in the silvery shaft of light are Broinn and Ciùin. Despite their diminutive stature, the whole scene has an unnerving, ominous air.<br> <br> "Take off your clothes and approach the bench of taming," Broinn says.<br> <br> You pause.<br> <br> [[Bench of Taming?->Muchadh: Early Leave Choice]]
<<if $player.currIsSerious>> You know it looks ridiculous, that the fairies look way too tiny to conceivably be a threat to you, and yet...<br> <br> "Why do you hesitate?" Broinn asks.<br> <br> You have the ominous feeling you're walking to your own gallows. But it's just roleplay, right? <<else>> For a brief moment, the ominous nature of the scene gives you pause for thought. Then you remember the fairies are only six inches high. What can they possibly do to you?<br> <br> In an attempt to lighten the mood, you make a quip about them maybe being a little too serious about their roleplay.<br> <br> Broinn says nothing. Her and Ciùin continue to hover ominously above the black bench.<br> <br> It is just roleplay, right? <</if>><br> <br> "The House caters for every fantasy," Broinn says. "Some are more risqué than others, but they're still fantasy... until they are not."<br> <br> She smiles. You'd rather she didn't.<br> <br> "If you have any doubts, you don't have to go through with this. You're free to leave right now. However, we will remember. You may choose us again and return to this room, should you have a change of heart, but know that the service we offer will no longer be fantasy."<br> <br> She smiles again. You really wish she wouldn't do that.<br> <br> What will you do?<br> <br> [[This is a bit weird. Leave?->Muchadh: Choose Early Leave]]<br> [[Stay?->Muchadh: Choose to Stay]]
You make your excuses and turn to leave.<br> <br> "As you wish," Broinn says.<br> <br> She doesn't seem that bothered. Her smile is strangely triumphant. You suspect she derives a great deal of pleasure from intimidating a being many times her size. If that's the case, you don't want to imagine what she'd do if in full control of one.<br> <br> You leave.<br> <br> <<include [[Muchadh: Scenario Clean-Up]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<if $player.currIsSerious>> You decide to stay. It's just fantasy roleplay, the same as if you'd entered a dominatrix's boudoir. You're not sure how the fairies will fulfil that, given their tiny stature, but you're curious to find out.<br> <br> You take your clothes off and walk up to the bench.<br> <br> <<else>> Leaving now strikes you as a bit chickenshit. They're only six inches high! What can they do?<br> <br> Still, you make a few quips to keep up your mood as you take your clothes off and walk up to the bench.<br> <br> <</if>> "Present your offering," Broinn says.<br> <br> You think she means your gift.<br> <br> [[You present your 'offering'.->Muchadh: Gift]]
<<unset $hasLickedPussy>>
<<if $cgi eq 0>> <<include [[Muchadh: Gift: Black Rose]]>> <<elseif $cgi eq 9>> <<include [[Muchadh: Gift: Eyeball]]>> <<elseif $allGifts[$cgi].categories.includes(13)>> <<include [[Muchadh: Gift: Macabre]]>> <<elseif $allGifts[$cgi].categories.includes(2)>> <<include [[Muchadh: Gift: Scented]]>> <<elseif $allGifts[$cgi].categories.includesAny(3,4)>> <<include [[Muchadh: Gift: Pretty Romantic]]>> <<else>> <<include [[Muchadh: Gift: Default]]>> <</if>><br> <br> Broinn passes the gift to Ciùin and the other fairy whirs off with it.<br> <br> [[Continue.->Muchadh: Bench]]
Broinn takes the $allGifts[$cgi].name.<br> <br> "I wonder if you truly know what you're asking for," she says. "No matter. It is a service we have performed many times before and all have enjoyed it."
<<set $affectionChange to 2>> <<set _affectionChangeReason to "Muchadh likes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> The normally stoic Ciùin does a little happy dance the moment you show the $allGifts[$cgi].name.<br> <br> "Another one for your collection, Ciùin," Broinn says. "The Madam forbids her from taking them from patrons, so she's always overjoyed when she's brought one as a gift."
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Muchadh likes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> Broinn holds the $allGifts[$cgi].name and examines it closely.<br> <br> "Do you like it?" she turns and asks Ciùin.<br> <br> The other fairy nods her head eagerly.
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Muchadh likes Gift">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> Broinn inhales the fragrance from the $allGifts[$cgi].name.<br> <br> "Pretty smells," she says. "Pretty smells make for good lures."<br> <br> She really shouldn't smile, you think.
<<set $affectionChange to -1>> <<set _affectionChangeReason to "Muchadh dislikes Gift">> <<include [[Harlot Affection Change]]>> Broinn takes the $allGifts[$cgi].name and laughs.<br> <br> "You're in the wrong room if you think this will impress us."
"It is an offering," Broinn says as she takes the $allGifts[$cgi].name.
"Lie here." Broinn motions to the bench. Her demeanour and tone is very matter-of-fact and business-like.<br> <br> <<if $player.currIsSerious>> Broinn certainly has none of the whimsy you'd expect from a fairy. She seems to take this very seriously. You get up on the bench and lie on your back. <<else>> You get up on the bench and crack a joke to try and see if you can get a warmer response from Broinn. Aren't fairies supposed to be whimsical creatures?<br> <br> You don't get anything out of Broinn. Not even a smile.<br> <br> You lie back on the bench. <</if>> The padding is soft and quite deep. It also feels warm against your skin. There is a padded head rest for you to lay your head on.<br> <br> "Lie still. We need to strap your arms and legs in."<br> <br> You ask if that's necessary.<br> <br> "It is for our safety," Broinn says. "Our bodies are small and fragile, and easily damaged in the throes of passion."<br> <br> <<if $player.currIsSerious>> You nod. It sounds reasonable. As is a dominatrix wanting to strap her sub <<if $player.currIsSubmissive>> in, and you do like being a sub. <<else>> in. <</if>> <<else>> It makes sense. It would be all too easy for a fairy to get squished once things got hot and heavy. You make a joke about it to take your mind off being strapped in. Broinn doesn't seem impressed. <</if>><br> <br> [[She straps you in.->Muchadh: Strapped In]]
Broinn pulls a latex strap around your right wrist and binds it to the edge of the bench. She flies over and does the same for your left wrist. Ciùin returns and straps your ankles to the top of the bench. There is some give, but the straps are too wide and thick for there to be any possibility of you slipping free.<br> <br> With you now secure, both fairies fly up and land on the top of your thighs, either side of your genitals. They strut as if standing on the body of a felled giant.<br> <br> "Look at how the mighty have fallen," Broinn says. "Tied up and rendered helpless by beings a fraction of his size."<br> <br> <<if not $player.currIsSerious>> Only because you let them, you think.<br><br> <</if>> Broinn seems to relish pointing that out. She poses dominantly on your left thigh.<br> <br> "And what should we do with this great beast?" she says theatrically. "tame it... or slaughter it?"<br> <br> Ciùin uncoils her whip and cracks it right above the sensitive head of your cock.<br> <br> <<if $player.currIsSubmissive>> [[Ooh, exciting.->Muchadh: Strapped In: Submissive]] <<else>> [[Whoa! That's a bit close to your privates.->Muchadh: Strapped In: Dominant]] <</if>>
The crack of the whip combined with your bound state triggers an erotic thrill within you. As tiny as they are, these miniature latex-clad dommes have complete control of you. And they look wonderful while doing it.<br> <br> Ciùin cracks her whip again. Blood flows to your crotch and your cock starts to rise, as if responding to the whip like a lion with a circus tamer.<br> <br> "The beast rises," Broinn says. "Perhaps it desires to be tamed. Ciùin."<br> <br> Ciùin coils her whip around your cock and tugs it from side to side as if she's wrangling a steer. More blood flows down to your cock. Excitement thrums through you. You never thought a pair of tiny fairies could be so sexy... so dominant.<br> <br> Ciùin releases the whip and lets the blood flow into your surging erection. Over on your other thigh Broinn has removed her basque and is peeling off her stockings. Ciùin tosses her whip into the gap between your legs and starts to climb out of her latex bodysuit. She leaves her latex hood on.<br> <br> <<include [[Muchadh: Strapped In: End]]>>
Even though she's tiny, you still cringe at the crack of her whip. Your cock shrivels up as if it's trying to crawl up into your body to get away from it.<br> <br> From their expressions, this was not the reaction the fairies were expecting or hoping for. Broinn shares a glance with Ciùin. Ciùin nods and flies off, her wings whirring behind her.<br> <br> Broinn walks up to your belly button and sits down.<br> <br> "It is nothing to feel ashamed about," she says. "It happens. We have a backup plan."<br> <br> Ciùin returns. She's carrying something that looks like an icing bag crossed with bellows. It's made out of glossy black latex and is almost as big as her. She places it on the bench with the nozzle pointing at your crotch. She does something at the back you can't quite see and then pushes down on the handle. You feel warm air tickle your pubic hair as the nozzle puffs out a pink cloud that envelops your cock.<br> <br> This triggers a powerful, preternatural surge of arousal within you. Your cock swells up to full erection with a suddenness that causes you to gasp in surprise.<br> <br> Ciùin works the handle again and puffs another cloud of smoke around your cock. Your erection hits a throbbing peak so intense it almost verges on pain. Your cock sticks up like an iron bar.<br> <br> "Extract of Flùr de Dìoghras Neo-Riaghlaidh," Broinn explains. "Very powerful, but also quite deadly. If applied directly to the penis it would kill you. In this form it is quite safe and extremely arousing. We find it very useful in helping those patrons having trouble with their nerves."<br> <br> You'd describe it as a good deal stronger than mere //arousing//. Your cock feels hard enough to go through wood.<br> <br> Broinn starts removing her top and pulling down her fishnets. Ciùin peels off her latex bodysuit. She leaves her latex hood on.<br> <br> <<include [[Muchadh: Strapped In: End]]>>
"We will tame you with our bodies," Broinn says. "With sex."<br> <br> [[Continue.->Muchadh: Double Dick Massage]]
Naked now, both girls fly over to your erect cock and start hugging it. Moaning with pleasure, they rub their naked boobs up and down your shaft. They wrap their long legs around your cock and squeeze it with their thighs. They bounce their hips back and forth as they grind against your fleshy pillar.<br> <br> You watch enrapt as they squeeze and rub your engorged member. It's like a live two-girl nude show and wank rolled into one and happening in your lap.<br> <br> They climb up to the peak and start running their little tongues around your foreskin. Your cock twitches eagerly at the stimulation. A little droplet of pre-cum wells up out of your urethra. The two fairies lap it up as if it's nectar and then their lips meet in a passionate kiss. Shamelessly, they start making out on top of your cock. Their hands are all over each other and they rub their breasts together in a sapphic embrace.<br> <br> Still embracing, they wrap their long legs around the head of your cock and squeeze the fleshy helmet with their thighs. They let their feet dangle down and catch against your foreskin. They use their wings to bob up and down, pleasantly jerking you off in the process.<br> <br> <<if $player.semenCount gt 8>> [[It feels too good.->Muchadh: Double Dick Massage: Ejaculation]] <<else>> [[It feels nice.->Muchadh: Double Dick Massage: No Ejaculation]] <</if>>
<<set $semenChange to -1>> <<include [[Checked Semen Change]]>> <<set $affectionChange to 1>> <<set _affectionChangeReason to "Muchadh Likes This">> <<include [[Harlot Affection Change]]>> <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> The sight of them making out in such an unrestrained manner while masturbating you with their tiny feet is too much. You feel an orgasm burst up out of your balls and erupt like a fountain between them. Broinn and Ciùin both squeal with delight as you splash them with your cum. They make out with greater intensity and rub your cloudy issue all over their nubile forms. Even though your ejaculation has passed, your cock remains hard and throbbing between them. Little bubbles of cum continue to well up out of your urethra.<br> <br> <<include [[Muchadh: Double Dick Massage: End]]>>
It's almost enough to tip you over into a premature ejaculation. You don't want that as it would make it over too soon. You hold on and revel in the sight of their naked bodies writhing together while they continue to masturbate you with their tiny feet.<br> <br> <<include [[Muchadh: Double Dick Massage: End]]>>
Broinn and Ciùin pause and turn to look at you. Broinn shares a glance with Ciùin. Ciùin nods.<br> <br> Broinn leaves your cock and her wings whir as she flies up to your face. Ciùin slides back down your shaft and resumes using her whole body to jerk you off.<br> <br> Broinn alights on your chin and stares down at you. "You've had some pleasure. Now it's my turn," she says.<br> <br> She lies down on your face. She wraps her arms around your nose and starts humping your mouth. You're not exactly sure what she's getting from this. Maybe she's expecting something from you.<br> <br> [[Lick her pussy?->Muchadh: Lick Pussy]]<br> [[Do nothing?->Muchadh: Don't Lick Pussy]]
<<set $affectionChange to 1>> <<set _affectionChangeReason to "Muchadh Likes This">> <<include [[Harlot Affection Change]]>> <<set $hasLickedPussy to true>> You open your mouth slightly and start licking between Broinn's legs with the very tip of your tongue. She shivers in pleasure as you lap at her tiny sex.<br> <br> "Mmm. Not necessary, but not unwelcome either," Broinn says.<br> <br> She pushes back against your tongue and gives a little sigh of pleasure.<br> <br> <<include [[Muchadh: Ciuin Sex]]>>
You do nothing and lie there while Broinn continues to hump your face. You don't understand what she gets from this, but she seems to be enjoying herself.<br> <br> <<include [[Muchadh: Ciuin Sex]]>>
Down at your genitals Ciùin continues to hug and rub her body against your penis. She starts moaning erotically, her moans getting louder and more frequent until she hits a climax.<br> <br> You feel a rubbery balloon expand around and envelop your cock. The elastic membrane is soft, slick and warm. <<if $player.isAwareOfFairyTrick>> You've visited succufairies before, so you know what it is. Ciùin has turned her vagina inside out and expanded it around your cock. <<else>> You're not sure what to make of it. <</if>> It feels like your cock has been drawn up into a snug sheath. One where the soft walls are pumped up with air and squeeze your cock with gentle pressure. It feels extremely pleasant.<br> <br> <<if not $player.isAwareOfFairyTrick>> What is Ciùin doing down there?<br><br> <</if>> <<if $player.isAwareOfFairyTrick>>Her everted pussy<<else>>It<</if>> feels like she's wrapped a warm soft-skinned air bladder around your cock and is working it up and down like a sex toy sheath.<br> <br> [[You look down at what she's doing.->Muchadh: Broinn Vagina 1]]
You go to lift your head, only for Broinn to reach a tiny fist into your nostril and yank on your nasal hairs. The sharp pain refocuses your attention to her.<br> <br> "You don't need to see what she's doing," she says. "Just lie back and enjoy the pleasure."<br> <br> It does feel extremely pleasurable. Your whole cock is enveloped in a warm, soft membrane filled with air. Gentle pulses roll up and down your shaft as Ciùin rocks her body against you. Your cock tingles pleasantly as the juices from the membrane seep into your skin.<br> <br> <<if $hasLickedPussy>> You get back to tonguing Broinn's miniature pussy as she grinds her hips against your face. <<else>> Broinn continues to grind her hips against your face. <</if>> Her breathing becomes louder and harsher. Her body stiffens. Her face loses its composure.<br> <br> <<if $player.isAwareOfFairyTrick>> With your previous experience of succufairies, you know they're capable of popping their vaginas inside out and inflating them. Is she going to do that here?<br><br> <</if>> Even though she's been given little stimulus, Broinn reaches a kind of climax.<br> <br> <<if $player.isAwareOfFairyTrick>> Here it comes. A <<else>> Then it gets strange as a <</if>> pinkish-white bubble swells up out of her crotch and expands to cover your nose and mouth. It feels like a little pillow of air with a moist, flexible surface.<br> <br> [[Continue.->Muchadh: Broinn Vagina 2]]
Broinn lies on top of the pinkish-white membranous pillow, panting. She recovers her composure. The soft membrane ripples and billows around her as she sits back up. Her expression is once again cold and haughty.<br> <br> "Surprised?" she asks. "This is the trick of the succufairies. We can turn our vaginas inside out and expand them with <<if $player.isAwareOfFairyTrick>> air."<br> <br> You know this as you've seen it before, albeit not quite as close up as this.<br> <br> "It's <<else>> air. It's <</if>> how we have sex with men many times our size. It's what Ciùin is doing to you right now."<br> <br> Broinn glances over shoulder.<br> <br> "She has a very juicy pussy. Her juices will keep you hard and turned on. She really knows how to pamper a penis."<br> <br> <<if $player.isAwareOfFairyTrick>> Ciùin's inside-out pussy is wonderful. <<else>> You don't know what it is down there. <</if>> It feels like a soft sheath with inflated walls pressing snugly all around your cock. Juices seep into your cock until it feels like it's glowing with delight.<br> <br> Broinn sits on the cushion of her own distended vagina and crosses her long legs.<br> <br> "Me, I refuse to pamper," she says. "Beasts should know their place."<br> <br> [[Continue.->Muchadh: Broinn Smother 1]]
Reflexively, you go to draw breath and realise you can't. Your nose and mouth are covered with a flexible membrane that blocks your air passages as surely as a plastic bag over your face.<br> <br> "Oh dear," Broinn says. "Is it hard to breathe with my pussy over your face?"<br> <br> More like impossible. Your first instinct is to reach up and tear away the bag smothering your face. Your wrists come up against the latex straps tethering your arms to the sides of the bench and go no further.<br> <br> Broinn laughs. "Who is big and mighty now?"<br> <br> Your nostrils dilate and your mouth opens wide to try and suck in air. None can get past the obstruction. You start to feel discomfort in your lungs as the air grows stale.<br> <br> Beginning to panic, you thrash your head from side to side in a vain attempt to shake off the smothering fairy. Broinn cackles joyously as she's bounced around by your wild head movements. You can't dislodge the smothering membrane. It's stuck to your face as if glued.<br> <br> "Oh, do that again," she says. "Please." Her cheeks are flushed and her voice is husky with arousal.<br> <br> [[Your air is running out.->Muchadh: Broinn Smother 2]]
Your hips writhe and twist as you feel your own arousal build. Ciùin is still stroking and squeezing your cock with her own inflated inside-out vagina.<br> <br> "I love smothering the big ones with my pussy," Broinn says. "I love the look in their eyes when they realise such a tiny thing is slowly suffocating the life out of them."<br> <br> You tug helplessly at your bonds. You are caught between twin poles of pleasure and pain. At your crotch you feel a soft membrane rippling up and down your cock, stroking you to ecstasy. Above that, your lungs burn and your throat hitches as your body craves fresh oxygen.<br> <br> "I love the confusion in their eyes as my sister strokes them to orgasm at the same time."<br> <br> Ciùin shifts position. She climbs up on top of your erection and lets her pussy billow out down the sides. She presses her hands and feet into the membrane and starts stimulating the head of your cock with pulsing waves. Your hips start bucking with the same rhythm.<br> <br> "Asphyxiation and a closeness to death always brings out the best orgasms," Broinn whispers. "Enjoy it."<br> <br> [[You need oxygen!->Muchadh: Semen Check]]
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> Your eyes roll around wildly. Your thoughts are a chaotic jumble of competing fear and pleasure. The urge to come grows and grows in <<if $isOutOfSemen>>you.<<else>>you until it can no longer be denied.<</if>><br> <br> "Ah, here it comes," Broinn says.<br> <br> <<if $isOutOfSemen>> <<include [[Muchadh: Out Of Semen]]>> <<else>> <<include [[Muchadh: Ejaculation]]>> <</if>>
Your body tenses up and becomes taut. Sensing you're close, Ciùin starts pulsing the head of your cock faster and harder. At the same time, you run out of oxygen and your thoughts start to collapse into darkness. You pass out before you find out whether Ciùin can stroke your tired and depleted body to orgasm.<br> <br> [[You pass out.->Muchadh: Bad End]]
Your body tenses up and becomes taut. You feel the climax rise up inside you. Sensing you're close, Ciùin starts pulsing the head of your cock faster and harder. <<if $player.charms.includes(22)>> You feel <<else>> At the same time, you run out of oxygen and your thoughts start to collapse into darkness. The last thing you feel before you pass out is <</if>> a powerful surging blast of pleasure as your cock throbs and spurts gouts of semen up into Ciùin's smothering pussy. It feels like fireworks blasting into a night sky.<br> <br> <<if $player.charms.includes(22)>> You are amazed you haven't already passed out. It feels like Broinn has held her distended vagina over your mouth and nose for over ten minutes.<br> <br> Broinn is extremely persistent, determined and //thorough//. She implacably sits on your face and waits for you to pass out, even though it takes quite a while.<br> <br> <</if>> <<include [[Muchadh: End Determinator]]>>
<<if $cgi eq 0 or $allHarlots[$hi].affection lt 0 or not $player.currIsSerious>> [[You pass out.->Muchadh: Bad End]] <<else>> [[You pass out.->Muchadh: Good End]] <</if>>
Your oxygen-starved brain flickers and sparks random thoughts. Blasted through it like comets are the bursts of animalistic bliss as your cock throbs and spurts and empties your balls up into the soft membrane wrapped around it.<br> <br> Starved of oxygen and riven by ecstasy, you feel like your sense of self dislocates. There is body-you and a separate mind-you floating around inside it. That inner self becomes untethered and tumbles up your throat as if gravity has reversed. Inner-you comes out of your mouth as a last exhalation and is caught and enfolded by the billowing membrane of Broinn's distended vagina.<br> <br> She sighs with satisfaction as she draws the folds of her vagina back into her body, and your ensnared soul with it.<br> <br> Your lifeless and soulless body cools beneath her. The bench is less a place of taming and more a place of slaughter.<br> <br> <<include [[Muchadh: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You wake to the crack of a whip and tiny hands slapping your cheek.<br> <br> "Wake up," Broinn says.<br> <br> You open your eyes and see both fairies have gotten dressed. Their bodies are squeezed back into their tight glossy black latex outfits. Their strange inside-out vaginas have been pulled back into their bodies.<br> <br> "The session is over," Broinn says.<br> <br> You realise your hands and feet are no longer bound. Blinking blearily, you swing your legs over and onto the floor.<br> <br> "Ciùin likes the taste of your semen. She says it's sweet," Broinn said.<br> <br> In contrast to her whip and overall intimidating appearance, Ciùin glances shyly down at the floor.<br> <br> "She told me not to kill you." Again, Broinn's face cracks in that disconcerting smile.<br> <br> The fairies flutter around you as you put your clothes back on.<br> <br> "A near-death experience does add a little extra oompth to the climax, does it not," Broinn says, again with her creepy smile. "Makes it intense."<br> <br> Maybe a little too intense, you think.<br> <br> <<if $allHarlots[$hi].affection gt 1>> "If it was too intense, there are other succufairies in the House that can offer a more..." Broinn spits the word contemptuously "//vanilla// experience. <<include [[Harlot Scenario: Select Harlot Gossip]]>> <br><br> <</if>> The fairies return to hovering above the bench in a shaft of silvery light.<br> <br> "Come again," Broinn says. "If you have the courage..."<br> <br> You really wish she wouldn't smile like that.<br> <br> You put your clothes back on and leave.<br> <br> <<if $allHarlots[$hi].affection gt 0>> <<include [[Default Harlot: Faction Increase]]>> <</if>> <<set $player.isAwareOfFairyTrick to true>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <<include [[Muchadh: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
"Ah, that pair. I've seen them fluttering around in their dominatrix getup and wondered how that works. They're so tiny the mere thought of them dominating a man seems ridiculous."<br> <br> He pulls out his notebook.<br> <br> "Tell me how you got on with Broinn and Ciùin Mùchadh." /* always end in line breaks */ <br> <br>
/* must start with linebreaks if wish to start on new line */ <br> <br> "Bench of taming, huh."<br> <br> $npcMoney.name's moustache bristles as he chuckles.<br> <br> "How charmingly absurd." /* premature ejaculation */ <<if _scoreArray[3][1] and not _osa[3][2]>> <br><br> You move on to describing the two-fairy dick massage.<br> <br> "Were those tiny fairies a little too hot for you?" $npcMoney.name laughs.<br> <br> Your cheeks redden with embarrassment. <</if>> /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
/* Text here */ <<if _scoreArray[0][1] and not _osa[0][2]>> "You left early?"<br> <br> $npcMoney.name raises his eyebrow quizzically.<br> <br> "Don't tell me you were scared. Of tiny fairies."<br> <br> He laughs raucously.<br> <br> "I shouldn't give you anything, but it's just so funny. Terrified of tiny fairies. Hahaha." <<else>> "I don't think I could let them strap me in," $npcMoney.name says. "Imagine the embarrassment if they accidentally suffocated you to death. Imagine that on your gravestone: 'Here lies X – smothered to death by a fairy.'"<br> <br> He guffaws.<br> <br> "Smothered to death by a fairy. A tiny fairy." He keeps laughing. <</if>><br> <br> You fidget awkwardly. /* do not end with linebreaks */
/* Sgriosar Balgan-Buachair */ <<set $hi to 30>> <<set $allHarlots[$hi] to { number: $hi, name: "Sgriosar Balgan-Buachair", shortDescription: "", faction: 0, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [], affection: 0, hasSpokenToNpcGossip: false, preIntroductionLink: "Sgriosar: Pre-Introduction", introductionLink: "Sgriosar: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Sgriosar: Socialising", isNonStandardGossip: true, npcGossipLink: "Sgriosar: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Default Harlot: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Sgriosar: 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.money to 0>> <<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 x>> */ <<set $player.currIsSubmissive to false>> /* <<set $player.currIsSlutty to true>> */ /* <<set $player.currIsSerious to true>> */ /* <<set $player.currIsCautious to false>> */ <<set $player.isAwareOfFairyTrick to true>> /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 30>> <<set $allHarlots[$hi].hasSpokenToNpcGossip to true>> /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a pretty but sullen looking fairy girl fluttering around on two pairs of whirring insect wings. She wears baggy ill-fitting clothing of various shades of grey. A black beanie with a skull and crossbones patch hides her hair.">>
/* Madam intro */ $npcMadam.name doesn't introduce this harlot as normal. She seems a little surprised to see her.<br> <br> She walks over to her and they have a short, whispered conversation too low for you to hear. $npcMadam.name walks back to you. She seems troubled.<br> <br> "This is another of our whimsical fairies, Sgriosar Balgan-Buachair. She had to take a break for a while, but she's okay now."<br> <br> $npcMadam.name turns to the fluttering fairy.<br> <br> "You are okay, aren't you, Sgriosar," $npcMadam.name asks with a stern, questioning tone.<br> <br> The fluttering fairy girl doesn't reply. <br> <br> /* Long description */ Sgriosar Balgan-Buachair is a fluttering fairy girl about six inches high. She has the delicate body and whirring insect wings of a mythical fairy, but none of their whimsical nature. She looks more like she's grown up and has hit the awkward teen phase.<br> <br> She wears baggy grey clothes that are too big for her. A large black beanie with a skull and crossbones patch is pulled down to just above her eyes. A grey scarf is pulled up to just below her nose. The only bit of colour on her clothing is a dainty pair of purple fairy boots with the toes curled back. One toe is bent and twisted out of shape. Broken.<br> <br> You can't help but feel //broken// might apply to Sgriosar as a whole. Her large wide eyes look like they were luminous once, but now look flat and dead. <br> <br> /* Harlot intro */ "Hi," the fairy girl says sullenly. "I'm Sgriosar Balgan-Buachair."<br> <br> You get the impression she's forcing herself to be here when her and everyone else would rather she wasn't. <br>
Sgriosar Balgan-Buachair doesn't say a word as you walk out into the bar. She just sullenly buzzes along after you. You pick a table and she touches down and sits cross-legged in silence on the table surface opposite you. <<set $socNoMoneyLink to "Sgriosar: Socialising: No Money">> <<set $socDrinkLink to "Sgriosar: Socialising: Drinking">> <<include [[While Socialising]]>>
You look apologetically at Sgriosar. She doesn't even return your gaze. She's already taken off and is buzzing back to the stage area. <br><br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and a thimble of sweet-smelling liquid for Sgriosar.<br> <br> Sgriosar doesn't touch her drink. She just sits there in silence and stares sullenly at you until you start to feel uncomfortable. You completely fail to engage her in conversation and eventually give up. You both return to $npcMadam.name in awkward silence. <br><br> <<include [[Socialising: End]]>>
"Sgriosar Balgan-Buachair? The dick destroyer? $npcMadam.name has allowed her to start working again?"<br> <br> $npcGossip.name takes a long draw on her cigarette holder.<br> <br> "It won't end well. It never does. That girl is broken."<br> <br> She exhales a cloud of fragrant smoke.<br> <br> "I can see you wondering. How does a daemon get broken? Not easily, but it's not impossible. We're not as mentally fragile as you humans, but we're not invulnerable either, especially the more delicate and fragile among us."<br> <br> $npcGossip.name puffs on her cigarette.<br> <br> "Let me tell you a tale, a fairy-tale if you will, about a sweet and innocent fairy named Aoibh nan Cluaintean. Well, as sweet and innocent as a lust daemon can be."<br> <br> $npcGossip.name guffaws.<br> <br> "Not all lust daemons are manipulative soul-stealing horrors. There is a sect, regarded as heretical, that believes our talents in the arts of sensual ecstasy should be used for higher purposes than the gratification of hungers. They believe that pleasure can be found through the act of giving pleasure."<br> <br> $npcGossip.name exhales a cloud of smoke.<br> <br> "Foolish nonsense, if you ask me. But if it makes them happy."<br> <br> She shrugs.<br> <br> [[Continue.->Sgriosar: NPC Gossip 2]]
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Sgriosar: First-Time Scenario]]>> <<else>> <<include [[Sgriosar: Repeat Scenario]]>> <</if>>
/* create score array - for completeness*/ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* */ ] }>> /* set other scenario-specific vars here */ <<include [[Sgriosar: Enter Room]]>>
/* no repeat scenario for obvious reasons */ <<include [[Sgriosar: First-Time Scenario]]>>
"Aoibh was a devotee of these teachings. She was dedicated to mastering the sensual arts. Her speciality was the lingam massage. That girl could do things to a penis that would make its owner think he'd ascended to nirvana.<br> <br> "Then, during one session, her restraint magic failed. The man broke free and – drunk on pleasure and mad with lust – did what men mad with lust do. He tried to shove his dick inside poor Aoibh.<br> <br> "Now, as you might have noticed, there is a bit of a scale problem when it comes to human dicks and fairies. Not that it stopped the man. He gave it, as they say, the good college try."<br> <br> $npcGossip.name chuckles.<br> <br> "The fairy suffered no long-term physical damage. Us lust daemons are considerably more durable than we look. But mentally..."<br> <br> $npcGossip.name clicks her tongue against her teeth.<br> <br> "That's the problem with letting yourself be swept along with a mindset that believes the world can be made nicer and kinder if only you suppress your baser instincts and devote yourself to bringing pleasure to others. Eventually some bastard is going to come along to prove you wrong."<br> <br> $npcGossip.name puffs out another cloud of smoke.<br> <br> "Suffice to say, that was the end of Aoibh nan Cluaintean. Now there is only Sgriosar Balgan-Buachair."<br> <br> [[Continue.->Sgriosar: NPC Gossip 3]]
"Our dear esteemed Madam is sympathetic of course. She's allowed Sgriosar to return to work on multiple occasions. The outcome has always been the same."<br> <br> $npcGossip.name fixes her piercing red eyes on you.<br> <br> "Now I can see you thinking. What a sad story. What a poor girl. And because you're human and nice and stupid you're probably also thinking, maybe I can help her. It just needs someone to reach out. Be sympathetic. Show her it was a fluke, that not all men are like that, that she just needs someone to treat her right."<br> <br> $npcGossip.name looks at you and laughs.<br> <br> "Oh, I can see it. You're not the first to think it, and you probably won't be the last. It didn't work out for them, and it won't work out for you. Not everything that's broken can be fixed. If you pick her and go into her room, she'll destroy your dick and you'll die in agony. Just like all the others."<br> <br> $npcGossip.name stubs out her cigarette. <<include [[Print Gossip Gossip]]>> <br><br> <<set $allHarlots[$hi].hasSpokenToNpcGossip to true>> /* As is multiple passages need this to get the story back on track */ <<include [[NPC Gossip: Non-Standard Gossip: End]]>>
Sgriosar Balgan-Buachair's room is both beautiful and sad. You can see that at some point it was designed to resemble a verdant woodland or jungle clearing. A multitude of exotic plants grow in planters around the edge of the room and in pots positioned artfully across the floor. At its peak the room was probably breathtakingly beautiful.<br> <br> Now it has an overgrown and raggedy look, as if the owner is no longer enthused about its maintenance. Thorny weeds overrun some of the planters and the plants look untidy and mismanaged.<br> <br> Sgriosar sits on a terracotta stool in the centre of the room. As you enter, she stands up and takes to the air.<br> <br> "Come in." She forces a smile, but it's only there for a moment before being replaced by a surly pout.<br> <br> She buzzes over to you like a sullen wasp.<br> <br> Thinking it the appropriate thing to do, you present her your gift.<br> <br> [[Continue.->Sgriosar: Gift]]
"Oh," Sgriosar says as you present her the $allGifts[$cgi].name. "Thanks." Her voice is completely flat and disinterested.<br> <br> She drops the $allGifts[$cgi].name into an empty pot and flies back to the red-brown stool without a second glance.<br> <br> "Take your clothes off," she says.<br> <br> You do as she says, leaving them in a pile on the floor.<br> <br> [[Continue.->Sgriosar: Fairy Binding]]
"Sit here," she says, pointing down at the stool.<br> <br> You do as she says. The stool is quite pretty. The legs depict various lovely nymphs carrying ripe bunches of grapes. The seat feels smooth and cool to your naked ass.<br> <br> "Hands behind back," Sgriosar says with the same flat intonation. "Legs apart."<br> <br> Again, you do as she says.<br> <br> Sgriosar says words in a strange language you don't recognise and points at you with her finger. Suddenly, you feel your hands clamped behind your back as though iron manacles have materialised out of thin air. They feel a little too tight and cinch your wrists painfully.<br> <br> Sgriosar points down at your feet and the same magic clamps your ankles to the legs of the stool.<br> <br> <<if $player.isAwareOfFairyTrick>> After your experiences with the other succufairies, this doesn't come as a surprise, although Sgriosar's restraints are a little... harsh. <<else>> What is this? You weren't expecting a bondage session. <<if $player.currIsSubmissive>> <br><br> (Although you're okay with it.) <<else>> It's not really your thing. <</if>> <</if>> <br><br> [[Continue.->Sgriosar: Undressing]]
You test both your bonds and the stool. The stool is heavy and seemingly rooted to the floor. Your bonds feel like heavy-duty manacles. You ain't going anywhere.<br> <br> Sgriosar undresses. She tries to make a show of it, but her heart clearly isn't in it. There's no striptease here nor much in the way of grace. She takes her clothes off and drops them on a nearby shelf.<br> <br> Under her beanie hat her hair is blonde. With proper care you could see it blooming into a luxuriant shower of golden curls. Currently it looks flat and limp. <<if $player.isAwareOfFairyTrick>> As with the other succufairies, she has a pair of dainty horns. <<else>> You're also surprised to see she has a pair of dainty horns. <</if>><br> <br> Her body is similar. She has the lithe leggy figure of a top catwalk model, yet comports herself like a slouching teen. Her sullen pout isn't a sexy pout, it's just sullen. Her big eyes should be luminous, but instead look flat and dead.<br> <br> Naked now, Sgriosar flutters down to your crotch. She looks disapprovingly at your limp dick. You're not sure what she expects.<br> <br> "Oh, aren't you turned on? Am I not sexy enough for you?"<br> <br> [[Be tactful and tell her it's been a long night?->Sgriosar: Undressing: Tactful]]<br> [[Be honest and tell her this all feels a little mechanical and not very erotic?->Sgriosar: Undressing: Honest]]
You tell her it's not her. It's just been a long night in the House and you're a little worn out.<br> <br> Sgriosar nods. "I can do something about that."<br> <br> [[She flies off.->Sgriosar: Berry Breath]]
As you point out she doesn't seem to be making much effort to arouse you, Sgriosar reacts as if slapped.<br> <br> "I am trying," she blurts out.<br> <br> Then she stops. Takes a deep breath.<br> <br> "No. I will be better. I will show them I can be better," she mutters to herself.<br> <br> She forces a pleasant smile.<br> <br> "It's okay. I know something that will get you in the mood."<br> <br> [[She flies off.->Sgriosar: Berry Breath]]
She flies off and plucks a pink berry from a nearby vine. She returns, pops it in her mouth and her jaw works as she chews it. Then, after some chewing, she opens her mouth and exhales a cloud of pink mist that envelops your genitals.<br> <br> Your cock smoothly rises up in erection. It's aroused. You're not. The disconnect weirds you out.<br> <br> Sgriosar spits out the berry paste to the side. Then she flies down to hug your upright erection. She wraps her tiny arms and legs around it and makes an attempt to masturbate you. Again, you can tell her heart isn't in it. Without the influence of Sgriosar's berry breath, you suspect your cock would already be starting to droop from the wretched awkwardness of it.<br> <br> Sgriosar jerks your cock for what feels like ten long and unsexy minutes before looking up and asking, "Do you wanna fuck?" Her smile is hopeful, but her tone is flat and dead.<br> <br> [[Yes.->Sgriosar: Yes To Fuck]]<br> [[Not really.->Sgriosar: No To Fuck]] <<if $allHarlots[$hi].hasSpokenToNpcGossip>> <br> [[$npcGossip.name + " told me you give an exquisite lingam massage."->Sgriosar: Lingam To Fuck]] <</if>>
"Of course," Sgriosar says. "You all want to stick your dick in something."<br> <br> <<include [[Sgriosar: Sex 1]]>>
"Tough," Sgriosar says. "You came in here for a fuck and fuck is what you'll get. It's what $npcMadam.name expects."<br> <br> <<include [[Sgriosar: Sex 1]]>>
"That old hag," Sgriosar says. "You shouldn't listen to her. She lies. She tells men things that get them killed. It amuses her."<br> <br> <<include [[Sgriosar: Sex 1]]>>
Sgriosar flies up to the top of your cock.<br> <br> <<if $player.isAwareOfFairyTrick>> You've been with succufairies before, so you know what's coming next. You wait for Sgriosar to pop her vagina out and wrap it round your cock. <<else>> You wonder how she's going to do this. Your cock is as big as she is, if not bigger. <</if>><br> <br> "They say I can't do it anymore. I can. I know I can," Sgriosar mutters to herself.<br> <br> She hovers in place and bonks her naked crotch against your swollen glans.<br> <br> "Boop," she says as she does it again.<br> <br> It... doesn't do a great deal for you.<br> <br> "Boop. Boop."<br> <br> She doesn't even maintain any kind of rhythm. She just hovers in place and mechanically swings her hips back and forth.<br> <br> "Boop."<br> <br> <<if $player.isAwareOfFairyTrick>> Shouldn't she be popping her pussy out by now? <<else>> Is this it? <</if>><br> <br> It all feels a bit... awkward. If you weren't bound in place, you'd have chalked it up to a bad experience and made your excuses and left by now.<br> <br> [[But you're bound and can't go anywhere.->Sgriosar: Sex 2]]
After a couple of minutes of //boop//ing her sex against the swollen head of your cock, Sgriosar stops.<br> <br> "I hate these things," she says.<br> <br> She hovers in place and looks down at your cock.<br> <br> "They look like mushrooms growing up out of the shit from a rotting corpse," she says.<br> <br> That seems a bit strong, you think.<br> <br> "I hate dicks."<br> <br> She slides tiny fingers into your urethral opening and holds it open while she presses her crotch down against it. You see something bulge up between her and your penis. It looks like some kind of bubble with a pinkish-white membrane. Then you feel something start to slide down your urethra.<br> <br> What? Is she pissing down there? Or worse?<br> <br> No, it feels like some kind of soft and flexible membrane is travelling down the inside of your penis.<br> <br> <<if $player.isAwareOfFairyTrick>> You know succufairies have the ability to turn their vaginas inside out, but to slide it down your urethra? Can she do that?<br> <br> <</if>> Sgriosar's face is set in furious concentration. She sucks in a big breath and her body tenses up as if she's about to lift a heavy weight.<br> <br> [[Your cock feels weird.->Sgriosar: Bad End]]
The flexible thing in your urethra fills with air and starts to swell. The pressure is weirdly pleasurable at first, then uncomfortable, then downright painful.<br> <br> You tell her to slow down with whatever she's doing, as it's starting to <<if $player.currIsSubmissive>> hurt... and not in a good way. <<else>> hurt. <</if>><br> <br> "They should be destroyed," she says in a flat voice. "All of them."<br> <br> She sucks in another big breath and grunts as she exerts herself.<br> <br> There is only pain now as the inside of your cock is stretched by the balloon expanding inside it. You see the outside start to swell alarmingly as well. Water runs from your eyes. You rock and thrash against your bonds, unable to escape the swelling, burning pain at your crotch.<br> <br> Sgriosar pauses and breathes heavily as if preparing for one last big push.<br> <br> [[It really hurts.->Sgriosar: Bad End 2]]
Through tears of agony you beg and plead her to stop.<br> <br> Sgriosar ignores you. Her face is fixed as she expands <<if $player.isAwareOfFairyTrick>>her vagina<<else>>the balloon<</if>> within your cock still further. Something gives. The side of your cock ruptures like a sausage on a grill. Sgriosar gives an exultant cry and expands all the way. Your penis bursts, showering Sgriosar's naked body with blood. Only then is her smile genuine.<br> <br> The agony is indescribable. Then the blood loss kicks in and you fade away. Maybe it was not a good idea to enter the room of the dick-destroying fairy.<br> <br> <<include [[Sgriosar: Scenario Clean-Up]]>> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
/* Table for player to set their dispositions at beginning of game */ /* Temporary measure - will be updated with proper intro */ <table> <tr> <td style="text-align:left"> <label><<radiobutton "$isSub" true checked>><span> ''Submissive'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isSub" false>><span> ''Dominant'' </span></label> </td> </tr> <tr> <td style="text-align:left"> <label><<radiobutton "$isSlut" true checked>><span> ''Slutty'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isSlut" false>><span> ''Romantic'' </span></label> </td> </tr> <tr> <td style="text-align:left"> <label><<radiobutton "$isSerious" true checked>><span> ''Serious'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isSerious" false>><span> ''Humorous'' </span></label> </td> </tr> <tr> <td style="text-align:left"> <label><<radiobutton "$isCautious" true checked>><span> ''Cautious'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isCautious" false>><span> ''Impulsive'' </span></label> </td> </tr> <tr> <td style="text-align:left"> <label><<radiobutton "$isBlunt" true checked>><span> ''Blunt'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isBlunt" false>><span> ''Tactful'' </span></label> </td> </tr> <tr> <td style="text-align:left"> <label><<radiobutton "$isGloomy" true checked>><span> ''Gloomy'' </span></label> </td> <td style="text-align:left"> <label><<radiobutton "$isGloomy" false>><span> ''Cheerful'' </span></label> </td> </tr> </table>
/* Early prototype of character creation */ ''CHARACTER CREATION - EARLY PROTOTYPE (NICER TEXT TO BE ADDED LATER WITH A PROPER INTRODUCTION).''<br> <br> [[Super-Fast.->Start With Player Creation: Random]]<br> //For if you want to start right away with random player stats//<br> <br> [[Fast.->Start With Player Creation: Chosen Dispositions][$afterPlayerCreationLink to "Start With Player Creation: Chosen: Skip Explanation"]]<br> //For if you want to pick your dispositions and skip player stats explanation.//<br> <br> [[Regular.->Start With Player Creation: Chosen Dispositions][$afterPlayerCreationLink to "Start With Player Creation: Chosen: With Explanation"]]<br> //For if you want a full explanation of what the player stats are.//
<<include [[Create New Player: Default]]>> /* go straight to start */ <<include [[Start New Game]]>>
<<include [[Create New Player: Chosen Dispositions: Begin]]>>
<<unset $afterPlayerCreationLink>> ''DEV'S NOTE: A proper introduction detailing how you ended up in the House in the first place will be added in a later version.''<br> <br> <<include [[Explanation: Physical Stats]]>> <br> [[Next.->Start With Player Creation: Chosen: With Explanation 2]]
/* Create a new player */ /* Note: Assumes variables are set beforehand */ <<set $player to { baseStr: $str, baseAgi: $agi, baseDex: $dex, baseInt: $int, baseWill: $wil, baseConst: $con, currStr: $str, currAgi: $agi, currDex: $dex, currInt: $int, currWill: $wil, currConst: $con, baseIsSubmissive: $isSub, baseIsSlutty: $isSlut, baseIsSerious: $isSerious, baseIsCautious: $isCautious, baseIsBlunt: $isBlunt, baseIsGloomy: $isGloomy, currIsSubmissive: $isSub, currIsSlutty: $isSlut, currIsSerious: $isSerious, currIsCautious: $isCautious, currIsBlunt: $isBlunt, currIsGloomy: $isGloomy, maxSemenCount: 10, semenCount: 10, money: 10, mulliganTokens: 0, charms: [], roomScores: [], factionAffinities: [0,0,0,0,0,0,0,0], maxFactionAffinities: [], potionResistance: 3, potionEffects: [], ailments: [], knownAilments: [] }>>
/* for after we've assigned stats to player */ <<unset $str>> <<unset $agi>> <<unset $dex>> <<unset $con>> <<unset $int>> <<unset $wil>>
/* for after we've assigned them to player */ <<unset $isSub>> <<unset $isSlut>> <<unset $isSerious>> <<unset $isCautious>> <<unset $isBlunt>> <<unset $isGloomy>>
/* Disposition chosen by player */ //Choose the disposition traits of your player character.//<br> <br> //Some harlots respond better to certain dispositions. (And some will kill players of the wrong disposition.)//<br> <br> <<include [[Create Player Disposition Stats: Table]]>> <br> <br> [[Done.->$afterTableSelectionLink]]
<<include [[Create Player Physical Stats: Distributed]]>> <<set $afterTableSelectionLink to "Create New Player: Chosen Dispositions: End">> <<include [[Create Player Disposition Stats: Choose]]>>
<<include [[Create Player]]>> <<include [[Unset Physical Stats]]>> <<include [[Unset Disposition Stats]]>> <<unset $afterTableSelectionLink>> /* Go back to whereever asked to create a new player */ <<include [[$afterPlayerCreationLink]]>>
<<unset $afterPlayerCreationLink>> <<include [[Player: Print Full Physical Stats]]>><br> <<include [[Player: Print Full Disposition]]>><br> Past Experience (pre)= $player.isAwareOfFairyTrick<br> <br> <<set $player.isAwareOfFairyTrick to true>> Past Experience (post)= $player.isAwareOfFairyTrick<br> <br> [[Roll again->Test Player: Chosen Dispositions: Start]]<br> [[Test Player Ailments->Test Player Ailments]]
<<set $afterPlayerCreationLink to "Test Player: Chosen Dispositions">> <<include [[Create New Player: Chosen Dispositions: Begin]]>>
/* set specific stats and charms */ <<include [[Set Test Parameters]]>> /* Skip straight to first round for now */ <<include [[Next Round]]>>
<<unset $afterPlayerCreationLink>> /* go straight to start */ <<include [[Start New Game]]>>
''STRENGTH = $player.currStr''<br> //How physically strong you are. Strength doesn't help too much against the wilier succubi, but you might find it useful with the girls that like a bit of rough'n'tumble.//<br> <<switch $player.currStr>> <<case 5>> //You are mighty.// <<case 4>> //You are strong.// <<case 3>> //You are average.// <<case 2>> //You are weak.// <<case 1>> //You are puny.// <</switch>><br>
''AGILITY = $player.currAgi''<br> //How agile you are. This isn't a combat game, so you won't be dodging much. However, some girls do love a good dancer and a suppleness of form is pretty handy when it comes to some of the more complex sexual positions.//<br> <<switch $player.currAgi>> <<case 5>> //You are nimble and athletic.// <<case 4>> //You are agile.// <<case 3>> //You are average.// <<case 2>> //You are a little stiff.// <<case 1>> //You hate exercise.// <</switch>><br>
''DEXTERITY = $player.currDex''<br> //This represents how good you are with your hands. While the succubi and monster girls of the House will mostly be the ones showing off their sexual technique, some are receptive to a skilled lover's touch.//<br> <<switch $player.currDex>> <<case 5>> //You are a virtuoso with your hands.// <<case 4>> //You are good with your hands.// <<case 3>> //You are average.// <<case 2>> //You are clumsy.// <<case 1>> //You are not allowed near tools.// <</switch>><br>
''CONSTITUITION = $player.currConst''<br> //This represents how robust your system is. Many of the harlots will use drugs, venoms and gases, or techniques to deprive you of breath, in order to break your resistance.//<br> <<switch $player.currConst>> <<case 5>> //You are hardly ever ill and can drink most people under the table.// <<case 4>> //You are of robust health.// <<case 3>> //You are average.// <<case 2>> //You are prone to the odd ailment.// <<case 1>> //You are sickly.// <</switch>><br>
''WILLPOWER = $player.currWill''<br> //This represents your mental fortitude. This is how resistant you are to temptation, seduction and even hypnosis. It might save you from being made into a succubus's pet, but be aware some girls can get nasty if their seductive technique fails.//<br> <<switch $player.currWill>> <<case 5>> //Your will is iron.// <<case 4>> //You are strong-willed.// <<case 3>> //You are average.// <<case 2>> //You are weak-willed.// <<case 1>> //You are highly suggestible.// <</switch>><br>
''INTELLIGENCE = $player.currInt''<br> //This is how smart you are. While not the most useful stat for a bout of energetic fucking, some succubi and monster girls have an appreciation for more cerebral matters. It will also give you a better chance of spotting and avoiding some dangerous situations.//<br> <<switch $player.currInt>> <<case 5>> //You are a genius.// <<case 4>> //You are intelligent.// <<case 3>> //You are average.// <<case 2>> //You get by.// <<case 1>> //You are dumber than a box of rocks.// <</switch>><br>
//You are// <<if $player.currIsSubmissive>>''SUBMISSIVE''<<else>>''DOMINANT''<</if>><br> <<if $player.currIsSubmissive>> //Not in the true BDSM sense, but you do like the woman to take the lead in the bedroom. You don't mind being tied up. Some succubi and monster girls like their prey to be compliant, while others prefer them to put up a bit of a fight.// <<else>> //Not in the true BDSM sense (this game has a predominantly femdom focus, so there won't be much maledom). You like to be on top in the bedroom. Some of the more dominant harlots don't take kindly to any resistance to their authority, while others like the challenge. And there are other harlots who prefer a more active participant when things get hot and sexy.// <</if>><br>
//You are// <<if $player.currIsSlutty>>''SLUTTY''<<else>>''ROMANTIC''<</if>><br> <<if $player.currIsSlutty>> //You're all about the fucking. This is fine, so are a lot of the harlots in the House and they appreciate a man that gets right down to it.// <<else>> //You have an appreciation for the art of seduction and the wooing. While not really necessary in the House, there are some succubi and monster girls that appreciate a bit of class and style and will reward you for it.// <</if>><br>
//You are// <<if $player.currIsSerious>>''SERIOUS''<<else>>''HUMOROUS''<</if>><br> <<if $player.currIsSerious>> //You're a solid, staid and reliable person. You're not the most fun to be around, but you're not irritating, and some succubi and monster girls get very irritated when the prey doesn't truly appreciate the gravity of their situation.// <<else>> //You're a joker. Always with a quip or joke to try and lighten the mood. Some succubi and monster girls enjoy it when their prey amuses them. Others find it irritating.// <</if>><br>
//You are// <<if $player.currIsCautious>>''CAUTIOUS''<<else>>''IMPULSIVE''<</if>><br> <<if $player.currIsCautious>> //You don't like risks and you like to consider all the angles before making a decision. While that can help you avoid getting in bad situations, you can be a little slow to react when put on the spot.// <<else>> //You love taking risks and living life to the full. While that can sometimes get you into trouble, you never miss out. While you're at greater risk of falling into the various traps and snares of the House, none of the harlots will consider you boring.// <</if>><br>
//You are// <<if $player.currIsBlunt>>''BLUNT''<<else>>''TACTFUL''<</if>><br> <<if $player.currIsBlunt>> //You're straight-talking and tell it like it is. Some appreciate your brutal honesty, while others consider it rude. Succubi and monster girls are the same. Try not to be rude to the wrong harlot. It won't end well.// <<else>> //You're always very diplomatic and tactful in how you talk to people. Flattery might get you out of trouble with some succubi and monster girls, while others might punish you for your weasel words.// <</if>><br>
//You are// <<if $player.currIsGloomy>>''GLOOMY''<<else>>''CHEERFUL''<</if>><br> <<if $player.currIsGloomy>> //You're a glass-half-empty sort of person with a gloomy disposition. So are some of the harlots, and they appreciate a kindred spirit. And there will be others that take pity on you and feel it their duty to brighten your existence with mind-blowing (and occasionally lethal) sexual pleasures.// <<else>> //You always try to look on the bright side of life. There is not much light in the House, but a cheerful disposition might encourage some succubi and monster girls to let you shine longer. Or they might relish snuffing you out. They are daemons, after all.// <</if>><br>
//These stats represent your physical attributes. All have a value from 1 to 5.//<br> <br> //Some stats will be checked during your visit to a harlot's room. You won't know when a stat has been checked, but you'll likely find out if it isn't good enough! Higher is not necessarily always better...//<br> <br> //(As the stat checks are hidden, there is no RNG involved in the check. A passing value will always pass and vice versa.)//<br> <br> <<include [[Explanation: Strength]]>><br> <<include [[Explanation: Agility]]>><br> <<include [[Explanation: Dexterity]]>><br> <<include [[Explanation: Intelligence]]>><br> <<include [[Explanation: Willpower]]>><br> <<include [[Explanation: Constituition]]>>
//These stats represent your dispositions and together make up your personality. Some succubi and monster girls like certain dispositions, while others might kill you if you have one they dislike!//<br> <br> <<include [[Explanation: Submissive - Dominant]]>><br> <<include [[Explanation: Slutty - Romantic]]>><br> <<include [[Explanation: Serious - Humorous]]>><br> <<include [[Explanation: Cautious - Impulsive]]>><br> <<include [[Explanation: Blunt - Tactful]]>><br> <<include [[Explanation: Gloomy - Cheerful]]>>
<<include [[Explanation: Dispositions]]>> <br> //With that out of the way, let's go right to the first selection!//<br> <br> [[Begin Game.->Start New Game]]
/* Revert player stats back to base values. */ /* Used in potion clean-up */ <<set $player.currStr to $player.baseStr>> <<set $player.currAgi to $player.baseAgi>> <<set $player.currDex to $player.baseDex>> <<set $player.currInt to $player.baseInt>> <<set $player.currWill to $player.baseWill>> <<set $player.currConst to $player.baseConst>> <<set $player.currIsSubmissive to $player.baseIsSubmissive>> <<set $player.currIsSlutty to $player.baseIsSlutty>> <<set $player.currIsSerious to $player.baseIsSerious>> <<set $player.currIsCautious to $player.baseIsCautious>> <<set $player.currIsBlunt to $player.baseIsBlunt>> <<set $player.currIsGloomy to $player.baseIsGloomy>>
/* We create all possible potions here */ <<set $potCount to 30>> <<set $allPots to []>> <<for _potNum to 0; _potNum lt $potCount; _potNum++>> <<set $initLink to "Potion" + _potNum + "Init">> <<include $initLink>> <<set $allPots.push($potion)>> <</for>>
/* Large Str */ <<set $potion to { number: 0, category: 0, cost: 3, name: "Large Potion of Strength", description: "A red flask with an emblem of a bulging bicep.", explanation: "Temporarily sets ''Strength'' to max (5).", lingerDuration: 3, drinkingText: "You feel a lot stronger. Mighty even.", effectsLink: "Apply Pot Fx: Large Str", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currStr to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currStr -= 1>> <<if $player.currStr lt 1>> <<set $player.currStr to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Str by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
<<set $isTesting to true>> <<include [[Create New Player: Default]]>> <<set _charmId to 10>> <<include [[Apply Charm Effect]]>> <<set $potId to 0>> [[Print all potions.->Test Potions: Print All]]<br> [[Print all potion details.->Test Potions: Print All Details]]<br> [[Drink Potion.->Test Potions: Drink Potion]]<br> [[Potion Tester.->Test All Potions]]
Number of Potions = $allPots.length<br> <br> <<for _potNum to 0; _potNum lt $allPots.length; _potNum++>> ''$allPots[_potNum].name''<br> //$allPots[_potNum].explanation//<br> <br> <</for>>
/* Drink potion. */ /* pre-reqs: _potId */ /* add potion effects */ <<set $player.potionEffects.push([_potId, 0])>> /* apply potion effect */ <<set _potRnd to 0>> <<include $allPots[_potId].effectsLink>>
CURRENT POTION EFFECTS<br> <<for _i to 0; _i lt $player.potionEffects.length; _i++>> <<set _potId to $player.potionEffects[_i][0]>> <<set _potRnd to $player.potionEffects[_i][1]>> <<print $allPots[_potId].name + ":">> Rnd _potRnd.<br> <</for>>
<<set $player.currStr to 3>> Str (pre) = $player.currStr<br> <br> <<set _potId to 0>> <<include [[Drink Potion]]>> <br><br> <<include [[Print Potion Effects]]>>
/* increment number of rounds each potion has been in player's system */ <<for _i to 0; _i lt $player.potionEffects.length; _i++>> <<set $player.potionEffects[_i][1] += 1>> <</for>>
/* Removing potion effects after they've expired */ <<for _i to 0; _i lt $player.potionEffects.length; _i++>> <<set _potId to $player.potionEffects[_i][0]>> <<set _potRnd to $player.potionEffects[_i][1]>> <<if _potRnd gt $allPots[_potId].lingerDuration>> <<if $isTesting>> ''$allPots[_potId].name effects have expired...''<br> <</if>> <<set $player.potionEffects.deleteAt(_i)>> <<set _i-->> <</if>> <</for>>
/* apply potion effects */ <<for _i to 0; _i lt $player.potionEffects.length; _i++>> <<set _potId to $player.potionEffects[_i][0]>> <<set _potRnd to $player.potionEffects[_i][1]>> <<include $allPots[_potId].effectsLink>> <</for>>
<<for _i to 0; _i lt $allPots.length; _i++>> <<capture _i>> <<set _name to $allPots[_i].name>> [[_name->Test Potions: Drink Chosen Potion][$id to _i]]<br> <</capture>> <</for>> <br> <br> [[Next Round->Test Potions: Next Round]]
<<set _potId to $id>> <<include [[Drink Potion]]>> <br> <<include [[Print Potion Effects]]>> <br> [[Continue.->Test Potions: Actions]]
<<set $round++>> Round: $round<br> <br> Beginning of round actions...<br> <<include [[Potions: Beginning of Round Actions]]>> <br> <<include [[Print Potion Effects]]>> <br> <<include [[Player: Print Player Ailments]]>> <br> [[Potion Actions.->Test Potions: Actions]]
/* 1. Reset player stats and remove potion befuddlement */ <<set _ailment to 8>> <<include [[Remove Player Ailment]]>> <<include [[Reset Player Stats]]>> /* 2. Increment potion rounds */ <<include [[Potions: Increment Rounds]]>> /* 3. Remove expired */ <<include [[Potions: Remove Expired]]>> /* 4. Apply effects */ <<include [[Potions: Apply Effects]]>> /* 5. Check for addiction */ <<include [[Potions: Addiction Check]]>>
<<set $round to 0>> <<include [[Test Potions: Next Round]]>>
/* Large Agi */ <<set $potion to { number: 1, category: 0, cost: 3, name: "Large Potion of Agility", description: "A red flask with an emblem of feet in a ballerina pose.", explanation: "Temporarily sets ''Agility'' to max (5).", lingerDuration: 3, drinkingText: "You feel a lot more nimble and limber, like an Olympic gymnast.", effectsLink: "Apply Pot Fx: Large Agi", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currAgi to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currAgi -= 1>> <<if $player.currAgi lt 1>> <<set $player.currAgi to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Agi by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Potion Befuddlement - After effect of mindbending potions. Is checked by some harlots (usually with Will or Int checks) */ <<set $ailment to { id: 8, name: "Potion Befuddlement", /* add more stuff later as needed */ cureCost: 1 }>>
/* Potion Addiction - picked up from drinking too many potions in a short period of time. Forces trips to NPC Potion and wastes actions and coins buying her 'special' potions. */ <<set $ailment to { id: 9, name: "Potion Addiction", /* add more stuff later as needed */ hasSatisfied: false, cureCost: 10 }>>
/* if a player has 3 or more potion effects in system they pick up the 'potion addiction' ailment */ <<if $player.potionEffects.length gte $player.potionResistance>> <<set _ailment to 9>> <<include [[Add Player Hidden Ailment]]>> <</if>>
/* Large Dex */ <<set $potion to { number: 2, category: 0, cost: 3, name: "Large Potion of Dexterity", description: "A red flask with an emblem of a hand.", explanation: "Temporarily sets ''Dexterity'' to max (5).", lingerDuration: 3, drinkingText: "Your fingers feel more nimble and dextrous. You feel like you could carry out brain surgery or play a concerto on a grand piano.", effectsLink: "Apply Pot Fx: Large Dex", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currDex to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currDex -= 1>> <<if $player.currDex lt 1>> <<set $player.currDex to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Dex by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
<<set $potion to { number: 3, category: 0, cost: 3, name: "Large Potion of Intelligence", description: "A red flask with an emblem of a brain.", explanation: "Temporarily sets ''Intelligence'' to max (5).", lingerDuration: 3, drinkingText: "Your mind opens up and previously difficult concepts suddenly seem easy to understand.", effectsLink: "Apply Pot Fx: Large Int", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currInt to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currInt -= 1>> <<if $player.currInt lt 1>> <<set $player.currInt to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Int by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Large Will */ <<set $potion to { number: 4, category: 0, cost: 3, name: "Large Potion of Willpower", description: "A red flask with an emblem of a head surrounded by a barrier.", explanation: "Temporarily sets ''Willpower'' to max (5).", lingerDuration: 3, drinkingText: "You feel like your will has become impervious iron. You feel no sweet suggestion or seductive temptation will sway you from your path.", effectsLink: "Apply Pot Fx: Large Will", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currWill to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currWill -= 1>> <<if $player.currWill lt 1>> <<set $player.currWill to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Will by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Large Const */ <<set $potion to { number: 5, category: 0, cost: 3, name: "Large Potion of Constituition", description: "A red flask with an emblem of a full belly.", explanation: "Temporarily sets ''Constituition'' to max (5).", lingerDuration: 3, drinkingText: "You feel in rude health, as if you've never known illness in your life.", effectsLink: "Apply Pot Fx: Large Const", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currConst to 5>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currConst -= 1>> <<if $player.currConst lt 1>> <<set $player.currConst to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Const by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Str */ <<set $potion to { number: 6, category: 1, cost: 1, name: "Potion of Strength", description: "A red test tube with an emblem of a bulging bicep.", explanation: "Temporarily increases ''Strength'' by 1.", lingerDuration: 3, drinkingText: "You feel a little stronger.", effectsLink: "Apply Pot Fx: Str", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currStr++>> <<if $player.currStr gt 5>> <<set $player.currStr to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Agi */ <<set $potion to { number: 7, category: 1, cost: 1, name: "Potion of Agility", description: "A red test tube with an emblem of feet in a ballerina pose.", explanation: "Temporarily increases ''Agility'' by 1.", lingerDuration: 3, drinkingText: "You feel a little more agile.", effectsLink: "Apply Pot Fx: Agi", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currAgi++>> <<if $player.currAgi gt 5>> <<set $player.currAgi to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Dex */ <<set $potion to { number: 8, category: 1, cost: 1, name: "Potion of Dexterity", description: "A red test tube with an emblem of a hand.", explanation: "Temporarily increases ''Dexterity'' by 1.", lingerDuration: 3, drinkingText: "You feel a little more dextrous.", effectsLink: "Apply Pot Fx: Dex", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currDex++>> <<if $player.currDex gt 5>> <<set $player.currDex to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Int */ <<set $potion to { number: 9, category: 1, cost: 1, name: "Potion of Intelligence", description: "A red test tube with an emblem of a brain.", explanation: "Temporarily increases ''Intelligence'' by 1.", lingerDuration: 3, drinkingText: "You feel a little smarter.", effectsLink: "Apply Pot Fx: Int", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currInt++>> <<if $player.currInt gt 5>> <<set $player.currInt to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Will */ <<set $potion to { number: 10, category: 1, cost: 1, name: "Potion of Willpower", description: "A red test tube with an emblem of a head surrounded by a barrier.", explanation: "Temporarily increases ''Willpower'' by 1.", lingerDuration: 3, drinkingText: "You feel a little more focused.", effectsLink: "Apply Pot Fx: Will", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currWill++>> <<if $player.currWill gt 5>> <<set $player.currWill to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Const */ <<set $potion to { number: 11, category: 1, cost: 1, name: "Potion of Constituition", description: "A red test tube with an emblem of a full belly.", explanation: "Temporarily increases ''Constituition'' by 1.", lingerDuration: 3, drinkingText: "You feel a little more hearty.", effectsLink: "Apply Pot Fx: Const", isInStock: true }>>
<<switch _potRnd>> <<case 0>> <<set $player.currConst++>> <<if $player.currConst gt 5>> <<set $player.currConst to 5>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<if $isTesting>> ''$allPots[_potId].name is lingering (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Str */ <<set $potion to { number: 12, category: 2, cost: 2, name: "Potion of Weakness", description: "A blue flask with an emblem of a bulging bicep.", explanation: "Temporarily decreases ''Strength'' by 2.", lingerDuration: 3, drinkingText: "You feel strangely weak and puny.", effectsLink: "Apply Pot Fx: Nerf Str", isInStock: true }>>
<<switch _potRnd>> <<case 0>> <<set $player.currStr -= 2>> <<if $player.currStr lt 1>> <<set $player.currStr to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currStr -= 1>> <<if $player.currStr lt 1>> <<set $player.currStr to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Str by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Agi */ <<set $potion to { number: 13, category: 2, cost: 2, name: "Potion of Sluggishness", description: "A blue flask with an emblem of legs in a ballerina pose.", explanation: "Temporarily decreases ''Agility'' by 2.", lingerDuration: 3, drinkingText: "You feel sluggish and unwilling to move in any hurry.", effectsLink: "Apply Pot Fx: Nerf Agi", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currAgi -= 2>> <<if $player.currAgi lt 1>> <<set $player.currAgi to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currAgi -= 1>> <<if $player.currAgi lt 1>> <<set $player.currAgi to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Agi by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Dex */ <<set $potion to { number: 14, category: 2, cost: 2, name: "Potion of Clumsiness", description: "A blue flask with an emblem of a hand.", explanation: "Temporarily decreases ''Dexterity'' by 2.", lingerDuration: 3, drinkingText: "You are overwhelmed by a sudden feeling of clumsiness.", effectsLink: "Apply Pot Fx: Nerf Dex", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currDex -= 2>> <<if $player.currDex lt 1>> <<set $player.currDex to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currDex -= 1>> <<if $player.currDex lt 1>> <<set $player.currDex to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Dex by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Int */ <<set $potion to { number: 15, category: 2, cost: 2, name: "Potion of Stupidity", description: "A blue flask with an emblem of a brain.", explanation: "Temporarily decreases ''Intelligence'' by 2.", lingerDuration: 3, drinkingText: "Your thoughts become clouded and you find it difficult to concentrate.", effectsLink: "Apply Pot Fx: Nerf Int", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currInt -= 2>> <<if $player.currInt lt 1>> <<set $player.currInt to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currInt -= 1>> <<if $player.currInt lt 1>> <<set $player.currInt to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Int by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Will */ <<set $potion to { number: 16, category: 2, cost: 2, name: "Potion of Susceptibility", description: "A blue flask with a head surrounded by a barrier.", explanation: "Temporarily decreases ''Willpower'' by 2.", lingerDuration: 3, drinkingText: "You wonder if it did anything. Maybe you should just forget all this and just go and get drunk.", effectsLink: "Apply Pot Fx: Nerf Will", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currWill -= 2>> <<if $player.currWill lt 1>> <<set $player.currWill to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currWill -= 1>> <<if $player.currWill lt 1>> <<set $player.currWill to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Will by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Nerf Const */ <<set $potion to { number: 17, category: 2, cost: 2, name: "Potion of Frailty", description: "A blue flask with an emblem of a full belly.", explanation: "Temporarily decreases ''Constituition'' by 2.", lingerDuration: 3, drinkingText: "You feel sickly and shivery. Have you got a cold coming on, or is it worse?", effectsLink: "Apply Pot Fx: Nerf Const", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currConst -= 2>> <<if $player.currConst lt 1>> <<set $player.currConst to 1>> <</if>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set $player.currConst -= 1>> <<if $player.currConst lt 1>> <<set $player.currConst to 1>> <</if>> <<if $isTesting>> ''$allPots[_potId].name has temp reduced Const by 1 (1)...''<br> <</if>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Submissive */ <<set $potion to { number: 18, category: 3, cost: 2, name: "Potion of Submissiveness", description: "A yellow flask with an emblem of handcuffs.", explanation: "Sets disposition to ''Submissive'' for 1 round", lingerDuration: 3, drinkingText: "You feel strangely subdued and wishing someone else would give you direction.", effectsLink: "Apply Pot Fx: Submissive", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSubmissive to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Dominant */ <<set $potion to { number: 19, category: 3, cost: 2, name: "Potion of Assertiveness", description: "A yellow flask with an emblem of a whip.", explanation: "Sets disposition to ''Dominant'' for 1 round", lingerDuration: 3, drinkingText: "You feel more confident and assertive. Maybe you should be the one taking the lead with the next harlot.", effectsLink: "Apply Pot Fx: Dominant", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSubmissive to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Slutty */ <<set $potion to { number: 20, category: 3, cost: 2, name: "Potion of Sluttiness", description: "A yellow flask with an emblem of lips pouting for a kiss.", explanation: "Sets disposition to ''Slutty'' for 1 round", lingerDuration: 3, drinkingText: "You feel like you could do with a good shag.", effectsLink: "Apply Pot Fx: Slutty", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSlutty to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Romantic */ <<set $potion to { number: 21, category: 3, cost: 2, name: "Potion of Romanticism", description: "A yellow flask with an emblem of a heart.", explanation: "Sets disposition to ''Romantic'' for 1 round", lingerDuration: 3, drinkingText: "You feel like you could do with a nice date and some charming companionship.", effectsLink: "Apply Pot Fx: Romantic", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSlutty to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Serious */ <<set $potion to { number: 22, category: 3, cost: 2, name: "Potion of Seriousness", description: "A yellow flask with an emblem of a mouth set in a serious expression.", explanation: "Sets disposition to ''Serious'' for 1 round", lingerDuration: 3, drinkingText: "Everything suddenly seems important. You should treat this situation with the absolute gravity it deserves.", effectsLink: "Apply Pot Fx: Serious", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSerious to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Humorous */ <<set $potion to { number: 23, category: 3, cost: 2, name: "Potion of Humour", description: "A yellow flask with an emblem of a laughing mouth.", explanation: "Sets disposition to ''Humorous'' for 1 round", lingerDuration: 3, drinkingText: "Everything suddenly seems funny, even your current predicament. If you can't do anything, might as well have a laugh about it.", effectsLink: "Apply Pot Fx: Humorous", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsSerious to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Cautious */ <<set $potion to { number: 24, category: 3, cost: 2, name: "Potion of Caution", description: "A flask with an emblem of a man hiding.", explanation: "Sets disposition to ''Cautious'' for 1 round", lingerDuration: 3, drinkingText: "You feel a little twitchy and paranoid. Should you have tried out " + $npcPotion.name + "'s potion? Who knows what's in it.", effectsLink: "Apply Pot Fx: Cautious", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsCautious to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Impulsive */ <<set $potion to { number: 25, category: 3, cost: 2, name: "Potion of Impulsiveness", description: "A yellow flask with an emblem of a man jumping.", explanation: "Sets disposition to ''Impulsive'' for 1 round", lingerDuration: 3, drinkingText: "That felt okay. Maybe you should try another.", effectsLink: "Apply Pot Fx: Impulsive", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsCautious to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Blunt */ <<set $potion to { number: 26, category: 3, cost: 2, name: "Potion of Bluntness", description: "A yellow flask with an emblem of a mouth with a club-shaped tongue.", explanation: "Sets disposition to ''Blunt'' for 1 round", lingerDuration: 3, drinkingText: "The potion tastes a little weird and you let " + $npcPotion.name + " know", effectsLink: "Apply Pot Fx: Blunt", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsBlunt to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Tactful */ <<set $potion to { number: 27, category: 3, cost: 2, name: "Potion of Tact", description: "A yellow flask with an emblem of mouth with a forked tongue.", explanation: "Sets disposition to ''Tactful'' for 1 round", lingerDuration: 3, drinkingText: "The potion tastes a little strange, but you hold your tongue and compliment " + $npcPotion.name + ".", effectsLink: "Apply Pot Fx: Tactful", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsBlunt to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Gloomy */ <<set $potion to { number: 28, category: 3, cost: 2, name: "Potion of Gloom", explanation: "Sets disposition to ''Gloomy'' for 1 round", description: "A yellow flask with the emblem of a sad face.", lingerDuration: 3, drinkingText: "You suddenly feel a little down, but you're okay with it.", effectsLink: "Apply Pot Fx: Gloomy", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsGloomy to true>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* Cheerful */ <<set $potion to { number: 29, category: 3, cost: 2, name: "Potion of Cheer", description: "A yellow flask with an emblem of a smiley face.", explanation: "Sets disposition to ''Cheerful'' for 1 round", lingerDuration: 3, drinkingText: "Everything suddenly seems a little brighter.", effectsLink: "Apply Pot Fx: Cheerful", isInStock: true }>>
/* Pre-req _potId, _potRnd */ <<switch _potRnd>> <<case 0>> <<set $player.currIsGloomy to false>> <<if $isTesting>> ''player has drunk $allPots[_potId].name (0)...''<br> <</if>> <<case 1>> <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<case 2>> <<if $isTesting>> ''$allPots[_potId].name is lingering (2)...''<br> <</if>> <<case 3>> <<if $isTesting>> ''$allPots[_potId].name is lingering (3)...''<br> <</if>> <</switch>>
/* The Doctoress is always available if she hasn't yet been introduced for the first time */ <<if $npcPotion.hasBeenIntroduced eq false>> <<set $npcPotion.isAvailable to true>> <<if $isTesting eq true>> ''$npcPotion.name is available because she hasn't been introduced yet.''<br> <</if>> /* Check if NPC Potion has been made unavailable because of one of the events. */ <<elseif $npcPotion.isUnavailable eq true>> <<set $npcPotion.isAvailable to false>> <<set $npcPotion.isUnavailable to false>> <<if $isTesting eq true>> ''$npcPotion.name is unavailable because of an event.''<br> <</if>> /* follow the usual procedure for determining availability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcPotion.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcPotion.name is <<if $npcPotion.isAvailable eq false>>un<</if>>available because of availability roll.''<br> <</if>> <</if>>
You go over to $npcPotion.name's usual spot, only to find she isn't there. There is no one sitting at the table and the door to her room is locked. She must be away on other duties and is unavailable for now.<br> <br> <<set _ailment to 9>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<include [[NPC Potion: Unavailable if Addicted]]>> <<else>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Potion: Repeat]] <<else>> [[You go back to your place at the bar.->Club Activities: Hub]]<br> //This did not cost an Action.// <</if>> <</if>>
<<if $npcPotion.isAvailable eq true>> <<if $npcPotion.hasBeenVisited>> <<include [[NPC Potion: Visit]]>> <<else>> <<include [[NPC Potion: Visit: First]]>> <</if>> <<else>> <<include [[NPC Potion: Unavailable]]>> <</if>>
You wait for her to show up.<br> <br> And wait.<br> <br> And wait.<br> <br> Eventually you feel <<print $npcMadam.name + "'s">> buzzer vibrate twice in your pocket. Reluctantly, you leave and go over to the harlot selection area.<br> <br> <<include [[NPC Potion: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Potion: Repeat]] <<else>> [[Go and choose a harlot.->Harlot Selection: Intro]] <</if>>
You go over to $npcPotion.name's table. <<print $npcPotion.introActivities.random()>><br> <br> You tap the table to get her attention. $npcPotion.name looks up and smiles.<br> <br> "Ah, a customer."<br> <br> She gets up and takes you into her room.<br> <br> "What business transaction can I interest you in this time?"<br> <br> <<set _ailment to 9>> <<include [[Check if Player Has Given Ailment]]>> <<set $isAddicted to _hasAilment>> <<if $isAddicted and not $allAilments[9].hasSatisfied>> <<include [[NPC Potion: Visit if Addicted]]>> <<else>> <<include [[NPC Potion: Hub Options]]>> <</if>>
<<set $npcPotion.hasBeenVisited to true>> You go over to the table where $npcBarman.name said you'd find $npcPotion.name. It's tucked away by the wall around the other side of the bar. There is an unassuming door to the left of the table that looks like it leads to restrooms or maybe an office. Sitting at the table is a woman with a shock of white hair. Currently her head is down and she seems engrossed with inserting a cucumber into a puffy sleeve made out of translucent blue jelly. The transparent blue tube bulges up and sucks on the cucumber in a way you find queerly erotic.<br> <br> You assume this is $npcPotion.name. She is so engrossed in what she's doing you have to tap the surface of the table to get her attention.<br> <br> The woman looks up and reveals a surprisingly youthful face beneath her white hair. Her skin is pale and smooth. At first you think she's wearing spectacles, but on closer inspection realise she's sporting an odd pair of goggles. Her ice-blue eyes are magnified by the lenses. She looks at you blearily at first and then her pretty face cracks in a broad smile.<br> <br> "Ah, a customer. Step right this way."<br> <br> She gets up from the table, revealing an unexpectedly attractive figure. She's tall and leggy. And while she's wearing a lab coat, it looks like it was tailored by a top fashion designer with the aim of sending it down the catwalk.<br> <br> The same cannot be said for her hair. That sticks up in an uncontrolled frizz as if she's stuck her finger in a power socket.<br> <br> [[She takes you through the door.->NPC Potion: Visit: First: Room]]
<<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Potion: Time Up]]>> <<else>> <<if $isAddicted and not $allAilments[9].hasSatisfied>> <<include [[NPC Potion: Offers Addiction Potion: Continuation]]>> <<else>> <<include [[NPC Potion: Regular Hub Intro]]>> <</if>> <</if>>
<<include [[NPC Potion: Potions Option]]>> <<include [[NPC Potion: Semen Extraction Option]]>> <<include [[NPC Potion: Enquire Sex Option]]>> <<include [[NPC Potion: Leave Option]]>>
/* pay action if visited and done nothing */ <<if not $hasUsedActionWithNpc>> <<set $clubActivityUnits -= 1>> <</if>> <<if $hasDoneBusiness or $hasBoughtPotion>> "It's been a pleasure doing business," $npcPotion.name says as you leave. "Please come again." <<else>> "No business I can interest you in? What a shame," $npcPotion.name says. "You can always come back later if you change your mind." <</if>><br> <br> <<include [[NPC Potion: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Potion: Repeat]] <<else>> [[You return to the bar.->Club Activities: Hub]] <</if>>
<<set $hasUsedActionWithNpc to false>> <<unset $isUsingLargeGulper>> <<unset $hasDoneBusiness>> <<unset $semenExtractCase>> <<unset $hasBoughtPotion>> <<unset $potionBought>> <<unset $potionsInStock>> <<unset $potionOutOfStock>> <<unset $isAddicted>> <<unset $hasTriedToPayAddictionPot>> <<unset $oldSemenCount>>
<<set $clubActivityUnits to 4>> <<set $allAilments[9].hasSatisfied to false>> <<set $player.semenCount to 10>> <<include [[NPC Potion: Print]]>> <<include [[NPC Potion: Determine Availability]]>> <<include [[Potions: Update Stock]]>> <br> [[Begin tests...->NPC Potion: Look For]]
Before you can consider anything else 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> "Sounds like someone's been summoned," $npcPotion.name smiles. "You'd better go. $npcMadam.name doesn't like to be kept waiting. Come back afterwards."<br> <br> You leave.<br> <br> <<include [[NPC Potion: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Potion: Repeat]] <<else>> [[Go and choose a harlot.->Harlot Selection: Intro]] <</if>>
[[Examine her wares?->NPC Potion: Examine Wares]]<br> //This will cost 1 Action and give you the option to buy any number of $npcPotion.name's potions.//<br> <br>
<<if $npcPotion.hasAskedAboutSemenExtraction>> [[Offer a semen sample?->NPC Potion: Offer a Semen Sample]]<br> //This will cost 1 Action and give you options to give semen for <<print $currencyName + "s">>.//<br> <br> <<else>> [[Semen Extraction?->NPC Potion: Ask Semen Extraction]]<br> //This will cost 1 Action and give you options to give semen for <<print $currencyName + "s">>.//<br> <br> [[What does she mean 'other ways to pay'?->NPC Potion: Ask Other Ways to Pay]]<br> //This will cost 1 Action and give you options to give semen for <<print $currencyName + "s">>.//<br> <br> <</if>>
<<if not $npcPotion.hasBeenAskedForSex>> [[Ask if she offers any sexual services?->NPC Potion: Enquire About Sex]]<br> //This will cost 1 Action and ????//<br> <br> <</if>>
/* Print all potion details for testing pre-req: $potId */ <<set _pot to $allPots[$potId]>> name: _pot.name<br> number: _pot.number<br> category: _pot.category<br> cost: _pot.cost<br> description: _pot.description<br> explanation: //_pot.explanation//<br> lingerDuration: _pot.lingerDuration<br> drinkingText: _pot.drinkingText<br> effectsLink: _pot.effectsLink<br> isInStock: _pot.isInStock<br>
<<include [[Print Potion]]>> <br> <<set $potId++>> [[Next Potion.->Test Potions: Print All Details]]
/* Update what potions NPC Potion has in stock this round. For the moment there is a 10% chance an item is out of stock. This algorithm might change in future. */ <<for _potId to 0; _potId lt $allPots.length; _potId++>> <<set _availabilityRoll to random(1,5)>> <<set $allPots[_potId].isInStock to true>> <<if _availabilityRoll lt 2>> <<set $allPots[_potId].isInStock to false>> <</if>> <</for>>
/* determine what items NPC Potion and NPC Charm has in stock this round */ <<include [[Potions: Update Stock]]>> <<include [[Charms: Update Stock]]>> <<if not $npcCharm.hasExplainedFixedSelection>> <<set $hasSeenCharmSelection to false>> <</if>>
<<include [[NPC Gossip: Pay Action]]>> "Ah, the House's resident drug dealer."<br> <br> $npcGossip.name chuckles and exhales a plume of smoke.<br> <br> "She'd deny it vociferously, of course, but patrons keep coming back for her various concoctions whether they need them or not. That's not to say they're not useful. They have impressive effects on human physiology. They can make the puny mighty, the stupid smart, and the meek confident. But for a limited time, and with a hangover afterwards. Still, they might have their uses in here."<br> <br> $npcGossip.name puffs on her cigarette.<br> <br> "As for $npcPotion.name herself, she's an odd duck. Sometimes I wonder if she's even a succubus. She makes things. Some of the harlots in here are her creation. They are artificial beings. Whether you would consider them alive or not is an interesting philosophical question."<br> <br> $npcGossip.name sips her cocktail.<br> <br> "A daemon with her skill and talents could be very dangerous indeed, and yet she has the focus and instincts of a small-time hustler. I think that's the only reason $npcMadam.name hasn't had her skinned alive. I think she regards $npcPotion.name's various experiments as amusing toys. $npcPotion.name doesn't have that much control over them. She made her creations a little too //alive//."<br> <br> $npcGossip.name chuckles and then downs the rest of her cocktail.<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
She opens the door and leads you through into a largish function room that looks as though it's been haphazardly converted into a weird mix of science lab and machine shop. Strange jars and vials containing brightly-coloured liquids stand on tables and benches. Scattered among them are various half-built devices, some disconcertingly organic in appearance.<br> <br> $npcPotion.name clears a space on a table at the far end of the room.<br> <br> "Now, if you haven't already figured it out, the girls in this establishment are not human. Trying to keep up with them in the bedroom can be extremely taxing on the mind and body of the regular human male."<br> <br> $npcPotion.name fetches racks of various exotic vials and flasks from a large refrigerator with glass doors.<br> <br> "Fortunately for you, I've used my scientific expertise to prepare a number of concoctions capable of elevating the human body beyond its limitations. For a cost of course. Scientific research isn't cheap."<br> <br> Her sales patter is interrupted by a loud moan from the other side of the room. That part of the room is partitioned off into three curtained-off booths.<br> <br> "Ignore that," $npcPotion.name says. "Just someone enjoying their semen extraction."<br> <br> She places more brightly-coloured bottles on the table.<br> <br> "Whatever you need – uppers, downers, mindbenders – I have it here for you. And if you need <<print $currencyName + "s">>, there are other ways to pay."<br> <br> Her smile widens to show her white teeth. Her incisors are unusually long and pointed.<br> <br> [[Let's see what she has to offer.->NPC Potion: Regular Hub Intro]]
<<include [[NPC: Pay Action]]>> <<if $isAddicted and not $allAilments[9].hasSatisfied>> "This should raise the <<print $currencyName + "s">> you need. And will give me more semen samples for my research. Everyone wins."<br> <br> $npcPotion.name smiles again, exposing her little pointed fangs. <<else>> "You want to provide another sample? Excellent. I'm always in need of fresh seminal fluid." <</if>><br> <br> <<if $npcPotion.hasSeenBigGulper>> She reaches under the table and brings out both the small and big semen gulper.<br> <br> "What will it be – the small one or the big one?" $npcPotion.name asks. "My payouts are the same. $npcPotion.regularSamplePayout <<print $currencyName + "s">> for a regular sample, $npcPotion.largeSamplePayout for a big one."<br> <br> [[Offer a small sample?->NPC Potion: To Semen Extraction][$isUsingLargeGulper to false]]<br> [[Offer a large sample?->NPC Potion: To Semen Extraction][$isUsingLargeGulper to true]]<br> <<else>> She reaches under the table and brings out the small blue semen gulper.<br> <br> "My rates are the same: $npcPotion.regularSamplePayout <<print $currencyName + "s">> for a regular sample and $npcPotion.largeSamplePayout <<print $currencyName + "s">> for a big sample if your balls are feeling juicy."<br> <br> [[Offer a small sample?->NPC Potion: To Semen Extraction][$isUsingLargeGulper to false]]<br> [[Offer a large sample?->NPC Potion: Ask Large Semen Gulper]]<br> <</if>> <<if $isAddicted and not $allAilments[9].hasSatisfied>> Decline for now? //(You can't do this. You need <<print $currencyName + "s">> to buy $npcPotion.name's special potion.)// <<else>> [[Decline for now?->NPC Potion: Offer Semen Sample: Decline]] <</if>>
Semen extraction? you query.<br> <br> "Oh yes," $npcPotion.name says. "My research calls for large quantities of seminal fluid. I always need fresh samples. You will of course be compensated for your time and fluids."<br> <br> [[How is it... um... extracted?->NPC Potion: How She Gets Sample]]
You query what she means by 'other ways to pay'.<br> <br> "Well, you see, my research requires large quantities of seminal fluid. I always need more samples. I will of course compensate you for giving me fresh samples."<br> <br> [[And just how does she intend getting that sample?->NPC Potion: How She Gets Sample]]
<<include [[NPC: Pay Action]]>> <<set $npcPotion.hasAskedAboutSemenExtraction to true>> "I have a number of specialised tools. They're quite efficient."<br> <br> She reaches under the table and pulls out a clear plastic cylinder containing a puffy sleeve of blue jelly. It looks like a teched-up sex toy sheath.<br> <br> "I call this my little semen gulper," $npcPotion.name says.<br> <br> She turns it to face you and you see a puckered opening surrounded by a soft ring of jelly.<br> <br> "The penis goes in here," $npcPotion.name says cheerfully. "The sleeve stimulates ejaculation and the sample is collected here."<br> <br> She turns it around to show the other end, which consists of a detachable bulblike container made out of transparent rubber. She pops it out to show how easy it is to remove.<br> <br> You'd like to think it's nothing more than the sort of toy you'd expect to find in an adult shop. It isn't helped by the appearance of the inner blue sleeve. It looks like a giant blue grub inserted into a plastic cylinder 'burrow'. This perception isn't helped by the thing slowly pulsating in the tube as if it's alive.<br> <br> [[Is it alive?->NPC Potion: Ask If Gulper Is Alive]]
"Not in the truest sense of the word," $npcPotion.name says. "It's just bioplastic gel enthused with synthetic life essence and fitted with an empathic feedback circuit."<br> <br> None of that makes any sense to you.<br> <br> "It sucks cocks," $npcPotion.name elaborates.<br> <br> She inserts two fingers into the opening and the inner sleeve comes alive and starts sucking on them with slow peristaltic throbs.<br> <br> "I've been told it feels rather pleasant," $npcPotion.name says. "Your comfort is of paramount importance. The semen is of a much higher grade when extracted pleasurably."<br> <br> She pulls her fingers out and her little semen gulper releases them with a wet pop.<br> <br> "I usually pay out up to $npcPotion.regularSamplePayout <<print $currencyName + "s">> for a regular sample and a flat $npcPotion.largeSamplePayout <<print $currencyName + "s">> for a large sample. Does that sound okay to you?"<br> <br> <<if $isAddicted and not $allAilments[9].hasSatisfied>> You have no choice. You must raise enough <<print $currencyName + "s">> to pay for $npcPotion.name's special potion. <<else>> It does, you think. <</if>><br> <br> [[Offer a small sample?->NPC Potion: To Semen Extraction][$isUsingLargeGulper to false]]<br> [[Offer a large sample?->NPC Potion: Ask Large Semen Gulper]]<br> <<if $isAddicted and not $allAilments[9].hasSatisfied>> Decline for now? //(You can't do this. You need <<print $currencyName + "s">> to buy $npcPotion.name's special potion.)// <<else>> [[Decline for now?->NPC Potion: Offer Semen Sample: Decline]] <</if>>
"Good, good. Follow me."<br> <br> $npcPotion.name picks up the semen gulper and takes you over to the curtained-off alcoves on the other side of the room.<br> <br> "I know men like a bit of privacy for a good hard spunk, so I had these cubicles installed."<br> <br> She swishes back the curtain to reveal a narrow space with an overstuffed black armchair wedged in at the far end.<br> <br> "It's very easy to use. Just touch the head of your penis to the opening at the front and the gulper will do the rest. There is no need for lubricant, the sleeve will produce its own and secrete it into the internal channel. You can use it like any other sex toy, but I'd recommend just sitting back and letting the slurper do its thing. The empathetic feedback circuit will allow it to quickly zoom in on the optimal level of stimulation to induce ejaculation."
<<set $npcPotion.hasSeenBigGulper to true>> <<if $hasTriedToPayAddictionPot>> "We need more semen. More semen equals more <<print $currencyName +"s.">> The small semen gulper didn't suck out enough, but fortunately I have a more powerful model." <<else>> "A large sample, eh. Are you sure? I hope those balls are nice and swollen and full of spunk."<br> <br> <<if $isAddicted and not $allAilments[9].hasSatisfied>> You're sure. You need to make enough <<print $currencyName + "s">> to buy $npcPotion.name's special potion. <<else>> You're not sure. <</if>><br> <br> "I'll get the big gulper then," $npcPotion.name says. <</if>><br> <br> She reaches under the table and pulls out a much fatter cylinder. The sleeve inside is also much thicker, maybe as wide as your thigh, if not wider. It's purplish-pink in colour and more opaque than the other model. It seems //muscular//.<br> <br> "I found I needed to bulk up the regular model. In a House full of alluring succubi, sometimes you need a little stronger stimulation."<br> <br> Smiling, she prods the fleshy front. A plump, cushioned orifice opens up to reveal a dripping interior.<br> <br> "I should warn you. This model is extremely powerful. Once it gets going it will pump your balls completely dry. And if it doesn't find enough semen, it might start sucking out... other fluids, and we don't want that."<br> <br> $npcPotion.name smiles and shows off her pointed fangs.<br> <br> [[Go ahead.->NPC Potion: To Semen Extraction][$isUsingLargeGulper to true]]<br> <<if not $hasTriedToPayAddictionPot>> [[On second thoughts, let's go with the small semen gulper.->NPC Potion: Change to Small Gulper]]<br> <</if>> <<if $isAddicted and not $allAilments[9].hasSatisfied>> Decline to give a sample. //(You can't do this. You need <<print $currencyName + "s">> to buy $npcPotion.name's special potion.)// <<else>> [[Decline to give a sample.->NPC Potion: Offer Semen Sample: Decline]] <</if>>
<<if $npcPotion.hasUsedSmallGulper or $npcPotion.hasUsedBigGulper>> "Oh, didn't you enjoy it last time? I'll have to look into recalibrating the semen gulpers. Never mind. The offer still stands if you find yourself in need of <<print $currencyName + "s">> later." <<else>> "Oh dear, I hope you weren't put off by the appearance of my little semen gulpers. I do try so hard to make them look appealing. Never mind. The offer still stands if you find yourself in need of <<print $currencyName + "s">> later." <</if>><br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
What will you do?<br> <br> [[Pull your trousers down and get on with it.->NPC Potion: Semen Extraction: Start]]<br> <<if $isUsingLargeGulper>> //This will gain you $npcPotion.largeSamplePayout <<print $currencyName + "s">> and drain your semen completely.// <<else>> //This will gain you $npcPotion.smallSamplePayout to $npcPotion.regularSamplePayout <<print $currencyName + "s">> and drain some of your semen.// <</if>><br> <br> <<if $isAddicted and not $allAilments[9].hasSatisfied>> Do nothing and wait for $npcPotion.name to come back.<br> //You can't do this. You need <<print $currencyName + "s">> to buy $npcPotion.name's special potion.// <<else>> [["Do nothing and wait for " + $npcPotion.name + " to come back."->NPC Potion: Semen Extraction: Do Nothing]]<br> //This will not get the Action back.// <</if>>
<<if $npcPotion.hasUsedSmallGulper or $npcPotion.hasUsedBigGulper>> <<include [[NPC Potion: Semen Extraction: Subsequent]]>> <<else>> <<include [[NPC Potion: Semen Extraction: First Time]]>> <</if>><br> <br> <<if $isUsingLargeGulper>> <<include [[NPC Potion: Large Semen Extraction 1]]>> <<else>> <<include [[NPC Potion: Small Semen Extraction]]>> <</if>>
It's a waste of time, but you feel more comfortable doing that than sticking your dick into this... thing.<br> <br> You stand around and twiddle your thumbs for a few minutes until $npcPotion.name comes back. She can see right way you haven't used her gulper. You try to mumble excuses about not being able to get it up.<br> <br> "Second thoughts, huh," $npcPotion.name says, seeing right through you.<br> <br> She doesn't seem cross about it. She takes the semen gulper back off you and examines it.<br> <br> "Hmm, I really need to find ways to make these less daunting to use."<br> <br> She looks back at you.<br> <br> "Obviously, I can't give you any <<print $currencyName + "s">>, but you're welcome to come back and try again later if you feel up to it."<br> <br> You leave the cubicle and walk back into the main room.<br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
"Good, good. Follow me."<br> <br> As before she takes you over to the curtained-off alcoves on the other side of the room. She swishes the curtain aside to reveal the black armchair.<br> <br> "You remember how to use it? Just touch your penis to the opening and the semen gulper will do the rest.
<<if $npcPotion.hasUsedSmallGulper>> "That's fine. I normally advise people to stick with the small model unless they're really backed up and need to give their balls a good draining. And you already know how pleasant it feels." <<else>> "Yes, yes. That might be for the best. The big semen gulper can be a little //intense//. Better to start with the small one and work your way up." <</if>><br> <br> [[You choose the small semen gulper.->NPC Potion: To Semen Extraction][$isUsingLargeGulper to false]]
You drop your trousers and settle back on the chair. Or rather, sink into the chair. The cushions feel like they're filled with warm gel. You sink into the chair and it comfortably moulds to your form.<br> <br> You wonder if you need to be hard or not. You give your cock a few pumps to get some blood in it and then push the head up against the soft opening to $npcPotion.name's device.<br> <br> At this point you realise it's considerably more than a sex toy. The inner sleeve comes alive and sucks in your cock.
You drop your trousers and settle back into the super soft armchair. Your cock is already partially erect in anticipation. You place the semen gulper over it and as before the device comes alive and sucks in your cock.
<<set $oldSemenCount to $player.semenCount>> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> Soft, but insistently //muscular// jelly presses all around your cock. It's very tight inside but also soaked in warm lubricant. Then the gulper goes to work.<br> <br> <<if $npcPotion.hasUsedBigGulper>> As before, it's gentle <<else>> Oh wow. This is definitely more than a sex toy. The thick jelly wraps tightly around your cock and starts undulating up and down your shaft in pulsing peristaltic tugs. It's gentle <</if>> at first and then ramps up in force and intensity as your arousal and hardness increases. <<if $isOutOfSemen>> <<include [[NPC Potion: Large Semen Extraction: None]]>> <<else>> <<include [[NPC Potion: Large Semen Extraction 2]]>> <</if>>
The soft sleeve starts to bunch up and gently suck on you. The interior is moist with lubricant and very tactile. It tugs on you with insistent muscular undulations and your cock responds by hardening into a full erection. The gulper keeps going – squeezing, sucking, teasing you with rippling strokes up and down your shaft.<br> <br> Your cock hits peak hardness and throbs with bliss as the soft inner sleeve starts to squeeze and suck with greater force. <<if $npcPotion.hasUsedSmallGulper>>As before, the<<else>>$npcPotion.name was right about you not needing to anything. The<</if>> device searches for the right rhythm and level of suction, and when it finds it, assails your cock with no mercy.<br> <br> <<set _oldCount to $player.semenCount>> <<if $player.semenCount lt 1>> <<include [[NPC Potion: Small Semen Extraction: None]]>> <<elseif $player.semenCount lt 3>> <<include [[NPC Potion: Small Semen Extraction: Low]]>> <<else>> <<include [[NPC Potion: Small Semen Extraction: Regular]]>> <</if>><br> <br> /* Handle semen depletion. 3 single pops (to avoid triggering semen choker charms and similar) No need to check if empty. Will just reset to 0. */ <<set $semenChange to -1>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> <<set $semenChange to $player.semenCount - _oldCount>> <<include [[NPC Potion: Track Semen Harvested]]>> [[$npcPotion.name + " returns."->NPC Potion: Small Sample Collection]]
<<set $semenExtractCase to 0>> If you hadn't already been fully drained by the other harlots in the House, you think the gulper likely would have milked a big – maybe multiple big – loads out of you. As it is, you have nothing to give. You can do nothing more than squirm and writhe in helpless bliss as $npcPotion.name's device tries and fails to suck a load out of you.
<<set $semenExtractCase to 1>> Your activities in the House have left you a little depleted. As pleasant as the gulper feels, it takes a while for it to suck you over the edge into orgasm. Your flow is pretty weak and eventually declines to a dribble. The gulper continues to pulsate and throb pleasantly around your cock, but it's got as much as it can. Your balls are empty and the device can do nothing more than make you squirm and writhe in helpless bliss as it fruitlessly tries to suck another load out of you.
<<set $semenExtractCase to 2>> You're unable to withstand the pleasure for long. You shiver in delight and groan as the device sucks a big load out of you. It's only the first. The device gives you a moment to recover and then starts up again. It squeezes and sucks with soft muscular peristalsis, again quickly finding the optimal level of stimulation. You sit back in helpless bliss as the gulper noisily sucks another ejaculation out of you. A third follows quickly afterwards. Then, with the collection bulb at the end full, the blue spongy sleeve finally goes dormant. You lie back in the soft chair in a bliss-soaked stupor and remain that way until $npcPotion.name returns to collect the sample.
<<switch $semenExtractCase>> <<case 0>> <<include [[NPC Potion: Small Sample Collection: None]]>> <<case 1>> <<include [[NPC Potion: Small Sample Collection: Low]]>> <<case 2>> <<include [[NPC Potion: Small Sample Collection: Regular]]>> <</switch>><br> <br> You leave the cubicle and walk back into the main room.<br> <br> <<set $npcPotion.hasUsedSmallGulper to true>> <<set $player.money += _val>> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
<<set _val to 0>> $npcPotion.name looks at the empty collection bulb and frowns.<br> <br> "I can see you had a go, but no juice. Those other harlots must have already fully squeezed you out. I'm afraid I can't give you anything. No cum, no <<print $currencyName + "s">>."<br> <br> She takes the empty semen gulper.<br> <br> "I can give you some advice, for free. See the nurse before $npcMadam.name forces you to pick your next harlot. The girls in here aren't as gentle as my little semen gulper when it comes to men with empty balls."
<<set _val to $npcPotion.smallSamplePayout>> <<set $hasDoneBusiness to true>> $npcPotion.name looks at the partially-filled bulb with a frown.<br> <br> "It's not as much as I was hoping for," she says. "I can only give you a single $currencyName for this. And some free advice. See the nurse before $npcMadam.name forces you to pick your next harlot. You'll need to keep your balls fully juiced up if you want to survive this House."<br> <br> She gives you _val <<if _val eq 1>>$currencyName.<<else>><<print $currencyName + "s.">><</if>>
<<set _val to $npcPotion.regularSamplePayout>> <<set $hasDoneBusiness to true>> $npcPotion.name's eyes light up as she sees the full collection bulb.<br> <br> "Ooh, splendid. You filled it. And your reward."<br> <br> She gives you _val <<if _val eq 1>>$currencyName.<<else>><<print $currencyName + "s.">><</if>><br> <br> Still soaked in post-orgasmic bliss, you wonder if you should be paying her instead.
<br> <br> And keeps ramping.<br> <br> The device pulsates powerfully around your cock and generates a sucking force you can feel right down in your balls. It should make you come, if you had any semen left to come.<br> <br> <<include [[NPC Potion: Large Semen Extraction: To Bad End]]>>
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> You hit climax with a speed that catches you off guard.<br> <br> It just feels like the gulper is warming up. The soft walls rhythmically squeeze you. Waves of pulsing force run up and down your shaft. Wet internal lips wrap around the throbbing glans of your cock and suck.<br> <br> <<if $isOutOfSemen>> <<include [[NPC Potion: Large Semen Extraction: Low]]>> <<else>> <<include [[NPC Potion: Large Semen Extraction 3]]>> <</if>>
The device pulsates powerfully around your cock and generates a sucking force you can feel right down in your balls. It should make you come again, but it seems like you're done. That one big ejaculation was all you had and now you're empty.<br> <br> <<include [[NPC Potion: Large Semen Extraction: To Bad End]]>>
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<include [[Checked Semen Change]]>> You writhe helplessly in the seat as a second orgasm bursts out of you. It's quickly followed by a third as your body is unable to resist the pulsating suction of the device.<br> <br> You can't stop now. It's as if the semen gulper has unlocked some tantric secret to your body. It's firmly in control now. Your hands fall away. They aren't even needed to hold it in place. The soft plastic front of the device enfolds your crotch and holds the cylinder in place while the interior remorselessly squeeze-sucks another orgasm out of you.<br> <br> It keeps going. It's like it's opened up a direct channel to your testicles and is pumping the semen out of you directly. <<if $isOutOfSemen>> <<include [[NPC Potion: Large Semen Extraction: Not Enough]]>> <<else>> <<include [[NPC Potion: Large Semen Extraction 4]]>> <</if>>
At some point the flow dries up. You're completely out of semen.<br> <br> <<include [[NPC Potion: Large Semen Extraction: To Bad End]]>>
/* set it directly to 0. This might need to be updated if further checks are required */ <<set $player.semenCount to 0>> A fifth ejaculation. A sixth. They all start to run together. All you can do is lie back and tremble in helpless bliss as the pulsing sleeve pumps all the cum out of you.<br> <br> You're so overloaded by sensual pleasure you don't even realise it's stopped until $npcPotion.name returns later to collect her sample.<br> <br> <<set $semenChange to $player.semenCount - $oldSemenCount>> <<include [[NPC Potion: Track Semen Harvested]]>> [[$npcPotion.name + " returns."->NPC Potion: Large Sample Collection]]
<<set _val to $npcPotion.largeSamplePayout>> <<set $npcPotion.hasUsedBigGulper to true>> <<set $player.money += _val>> <<set $hasDoneBusiness to true>> "You look like you enjoyed that," she laughs. "Oh, and you produced so much."<br> <br> She detaches the collection bulb. It's full of milky-white liquid. You're amazed it all came from you.<br> <br> "This is perfect. You've fully earned these."<br> <br> She hands you _val <<if _val eq 1>>$currencyName.<<else>><<print $currencyName + "s.">><</if>><br> <br> She helps you up out of the chair. You need it. Your knees feel as wobbly as overcooked spaghetti.<br> <br> "I'd visit the nurse if I was you," $npcPotion.name advises. "You'll need one of her reinvigorating tonics before seeing your next harlot."<br> <br> You leave the cubicle and walk back into the main room.<br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
That doesn't stop the big semen gulper.<br> <br> [[Continue.->NPC Potion: Large Semen Extraction: Bad End]]
<<include [[NPC: Pay Action]]>> <<set $npcPotion.hasBeenAskedForSex to true>> "How very forward of you."<br> <br> $npcPotion.name blushes. It stands out against her pale skin.<br> <br> "No, it's okay. Quite flattering, actually, given we're in a House full of supernaturally alluring succubi."<br> <br> She fiddles with the items on the table.<br> <br> "I don't. At least not directly. We all have to take our shifts in the rooms here. I prefer to let my toys do the work. Getting involved directly stirs up all sorts of messy emotions and makes it difficult to maintain an objective focus."<br> <br> She blushes again.<br> <br> "Ah, but that's only when selected as one of the choices. $npcMadam.name is a stickler for structure. Men can't just go and proposition anyone in the House. It would make it impossible for the waitresses. So no, I'm afraid you'll have to wait until I'm presented to you as one of your choices on the harlot stage.<br> <br> "However..."<br> <br> $npcPotion.name's lips turn up in a smile that shows off her little pointed incisors.<br> <br> "I do have a special dispensation to extract semen samples for my research studies. While the extraction devices are supposed to be purely functional, men have found them to be quite pleasant, as you heard earlier."<br> <br> Her smile widens.<br> <br> ''DEV NOTE: THE DOCTORESS'S HARLOT SCENARIO HAS NOT YET BEEN WRITTEN. IT WILL BE ADDED AT A LATER DATE!''<br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
/* <<set $npcPotion.introActivities[x] to "">> */ <<set $npcPotion.introActivities[0] to "$npcPotion.name is fiddling with a mannikin arm that looks like it's made out of glass. She manipulates the wrist and moves the hand back and forth with a look of concentration on her face.">> <<set $npcPotion.introActivities[1] to "$npcPotion.name has what looks like an artificial breast in front of her. The pink mound sits on the table like a novelty cake. She gives it a squeeze and a flume of pink motes puffs up out of the nipple.">> <<set $npcPotion.introActivities[2] to "$npcPotion.name is currently engrossed with inserting a cucumber into a puffy sleeve of transparent blue jelly. The sleeve bunches up and sucks on the cucumber like a giant blue grub.">> <<set $npcPotion.introActivities[3] to "$npcPotion.name is staring intently at a big beaker filled with viscous pink gel. The contents of the beaker ripple and swell of their own accord.">> <<set $npcPotion.introActivities[4] to "$npcPotion.name is holding a strange device that looks like a series of metal strips and wires with a pair of plump sensual red lips at the end. She presses the lips into a flesh-coloured tablet and examines the impressions.">> <<set $npcPotion.introActivities[5] to "$npcPotion.name has an old-fashioned perfume bottle in her hand. She squirts some on her wrist, sniffs it and then her face wrinkles up in disgust.">>
<<include [[NPC: Pay Action]]>> $npcPotion.name lays out a fulgurous array of vials and flasks on the table.<br> <br> "I don't always have everything in stock," $npcPotion.name says. "Business is exceptionally good this evening. There are fresh batches on the way. Now what would you like?"<br> <br> She sweeps her arm over her collection of potions.<br> <br> "I have uppers, large and small. I have downers. I have mindbenders that will make you think you're someone else."<br> <br> Again, that toothy saleswoman smile.<br> <br> <<include [[NPC Potion: Wares Options]]>>
<<set _category to 0>> <<include [[NPC Potion: Check Potion Stock]]>> <<if $potionsInStock.length neq 0>> The large uppers are squat little flasks with the rounded lower part engraved with different icons. The fluids are red but thankfully more resemble berry juice than blood.<br> <</if>> <<include [[NPC Potion: Display Wares]]>>
<<set _category to 1>> <<include [[NPC Potion: Check Potion Stock]]>> <<if $potionsInStock.length neq 0>> The small uppers are slim little test tubes filled with red liquid. The tubes are engraved with various icons.<br> <</if>> <<include [[NPC Potion: Display Wares]]>>
<<set _category to 2>> <<include [[NPC Potion: Check Potion Stock]]>> <<if $potionsInStock.length neq 0>> The downers are squat little flasks with rounded bottoms. They are engraved with icons and filled with blue liquid.<br> <</if>> <<include [[NPC Potion: Display Wares]]>>
<<set _category to 3>> <<include [[NPC Potion: Check Potion Stock]]>> <<if $potionsInStock.length neq 0>> The mindbenders are engraved conical flasks filled with a yellowish liquid. Thankfully, the fluids look less like piss and... actually they do look like they're filled with piss.<br> <</if>> <<include [[NPC Potion: Display Wares]]>>
<<set $npcPotion.hasAskedSideEffects to true>> "Some," $npcPotion.name admits. "It's like sprinting from A to B rather than walking. It'll get you there quicker, but you'll need to take a breather afterwards. This is the same, the negative effects are only temporary.<br> <br> "Oh, and they are not addictive in the slightest," $npcPotion.name adds.<br> <br> <<if $player.currInt gt 3>> That seems a suspiciously specific denial.<br> <br> <</if>> [[Next.->NPC Potion: Examine Wares: Continuation]]
<<if $hasBoughtPotion>> "Ah, it's always good to see satisfied customers," $npcPotion.name says. <<else>> <<if $npcPotion.hasAskedAboutSemenExtraction>> "If you're short of money, remember I pay good money for semen samples," $npcPotion.name says. <<else>> "If you're worried about the money, I have a way for you to earn some," $npcPotion.name says. <</if>> <</if>><br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
[[Large Uppers?->NPC Potion: Browse Large Uppers]]<br> [[Small Uppers?->NPC Potion: Browse Small Uppers]]<br> [[Downers?->NPC Potion: Browse Downers]]<br> [[Mindbenders?->NPC Potion: Browse Mindbenders]]<br> <<if not $npcPotion.hasAskedSideEffects>> [[Ask if there are any side effects?->NPC Potion: Ask Side Effects]]<br> <</if>> [[Finished browsing potions?->NPC Potion: Finished Browsing Potions]]
/* pre-req: _potId: potion Id */ <<set _name to $allPots[_potId].name>> <<set _cost to $allPots[_potId].cost>> <<if _cost eq 1>> <<set _coinText to _cost + " " + $currencyName>> <<else>> <<set _coinText to _cost + " " + $currencyName + "s">> <</if>> <table width="100%"> <tr> <td style="text-align:left"> <<if $player.money lt _cost>> _name <<else>> <<capture _potId>> [[_name->NPC Potion: Potion Bought][$potionBought to _potId]] <</capture>> <</if>> </td> <td> </td> <td>..........</td> <td> </td> <td style="text-align:right"> //_coinText// </td> </tr> <tr> <td style="text-align:left"> $allPots[_potId].description </td> </tr> <tr> <td style="text-align:left"> <<if $player.money lt _cost>> //You do not have enough <<print $currencyName + "s">> for this.// <<else>> //$allPots[_potId].explanation// <</if>> </td> </tr> </table>
<<set _potId to $potionBought>> <<set $hasBoughtPotion to true>> <<set _val to $allPots[_potId].cost>> <<set $player.money -= _val>> <<include [[Drink Potion]]>> <<switch $allPots[_potId].category>> <<case 0>> <<set _taste to "raspberry and beef.">> <<case 1>> <<set _taste to "raspberry and bacon.">> <<case 2>> <<set _taste to "blueberry and fish.">> <<case 3>> <<set _taste to "lemon and garlic.">> <</switch>> You give $npcPotion.name _val <<if _val eq 1>>$currencyName<<else>><<print $currencyName + "s">><</if>> and take the potion. Preparing yourself for a bad taste, you tip it back and drink the colourful potion. The taste is odd but pleasant, like _taste The effects are immediate. $allPots[_potId].drinkingText<br> <br> [[Browse other potions.->NPC Potion: Examine Wares: Continuation]]<br> [[Finished buying potions.->NPC Potion: Finished Browsing Potions]]
"What can I interest you in?" $npcPotion.name asks.<br> <br> <<include [[NPC Potion: Wares Options]]>>
/* Divides a category's potions into in stock and out of stock. Overall stock check is done at the beginning of each round. pre-req: _category */ <<set $potionsInStock to []>> <<set $potionsOutOfStock to []>> <<for _potId to 0; _potId lt $allPots.length; _potId++>> <<if $allPots[_potId].category eq _category>> <<if $allPots[_potId].isInStock>> <<set $potionsInStock.push(_potId)>> <<else>> <<set $potionsOutOfStock.push(_potId)>> <</if>> <</if>> <</for>>
/* create list of potions to buy pre-req: _category */ <<if $potionsInStock.length eq 0>> <<include [[NPC Potion: All Out Of Stock]]>> <<else>> <<for _i to 0; _i lt $potionsInStock.length; _i++>> <<set _potId to $potionsInStock[_i]>> <<include [[NPC Potion: Create Potion Display]]>> <</for>> /* create out of stock string */ <<set _count to $potionsOutOfStock.length>> <<if _count gt 0>> <<set _outOfStockString to "">> <<for _i to 0; _i lt _count; _i++>> <<set _potId to $potionsOutOfStock[_i]>> <<set _outOfStockString += "''" + $allPots[_potId].name + "''">> <<if _i eq _count - 1>> <<set _outOfStockString += ".">> <<elseif _i eq _count - 2>> <<set _outOfStockString += " and ">> <<else>> <<set _outOfStockString += ", ">> <</if>> <</for>> "Unfortunately, I'm currently out of _outOfStockString If you come back later, I might have some in."<br> //$npcPotion.name's stock changes for each round.//<br> <br> <</if>> <</if>> [[Browse other potions.->NPC Potion: Examine Wares: Continuation]]<br> [[Finished buying potions.->NPC Potion: Finished Browsing Potions]]
/* Covers the unlikely case of all potions of a type being out of stock pre-req: _category */ <<switch _category>> <<case 0>> <<set _catString to "Large Uppers.">> <<case 1>> <<set _catString to "Small Uppers.">> <<case 2>> <<set _catString to "Downers.">> <<case 3>> <<set _catString to "Mindbenders.">> <</switch>> "Oh wow, I'm completely out of ''_catString'' It's really busy in the House tonight. Come back later and I should have some in stock."<br> //$npcPotion.name's stock changes for each round.//<br> <br>
''SUBSEQUENT ACTIVITIES:''<br> <<for _i to 0; _i lt $npcPotion.introActivities.length; _i++>> <<print $npcPotion.introActivities[_i]>><br> -X-<br> <br> <</for>>
<<if $hasDoneBusiness or $hasBoughtPotion>> [[That's enough business for now.->NPC Potion: Leave]]<br> <<else>> [[Nothing interests you at the moment.->NPC Potion: Leave]]<br> <</if>> //Leave and return to the bar.//
<<if $isPostRoom>> <<set $postroomActivityUnits -= 1>> <<else>> <<set $clubActivityUnits -= 1>> <</if>> <<set $hasUsedActionWithNpc to true>>
<<if $npcPotion.hasBeenInSemenExtractionBooth>> <<include [[NPC Potion: To Semen Extraction: Subsequent]]>> <<else>> <<include[[NPC Potion: To Semen Extraction: First Time]]>> <</if>><br> <br> <<if $isUsingLargeGulper>> <<include [[NPC Potion: To Semen Extraction: Big]]>> <<else>> <<include [[NPC Potion: To Semen Extraction: Small]]>> <</if>><br> <br> <<if $npcPotion.hasBeenInSemenExtractionBooth>> She swishes the curtain back across, leaving you alone with the device. <<else>> She hands you the semen gulper. Then she swishes the curtain across and leaves you alone. You hear her voice as she moves across to one of the other cubicles.<br> <br> "Are you done? Ooh, what a lovely amount," you overhear her say. <</if>><br> <br> <<set $npcPotion.hasBeenInSemenExtractionBooth to true>> <<include [[NPC Potion: Semen Extraction: Options]]>>
<<if $npcPotion.hasUsedBigGulper>> She pops out the hollow cap at the top.<br> <br> "No need to worry about a quota with this one. It's going to empty you." <<else>> She pops out the hollow cap at the top of the squat cylinder. It looks like it's capable of holding a disconcerting amount of liquid.<br> <br> "No need to worry about a quota with this one. It's going to suck out all you have." <</if>>
She pops out the hollow cap at the other end of the tube.<br> <br> <<if $npcPotion.hasUsedSmallGulper>> "Same rules as before. You need to fill it up to the line to earn the full $npcPotion.regularSamplePayout <<print $currencyName + "s">>." <<else>> "Oh, and the <<print $currencyName + "s">> are conditional on you filling the collection receptacle up to here," $npcPotion.name says, pointing to a line on the side of the jar. "If you fall short, I'll still give you a $currencyName, but there needs to be something in here. No cum, no <<print $currencyName + "s">>." <</if>>
The semen gulper tightens its grip around your cock and sucks harder. You feel the force tug at your balls. It keeps growing and growing. You have nothing left to give, but the device will not be denied.<br> <br> Pleasure starts to become scratchy irritation, then outright pain as the powerful suction tugs at you. Then something gives and you feel an ecstatic sense of release. The gulper found some cum after all and your cock throbs joyously as it spurts inside the soft pulsing sheath.<br> <br> You don't notice as red splashes up against the inside of the collection vessel. Neither does the semen gulper. It keeps working away and sucking blood from your cock as if it was cum. It sucks out a lot, more than you can lose and still survive. You slide away into darkness with $npcPotion.name's infernal sex toy still pumping blood from your body.<br> <br> $npcPotion.name returns to find your lifeless body sprawled in the chair. The collection vessel is swollen with blood.<br> <br> She tsks. "Not another contaminated sample."<br> <br> <<include [[NPC Potion: Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
$npcPotion.name notices how you are twitching and the way your eyes have trouble focusing. Her smile widens.<br> <br> "It looks like you need <<if $npcPotion.addictionLevel gt 0>>another<</if>> one of my special potions."<br> <br> [[She turns to the fridge behind her.->NPC Potion: Offers Addiction Potion]]
$npcPotion.name goes back to the refrigerator behind her and comes back with a squat vial filled with green liquid. This one has an icon of a star on it and the dimpled glass surface is decorated with glitter.<br> <br> "This is my special potion," $npcPotion.name. "It does everything the other potions do, but better. However, it is much more expensive and difficult to make. My stock is limited, so it's reserved for only my most valued customers, which includes you."<br> <br> She beams at you.<br> <br> You want it more than anything you've ever wanted in your life.<br> <br> <<include [[NPC Potion: Addiction Hub Options]]>>
<<set _cost to $npcPotion.addictionPotCosts[$npcPotion.addictionLevel]>> <<include [[NPC Potion: Create Addiction Potion Display]]>> <<if $player.money lt _cost>> <br> <<include [[NPC Potion: Addiction: No Money]]>> <</if>>
<<set $hasTriedToPayAddictionPot to true>> $npcPotion.name fetches the squat green vial from the refrigerator.<br> <br> "Have you got enough now?" $npcPotion.name asks.<br> <br> <<include [[NPC Potion: Addiction Hub Options]]>>
/* pre-req: _cost */ <<set _name to $npcPotion.name + "'s Special Potion">> <<if _cost eq 1>> <<set _coinText to _cost + " " + $currencyName>> <<else>> <<set _coinText to _cost + " " + $currencyName + "s">> <</if>> <table width="100%"> <tr> <td style="text-align:left"> <<if $player.money lt _cost>> _name <<else>> [[_name->NPC Potion: Addiction Potion Bought]] <</if>> </td> <td> </td> <td>..........</td> <td> </td> <td style="text-align:right"> //_coinText// </td> </tr> <tr> <td style="text-align:left"> A Green vial decorated with stars and glitter. </td> </tr> <tr> <td style="text-align:left"> //Effect: ????// </td> </tr> <tr> <td style="text-align:left"> <<if $player.money lt _cost>> //You do not have enough <<print $currencyName + "s">> for this.// <<else>> //You must buy this potion. Simply must.// <</if>> </td> </tr> </table>
<<include [[NPC: Pay Action]]>> <<set _val to $npcPotion.addictionPotCosts[$npcPotion.addictionLevel]>> <<set $player.money -= _val>> <<set $hasBoughtPotion to true>> <<set _max to $npcPotion.addictionPotCosts.length - 1>> <<set $npcPotion.addictionLevel++>> <<if $npcPotion.addictionLevel gt _max>> <<set $npcPotion.addictionLevel to _max>> <</if>> <<set $allAilments[9].hasSatisfied to true>> You give $npcPotion.name _val <<if _val eq 1>>$currencyName<<else>><<print $currencyName + "s">><</if>> and eagerly take the potion from her. You pop the cork at the top and chug it down. It tastes great and makes you feel great. You feel stronger, faster, lighter, smarter. It's amazing.<br> //This potion has no affect on your attributes.//<br> <br> [["Back to " + $npcPotion.name + " options."->NPC Potion: Continuation Hub]]
<<if $hasTriedToPayAddictionPot>> <<include [[NPC Potion: Addiction: No Money: Subsequent]]>> <<else>> <<include [[NPC Potion: Addiction: No Money: First]]>> <</if>>
"Still short?" $npcPotion.name says. "We'll have to switch to the big semen gulper and suck out a larger sample."<br> <br> <<if $npcPotion.hasSeenBigGulper>> [["Yes. You'll do that. Anything to get your hands on " + $npcPotion.name + "'s special potion."->NPC Potion: To Semen Extraction][$isUsingLargeGulper to true]] <<else>> [[Big semen gulper?->NPC Potion: Ask Large Semen Gulper]] <</if>>
$npcPotion.name notices your downcast expression as you go through your pockets and come up short.<br> <br> "Not enough <<print $currencyName + "s">>?" she asks. <<if $npcPotion.hasAskedAboutSemenExtraction>> "If you're short, remember I pay good money for semen samples."<br> <br> [[Yes, you can do that!->NPC Potion: Offer a Semen Sample]] <<else>> "If you're short, there are other ways to pay."<br> <br> [[There are? Tell me!->NPC Potion: Ask Other Ways to Pay]] <</if>>
"What business transaction can I interest you in?" $npcPotion.name asks.<br> <br> <<include [[NPC Potion: Hub Options]]>>
$npcNurse.name stares into your eyes.<br> <br> "Hmm, let me guess. Your thoughts are clouded and you feel dislocated, as if you're not sure who you really are."<br> <br> That sounds about right.<br> <br> "It's the aftereffects of one of $npcPotion.name's mindbender potions. They completely alter a person's personality. It's only temporary, but for a short while afterwards the imbiber experiences some confusion over who they really are."<br> <br> $npcNurse.name leans back in her chair and your gaze is again sucked in by the way her glossy latex outfit is stretched over her curves.<br> <br> "The good news is that it will clear up on its own. The bad news is that a period of befuddlement in this house, even temporary, could be fatal with the wrong girl. I can cure it for you right now, if you want. Or you can ignore it and the confusion will pass in an hour or so."<br> <br> <<set _val to $allAilments[_ailment].cureCost>> <<if _val eq 1>> <<set _coinText to _val + " " + $currencyName>> <<else>> <<set _coinText to _val + " " + $currencyName + "s">> <</if>> [["Pay " + $npcNurse.name + " " + _coinText + " to have her cure it now."->NPC Nurse: Cure Potion Befuddlement: Cure Now]]<br> //This will cost 1 Action and remove the ailment immediately.//<br> <br> [["Let it clear up on its own. (Go back to " + $npcNurse.name + " options.)"->NPC Nurse: Continuation Hub]]<br> //This will not cost an Action and the Ailment will be gone at the beginning of the next round.//
"Oh dear, it looks like $npcPotion.name is up to her old tricks again."<br> <br> She leans back in her chair. You marvel at the way her latex uniform clings to her thighs.<br> <br> "$npcPotion.name's potions are addictive," $npcNurse.name explains. "Drink too many of them in a short period of time and the body starts to crave them. It's deliberate. $npcPotion.name wants to get men addicted so she can sell them increasingly expensive 'special' potions."<br> <br> $npcNurse.name gets up and walks over to one of the cupboards.<br> <br> "Why a succubus would want to involve herself in such tawdry scams is a mystery to me. I've heard she gets men hooked so she can start draining them of their cum after she's drained their wallet. It seems unnecessarily complex."<br> <br> $npcNurse.name crouches down giving you a gorgeous view of her shapely ass.<br> <br> "Any self-respecting succubus should be capable of seducing a man naked and then drinking directly from the hot gushing source."<br> <br> $npcNurse.name gives you a glance over her shoulder that raises a hot flush on your cheeks and sends blood rushing down to your crotch.<br> <br> "Ah, but she is a strange one, that girl."<br> <br> $npcNurse.name returns with a bottle of rust-coloured liquid.<br> <br> "$npcMadam.name is content to let $npcPotion.name play her games so long as she also provides a cure. To be administered by the house's nurse, in the interests of impartiality. Unfortunately, she didn't specify a price, hence the rather exorbitant cost."<br> <br> $npcNurse.name passes you the bottle.<br> <br> "It also tastes absolutely horrible, so I'd drink it quickly."<br> <br> It tastes worse than that. You gag, but manage to swallow it down.<br> <br> "You won't feel the craving anymore. Don't let it put you off $npcPotion.name's potions. For all of her petty games, her potions are quite useful in here. Just take them in moderation."<br> <br> <<include [[NPC Nurse: Cure Ailment: End]]>>
/* pre-req: _ailment */ <<include [[NPC: Pay Action]]>> <<set $player.money -= $allAilments[_ailment].cureCost>> <<include [[Remove Player Ailment]]>> //You have been cured of the// ''$allAilments[_ailment].name'' //ailment.//<br> <br> [["Back to " + $npcNurse.name + " options."->NPC Nurse: Continuation Hub]]
<<set _ailment to $ailmentToCure>> <<set _val to $allAilments[_ailment].cureCost>> <<if _val eq 1>> <<set _coinText to _val + " " + $currencyName + ".">> <<else>> <<set _coinText to _val + " " + $currencyName + "s.">> <</if>> You give $npcNurse.name _coinText She gets out of the chair and fetches a glass of water. She drops a small white pill into the glass and hands it to you. You drink it down. There is no taste that you're aware of, but afterwards your thoughts feel clearer and less muddled.<br> <br> <<include [[NPC Nurse: Cure Ailment: End]]>>
<<if $npcPotion.addictionLevel gt 0>> You return to the bar and that powerful craving for one of $npcPotion.name's potions returns. It's no good. It won't go away until you've drunk one. You have to satisfy it. <<else>> You've no sooner returned to the bar when you're hit with a strange and powerful unspecified craving. You remember the taste of $npcPotion.name's potions and realise that's what it is. You feel a strong urge to drink another one of them. The craving is powerful enough to make it impossible to concentrate on anything else. You realise you need to take care of it before you can do anything else. <</if>><br> <br> [["You head over to " + $npcPotion.name + "."->NPC Potion: Look For]]
/* Alsharajea Hira, the Corruptress */ <<set $hi to 28>> <<set $allHarlots[$hi] to { number: $hi, name: "Alsharajea Hira", shortDescription: "", faction: 7, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [19], affection: 0, preIntroductionLink: "Alsharajea: Pre-Introduction", introductionLink: "Alsharajea: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Alsharajea: Socialising", npcGossipLink: "Alsharajea: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Alsharajea: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Alsharajea: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Alsharajea: Sell Exp Intro", sellExpBodyLink: "Default Harlot: Sell Exp Body", sellExpFeedbackLink: "Alsharajea: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 2>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 4>> <<set $player.money to 10>> <<set $player.charms.push(14)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currAgi to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ /* <<set $player.currIsSubmissive to false>> */ /* <<set $player.currIsSlutty to false>> */ /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ /* <<set $player.currIsBlunt to false>> */ /* <<set $player.currIsGloomy to false>> */ <<set _ailment to 2>> <<include [[Add Player Hidden Ailment]]>> <<set $hi to 28>> /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 19>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a red-skinned devil girl with a big juicy ass, a lot of piercings and a really slutty attitude.">>
/* Madam intro */ $npcMadam.name chuckles. "Hide your good sons and daughters. Alsharajea Hira, the Corruptress is here. That sinful ass of hers will wring you dry." <br> <br> /* Long description */ Alsharajea Hira looks like the sort of girl mothers warn their sons about. She's also a devil with blood-red skin, black horns, bat wings and a tail.<br> <br> She has the classic hourglass figure of big boobs, rounded hips and a slender waist. Nominally, she's wearing clothes, not that they actually cover anything. She's wearing black stiletto heels and sleazy fishnet tights held up by suspenders. Her top looks like some kind of black leather harness, with the narrow straps coming together to form an inverted pentagram over her cleavage. Her sex and nipples are fully exposed and heavily pierced. Her long, pointed ears have multiple piercings and she also has piercings in her lip, nose and eyebrows. Her eyes are black with yellow cat's eyes irises. Her black hair is spiked up like an '80s glam rocker. She wears a large black inverted cross around her neck.<br> <br> She looks a bad girl all the way through. She looks like she knows how to destroy men in the bedroom and that sets your pulse racing. <br> <br> /* Harlot intro */ Alsharajea strokes a hand over the lush swell of her hips. She turns to show off the voluptuous curves of her bubble-butt ass. She has a real peach and knows it. She gives it a teasing little wiggle.<br> <br> "You want to stick your cock up here. Don't deny it," she rasps sultrily.<br> <br> She squeezes and flexes her cheeks, drawing your gaze in hypnotically. <<set _ailment to 2>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> You feel yourself start to reach out, wanting desperately to lay your hands on that lush peach of an ass.<br> <br> "Ah ah," Alsharajea warns. "No touching the goods until we're up in my room." <</if>> <br>
Alsharajea Hira is very forward and very free with her hands – and tail! – as you walk out into the bar area. She seems to revel in the way her very aggressive advances make you feel uncomfortable. You find a table. <<set $socNoMoneyLink to "Alsharajea: Socialising: No Money">> <<set $socDrinkLink to "Alsharajea: Socialising: Drinking">> <<include [[While Socialising]]>>
<<if $currentRound eq 1>> <<include [[Alsharajea: Socialising: No Money in 1st Round]]>> <<else>> <br> <br> "Skint?" Alsharajea queries. "Loser," she growls before returning to $npcMadam.name.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>> <</if>>
<<if $currentRound eq 1>> <<include [[Alsharajea: Socialising: Drinking in 1st Round]]>> <<else>> <<include [[Alsharajea: Socialising: Drinking in Later Round]]>> <</if>>
$npcGossip.name laughs at the mention of the name.<br> <br> "The Corruptress."<br> <br> She laughs again and smoke leaks from her mouth.<br> <br> "It's a young succubus thing," she explains. "They give themselves silly titles to make themselves sound more intimidating and powerful than they are. She's very insecure."<br> <br> She puffs on her cigarette holder.<br> <br> "She doesn't really need to. She's a little coarse – as the anal specialists tend to be – but her ass is lovely and she does give quite exceptional anal."<br> <br> $npcGossip.name laughs again.<br> <br> "Her favourite game is teasing the pious and faithful. She tries to convince them anal sex isn't 'real' sex and they can freely indulge in it with her without accruing any guilt. I don't think anyone actually believes her."<br> <br> She sips her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"The trouble with the young and insecure ones is they worry too much about being the best ever fuck.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"That ass of hers is gorgeous, but also rather greedy.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"She offers first timers an incomparable experience.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Alsharajea: First-Time Scenario]]>> <<else>> <<include [[Alsharajea: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Good gift */ [6,false,false] /* Surviving */ ] }>> /* set other scenario-specific vars here */ <<include [[Alsharajea: Enter Room]]>>
<<include [[Alsharajea: First-Time Scenario]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and nothing for Alsharajea. The red-skinned devil girl just sits opposite you and stares with unabashed hunger.<br> <br> "You haven't fucked anyone in here yet, have you," she states.<br> <br> You confirm you haven't. Alsharajea's smile widens. Her eyes glimmer even more hungrily.<br> <br> "I love popping the cherries of first timers," Alsharajea says. "Before another succubus gets to them."<br> <br> She pauses to look around.<br> <br> "In case you haven't already figured it out, this House is filled with succubi and other sex daemons. They'll suck your soul right out of your dick with their pussies. You don't have to worry about that with me, because you'll be fucking me in the ass."<br> <br> Her eyes gleam hungrily as she stares at you.<br> <br> "My lovely tight ass."<br> <br> Walking back to $npcMadam.name is quite awkward with the huge boner you have in your pants.<br> <br> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and nothing for Alsharajea. The red-skinned devil girl seems more interested in you.<br> <br> <<if $player.currIsSubmissive>> "You don't need to be so shy," Alsharajea laughs. "I've seen you checking out my ass and I don't mind. If you want to fuck it, you can. And in case you have any hang-ups, this is anal. It's not real sex and doesn't count as regular sex. You can fuck my ass guiltfree."<br> <br> You're not convinced that's how it works, but whatever. Her ass is fucking gorgeous. <<else>> "Why are we wasting time?" Alsharajea asks. "I've seen you looking at my lovely curvy ass. You want to stick your dick in it. I want you to stick your dick in it. So let's go up to my room and let my lovely tight ass wring out all your cum." <</if>><br> <br> Alsharajea's words trigger a large and noticeable erection in your pants you struggle to conceal as you walk back to $npcMadam.name. <br><br> <<include [[Socialising: End]]>>
Alsharajea Hira's room is as sleazy as her appearance. The lighting is dim and the layout resembles the corner of a cheap strip club. The walls are covered in neon signs. 'XXX' and 'SEXSEXSEX' flashes between lewd outlines of red devil girls with big boobs and asses. Overstuffed black leather chairs and sofas are spread throughout the room and positioned as to provide the best view of a small raised stage in the corner.<br> <br> Alsharajea is twirling around a stripper pole on that stage as you enter. She gives you the full show and brazenly strips down to full nakedness. She makes sure you get a good look at her luscious ass as she shakes it and clenches her butt cheeks.<br> <br> Then, satisfied she has your complete attention, she steps off the stage and comes over to collect your gift.<br> <br> [[You give her your gift.->Alsharajea: Gift]]
<<if $cgi eq 0>> <<include [[Alsharajea: Gift: Black Rose]]>> <<elseif $cgi eq 19>> <<include [[Alsharajea: Gift: Butt Plug]]>> <<elseif $allGifts[$cgi].categories.includes(6)>> <<include [[Alsharajea: Gift: Slutty]]>> <<elseif $allGifts[$cgi].categories.includes(4)>> <<include [[Alsharajea: Gift: Romantic]]>> <<else>> <<include [[Alsharajea: Gift: Default]]>> <</if>> <br> <br> [[She takes you over to one of the chairs.->Alsharajea: To Chair]]
Alsharajea gives the $allGifts[$cgi].name a long sniff, closes her eyes and sighs in pleasure.<br> <br> "I'm going to enjoy destroying you with my ass."
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "What a filthy little mind you have."<br> <br> Alsharajea smiles approvingly as she turns the black rubber butt plug around in her hands.<br> <br> "You'll have to use it on yourself. There won't be any room in my ass once I've filled it with your cock."
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "Ooh, and there was me thinking you were a nice boy," Alsharajea says.<br> <br> She turns her smouldering gaze on you.<br> <br> "Do you think you can handle my ass?"<br> <br> She laughs contemptuously.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "Aw, how cute," Alsharajea says.<br> <br> She takes the $allGifts[$cgi].name.<br> <br> "I love the cute ones. I love the little whimpers of pleasure they make when I put their cock in my ass and start to //squeeze//."
"How boring," Alsharajea says.<br> <br> She puts the $allGifts[$cgi].name to one side and turns her hot gaze back on you.<br> <br> "Let's fuck," she growls.
<<if $currentRound eq 1>> <<if $player.currIsCautious>>"You look so nervous,"<<else>>"Trying to play it cool, I see,"<</if>> Alsharajea laughs. "I love being the first girl for new visitors to the House. They never know what to expect."<br> <br> <</if>> She takes you over to a chair and pushes you back onto it. The chair is large and so overstuffed you practically sink right into it. Alsharajea steps in front of you and turns her back to you. She slaps her ass and sends ripples through her voluptuous cheeks.<br> <br> "Are you religious?" she asks with an evil grin.<br> <br> [[Yes.->Alsharajea: Yes to Religious]]<br> [[No.->Alsharajea: No to Religious]]
<<set $isReligious to true>> "I must be such a dilemma," Alsharajea says, her voice a throaty rasp. "My body promises so many pleasures."<br> <br> She runs her hands over her lush curves.<br> <br> "And all of them so very very sinful."<br> <br> <<include [[Alsharajea: 2nd Question]]>>
<<set $isReligious to false>> "So many aren't nowadays," Alsharajea says. "It's a pity. I do so love teasing the devout."<br> <br> <<include [[Alsharajea: 2nd Question]]>>
<<set $isMarried to false>> She bounces on her heels and gives her luscious ass a seductive little jiggle. You find it hard to look anywhere else.<br> <br> "Are you married... have a girlfriend?" she asks. "Or are you free and single?"<br> <br> [[Married.->Alsharajea: No to Single][$isMarried to true]]<br> [[Girlfriend.->Alsharajea: No to Single][$isMarried to false]]<br> [[Single.->Alsharajea: Yes to Single]]
<<set $isSingle to false>> "Oh dear. <<if $isMarried>>Wifey<<else>>Your girlfriend<</if>> would not approve of you being here."<br> <br> Alsharajea presses her hands against her ass cheeks, squeezing them together and making you wish you could be in there being squeezed between them.<br> <br> "You don't have anything to feel guilty about. I'm not going to put your dick in my pussy. We're not going to make love. It's not cheating if you stick it in the ass."<br> <br> <<include [[Alsharajea: Is Anal Cheating]]>>
"A handsome hunk like you, single. I can scarcely believe it."<br> <br> <<if $player.currInt gt 3>> The sarcasm is well-hidden, but you still detect it.<br> <br> <</if>> Alsharajea presses her hands against her ass cheeks, squeezing them together and making you wish you could be in there being squeezed by them.<br> <br> <<if $isReligious>> "Let me guess, you're one of those goody-two-shoes saving himself for the right girl."<br> <br> [[She doesn't give you a chance to answer.->Alsharajea: Single and Religious]] <<else>> "So are you free and single and able to do as he pleases, or are you one of those goody-two-shoes saving himself for the right girl?"<br> <br> [[Free and single.->Alsharajea: Single and Free]]<br> [[Saving yourself for the right girl.->Alsharajea: Single and Saving]] <</if>>
Alsharajea bends over and spreads her butt cheeks. Her puckered butthole winks at you. Suddenly, the other stuff no longer seems so important.<br> <br> [[Continue.->Alsharajea: The Show]]
She laughs.<br> <br> "Such a good little god-fearing boy," Alsharajea taunts. "Saving it for his wedding night."<br> <br> Alsharajea grabs her ass and bounces the cheeks off each other.<br> <br> "You don't have to worry. I'm not going to spoil that. It's good a man saves himself for his future bride. It's righteous in the eyes of the lord."<br> <br> She squeezes and pushes her lovely soft ass cheeks together.<br> <br> "I'm not going to put your dick in my pussy. We're not going to make love. Anal doesn't count. You can fuck me in the ass and still be as pure as a virgin for your bride on your wedding night."<br> <br> <<include [[Alsharajea: Is Anal Cheating]]>>
"Then you're going to have a good time tonight. A lot of them. Maybe more than you can handle."<br> <br> Alsharajea gives a nasty little chuckle.<br> <br> "And your <<if $currentRound eq 1>>first<<else>>next<</if>> good time is located right here."<br> <br> <<include [[Alsharajea: Questions: End]]>>
"How wholesome," Alsharajea says. "It makes me want to puke."<br> <br> She mimes putting a finger down her throat.<br> <br> "You don't have to worry about that with me. I'm not going to put your dick in my pussy. We're not going to make love. It's not cheating if you stick it in the ass."<br> <br> <<include [[Alsharajea: Is Anal Cheating]]>>
<<if $player.currIsSlutty>> There is a kind of twisted logic to her argument. <<else>> You don't think that's how it works. <</if>><br> <br> <<include [[Alsharajea: Questions: End]]>>
Alsharajea puts on a show for you. She crouches down and twerks her considerable booty. You watch her wonderful ass cheeks ripple and bounce and fantasise about being under them.<br> <br> Alsharajea stands up and sways seductively while running her hands over her voluptuous curves. She slaps her ass and lets the fleshy cheeks jiggle.<br> <br> Little by little, your attention is drawn in until you can look nowhere else.<br> <br> Alsharajea backs up closer to you. She twerks closer and closer, letting her lovely big ass loom larger and larger. She reaches the chair and steps up with surprising nimbleness. Even with the extreme softness of the cushions, she is able to keep her balance and still work her ass right in front of your face.<br> <br> She backs up even more until her wiggling ass completely fills your world. You feel her smooth cheeks brush against your face. Then further still, until your head is squashed back against the soft backrest and your face pressed between her warm soft butt cheeks. You are enveloped in her musky feminine odour.<br> <br> [[Continue.->Alsharajea: Undress]]
Alsharajea leans down and unbuckles your trousers. While wiggling her sumptuous ass in your face, she pulls down your pants and exposes your genitals. She sits back against you, completely smothering your face beneath her luscious ass. It is playful rather than forceful and she moves away long before you start to feel short of breath.<br> <br> <<if $currentRound eq 1>> "I know some men like to be smothered by ass, but I think it's a waste. <<else>> "If you want more of that you should seek out Assphyxia. She just loves smothering men between her ass. Me, I think it's a waste. <</if>> I'd rather sit on cock than face."<br> <br> She slides her ass down and rests it against your chest like a pair of soft cushions.<br> <br> "And let's see how this cock is doing."<br> <br> She slides her hands up and down your lengthening shaft. She gives the swelling head an encouraging little squeeze. It doesn't take her long to get you to full hardness. You were already well on the way there anyway.<br> <br> "That should be hard enough."<br> <br> [[Continue.->Alsharajea: Anal Sex]]
Alsharajea squats and slowly lowers her gorgeous bubble-butt ass down on you.<br> <br> "In it goes," she says with a raspy sigh.<br> <br> Your cock slowly slides up into her tight ass. She is really tight, but also heavily lubricated. You push up inside her with only enough friction to set your cock throbbing with pleasure.<br> <br> "Ooh yes," Alsharajea says. "Let's get you all the way up inside my filthy, sinful ass."<br> <br> She takes your full length all the way up inside her. She settles in your lap and gives a little wiggle that sends shivers of pleasure running through you.<br> <br> "And then tighten up."<br> <br> Alsharajea clenches her ass cheeks and bands of muscle constrict around your cock. They gently squeeze and she pulses them to send constant waves of throbbing stimulation running up and down your cock.<br> <br> "Time to get out that lovely cum."<br> <br> She puts her feet up on the chair and starts smoothly bouncing her curvy ass up and down in your lap. You feel her fleshy cheeks slap against your crotch. The tight passage throbs around and squeezes your erection as you slide back and forth inside her.<br> <br> [[Continue.->Alsharajea: 1st Semen Check]]
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Alsharajea: Early Semen Fail][$hasEjaculated to false]]>> <<else>> <<include [[Alsharajea: 1st Pop]]>> <</if>>
As sinfully tight as her ass feels, you can't come <<if $hasEjaculated>>again<</if>> despite her best efforts. You've had too much sex already tonight. There's nothing left in your balls.<br> <br> Or at least you thought you had nothing left.<br> <br> "You seem to be a little dry," Alsharajea says. "Looks like I'll have to use my ultimate technique."<br> <br> [[Ultimate technique?->Alsharajea: Ass Vacuum]]
She's too tight, and the sensations too strong for you. You feel your cock start to twitch against her tight walls. The ejaculation is on its way.<br> <br> "They never last long against my ass," Alsharajea laughs.<br> <br> She slams her luscious ass down, pushing you deep into the soft chair. Bands of muscle tighten around your cock and //squeeze//.<br> <br> That's enough to send you over the edge. Your body tenses, then explodes in orgasm as you spurt a thick stream up into her ass.<br> <br> "Yes," Alsharajea hisses. "Spurt your lovely cream up into my sinful ass. It's delicious."<br> <br> You do, emptying great gouts into her while you writhe and jerk in pleasure beneath her. Until, spent, you sink back into the comfortable armchair. Alsharajea does the same, letting her warm body recline on top of you.<br> <br> "Mmm, such a lot of lovely cum," Alsharajea says. <<if $currentRound eq 1>>"Were you saving up for someone special?"<<else>>"I'm glad the other harlots haven't yet completely drained your balls."<</if>><br> <br> Alsharajea wriggles in your lap. The tight walls of her ass continue to pulse and throb around your cock.<br> <br> "I like your cock in my ass. I think it likes being there as well. I think I'll pump another load out of you. Maybe more."<br> <br> [[Continue.->Alsharajea: Anal Sex 2]]
Alsharajea clenches her buttocks and sends a pulsing vibration through your cock. She does it again. You gasp in surprised pleasure. You don't know what she's doing down there but it feels incredible. Bands of muscle pulse around your cock, but in series, so it feels like long, powerful strokes rippling up and down your shaft.<br> <br> "My ass is so good, I can make you come without moving at all," Alsharajea says. "I wonder how long it will take."<br> <br> She takes your hands and presses them against her bulging butt cheeks. You feel them shiver beneath your fingers as she tenses and relaxes them in a rhythm that sends powerful strokes up and down your shaft. She doesn't move in your lap. She just presses down and lets the internal muscles of her ass stroke and squeeze you back to climax.<br> <br> <<include [[Alsharajea: 2nd Semen Check]]>>
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Alsharajea: Early Semen Fail][$hasEjaculated to true]]>> <<else>> <<include [[Alsharajea: 2nd Pop]]>> <</if>>
It doesn't take long.<br> <br> Your cock swells up inside her and spits out another great flood of semen. Alsharajea sighs and moans. She flexes and wriggles and the squeezing vibration of her ass milks the ejaculation out for as long as she can.<br> <br> "Another delicious load," Alsharajea says. "Your cock really loves my ass. And I haven't even gotten properly started."<br> <br> [[Continue.->Alsharajea: Ass Vacuum]]
Alsharajea <<if not $isOutOfSemen>>guzzles up the last dregs of ejaculate and then<</if>> pushes down even further. The ring of her sphincter tightens around the very root of your member.<br> <br> "No escape now," Alsharajea says. "Your cock is a prisoner of my ass. And now I have it imprisoned, it's time to unleash my ultimate technique."<br> <br> She takes your hands and brings them up to her breasts. You feel her nipples – and her piercings – beneath your fingers. Her ass tightens up around your cock in preparation for something big.<br> <br> "I call this technique my ass vacuum. It sucks the cum right out of your balls."<br> <br> She bobs slowly in your lap. At the same time, she clenches and flutters her buttocks. Your head falls back, your eyes go blank, and your mouth drops open. Within her it feels like two overlapping waves oscillating up and down your cock. She flexes her butt cheeks and the strokes go stronger and faster. You feel a force reach right down into your balls.<br> <br> "My ass is going to pump it all out of you and there's nothing you can do."<br> <br> [[Continue.->Alsharajea: 3rd Semen Check]]
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Alsharajea: Late Semen Fail]]>> <<else>> <<include [[Alsharajea: 3rd Pop]]>> <</if>>
Your whole body tenses up in the chair. You feel the urge to empty your balls even though there's nothing left to spurt.<br> <br> "Trying to hold out against my lovely ass? I think not. I'll pump it all out."<br> <br> <<include [[Alsharajea: To Bad End]]>>
Your whole body tenses up in the chair. You can't hold out against such sinful stimulation. You gasp and moan as your cock again erupts inside her tight ass.<br> <br> "Here it comes," Alsharajea laughs. "Feel my ass pump it all out."<br> <br> Her ass keeps throbbing around your cock with that unnatural but incredible suction. It feels like she has your balls in a tight grip. Your ejaculation stretches out. You can't stop it. It carries on and on. It's as if she is pumping the cum directly from your balls and you can do nothing to stop it.<br> <br> <<if $cgi eq 0>> "Time to give you what you want and have my ass pump it all out."<br> <br> <<include [[Alsharajea: To Bad End]]>> <<elseif $currentRound eq 1>> "You're so fresh and delicious I think I'll have my ass pump it all out."<br> <br> <<include [[Alsharajea: To Bad End]]>> <<else>> <<include [[Alsharajea: To Good End]]>> <</if>>
In the end, it's Alsharajea who stops it.<br> <br> "Ah, that's enough," she says.<br> <br> The unnatural throbbing pulses cease. Your ejaculation finally slows to a dribble. Alsharajea relaxes the muscles in her ass and smoothly climbs up off you.<br> <br> [[Continue.->Alsharajea: Good End]]
Alsharajea steps back down to the floor. Glancing mischievously over her shoulder, she parts her butt cheeks and shows off the evidence of the massive cream pie you've deposited inside her. Then she flexes and sucks it all up inside her.<br> <br> She looks at you and laughs contemptuously. "Was my sinful little ass too much for you? You look wrecked."<br> <br> You feel wrecked. You're sunk deep into the soft chair as if squashed there by a steamroller.<br> <br> Alsharajea sits on a chair opposite you. Her gaze is still hot and slutty.<br> <br> "You can have a moment to get your breath back before I let you escape," Alsharajea says. "But if I see you get horny again, I'll put that cock of yours back in my lovely ass and pump you dry."<br> <br> Her hot gaze moves down to your lap.<br> <br> You don't doubt she's capable of that. Fortunately, your cock is currently down for the count. You decide it would be healthier for your life – and soul – if you left before it has a chance to recover.<br> <br> You climb out of the chair with some difficulty. You pull your trousers back up and walk to the door. You feel Alsharajea's hot gaze on you all the way.<br> <br> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> /* faction increase */ <<include [[Default Harlot: Faction Increase]]>> <<include [[Alsharajea: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<unset $isReligious>> <<unset $isMarried>> <<unset $isSingle>> <<unset $hasEjaculated>>
She presses your hands deeper into her soft tits. You feel her prepare to exert herself. Her ass tightens around your cock. The pulsating strokes increase in intensity. <<if $isOutOfSemen>>Your ejaculation starts up again with greater force.<<else>>Your ejaculation continues.<</if>> You don't think you can stop. It's like she's pumping the fluids directly out of you.<br> <br> [[Continue.->Alsharajea: Bad End]]
<<if $isOutOfSemen>> "It's a kindness," Alsharajea says. "Empty like this, you'd be prey to the next succubus. None of them can compare to the pleasures of my exquisite ass. I'm doing you a favour. You get to go out on the highest peak of pleasure you could ever experience." <<elseif $cgi eq 0>> "You made a wise choice," Alsharajea says. " Once you've experienced my exquisite ass, all pleasures pale in comparison. You would be condemned to a horrible life of never being able to recapture the ecstasy of this moment. You did right to choose this. You get to go out on the highest peak of pleasure you could ever experience." <<else>> "It's a kindness," Alsharajea says. "Once you've experienced my exquisite ass, all pleasures pale in comparison. You would be condemned to a horrible life of never being able to recapture the ecstasy of this moment. I'm doing you a favour. You get to go out on the highest peak of pleasure you could ever experience." <</if>><br> <br> She pushes down against you. Her whole body flexes. Your head falls back as the sensation overwhelms you. Your ejaculation becomes a surging flood... an unstoppable endless flood. This has to be more than just your cum. You fear her ass is pumping more vital fluids out of you, even if the pleasure is the same.<br> <br> Then the fear is washed away.<br> <br> You can't stop.<br> <br> You don't want to stop. It feels too good, until...<br> <br> Sighing and moaning in sloppy orgasmic bliss, Alsharajea uses her delectable ass to pump all the fluids from your body. You wither and shrivel up beneath her until all that remains is a dried-up mummy.<br> <br> <<include [[Alsharajea: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
<<capture _i>> <<for _i to 0; _i lt $socialisingDrinks.length; _i++>> <<set _name to $socialisingDrinks[_i].name>> [["A " + _name + "?"->$socDrinkLink][$sdi to _i]]<br> <</for>> <</capture>>
<br> <br> "It's okay," Alsharajea says. "I can see this is your first round and the old bitch is too addled nowadays to explain the rules properly."<br> <br> She finds a coin – from where you have no idea – and gives it to the waitress.<br> <br> "You need these coins to get anything in this place."<br> <br> What drink will you order?<br> <br> <<include [[Socialising: Order Drinks]]>>
"The Corruptress, eh. Sounds intimidating. Looks intimidating as well. That ass of hers is quite delectable, I'll give her that."<br> <br> He brings out his notebook.<br> <br> "Tell me of your experiences with Alsharajea Hira, the Corruptress."<br> <br>
"It sounds like she's just as intimidating as her appearance. Why look at you. You look as pale as a ghost. That ass of hers must have sucked a lot out of you. I'm not one for worrying about sin, but maybe the god botherers were onto something when they warned against fornications of the... ahem... rear kind."
/* Queen Colubridis */ <<set $hi to 15>> <<set $allHarlots[$hi] to { number: $hi, name: "Queen Colubridis", shortDescription: "", faction: 3, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [7,8], affection: 0, preIntroductionLink: "Colubridis: Pre-Introduction", introductionLink: "Colubridis: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Colubridis: Socialising", npcGossipLink: "Colubridis: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Colubridis: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Colubridis: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Colubridis: Sell Exp Body", sellExpFeedbackLink: "Colubridis: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 9>> <<set $player.money to 0>> <<set $player.hasSeenLamia to true>> <<set $player.charms.push(1)>> <<set $player.charms.push(14)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currAgi to x>> */ /* <<set $player.currConst to x>> */ <<set $player.currWill to 5>> /* <<set $player.currInt to x>> */ /* <<set $player.currIsSubmissive to false>> */ /* <<set $player.currIsSlutty to false>> */ /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ /* <<set $player.currIsBlunt to false>> */ /* <<set $player.currIsGloomy to false>> */ <<set _ailment to 8>> <<include [[Add Player Hidden Ailment]]>> <<set $hi to 15>> /* <<set $allHarlots[$hi].<property> to <value>>> */ <<set $cgi to $allHarlots[$hi].gifts[0]>> <<set $cgi to 0>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a dark-skinned woman dressed up like an ancient Egyptian princess. Her magnetic eyes are accentuated with black kohl and her curvaceous breasts are held in place with thin strips of lilac silk.">>
/* Madam intro */ "Ah, the regal Queen Colubridis," $npcMadam.name says. "With appetites to match." <br> <br> /* Long description */ Queen Colubridis looks like a dark-skinned Egyptian princess from a history book. Her magnetic dark eyes are accentuated with circles of black kohl. Her straight black hair is cut like Cleopatra and adorned with a golden headdress in the shape of a cobra.<br> <br> Her wrists and arms are adorned with golden bangles. Her curvaceous bust is held in place by two strips of expensive lilac silk. The silk is stretched taut across her body in a cross, leaving her slender belly and navel exposed.<br> <br> Her most striking feature is her eyes. Her gaze is regal and haughty, as if she knows she is too good for this place and wants everyone else to know it. <br> <br> /* Harlot intro */ Her regal aura is dented somewhat by the look of pure naked hunger that enters her eyes as she introduces herself.<br> <br> "I am Queen Colubridis, she says. "$npcMadam.name would like me tell you I offer the incomparable pleasures of a Queen's blowjob."<br> <br> She opens her mouth to reveal a long flexible tongue with a forked tip.<br> <br> She looks you up and down. "But I'd rather just shove you in my pussy."<br> <br> The appearance of a queen, maybe... The mouth of one, not so much. <br>
Queen Colubridis has the regal aura of a queen when you come to take her out into the bar. Once in the bar, she seems far more reserved, being content to take a quiet table away from the main area. Sitting opposite her, you're struck by her exotic beauty. Her dark eyes smoulder in her exquisitely chiselled face. You can't believe your luck. It's like you've landed a Hollywood starlet fresh off the set of a historical epic. <br><br> <<set $socNoMoneyLink to "Colubridis: Socialising: No Money">> <<set $socDrinkLink to "Colubridis: Socialising: Drinking">> <<include [[While Socialising]]>>
<br><br> "A queen does not consort with peasants," Colubridis says disdainfully.<br> <br> She leaves you and slithers back to $npcMadam.name.<br> <br> <<include [[No Money While Socialising Affection Change]]>> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and so many things for Colubridis you're convinced there's been some mistake. All those snacks – sausage rolls, boiled eggs, cakes – must be for another table, one with a group of people. But no, the waitress places the plates in front of Colubridis. As well as an enormous pitcher of wine.<br> <br> Colubridis wastes no time. The waitress has barely left before you're watching in horrified fascination as Colubridis scoffs it all down in a wanton display of gluttony.<br> <br> Where does she put it all? She has the figure of a hot starlet. A rather buxom starlet, maybe, but her boobs aren't that big!<br> <br> Colubridis finishes up by quaffing down the pitcher in one go. She lets out a loud belch that is most definitely not queenly or even ladylike, and wipes her mouth with the back of her hand.<br> <br> Then, once finished, she again takes on the regal aura of a queen.<br> <br> "It is an honour to consort with a queen," she says.<br> <br> The transformation is so sudden you wonder if her previous gluttony was something you imagined.<br> <br> "It is a greater honour to be her consort and be permitted to enter her bedchamber. There you will experience exquisite pleasures beyond compare."<br> <br> She opens her mouth. Her tongue forms a spiral around an invisible tube. She jerks it back and forth. The meaning is very clear.<br> <br> Your face is flushed as you return to $npcMadam.name. <br><br> <<include [[Socialising: End]]>>
"Colubridis? That gluttonous slug? You're interested in her?"<br> <br> She taps her cigarette holder to dislodge ash.<br> <br> "I have no idea where she puts it all. The fat must go straight to her tail. The snake people have always been lucky in that regard. Those serpentine lower bodies can hide a lot of weight."<br> <br> $npcGossip.name turns to you and gives you a wicked grin.<br> <br> "She's a lamia – a snake person – if you weren't aware. Half-woman, half-snake. Although in her case it might be more accurate to say whole-woman, whole-snake. She eats enough for two."<br> <br> $npcGossip.name sips her cocktail.<br> <br> "And don't be fooled by her 'queenly' airs. The other snakes think she's a vulgar barbarian. She used to swallow men whole – with her mouth! – until $npcMadam.name put a stop to it. Said it was 'behaviour unbecoming of a lady of this establishment'."<br> <br> $npcGossip.name laughs.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: true, text: "\"Her vagina might look large, but it can fit a man quite comfortably.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She has a few hypnotic tricks, but they only work on the weak-willed and befuddled.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: false, text: "\"The only real danger with her is her appetite. It's prodigious. Make sure you have plenty in the tank—\" $npcGossip.name gives you a filthy wink \"—if you want to experience her 'Queen's blowjob'.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Colubridis: First-Time Scenario]]>> <<else>> <<include [[Colubridis: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [2,false,false], /* Gift: Fluffy thing */ [1,false,false], /* Gift: Edible or drinkable */ [1,false,false], /* Leaving early */ [10,false,false], /* Surviving blowjob */ ] }>> /* set other scenario-specific vars here */ <<include [[Colubridis: Enter Room]]>>
<<include [[Colubridis: First-Time Scenario]]>>
You enter and are surprised by the lavish splendour of Queen Colubridis's room. It has the opulence of the last days of the Roman Empire. The floor is polished white marble. Columns rise to the ceiling in each corner and serve no purpose other than to be decorative. Objet d'art stand on plinths along both the left and right walls. One sculpture is clearly a bust of Colubridis herself.<br> <br> Colubridis lounges across an opulent couch, set up on a raised platform in the centre of the room and standing on a lush red rug. At first you think she has some kind of pet snake lying on the floor beneath her – an enormous python or boa constrictor – then you follow the body of the snake up as it gets thicker and thicker, until it merges with Colubridis's waist up on the couch.<br> <br> <<if $player.hasSeenLamia>> She's another snake person, you realise. You've already encountered them in the House. She's a gorgeous woman above the waist, and a monstrous serpent below it. Just like the lamias and nagas of myth. You think the girls in the House use some kind of illusion magic to hide their monstrous natures while downstairs. <<else>> She's a snake person, you realise. Top half of a beautiful woman, bottom half of a monstrous serpent. Just like the lamias and nagas of myth. You wonder how you failed to notice it downstairs. Then you don't remember looking at her legs. It was like your gaze was never allowed to go there. <<set $player.hasSeenLamia to true>> <</if>><br> <br> Colubridis is feeding herself grapes from a plate sat on a plinth next to the couch. The plate is overflowing with bunches of ripe succulent grapes, both green and purple. Colubridis turns her kohl-shaded eyes to you.<br> <br> "Come in," she says.<br> <br> She drags a stool out in front of her couch.<br> <br> "Take your clothes off and come sit here."<br> <br> She pats the padded red velvet seat of the stool.<br> <br> "I will give you a Queen's blowjob."<br> <br> She pops a big juicy grape in mouth, wraps her long tongue around it and squeezes until the grape bursts and squirts its sweet juices down the back of her throat.<br> <br> /* check if has good gift - to be used later */ <<if $cgi eq 0 or $cgi eq 7 or $allGifts[$cgi].categories.includesAny(0,1)>> <<set $hasBroughtGoodGift to true>> <</if>> [[Do as she says?->Colubridis: Approach Stool]]<br> [[Politely decline?->Colubridis: Early Decline]]
You take your clothes off and leave them in a pile next to the door. You walk over to the couch and present Colubridis your gift.<br> <br> <<include [[Colubridis: Gift]]>><br> <br> <<if $cgi eq 0>> <<include [[Colubridis: Black Rose Extra Option]]>> <<else>> <<include [[Colubridis: Pre-Blowjob]]>> <</if>>
"Does my form frighten you?"<br> <br> She runs a hand over her scaly hips.<br> <br> You stammer and try to make excuses. That it's not her fault, you're not feeling it, and it has absolutely nothing to do with the fact she has the lower half of a fucking enormous monstrous snake.<br> <br> <<if $hasBroughtGoodGift>> Colubridis looks hungrily at the gift in your hands.<br> <br> "Before you go, at least leave me your gift," she says.<br> <br> [[Give her your gift.->Colubridis: Early Leave: Present Gift]]<br> [[Just get out of there as fast as possible.->Colubridis: Early Leave: Withold Gift]] <<else>> <<include [[Colubridis: Early Leave: Bad Gift]]>> <</if>>
You suppose you could at least leave the $allGifts[$cgi].name with her.<br> <br> "Good," Colubridis says. "If we are to part prematurely, let it at least be amicably. In case you change your mind later."<br> <br> Maybe, though you think that long serpentine body of hers is a bit too much for you to get used to.<br> <br> You give her your gift.<br> <br> <<include [[Colubridis: Gift]]>><br> <br> "That was a really nice gift," Colubridis says. "Are you sure you still don't want to receive mine in return? My Queen's blowjob is incomparable."<br> <br> Her big dark eyes stare directly into yours.<br> <br> <<set _reqWill to 2>> <<set _checkBefuddled to true>> <<include [[Player: Test Will]]>> <<if _testPassed>> <<if $cgi eq 0>> [[You're sure. No thanks.->Colubridis: Early Leave: Black Rose]]<br> <<else>> [[You're sure. No thanks.->Colubridis: Early Leave: After Gift]]<br> <</if>> <</if>> [[Why not. Her top half is indeed lovely.->Colubridis: Early Leave: Change Mind]]
You make excuses and keep backing to the door.<br> <br> "How rude," Colubridis says. "I'm too good for you anyway," she says huffily.<br> <br> She ignores you and goes back to eating grapes as you leave the room.<br> <br> <<include [[Colubridis: Early Leave]]>>
Colubridis pouts and says huffily, "I'm too good for you in any case."<br> <br> She ignores you and goes back to eating grapes as you leave the room.<br> <br> <<include [[Colubridis: Early Leave]]>>
<<unset $hasBroughtGoodGift>> <<unset $isSubdued>>
<<if $cgi eq 0>> <<include [[Colubridis: Gift: Black Rose]]>> <<elseif $cgi eq 7>> <<include [[Colubridis: Gift: Fluffy Thing]]>> <<elseif $allGifts[$cgi].categories.includes(0)>> <<include [[Colubridis: Gift: Edible]]>> <<elseif $allGifts[$cgi].categories.includes(1)>> <<include [[Colubridis: Gift: Drinkable]]>> <<else>> <<include [[Colubridis: Gift: Default]]>> <</if>>
/* pre-reqs: _reqWill, _checkBefuddled */ <<set _testPassed to true>> <<if $player.currWill lt _reqWill>> <<set _testPassed to false>> <</if>> /* check for potion befuddlement */ <<if _testPassed and _checkBefuddled>> <<set _ailment to 8>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment>> <<set _testPassed to false>> <</if>> <</if>>
"As you wish. We at least part on good terms. If you change your mind, pick me again. You can ask $npcMadam.name to put me in the next round of choices."<br> <br> She whispers behind her hand.<br> <br> "You're allowed to do that."<br> <br> Maybe. Maybe. That serpentine lower half is going to take a lot of getting used to. You apologise again and leave the room.<br> <br> <<include [[Colubridis: Early Leave]]>>
Maybe you were too fearful and hasty. Closer to her, you can see just how gorgeous Colubridis is – or at least her upper half. Her skin is dusky and unblemished. Her boobs are pleasantly bulging. Her red lips look soft and inviting. Her eyes are big and dark. So big you feel you could fall in and drown.<br> <br> You tell her you've changed your mind.<br> <br> "Good. You will not regret it," Colubridis says. "Now take those clothes off and sit here."<br> <br> You do as she says and sit on the small padded stool.<br> <br> [[Continue.->Colubridis: Blowjob: First Lick]]
You turn to leave and then Colubridis calls you back.<br> <br> <<include [[Colubridis: Black Rose: Tail Lash]]>>
"Few delights compare to a Queen's blowjob," Colubridis says.<br> <br> The padded stool is positioned next to the right side of Colubridis's opulent couch, close enough to put your genitals in easy range of Colubridis's mouth and hands. She wraps a warm hand around the base of your cock. She moves her face closer. Her sensual lips part and a long tongue emerges. It could never be mistaken for a human tongue. It's long, slender, and terminates in a wriggling forked tip.<br> <br> While gently pumping your base, Colubridis starts lapping at the head of your cock. The forked tip of her tongue flickers and tickles your exposed glans. The tickling sensation feels quite pleasant and – interested – your cock starts to rise to full erection.<br> <br> "Mmm, a Queen's blowjob begins with a little light teasing," Colubridis says.<br> <br> She goes back to licking the head of your penis with the tip of her tongue. As your cock rises, her tongue licks lower and starts circling your foreskin. Then, satisfied with the state of your arousal, Colubridis retracts her tongue and stares at your erection with a smile.<br> <br> "Nice and hard," she says approvingly. "Let's give it a pleasant place to rest."<br> <br> [[Continue.->Colubridis: Blowjob: Paizuri Tease]]
Colubridis takes the $allGifts[$cgi].name off you.<br> <br> "Mmm, the best and most delicious gift of all," she says.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "Oh, my favourite," Colubridis says.<br> <br> She reaches into the jar and plucks out the small indeterminate fluffy thing by the tail. The animal squeaks loudly as Colubridis lifts it up above her head. She tilts her head back, opens her mouth wide and drops the small indeterminate fluffy thing inside. Her throat moves as she gulps it down whole.<br> <br> "Ah, delicious," she says.<br> <br> She looks back at you and smiles.<br> <br> <<if $player.currIsBlunt>> You fail to hold back a grimace of disgust. Colubridis doesn't seem to care. <<else>> You smile back. It's more polite than grimacing in disgust. <</if>>
<<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> "Oh, that looks delicious," Colubridis says as she takes the $allGifts[$cgi].name from you.<br> <br> She wastes no time in scoffing it down in front of you. It looks rather inelegant, like a dog bolting down its dinner.<br> <br> "Mmm, it was delicious," Colubridis says.<br> <br> She wipes the back of her hand across her mouth. You try to maintain a pleasant smile.
<<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> "Oh, and I was just starting to feel thirsty," Colubridis says.<br> <br> She takes the $allGifts[$cgi].name and quaffs it like she's downing a pint of lager. Afterwards she lets out a loud and very unladylike belch.<br> <br> "That should keep my throat well lubricated," Colubridis says.<br> <br> Her hot gaze moves down to your crotch and you know exactly what she means.
Colubridis looks disappointed as you hand her the $allGifts[$cgi].name.<br> <br> "It's very thoughtful, but I only like gifts I can eat or drink."<br> <br> She dismissively drops it over the back of the couch.<br> <br> "No matter. You have another gift for me, one I can swallow."<br> <br> Her hot gaze moves down to your crotch.
She looks past the $allGifts[$cgi].name and up and down your body. Her intense eyes are dark and hungry.<br> <br> "Do you still want my Queen's blowjob? Or would you like to go straight to getting inside my warm pussy?" she asks.<br> <br> [[Receive her 'Queen's blowjob'.->Colubridis: Pre-Blowjob]]<br> [[Skip straight to sex.->Colubridis: Black Rose: Skip to Pussy]]
"You've given your gift. Now it's time to receive mine."<br> <br> Colubridis taps the seat of the padded red stool. You sit down.<br> <br> [[Continue.->Colubridis: Blowjob: First Lick]]
Colubridis's dark eyes light up hungrily as you tell her you'd like to skip right to sex.<br> <br> "Lie down here before your Queen," she says, sweeping her hand to indicate the plush rug in front of the couch.<br> <br> [[You lie down as she asks.->Colubridis: To Vaginal Vore]]
Colubridis sits back and gives you a teasing smile as she slowly unhooks the silk wraps around her breasts and frees them. Her nipples and areolae are the shade of rich dark chocolate and stand out against her dusky skin.<br> <br> She slithers forward, takes your erect cock and slides it between her voluptuous brown breasts. Then, with your cock nicely nestled in her cleavage, she places hands to the sides and starts gently plumping her soft tits against you.<br> <br> The soft pillows of flesh squeeze and rub against your cock. Despite her other reptilian aspects, Colubridis's chest is warm and that pleasant warmth and softness wraps your penis.<br> <br> "And now to continue the tease," Colubridis says.<br> <br> Her long tongue unfurls from her mouth and rolls down into her cleavage. She again starts tickling your sensitive glans with the flickering tip of her tongue. Despite its length, Colubridis has expert control. She lets the tines of the forked tip tickle the opening to your urethra, causing your cock to shiver in delight. She unfurls more, wrapping your head in wet squeezing muscle while letting the tip trail around the sensitive part where the foreskin joins the glans.<br> <br> At the same time, she continues plumping her sumptuous boobs against your cock. Encouraged by the stimulation, your erection hardens still further until it feels like a thrumming iron bar wedged between her buxom chest.<br> <br> With a loud //schlup// Colubridis reels her long snake's tongue back into her mouth.<br> <br> "Mmm, the prey is lured and teased. Now to capture and subdue."<br> <br> [[Continue.->Colubridis: Blowjob: Paizuri]]
Still gently plumping her breasts against your cock, Colubridis lowers her head and puts out her tongue. It unspools down on top of her bosom, then slithers down into her cleavage. It winds around your shaft, over and over. She parts her boobs to show you your wrapped-up cock.<br> <br> Just how long is her tongue? She's extended it far enough to wrap multiple coils around your member and still have enough length for the flickering tip to tickle your scrotum.<br> <br> Colubridis starts rhythmically squeezing your cock with the coils of her tongue. She starts at the root and works up the shaft until it feels like you're being masturbated by a string of pulsing contractions. Slick with saliva, her tongue winds and unwinds, twisting your cock one way and then the other. She presses her big boobs together around the swollen head of your cock and rubs it up against her silky-smooth flesh.<br> <br> Mmming in pleasure, Colubridis loosens the coils of her tongue and starts sliding them up and down your shaft in a gentle tugging motion. She goes back to plumping her tits against you. The competing pleasures set you twitching in pleasure and drive your cock crazy.<br> <br> It's not enough to make you come. Colubridis has the control to know when to speed up and squeeze, and when to slow down and lick. She lets your arousal build slowly without tipping you over the edge.<br> <br> Her tongue wraps tightly around your cock and squeezes.<br> <br> This time, you think. This time she's going to keep squeezing until you break and spatter milky-white cum all over her lovely brown breasts.<br> <br> She doesn't. Just as you think you can't take any more, she pulls her breasts apart and winds her tongue back up into her mouth, giving the fleshy helmet of your glans a teasing little lick on the way.<br> <br> She smiles down at your twitching member.<br> <br> "I think it's subdued enough. Time to swallow."<br> <br> [[Continue.->Colubridis: Blowjob: Her Tease]]
She releases your cock from the snug valley of her cleavage. She slides backwards on the couch and drops her head down level with your lap. Her sensual lips move close enough to lightly brush the twitching head of your member.<br> <br> Colubridis wraps her left hand around the base of your cock and holds you in place. She gets back to licking your swollen glans with the flickering tip of her tongue. Its touch is moist and featherlight against you.<br> <br> "This tease is for me," Colubridis says.<br> <br> She sticks her tongue back out and resumes licking the head of your cock. She digs the tines into your urethral opening and scoops pre-cum out like it's cream.<br> <br> "Delicious," Colubridis says. "Mmm, I can't hold back any longer."<br> <br> She looks at your twitching erection.<br> <br> "I don't think you can either, and I don't want to see any go to waste."<br> <br> [[Continue.->Colubridis: Blowjob: Swallow]]
Colubridis grabs your ass and pulls you forward on the stool. She wraps her plump lips around the head of your cock and smoothly sucks you into her mouth. You feel those supple lips slide all the way down your shaft until she's kissing the root.<br> <br> She takes your full length all the way into her until the swollen head is being squeezed by the muscles of her throat. In the hot cave of her mouth, her tongue coils around your shaft like a python and starts squeezing. She gives you a long hard suck.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> You feel for sure that should send you over the edge. But nothing happens. Maybe all your other activity in the House has left you too depleted.<br> <br> <<include [[Colubridis: Blowjob: Out of Semen]]>> <<else>> That's enough. Her teasing had already taken you right to the edge. That suck is enough to throw you right over the edge.<br> <br> Your balls tighten, your body tenses up, and then you gasp as your cock throbs and spurts thick ropes of cum down the back of Colubridis's throat.<br> <br> The snake girl makes loud murmurs of pleasure as she swallows it all with lusty gulps. Her tongue contracts and slides up and down your cock, as if she's trying to squeeze out every last drop of semen.<br> <br> The intensity of the orgasm leaves you trembling on the stool. Colubridis has one hell of a suck to her.<br> <br> And she's not done.<br> <br> [[Continue.->Colubridis: Blowjob: 2nd Pop]] <</if>>
Colubridis continues to rhythmically squeeze your cock with her tongue. She pauses when she realises nothing is coming out of it.<br> <br> [[Continue.->Colubridis: Blowjob: Bad End 1]]
Colubridis starts bobbing her head up and down. Her sumptuously soft lips brush up and down your shaft. Her cheeks puff in and out as she powerfully sucks on your member. She constricts her tongue around your member and tugs. The flickering tip tickles the underside of your cock.<br> <br> Your cock stays hard. You should be done after such a massive outpouring, but that seems to have been just the appetiser for Colubridis. She blows you with greater force. Her cheeks puff in and out and her mouth makes slobbery sounds as her lips slide up and down your shaft.<br> <br> You wonder if there's something in her saliva. Not only do you maintain a rock-hard erection, your cock also feels warm and tingly.<br> <br> And on the verge of coming again.<br> <br> Colubridis sucks. Her tongue squeezes and pumps your cock. You squirm in the stool as you feel another orgasm rising up inside you. Colubridis pushes forward and encircles your waist with her arm, holding you in place while she sucks harder and harder.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> Nothing comes out. You tremble and writhe in helpless bliss, but cannot attain ejaculation. It's too soon after the first one. You're too depleted.<br> <br> <<include [[Colubridis: Blowjob: Out of Semen]]>> <<else>> It's coming. You can feel it.<br> <br> Colubridis feels it too. She gobbles your cock all the way to the back of her throat. Her tongue starts rhythmically squeezing your shaft. Her throat contracts around your swollen and eager head. Her chest rises. You're gripped by a powerful sucking force.<br> <br> Too much.<br> <br> You let out a cry as you climax again. You spurt uncontrollably down the back of Colubridis's throat. She again makes blissful murmuring sounds as she guzzles down your issue. Her dextrous tongue again milks every last drop from your throbbing cock.<br> <br> Fuck, that was some blowjob.<br> <br> And it's not over.<br> <br> [[Continue.->Colubridis: Blowjob: 3rd Pop]] <</if>>
Colubridis pulls you forward on the stool until you're perched right on the edge. Her mouth slides all the way down your shaft until her luscious lips from a seal around the root. She wraps one arm around your back to hold you in place.<br> <br> Her tongue uncoils from your member and you hear her mumble words around your penis.<br> <br> A symbol lights up in the palm of her hand. She reaches up and takes a firm grip of your balls. The symbol is warm like an electric ring. That heat sinks into your scrotum and brings with it a fresh feeling of horniness.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> An unnatural feeling of horniness. Colubridis gives your balls a little <<if $isOutOfSemen>>squeeze.<<else>>squeeze and your balls swell back up as if you've not ejaculated in a month.<</if>><br> <br> Colubridis's head bobs up and down as she resumes her slobbery blowjob. Her tongue wraps around your cock and starts stimulating it with undulating constrictions.<br> <br> <<if $isOutOfSemen>> You writhe in pleasure, but can't reach climax. You've nothing left.<br> <br> <<include [[Colubridis: Blowjob: Out of Semen]]>> <<else>> Again, you find yourself trembling in anticipation of another orgasm. Again, Colubridis senses it and swallows your whole length.<br> <br> You groan and pour another big load down Colubridis's throat. The muscles work and she makes more little murmurs of pleasure as she gulps it all down.<br> <br> That isn't the end of it...<br> <br> [[Continue.->Colubridis: Blowjob: 4th Pop]] <</if>>
This time she keeps the head of your cock snugly lodged down the back of her throat. Her anatomy must be different to a human's, as it doesn't affect her ability to breathe at all.<br> <br> Her tongue continues to squeeze with undulating, tugging pulses.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> She presses the glowing sigil in the palm of her hand against your balls. <<if $isOutOfSemen>>Again, you're overwhelmed by a sudden feeling of horniness.<<else>>Again, they swell back up as if you've accumulated a month's worth of semen.<</if>> She gives your balls a squeeze while subjecting your trapped cock to another powerful wet suck.<br> <br> <<if $isOutOfSemen>> As unnaturally horny as you feel, a fourth is too many. You simply don't have the juice. Colubridis has squeezed it all out.<br> <br> <<include [[Colubridis: Blowjob: Out of Semen]]>> <<else>> You shudder in the grip of another powerful orgasm. Your cock spasms in her mouth and empties another flood of semen down the back of Colubridis's throat.<br> <br> And this still isn't enough...<br> <br> [[Continue.->Colubridis: Blowjob: 5th Pop]] <</if>>
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> This time she barely gives you any time to recover. Her fingers fondle and caress your balls with practised expertise. She pulses more magical energy into them <<if $isOutOfSemen>>and you're again wracked with unbearable horniness.<<else>>and they bloom like ripe fruit at her touch.<</if>> She palpitates your testicles while her throat and tongue do the same to your cock.<br> <br> <<if $isOutOfSemen>> And this time can get no more out. Even with her supernatural urgings, you still have limits, and now you've reached them.<br> <br> <<include [[Colubridis: Blowjob: Out of Semen]]>> <<else>> You come again, for a fifth time, and Colubridis's throat works as she guzzles your semen. There might be a sixth ejaculation in there as well. Your mind is so blasted with ecstasy it's getting hard to differentiate them. Your ejaculations are all running together, like she's sucking them out of you as if you're no more than a drink carton with a straw.<br> <br> Then, with a satisfied mumble, she finally releases you and your cock comes out of her mouth with a wet pop.<br> <br> "Ah, that wets the throat," Colubridis says. She runs her tongue around her sensual lips.<br> <br> You slump on the chair, breathing heavily. You're a jangling, bliss-soaked wreck. It's as much as you can do to stay upright and not topple off the back of the stool. Cum still leaks from your cock in a drooling stream.<br> <br> Colubridis's eyes light up as she sees it. She leans down to give your cock a slobbery lick.<br> <br> Then she sits back up, again as regal as a queen. Her dusky brown skin gleams with health and vitality. In contrast, you tremble on the stool like a strung-out junkie as you struggle to get your jangling nerves back under control.<br> <br> "Now wasn't that a blowjob befitting of a queen," Colubridis says.<br> <br> [[You can't argue with that.->Colubridis: Sex Choice]] <</if>>
Colubridis looks over your trembling form.<br> <br> "Mmm, but that was but an appetizer to get my juices flowing. Now my pussy is wet and hungry to be filled. We still have more time and I think you have more seed. <<if $cgi eq 0>>It's time to give you what you asked for. I'll <<else>>How about I<</if>> put you in my vagina and we'll explore further pleasures together."<br> <br> Colubridis's big dark eyes flash mysteriously.<br> <br> "Lie down here before your Queen," she says, sweeping her hand to indicate the plush rug in front of the couch.<br> <br> <<set _reqWill to 2>> <<set _checkBefuddled to true>> <<include [[Player: Test Will]]>> <<if _testPassed>> <<if $player.currInt gt 3>> You have an uncomfortable feeling Colubridis is not referring to your penis when she says she's going to 'put you in her vagina'.<br> <br> [[Still lie down as she asks.->Colubridis: To Vaginal Vore]]<br> <<else>> [[Lie down as she asks.->Colubridis: To Vaginal Vore]]<br> <</if>> [[That's enough for this session.->Colubridis: Choose to End Session]] <<else>> [[You do as she says.->Colubridis: To Vaginal Vore]] <</if>>
Colubridis grabs your ass cheeks with her hands and pulls you closer, almost off the stool altogether. She pushes her head down until her lips are pressed to your crotch. She deepthroats you even deeper, taking the head of your cock and more down her throat.<br> <br> Then she starts to suck.<br> <br> Maybe //inhale// is the right word. Her chest expands and you feel a massive suction on your cock, down in your balls, and in your body in general. You writhe and shudder in the grip of irresistible, exquisite force.<br> <br> You thought you were empty, but Colubridis find more. She forces more. She sucks your tired and depleted body to orgasm and you tremble in sensual bliss as you pour semen down her throat.<br> <br> And keep pouring.<br> <br> It's too much. You're not even sure you're ejaculating semen now. It's like she's sucking other fluids out of you. Draining you.<br> <br> <<if $cgi eq 0>> <<include [[Colubridis: Blowjob: Black Rose Interrupt]]>> <<else>> <<include [[Colubridis: Blowjob: Bad End 2]]>> <</if>>
Then, just as you're starting to fear she might actually suck your balls – or some other similarly delicate part of your anatomy – up out of your cock, she stops.<br> <br> [[Phew.->Colubridis: Out of Semen to Pussy]]
Fear overwhelms the pleasure and you start to squirm and try to push her away. Colubridis hugs you tighter. She sucks harder and you feel an explosion of ecstatic bliss as your cock throbs and gushes in her mouth.<br> <br> It keeps gushing.<br> <br> Colubridis holds you there and gulps down your juices in great lusty swallows as if you're a bottle of water found in a desert. She keeps sucking until, like an empty plastic bottle, you crumple up. Then, when you're finally empty, releases you with a contented sigh. She lets out an unladylike belch and wipes her mouth with back of her hand. Your shrivelled-up corpse, wizened like a mummy, topples off the stool.<br> <br> <<include [[Colubridis: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Colubridis releases your cock with a wet pop and lifts her head up. She wipes her mouth with the back of her hand.<br> <br> "Mmm, I think you're out. I could drain you fully, but you did ask for the full treatment, so I should at least let you experience the pleasures of my pussy."<br> <br> She glances hungrily at your dribbling cock.<br> <br> "I should suck the resistance out of you first."<br> <br> She buries her head back in your lap and resumes sucking you. She sucks your tired and depleted body hard enough to get you to come. You pour something down her throat, but you're not sure it's semen. It feels like she's sucking something else out of you. Your strength? Your will to resist?<br> <br> You don't do anything as Colubridis stops and then lays you out on the opulent rug in front of her couch.<br> <br> <<set $isSubdued to true>> [[Continue.->Colubridis: Vaginal Vore: Begin]]
She pushes your feet together and slides up your legs. Her big boobs feel wonderful as they drag against your shins and then your knees. Colubridis lifts her head and her dark eyes smoulder with seductive hunger.<br> <br> You like this view. You get to focus on her smoking-hot, dusky-skinned princess upper half and not think too much about... what's below her waist. Her soft tits resting on your legs feel really nice. She slithers up further and your feet sink into a wet and fleshy opening.<br> <br> It's where you'd expect her vagina to be, even given her monstrous lower half, but it's far too large. Cavernous. Both of your feet slide into a warm, fleshy tunnel. A muscular band closes around your ankles and Colubridis lets out a loud erotic moan.<br> <br> Muscular walls enfold your feet and peristaltic motion tugs you deeper inside. Or rather, Colubridis uses the motion to slide further up your body. She engulfs your legs up to the knees and rests her big brown boobs in your lap.<br> <br> "Mmm, there's nothing better than putting a big strong man in my pussy," she sighs.<br> <br> <<set _reqWill to 2>> <<set _checkBefuddled to true>> <<include [[Player: Test Will]]>> <<if _testPassed>> <<if $isSubdued>> You feel too exhausted and feeble to do anything about it.<br> <br> [[You lie still and let her continue.->Colubridis: Vaginal Vore: Lie Still]] <<else>> With horror, you realise she was referring to the whole of you when she said she wanted to 'put you in her pussy'.<br> <br> [[Panic and start struggling?->Colubridis: Vaginal Vore: Struggle 1]]<br> [[Lie still and let her continue?->Colubridis: Vaginal Vore: Lie Still]] <</if>> <<else>> Colubridis's dark eyes expand to fill your world. You feel relaxed and comfortable. You are okay with this.<br> <br> [[You lie still and let her continue.->Colubridis: Vaginal Vore: Lie Still]] <</if>>
Colubridis slithers off the couch and joins you on the plush rug. She starts at the very bottom of your body. <<include [[Colubridis: Vaginal Vore: Begin]]>>
<<if $cgi eq 0>> <<include [[Colubridis: Black Rose: Decline after BJ]]>> <<else>> <<include [[Colubridis: Sex Choice: 2nd Chance]]>> <</if>>
"You don't get to change your mind," she says. "You asked for ultimate pleasure and I will give you ultimate pleasure."<br> <br> Her tail lashes out and whips your legs out from under you. You crash to the floor and Colubridis slithers on top of you before you can recover. She is a good deal heavier than she looks and effortlessly pins you to the floor when she lies on top of you.<br> <br> "So much squirming," Colubridis says. "You asked for this."<br> <br> You try to wriggle out from underneath her. Her weight on your chest is making it difficult to breathe.<br> <br> "That Madam. She never explains anything," Colubridis sighs. "And you, you should be ashamed. Forcing a Queen to sully herself with physical effort."<br> <br> [[She overpowers you.->Colubridis: Black Rose to Vaginal Vore]]
Colubridis says nothing as you turn her down. She waits until you get up off the stool and turn to leave before calling you back.<br> <br> <<include [[Colubridis: Black Rose: Tail Lash]]>>
You think she's sucked quite enough cum out of your balls. You're not even sure you have enough left were you to accept her offer of sex. You politely decline.<br> <br> Colubridis bats her eyelids coquettishly. She reclines on her couch, looking both regal and seductive.<br> <br> "Are you sure? The pleasures of a Queen's vagina are incomparable. It is an honour to be offered it."<br> <br> She slides her hand down her body, catching and dislodging her delicate silk panties. Her sex is located just past the point where her body starts sporting scales and becomes serpentine. Despite this, it looks human enough. The fleshy pink folds of her labia bloom like an exotic flower.<br> <br> [[Change your mind and accept?->Colubridis: Sex Choice: Change Mind]]<br> [[Still politely decline?->Colubridis: Good End]]
<<set $isSubdued to true>> Colubridis presses her soft bosom down on your face until she's smothered the resistance out of you. She slithers back down to the bottom of your body. <<include [[Colubridis: Vaginal Vore: Begin]]>>
You lie still and let her continue. Her labia feel like lusciously soft lips wrapped around your legs. The inside of her vagina feels warm, wet, soft and comfortable.<br> <br> "Mmm, good prey," Colubridis says. "Lie still and let it happen. I'll reward you with sensual bliss."<br> <br> She rubs her big heavy boobs against your genitals. Your cock springs up and is pleasantly buffeted as she bounces her tits against you.<br> <br> Colubridis grunts and moans in pleasure as the muscular walls of her pussy contract around your legs and pull you deeper. Her juicy pussy lips slide up your thighs. Her lovely boobs leave your crotch and she lets her stiff little nipples trail up your belly.<br> <br> She takes your hands and clasps them tightly to your sides. The muscular motions of her vagina continue. She swallows you up to your crotch. Then she pauses as if gathering herself.<br> <br> "Oh yes," she sighs as her labia gape wide enough to encompass your hands and hips.<br> <br> Your erection is drawn into her vagina and pressed down by the soft fleshy wall. Colubridis gives an erotic moan and her body shudders in orgasm. Her vagina flutters around you. Slick juices spill out and soak your body.<br> <br> [[Continue.->Colubridis: Vaginal Vore: Bad End 1]]
She's eating you. She's swallowing you whole with her pussy!<br> <br> You panic and start struggling beneath her.<br> <br> "Ooh, naughty prey," Colubridis says. "Keep squirming like that. You're going to make me cum... ooh..."<br> <br> She tails off in an erotic moan. Her body shudders. Her vagina pulses and gushes warm juices out over your legs.<br> <br> Any hopes the convulsions of her sex might loosen her grip enough for you to escape are quickly dashed. The muscular walls constrict around your calves and smoothly pull you in up to past your knees.<br> <br> "There is no escape," Colubridis says. "You should lie still and let me bring you sensual bliss."<br> <br> She drops her heavy soft boobs in your lap and rubs them against your genitals. Unbidden, your erection rises up and is pleasantly buffeted as she bounces her tits against you.<br> <br> [[Continue.->Colubridis: Vaginal Vore: Struggle 2]]
<<set _reqWill to 2>> <<set _checkBefuddled to true>> <<include [[Player: Test Will]]>> Colubridis lies on top of you and presses her big boobs against your chest. She plants hot kisses on your lips, face and throat. Her flickering tongue tickles all over.<<if _testPassed>><br><br>This confuses you. Is she eating you, or fucking you?<<else>> You luxuriate in her sensual attentions.<</if>><br> <br> Colubridis raises her upper body and stares at you with bright eyes. "It is an honour to be received by the Queen's vagina," she says.<br> <br> Muscular peristalsis grips your lower half and tugs you deeper. Her juicy labia slide across your belly, and then your chest. Colubridis pauses and gives another grunt of exertion before stretching her labia wide enough to accommodate your shoulders. Again, the effort brings her to another shuddering orgasm. You feel the fleshy walls convulse around you. More sexual fluids gush out between her pussy lips. Your head is enveloped in a thick stew of sex scents.<br> <br> Colubridis moans erotically as she finally pulls your shoulders in and her vagina contracts down around your neck. Then, gasping from the exertion, Colubridis rolls on to her side. You are a swollen lump within her serpentine body, but at least she hasn't yet swallowed your head. That sticks out from her vagina.<br> <br> "Mmm, I normally prefer them bigger and fatter, but you'll do me fine," she says.<br> <br> She reaches down to caress her distended lower half. Her hands slide up and she playfully musses your hair. Within her, fleshy walls undulate against your engulfed body. The motions feel like a slow, luxurious massage. Your cock is drawn up into some kind of invagination in the walls and gently squeezed.<br> <br> [[Maybe this is just sex.->Colubridis: Vaginal Vore: Bad End 2]]
Colubridis grunts and moans in pleasure as the muscular walls of her pussy contract around your legs and pull you deeper. Her juicy pussy lips slide up your thighs. Her lovely boobs leave your crotch and she lets her stiff little nipples trail up your belly.<br> <br> She catches your flailing hands and clasps them tightly to your sides. The muscular motions of her vagina continue. She swallows you up to your crotch. Then she pauses as if gathering herself.<br> <br> "Oh yes," she sighs as her labia gape wide enough to encompass your hands and hips.<br> <br> Your erection is drawn into her vagina and pressed down by the soft fleshy wall. Colubridis gives an erotic moan and her body shudders in orgasm. Her vagina flutters around you. Slick juices spill out and soak your body.<br> <br> You can barely struggle now. Your hands are pinned to your sides by the muscular walls of Colubridis's sex and the rest of your body is pinned to the floor by her weight.<br> <br> [[Continue.->Colubridis: Vaginal Vore: Bad End 1]]
"Time to digest you," Colubridis says. "Consider yourself fortunate to have been chosen to serve your Queen in this way."<br> <br> Her eyes light up with a purplish-pink glow. It spreads down to her lower half and shines out from between her scales. You feel the temperature rise around you. With the heat comes an unbearable arousal, stoked further as the soft fleshy walls squeeze your body... squeeze your cock.<br> <br> Colubridis sighs in erotic bliss as she strokes her hands over your engulfed form. The uncanny heat and energy permeates your body and collects in your loins. The tension builds until you can hold it in no longer. You gasp as a powerful orgasm overwhelms you and you spurt helplessly inside her.<br> <br> It's followed by another orgasm, and another, and another, until they all run together in a constant torrent. Your mind is swept away by the pleasure of it. Colubridis's vagina contracts around you as she squeezes out all your juices. Eventually, steeped in so much animalistic sexual pleasure, your soul comes free and is sucked from your body.<br> <br> After sexually squeezing the soul and fluids out of their prey, it is customary for most lust lamias to spit out the empty husk. Colubridis is a notorious glutton, regarded as disgustingly vulgar by others of her kind. She pulls your head down into her vagina and then transfers your body over to her other stomach for full digestion. Skin, bones, hair – nothing goes to waste for the gluttonous lamia. It's a small mercy that your life has long fled at this point and you're not around to experience the ickier aspects of digestion.<br> <br> <<include [[Colubridis: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
You change your mind. Colubridis smiles and motions you to lie down on the plush rug in front of her couch with a regal sweep of her arm.<br> <br> [[You do as she says.->Colubridis: To Vaginal Vore]]
As pretty and as inviting as it looks, you can't help notice that her vagina seems... large. You politely decline her offer of sex.<br> <br> <<if $hasBroughtGoodGift>> Colubridis pulls a sulky pout.<br> <br> "Hmm, but you did bring me a delicious gift. You are dismissed, but part in the knowledge you pleased your Queen." <<else>> Colubridis pulls a face like sour milk.<br> <br> "Hmpth. You're lucky $npcMadam.name insists we give the prey a sporting chance. Very well, you are dismissed." She turns away and blithely ignores you. <</if>><br> <br> You feel wobbly and weak-kneed as you get up from the stool. She really has sucked a lot out of you. It was probably for the best you turned her down. You doubt you'd be able to perform in this depleted state.<br> <br> <<if $hasBroughtGoodGift>> Colubridis watches you with bright black eyes as you walk unsteadily back to your pile of clothes. Her hand is down at her sex and her fingers play between the folds of her vagina. <<else>> Colubridis keeps her face turned away and deliberately ignores you as you walk unsteadily back to your pile of clothes. You glance back at her sex, maybe in regret at what you turned down. <</if>><br> <br> It is an uncommonly //large// vagina, you think.<br> <br> You put your clothes back on and walk to the door.<br> <br> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> /* faction increase */ <<if $hasBroughtGoodGift>> <<include [[Default Harlot: Faction Increase]]>> <</if>> <<include [[Colubridis: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
/* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> /* no faction increase */ <<include [[Colubridis: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<if _scoreArray[0][1] and not _osa[1][2]>> /* must start with linebreaks if wish to start on new line */ <br> <br> "She ate it live in front of you? How revolting." $npcMoney.name shakes his head. /* must end with linebreaks if wish feedback to start on new line */ <br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
<<if _scoreArray[2][1] and not _osa[2][2]>> "You decided to run, can't say I blame you. At least there's some information on her room and true appearance. I can pay you for that." <<else>> "I did take her for a woman of refinement and breeding. That regal air of hers."<br> <br> He shakes his head.<br> <br> "There were rumours of course. And, of course, no regal queen would ever permit herself to work in an establishment of ill-repute like this."<br> <br> He looks you over.<br> <br> "And look at you. You're pale and shivering. You look like you've been sucked by a vampire. I fear her 'Queen's blowjob', as tempting as it sounds, would be altogether too much for a man of my advanced years."<br> <br> He taps a pen against his notebook.<br> <br> "However, I am curious about vaginal intercourse with her. As monstrous as her body might be, I've heard rumours about certain... tactile properties of the lamia vagina. They have me intrigued. Take her up on her offer of sex next time. I'd like you to find out what it's like in her pussy." <</if>>
<<set $clubActivityUnits to 4>> <<set $postroomActivityUnits to 2>> <<include [[NPC Gossip: Print]]>> <<include [[NPC Gossip: Determine Availability]]>> [[Begin tests...->NPC Gossip: Look For]]
<<if $isPostRoom>> $npcGossip.name is at her usual place at the bar, drinking and smoking.<br> <br> "Oh my, darling," she says when she sees you. "Are you okay? You look like you've been... most active." Her nostrils dilate and her cheeks redden. "I do hope she wasn't //too// hard on you."<br> <br> She clinks an empty cocktail glass down on the wooden counter.<br> <br> "Well look at that, I appear to be out again. How about you be a darling and buy me a drink. I'll fill you in on all the juicy gossip." <<else>> $npcGossip.name is smoking and drinking at her regular spot at the bar.<br> <br> "Oh hello, darling. You've caught me at a perfect time."<br> <br> She clinks an empty cocktail glass down on the wooden counter.<br> <br> "Buy me a drink and I'll fill you in on the latest gossip." <</if>><br> <br> //$npcGossip.name wants a drink. If you wish to talk to her it will cost 1 $currencyName and 1 Action.//<br> <br> <<include [[NPC Gossip: Gossip Hub Options]]>>
<<if $isPostRoom>> <<include [[Post-Room Activity Units: Is Time Up]]>> <<else>> <<include [[Club Activity Units: Is Time Up]]>> <</if>> <<if _isTimeUp>> <<include [[NPC Gossip: Time Up]]>> <<else>> <<if $player.money lt 1>> [["You do not have enough " + $currencyName + "s to buy her a drink."->NPC Gossip: Gossip: No Money]]<br> <<else>> <<include [[NPC Gossip: Harlot Gossip Option]]>> Or would you like to:<br> <<include [[NPC Gossip: NPC Gossip Option]]>> <<include [[NPC Gossip: House Gossip Option]]>> <<include [[NPC Gossip: Enquire Sex Option]]>> <br> [[Make your excuses and leave?->NPC Gossip: Gossip: Leave]]<br> //Leave and return to your place at the bar.// <</if>> <</if>>
Before you can consider buying her one, you feel $npcMadam.name's buzzer vibrate <<if $isPostRoom>>once<<else>>twice<</if>> in your pocket. Time's up. You need to return to the presentation stage and <<if $isPostRoom>>see who the $npcMadam.name has for you this time.<<else>>make your choice.<</if>><br> <br> $npcGossip.name chuckles and smoke leaks from her mouth.<br> <br> <<if $isPostRoom>> "The mistress is pulling the leash. You'd better be a good dog and see what treats she has in store for you. If you want to find out which are treats and which are tricks, come speak with me again afterwards." <<else>> "Looks like one of us is out of time," she says. "You'd better go. Running or hiding from it won't help. $npcMadam.name will just send her dogs after you, and I can guarantee that fate will be far more unpleasant than anything her lovely girls will do to you."<br> <br> She examines her empty glass.<br> <br> "And if you do manage to survive, don't forget to show your gratitude to darling little //moi//. I'll be waiting for you." <</if>><br> <br> You make your apologies and leave.<br> <br> <<include [[NPC Gossip: Clean-Up]]>> <<if $isPostRoom>> What will $npcMadam.name have for you this time?<br> <br> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Gossip: Repeat]] <<else>> [[Go to the Harlot Presentation stage.->Next Round]] <</if>> <<else>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Gossip: Repeat]] <<else>> [[Go and choose a harlot.->Harlot Selection: Intro]] <</if>> <</if>>
<<include [[NPC Gossip: No Money Dialogue]]>> <<include [[NPC Gossip: Leave]]>>
/* Check if more gossip on current harlot */ <<if $isGossipingOnHarlot>> <<set _chi to $hi>> <<if $refreshGossip>> [["Go over " + $allHarlots[$hi].name + " again?"->NPC Gossip: Refresh Harlot Gossip][$hi to _chi]] <<else>> [["Continue talking about " + $allHarlots[$hi].name + "?"->NPC Gossip: Continue Harlot Gossip][$hi to _chi]] <</if>><br><br> <</if>> <<if $isGossipingOnHarlot>> "Or talk about one of the other girls?" <<else>> "Who would you like to know more about?" <</if>><br> <<if $isPostRoom>> <<include [[NPC Gossip: Choose Post-Room Harlot]]>> <<else>> <<include [[NPC Gossip: Choose Pre-Room Harlot]]>> <</if>> <br>
[[Talk about someone else?->NPC Gossip: NPCs]]<br>
<<if $npcGossip.hasTalkedAboutHouse eq false>> [[Talk about the House?->NPC Gossip: House]]<br> <</if>>
<<if not $npcGossip.hasBeenAskedForSex>> [[Ask if she's available for sex?->NPC Gossip: Enquire About Sex]]<br> <</if>>
<<include [[NPC Gossip: Pay Action]]>> <<set $isGossipingOnHarlot to false>> <<set $npcGossip.hasBeenAskedForSex to true>> $npcGossip.name's exquisitely pencilled eyebrows arch, and for a moment you think your enquiry might have caused some offence. Then the corners of her lips turn up in a smile.<br> <br> A very hungry //vulpine// smile.<br> <br> "How deliciously forward," she says. "Why, I could pop you in my mouth and eat you up right here."<br> <br> Your body heats up beneath her lustful gaze. Your collar feels too tight. Your pants definitely feel too tight. It seems like there is more smoke wreathing the pair of you. You wonder if some of that is coming from you.<br> <br> Then, mercifully, $npcGossip.name turns her head away and puffs on her cigarette. In profile, her head is a piece of fine art.<br> <br> "Alas, I cannot. $npcMadam.name runs a strict House. All of us gals in here must follow the rules. No propositions outside of the designated time and place. //Moi//, like the other girls in here, has to take her turn treading the presentation stage. You can pick me then."<br> <br> She turns her burning gaze back on you. You feel an unnatural heat rise in your loins.<br> <br> "If you think you can handle me..."<br> <br> ''DEV NOTE: THE ELEGANT WOMAN'S HARLOT SCENARIO HAS NOT YET BEEN WRITTEN. IT WILL BE ADDED AT A LATER DATE!''<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
She swirls the dregs in her cocktail glass.<br> <br> "Oh, I appear to be running low. Could you be a darling?"<br> <br> //$npcGossip.name wants another drink. If you wish to continue talking to her it will cost another $currencyName and an Action.//<br> <br> <<include [[NPC Gossip: Gossip Hub Options]]>>
<<set $player.money -= 1>> <<include [[NPC: Pay Action]]>>
<<if $player.money lt 1>> [["You do not have enough " + $currencyName + "s to buy her a drink."->NPC Gossip: Visit: No Money]]<br> <<else>> [[Buy her a drink?->NPC Gossip: Buy Opening Drink]]<br> //This will cost you 1 $currencyName and 1 Action.//<br> <br> [[Refuse?->NPC Gossip: Visit: Refuse Drink]]<br> //Leave and return to your place at the bar.// <</if>>
<<include [[NPC Gossip: No Money Dialogue]]>> <<include [[NPC Gossip: Leave]]>>
You might need those coins for yourself. You refuse to buy $npcGossip.name a drink and go to leave.<br> <br> <<include [[NPC Gossip: Snarky Leave]]>>
<<set $hasUsedActionWithNpc to false>> <<unset $isGossipingOnHarlot>> <<unset $refreshGossip>>
"So, who would you like me to tittle-tattle about?"<br> <br> //$npcGossip.name wants another drink. If you wish to continue talking to her it will cost another $currencyName and an Action.//<br> <br> <<include [[NPC Gossip: Gossip Hub Options]]>>
You make your excuses and turn to leave.<br> <br> <<include [[NPC Gossip: Snarky Leave]]>>
<<print $npcGossip.leavingMessages.random()>><br> <br> <<include [[NPC Gossip: Leave]]>>
<<include [[NPC Gossip: More Harlot Gossip]]>> [[More Gossip->Test Harlot: More Gossip]]<br> [[Other Testing->Harlot Tester]]
/* Extracted out so it can be called from harlot tester */ /* 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: Harlot Gossip: Additional]]>> <</if>>
/* Use this at the end of non-standard <harlot>: NPC Gossip to return story to right passage */ <<if $isHarlotTesting>> [[More Gossip->Test Harlot: More Gossip]]<br> [[Other Testing->Harlot Tester]] <<else>> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]] <</if>>
/* We create all the charms here */ <<set $charmCount to 36>> <<set $allCharms to []>> <<for _charmNum to 0; _charmNum lt $charmCount; _charmNum++>> <<set $initLink to "Charm" + _charmNum + "Init">> <<include $initLink>> <<set $allCharms.push($charm)>> <</for>> /* populate NPC CHARM's charms */ <<include [[NPC Charm: Populate Charms]]>>
/* Do nothing charm */ <<set $charm to { number: 0, category: 0, cost: 5, explanation: "Does absolutely nothing.", name: "The Nullstone of Nigel Neversham", description: "A smooth and polished black gemstone inlaid in silver.", functionHints: "\"Nigel Neversham, hmm, I never found out what happened to him. I don't know what this one does, but I feel it must be useful.\"", effectOnPickupLink: "Charm Effect On Pickup: Nullstone" }>>
/* Show semen count */ <<set $charm to { number: 1, category: 0, cost: 4, explanation: "Shows semen count as a number.", name: "Gary Goldman's Gauge", description: "A gleaming brass gauge with a white face and black needle.", functionHints: "\"Gary Goldman was a legend of the vintage adult movies. He was so reliable because he always knew how many cumshots were left in him. A thirsty dryad wrapped her labial roots around his cock and drained him dry, sadly.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
<<set $isTesting to true>> <<include [[Create New Player: Default]]>> <<set $charmId to 0>> <<set $npcMadam.hasGivenComplementaryMulliganToken to true>> <<set $npcMoney.hasBeenIntroduced to true>> [[Print all charms.->Test Charms: Print All]]<br> [[Print all charm details.->Test Charms: Print All Details]]<br> [[Charms Test.->Test All Charms]]<br> [[Find Money Charm.->Test Charms: Find Money Charm]]
<<include [[Print Charm]]>> <br> <<set $charmId++>> [[Next Charm.->Test Charms: Print All Details]]<br> [[More Testing.->Test Charms]]
Number of Charms = $allCharms.length<br> <br> <<for _charmNum to 0; _charmNum lt $allCharms.length; _charmNum++>> ''$allCharms[_charmNum].name''<br> //$allCharms[_charmNum].explanation//<br> <br> <</for>> <br> [[More Testing.->Test Charms]]
/* Print all charm details for testing pre-req: $charmId */ <<set _charm to $allCharms[$charmId]>> name: _charm.name<br> number: _charm.number<br> category: _charm.category<br> cost: _charm.cost<br> explanation: _charm.explanation<br> description: _charm.description<br> functionHints: _charm.functionHints<br>
<<if $isTesting or $player.charms.includes(1)>> <<set _semenText to $player.semenCount>> <<else>> <<if $player.semenCount gt 8>> <<set _semenText to "Floods">> <<elseif $player.semenCount gt 5>> <<set _semenText to "Gushes">> <<elseif $player.semenCount gt 2>> <<set _semenText to "Spurts">> <<else>> <<set _semenText to "Dribbles">> <</if>> <</if>>
/* Does nothing */
/* Increase Semen Max (by 3) */ <<set $charm to { number: 2, category: 1, cost: 5, explanation: "Increase Max Semen Count by +3.", name: "The Bull's Balls", description: "A crude fertility fetish made of clay of an erect penis and testicles the size of oranges.", functionHints: "\"The Bull of Boldoma boasted he could bed and satisfy the insatiable Harlot of Hellacona. He might have sated her lustful hungers... had her sister not joined in. The Bull became jerky and satisfied their other hungers after the sun rose.\"", effectOnPickupLink: "Charm Effect On Pickup: Increase Max Semen" }>>
<<set $player.maxSemenCount += 3>> <<set $player.semenCount += 3>> ''Your balls feel a little more swollen.''<br> <br>
<<for _i to 0; _i lt $allCharms.length; _i++>> <<capture _i>> <<set _name to $allCharms[_i].name>> [[_name->Test All Charms: Apply Charm Effect][$id to _i]]<br> <</capture>> <</for>> <br> <br> [[End->Test All Charms: End Tests]]
<<set _charmId to $id>> <<include [[Apply Charm Effect]]>> <br> [[Continue.->Test All Charms]]
/* pre-reqs: _charmId */ <<include $allCharms[_charmId].effectOnPickupLink>>
/* Set STR to 4 */ <<set $charm to { number: 3, category: 0, cost: 4, explanation: "Sets Base Strength to 4.", name: "The Armband of Angrach na Mathlach", description: "An ornate armband engraved with an image of a bull fighting a multi-headed serpent.", functionHints: "\"They say the warrior Angrach na Mathlach was strong enough to wrestle a full-grown bull to the floor. He was crushed to death in the embrace of the Lamia of Lashmemi.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Str" }>>
<<set $player.baseStr to 4>> ''You feel strong.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
/* Set AGI to 4 */ <<set $charm to { number: 4, category: 0, cost: 4, explanation: "Sets Base Agility to 4.", name: "The Sandals of Safraz Shah", description: "A fancy pair of silk shoes resting on a red satin cushion.", functionHints: "\"When Safraz Shah danced he used to make all the ladies swoon. Sadly, he caught the eye of the Caballeiah of Candon Fa. Legend says he dances for them still.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Agi" }>>
<<set $player.baseAgi to 4>> ''You feel agile.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
/* Set DEX to 4 */ <<set $charm to { number: 5, category: 0, cost: 4, explanation: "Sets Base Dexterity to 4.", name: "The Lockpicks of Lonny Duggan", description: "A set of lockpicks on a thick iron ring.", functionHints: "\"Ah, the lockpicks of the illustrious Lonny Duggan. Quite a rogue he was. Could break into anything, they said. Came to a messy end when he tried to pick the lock of a mimic.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Dex" }>>
<<set $player.baseDex to 4>> ''You feel Dextrous.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
/* Set INT to 4 */ <<set $charm to { number: 6, category: 0, cost: 4, explanation: "Sets Base Intelligence to 4", name: "The Brain of Professor Ichabod Blaine", description: "An engraving of a brain with bolts of lightning sparking between the lobes.", functionHints: "\"Professor Ichabod Blaine had a wonderfully developed brain. Sadly, he neglected to develop other parts of his body and his heart gave out during a particularly strenuous session with the bunny nymphs of Lapalla.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Int" }>>
<<set $player.baseInt to 4>> ''You feel smart.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
/* Set WILL to 4 */ <<set $charm to { number: 7, category: 0, cost: 4, explanation: "Set Base Willpower to 4", name: "The Helm of Sir Arthur Harkwood", description: "A knight's helmet surrounded by a glowing blue nimbus.", functionHints: "\"Sir Arthur Harkwood was said to be the most indomitable knight of the realm. The Tinternabbell Triplets seduced and beguiled him and turned him into their pet dog.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Will" }>>
/* set CON to 4 */ <<set $charm to { number: 8, category: 0, cost: 4, explanation: "Set Base Constitution to 4", name: "The Drinking Horn of Drimmi Hrothgar", description: "An ornate drinking horn filled with frothy beer.", functionHints: "\"Drimmi Hrothgar believed he could drink anything and anyone under the table. That ended when he drank mead laced with the venom of a velvet voluptorpion. They say the distance his issue flew from his final ejaculation is a record that will never be broken.\"", effectOnPickupLink: "Charm Effect On Pickup: Set Const" }>>
<<set $player.baseWill to 4>> ''You feel resolved.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
<<set $player.baseConst to 4>> ''You feel hearty.''<br> <br> "You might have to wait a while for that to take full effect, dearie," $npcCharm.name says.<br> <br>
Delayed effects of charms take place here...<br> <br> <<set $player.currStr to $player.baseStr>> <<set $player.currAgi to $player.baseAgi>> <<set $player.currDex to $player.baseDex>> <<set $player.currInt to $player.baseInt>> <<set $player.currWill to $player.baseWill>> <<set $player.currConst to $player.baseConst>> [[More Testing.->Test Charms]]
/* pre-req _round */ <<set $player.roomScores[_round] to { round: _round, harlotNumber: 1, scoreArray: [ [1,true,true] /* dummy */ ] }>>
/* populate previous round room scores with dummy data to stop tests crashing every time $currentRound > 1 */ <<set _max to $currentRound - 1>> <<for _round to 0; _round lt _max; _round++>> <<set _roundTxt to _round + 1>> <<if not $player.roomScores[_round]>> <<include [[Test Harlot: Set Dummy Room Score]]>> ''Adding dummy room score data for Round = _roundTxt''<br> <<else>> ''Existing room score data found for Round = _roundTxt''<br> <</if>> <</for>> <br>
/* More Actions */ <<set $charm to { number: 9, category: 0, cost: 6, explanation: "Increases number of Actions by 1. (Only in the pre-choice phase before the player must pick a harlot.)", name: "Henri Hodgson's Hourglass", description: "A tilted hourglass with the grains falling upwards.", functionHints: "\"Henri Hodgson always wished for more time. He was ingested by a Gigantic Guumbala and now has all the time in the world. I hear she's still digesting him, even now.\"", effectOnPickupLink: "Charm Effect On Pickup: More Actions" }>>
<<set $clubActivityMaxUnits++>>
/* Increase potion resistance (+3 to number of potion effects player can have in system before addiction triggers) */ <<set $charm to { number: 10, category: 0, cost: 5, explanation: "Increases number of $npcPotion.name's potions the player can drink before picking up the Potion Addiction ailment.", name: "Dr Turnbull's Test Tube Rack", description: "A rack of test tubes, each filled with brightly coloured liquids.", functionHints: "\"Dr Turnbull was a man ferociously devoted to self-improvement through chemical means. A concoction of holstaurus milk, scorpioness venom and alraune nectar had impressive, but tragically lethal effects.\"", effectOnPickupLink: "Charm Effect On Pickup: Potion Resist" }>>
/* increases potion resistance */ <<set $player.potionResistance += 3>>
<<set $npcCharm to { name: "The Buxom Lolibaba", isAvailable: true, isUnavailable: false, hasBeenIntroduced: true, hasBeenVisited: false, /* NPC Specific Properties */ hasBeenAskedForSex: false, hasExplainedCharms: false, hasSoldFirstCharm: false, hasGivenMoneyHint: false, hasExplainedFixedSelection: false, charms: [] }>>
/* Charm is always available if she hasn't yet been introduced for the first time */ <<if $npcCharm.hasBeenIntroduced eq false>> <<set $npcCharm.isAvailable to true>> <<if $isTesting eq true>> ''$npcCharm.name is available because she hasn't been introduced yet.''<br> <</if>> /* Check if Charm has been made unavailable because of one of the events. */ <<elseif $npcCharm.isUnavailable eq true>> <<set $npcCharm.isAvailable to false>> <<set $npcCharm.isUnavailable to false>> <<if $isTesting eq true>> ''$npcCharm.name is unavailable because of an event.''<br> <</if>> /* follow the usual procedure for determining availability */ <<else>> <<include [[Roll for NPC Availability]]>> <<set $npcCharm.isAvailable to $isNpcAvailable>> <<if $isTesting eq true>> ''$npcCharm.name is <<if $npcCharm.isAvailable eq false>>un<</if>>available because of availability roll.''<br> <</if>> <</if>>
<<set $isTesting to true>> <<set $isNpcTesting to true>> <<include [[Create New Player: Default]]>> <<set $player.money to 100>> <<set $player.semenCount to 10>> <<set $clubActivityUnits to 4>> <<set $npcCharm.isUnavailable to false>> <<set $npcCharm.hasBeenVisited to false>> <<include [[NPC Charm: Print]]>> <<include [[NPC Charm: Determine Availability]]>> <<include [[Charms: Update Stock]]>> /* <<set $player.charms.push(20)>> */ <br> [[Begin tests...->NPC Charm: Look For]]<br> <br>
<<if $npcCharm.isAvailable eq true>> <<if $npcCharm.hasBeenVisited>> <<include [[NPC Charm: Visit: Subsequent]]>> <<else>> <<include [[NPC Charm: Visit: First 1]]>> <</if>> <<else>> <<include [[NPC Charm: Unavailable]]>> <</if>>
You return to $npcCharm.name's table only to find she isn't there. She must be away on other duties and is unavailable for now. You'll have to visit someone else.<br> <br> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Charm: Repeat]] <<else>> [[You go back to your place at the bar.->Club Activities: Hub]]<br> //This did not cost an Action.// <</if>>
You follow $npcBarman.name's directions to a quiet area separated from the main bar room by a short corridor. It's little more than a hallway expanded out to include a table and some decadent armchairs. The corners are decorated with luxuriant potted plants and the walls are adorned with large antique mirrors.<br> <br> At first you think it's a child sitting at the table, a child in a Halloween costume complete with an oversized black witch's hat with a floppy peak. She sits on a high stool to enable her to reach the tabletop.<br> <br> Then you notice her bosom. It's large and very curvy. Her black satin dress has a neckline cut low enough to expose the deep canyon of her cleavage. Her big tits rest on the top of the table while she lays out cards.<br> <br> The witch notices you and looks up.<br> <br> "Hello, dearie," she says. "Your arrival was foretold. Come sit at my table."<br> <br> You do a doubletake at her face. It looks smooth, innocent and childlike, but she has the voice of an old lady and her eyes are older still. They look like beady black marbles as she smiles at you.<br> <br> This must be $npcCharm.name $npcBarman.name told you about.<br> <br> [[Continue.->NPC Charm: Visit: First 2]]
You return to $npcCharm.name's quiet area. The short witch is again dealing out cards at her table. She looks up at you as you approach.<br> <br> "Ah, you return. As was foretold," she says.<br> <br> She picks up her cards and shuffles her deck. Her hand movements fail to distract you from the deep chasm of her cleavage revealed by her black satin dress.<br> <br> Her too-old eyes in her too-young face glitter like black marbles.<br> <br> "Care to buy a charm, dearie?"<br> <br> <<include [[NPC Charm: Hub Options]]>>
Before you can say anything, you feel $npcMadam.name's buzzer vibrate twice in your pocket. Time's up. You need to go and make a choice.<br> <br> "The last grains of sand have fallen," $npcCharm.name says. "It is time to meet your fate. Will it be pleasant or painful? Only the Lords of Old Chaos know. If you desire their aid, you can always find me here."<br> <br> You make your apologies and leave.<br> <br> <<include [[NPC Charm: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Charm: Repeat]] <<else>> [[Go and choose a harlot.->Harlot Selection: Intro]] <</if>>
/* pay action if visited and done nothing */ <<if not $hasUsedActionWithNpc>> <<if $isPostRoom>> <<set $postroomActivityUnits -= 1>> <<else>> <<set $clubActivityUnits -= 1>> <</if>> <</if>> <<include [[NPC Charm: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Charm: Repeat]] <<else>> <<if $isPostRoom>> [[You leave her and return to your place at the bar.->Post-Room Activities: Hub]] <<else>> [[You leave her and return to your place at the bar.->Club Activities: Hub]] <</if>> <</if>>
<<set $hasUsedActionWithNpc to false>> <<unset $hasBoughtCharm>> <<unset $isOutOfCharms>> <<unset $charmBought>>
<<set $clubActivityUnits to 4>> <<set $player.semenCount to 10>> <<include [[NPC Charm: Print]]>> <<include [[NPC Charm: Determine Availability]]>> <<include [[Charms: Update Stock]]>> <<set $hasSeenCharmSelection to false>> <br> [[Begin tests...->NPC Charm: Look For]]
"What else can I do for you, dearie?"<br> <br> <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Charm: Time Up]]>> <<else>> <<include [[NPC Charm: Hub Options]]>> <</if>>
<<include [[NPC Charm: Charm Option]]>> <<include [[NPC Charm: Enquire Sex Option]]>> <<include [[NPC Charm: Leave Option]]>>
$npcCharm.name is a contradiction to the eyes. She's very short. Like a child, or a shrunken old lady. She's weirdly both. As if for her, life is a continuous cycle. She looks like she's gone through old age and the wheel is turning back to childhood again, leaving her caught somewhere in the middle of transition.<br> <br> It's more complex than that. It's as if she's all ages of womanhood in a single body. Her face – eyes aside – has the fresh innocence of a child, she affects the flirtatious air of a young woman, her bountiful bosom speaks of motherhood, and her voice and eyes hold the experience of a wise grandmother.<br> <br> "I am a charm seller," she says. "The Lords of Old Chaos have picked for you a perilous path, with a long dark night filled with both pleasures and agonies. They have also seen fit to place me on your path, for I peddle charms and wards to fortify the spirit and protect you from harm. For the right price..."<br> <br> $npcCharm.name looks up at you. Her too-old eyes glitter like black marbles.<br> <br> "Would you like to buy a charm, dearie?"<br> <br> <<set $npcCharm.hasBeenVisited to true>> <<include [[NPC Charm: Hub Options]]>>
<<if $npcCharm.hasExplainedCharms>> <<if $isOutOfCharms>> //$npcCharm.name has no more charms available to buy this round.//<br> <br> <<else>> [[See what charms she has to offer.->NPC Charm: Pre-Selling Check]]<br> //Buying one will cost an Action and its price in <<print $currencyName + "s.">>//<br> <br> <</if>> <<else>> [[A charm?->NPC Charm: Charm Explanation]]<br> //$npcCharm.name will explain them.//<br> <br> <</if>>
<<if not $npcCharm.hasBeenAskedForSex>> [[Ask if she offers any sexual services?->NPC Charm: Enquire About Sex]]<br> //This will cost 1 Action and ????//<br> <br> <</if>>
<<if $hasBoughtCharm>> [[That's all for now.->NPC Charm: Leave: Bought Charm]] <<else>> [[Nothing interests you at the moment.->NPC Charm: Leave: No Sale]] <</if>><br> //Leave and return to your place at the bar.//<br> <br>
<<include [[NPC: Pay Action]]>> <<set $npcCharm.hasBeenAskedForSex to true>> "You tempt me, dearie. You really do. My stature might not match those tall and willowy succubi, but my boobs and sex magic will get that cock gushing just fine."<br> <br> She leans forwards and glances left and right down the corridor.<br> <br> "Ah, but she has eyes and ears everywhere."<br> <br> $npcCharm.name sits back. She pulls a card from her deck and looks at it. You can't see what's on it, just the patterned back. $npcCharm.name pulls a face and tsks.<br> <br> "To be expected. $npcMadam.name runs a tight House. Rules are rules. I can't accept your offer here, dearie," $npcCharm.name says. "However, the Lords of Old Chaos might yet have fated for our threads to tangle in the bedchamber. All of us girls in here must take our turn on the stage. Maybe you'll get a chance to pick me then, if the Lords of Old Chaos will it. Then we'll see how much I can make that prick gush."<br> <br> She points down at your crotch and your cock springs up in erection so sudden you let out a gasp of surprise. It quickly becomes an uncomfortable encumbrance in your pants.<br> <br> $npcCharm.name gives you a saucy wink.<br> <br> ''DEV NOTE: THE BUXOM LOLIBABA'S HARLOT SCENARIO HAS NOT YET BEEN WRITTEN. IT WILL BE ADDED AT A LATER DATE!''<br> <br> [["Back to " + $npcCharm.name + " options."->NPC Charm: Continuation Hub]]
"Fare thee well, dearie," $npcCharm.name says as you get up from the table. "May the Lords of Old Chaos grant you a pleasant rather than painful fate."<br> <br> <<include [[NPC Charm: Leave]]>>
$npcCharm.name tuts as you get up to leave.<br> <br> "It's a brave man who spurns the Lords of Old Chaos. Maybe that too is as they will it. Only time will tell if your fate is to be pleasure or agonising pain."<br> <br> <<include [[NPC Charm: Leave]]>>
<<if not $npcCharm.hasExplainedFixedSelection>> <<set $hasSeenCharmSelection to true>> <</if>> "These are the boons the Lords of Old Chaos have seen fit to offer."<br> <br> She lays out the cards on the table.<br> <br> "Cross my palm with silver and their protection can be yours."<br> <br> <<include [[NPC Charm: Charms For Sale]]>>
<<set $npcCharm.hasExplainedCharms to true>> $npcCharm.name lays out a card from her deck. It's maybe one and a half times larger than a regular playing card. The design on the face is a complex illustration of a green snake entwined around a black rose. Green venom drips from both the snake's fangs and the rose's thorns.<br> <br> There must be some kind of optical effect with the art as the picture seems to //pop// from the card surface. It looks 3D – like a hologram of a brooch floating up out of the card. You lower your head to the table and tilt it to the side. The brooch still looks like it's floating above the card no matter which angle you examine it from.<br> <br> "Everyone needs a little magic," $npcCharm.name says. "Especially in here and especially on this night of all nights. My charms are gifts from the Lords of Old Chaos. Some are wards to stave off diabolic temptation. Some strengthen the body and spirit. Others allow you to see that which was meant to be hidden."<br> <br> She takes the card and shuffles it back into her deck.<br> <br> "As for what charms I have to offer, that I cannot control. It is for the Lords of Old Chaos to decide and their whims are as changeable as the winds."<br> <br> <<include [[NPC Charm: Hub Options]]>>
"Yes, you can buy another charm, dearie. You can buy as many as you have <<print $currencyName + "s">> for."<br> <br> /* Time Up Check needed here */ <<include [[Club Activity Units: Is Time Up]]>> <<if _isTimeUp>> <<include [[NPC Charm: Time Up]]>> <<else>> She sweeps a hand over the table.<br> <br> "Which one would you like?"<br> <br> <<include [[NPC Charm: Charms For Sale]]>> <</if>>
These are the charms $npcCharm.name has available:<br> <<set _charmId to $charmsForSaleThisRound[0]>> <<set _lowestCost to $allCharms[_charmId].cost>> <<for _i to 0; _i lt $charmsForSaleThisRound.length; _i++>> <<set _charmId to $charmsForSaleThisRound[_i]>> <<include [[NPC Charm: Create Charm Display]]>> <</for>> <br> <<if $player.money lt _lowestCost>> <<if $npcCharm.hasGivenMoneyHint>> [[You can't afford any of these.->NPC Charm: Continuation Hub]] <<else>> [[You can't afford any of these.->NPC Charm: No Money]] <</if>> <<else>> [[None of these interest you.->NPC Charm: Continuation Hub]] <</if>>
<<if $charmsForSaleThisRound.length eq 0>> <<include [[NPC Charm: No Charms For Sale]]>> <<else>> <<if not $npcCharm.hasExplainedFixedSelection>> <<if $hasSeenCharmSelection>> <<include [[NPC Charm: Lay Out Same Charms As Before]]>> <<else>> <<include [[NPC Charm: Lay Out Charms]]>> <</if>> <<else>> <<include [[NPC Charm: Lay Out Charms]]>> <</if>> <</if>>
<<set $isOutOfCharms to true>> "Oh my, I'm afraid you have bought all the charms I have available, dearie," $npcCharm.name says.<br> <br> You glance to the deck of cards. $npcCharm.name still has plenty there.<br> <br> $npcCharm.name sees you looking and wags a finger. "One should not be too greedy when seeking the boons of the Lords of Old Chaos. Both misfortune and fortune can be pulled from their deck."<br> <br> //$npcCharm.name is out of charms. She will have more available next round.//<br> //This did not cost you an Action.//<br> <br> [["Back to " + $npcCharm.name + " options."->NPC Charm: Continuation Hub]]
<<set $npcCharm.hasExplainedFixedSelection to true>> <<unset $hasSeenCharmSelection>> "These are the boons the Lords of Old Chaos have seen fit to offer."<br> <br> She lays out three cards on the table.<br> <br> They are the same cards as before.<br> <br> $npcCharm.name's eyes twinkle at your puzzled expression. "Fate cannot be changed, dearie."<br> <br> <<include [[NPC Charm: Charms For Sale]]>>
<<if $charmsForSaleThisRound.length eq 0>> <<include [[NPC Charm: No Charms For Sale]]>> <<else>> <<include [[NPC Charm: Buy Another Charm]]>> <</if>>
/* pre-req: _charmId, _lowestCost */ <<set _name to $allCharms[_charmId].name>> <<set _cost to $allCharms[_charmId].cost>> <<if _cost lt _lowestCost>> <<set _lowestCost to _cost>> <</if>> <<if _cost eq 1>> <<set _coinText to _cost + " " + $currencyName>> <<else>> <<set _coinText to _cost + " " + $currencyName + "s">> <</if>> <table width="100%"> <tr> <td style="text-align:left"> <<if $player.money lt _cost>> _name <<else>> <<capture _charmId>> [[_name->NPC Charm: Charm Bought][$charmBought to _charmId]] <</capture>> <</if>> </td> <td> </td> <td>..........</td> <td> </td> <td style="text-align:right"> //_coinText// </td> </tr> <tr> <td style="text-align:left"> $allCharms[_charmId].description </td> </tr> <tr> <td style="text-align:left"> $allCharms[_charmId].functionHints </td> </tr> <<if $player.charms.includes(20)>> <tr> <td style="text-align:left"> //$allCharms[_charmId].explanation// </td> </tr> <</if>> <<if $player.money lt _cost>> <tr> <td style="text-align:left"> //You do not have enough <<print $currencyName + "s">> for this.// </td> </tr> <</if>> </table>
<<set $hasBoughtCharm to true>> <<include [[NPC: Pay Action]]>> <<set $player.money -= $allCharms[$charmBought].cost>> <<set $player.charms.push($charmBought)>> <<set $npcCharm.charms.delete($charmBought)>> <<set $charmsForSaleThisRound.delete($charmBought)>> <<if $npcCharm.hasSoldFirstCharm>> <<include [[NPC Charm: Charm Bought: Subsequent]]>> <<else>> <<include [[NPC Charm: Charm Bought: First]]>> <</if>>
<<set $npcCharm.hasGivenMoneyHint to true>> "No silver, dearie?" $npcCharm.name says. "What a low hand fate has dealt you."<br> <br> She leans back and crosses her arms over her ample bosom.<br> <br> "There is one in here who can help you, a man also tangled deep in this licentious web. He has been here a long time and has the backing of entities powerful enough to extend their influence into these four walls. He knows the value of information and rewards those who bring it to him. He thinks he can change his fate. He can't. For even if he escapes it will have been as fate decreed all along."<br> <br> $npcCharm.name smiles at you.<br> <br> That's all well and good, but you still don't have enough money to buy any of her charms.<br> <br> [["Back to " + $npcCharm.name + " options."->NPC Charm: Continuation Hub]]
You pay $npcCharm.name and take the card. Again you feel a short, sharp burning sensation as the charm transfers from the card to your flesh. <<include [[NPC Charm: Charm Bought: Pick Up Charm]]>>
<<set $npcCharm.hasSoldFirstCharm to true>> You hand the coins to $npcCharm.name and she nudges the card across the table to you. You reach for the charm and realise it is an optical illusion. Although it seems solid and 3D as it floats above the card, there is nothing to grab. Wondering if you've been had, you pick up the card.<br> <br> There is a flash. The illustration vanishes from the card and you feel a sharp but mercifully short burning sensation behind your shoulder. You lift up your top and check your back in the mirror. The illustration is there, indelibly drawn on your skin like a tattoo.<br> <br> $npcCharm.name chuckles at your confusion.<br> <br> "Why the surprise, dearie? The first thing a succubus does is take your clothes off. Where else to place a ward to protect from them."<br> <br> It's hard to argue against that. You ask if it's permanent.<br> <br> "Oh, it will fade when you die," $npcCharm.name says. "Or leave the House, but hardly anyone ever does that."<br> <br> That's not exactly reassuring. <<include [[NPC Charm: Charm Bought: Pick Up Charm]]>>
You look at the illustration on your back.<br> <br> <<set _charmId to $charmBought>> <<include [[Apply Charm Effect]]>> [[Continue looking at her charms.->NPC Charm: Pre-Selling Check: Buy Another]]<br> [["Back to " + $npcCharm.name + " options."->NPC Charm: Continuation Hub]]
--NPC CHARM-----------------------------------------<br> ''name: ''<<print $npcCharm.name>><br> <br> ''isAvailable: ''<<print $npcCharm.isAvailable>><br> ''isUnavailable: ''<<print $npcCharm.isUnavailable>><br> <br> ''hasBeenIntroduced: ''<<print $npcCharm.hasBeenIntroduced>><br> ''hasBeenVisited: ''<<print $npcCharm.hasBeenVisited>><br> <br> ''hasBeenAskedForSex: ''<<print $npcCharm.hasBeenAskedForSex>><br> ''hasExplainedCharms: ''<<print $npcCharm.hasExplainedCharms>><br> ''hasSoldFirstCharm: ''<<print $npcCharm.hasSoldFirstCharm>><br> ''hasGivenMoneyHint: ''<<print $npcCharm.hasGivenMoneyHint>><br> ''hasExplainedFixedSelection: ''<<print $npcCharm.hasExplainedFixedSelection>><br> <br> ''number of charms: ''<<print $npcCharm.charms.length>><br> ----------------------------------------------------<br> <br>
<<include [[NPC Gossip: Pay Action]]>> "That batty old crone."<br> <br> $npcGossip.name sniffs disdainfully.<br> <br> "I can never tell if she actually believes all that nonsense about fate and the Lords of Old Chaos, or if it's just sales patter to peddle charms to gullible rubes."<br> <br> $npcGossip.name puffs on her cigarette, letting out clouds of fragrant smoke."<br> <br> "$npcMadam.name's shrunken little sycophant is useful, I suppose. To you. $npcMadam.name has an infuriating obsession about making her 'game' fair. The prey must always have a chance, as she puts it. She can keep the weaker lust daemons in line and get them to stick to it. But the stronger succubi..."<br> <br> $npcGossip.name chuckles darkly.<br> <br> "You might have heard that daemons and devils are stickler for contracts. All lies. We cheat and we have centuries of experience of wriggling out of them. The stronger ones in here will bat their pretty little eyelashes, blast you with seduction magic strong enough to melt your brain, then claim it was your fault for not having the will to resist it."<br> <br> $npcGossip.name laughs.<br> <br> "It's like blaming a mouse for getting crushed when an elephant steps on it."<br> <br> $npcGossip.name taps her cigarette holder to dislodge ash onto the floor.<br> <br> "You'll need her charms. As dotty as she is, she knows her warding magic, and her charms are the only thing that will protect you against some of the stronger lust daemons. Although you'll have the devil's own game trying to work out what her charms do. $npcCharm.name has spent so many years trying to sound cryptic and portentous in order to seem wise and //important//, I don't think even she knows what she's saying half the time."<br> <br> [["Back to " + $npcGossip.name + " options."->NPC Gossip: Continuation Hub]]
"You might have to wait a while for that to take effect, dearie," $npcCharm.name says.<br> <br>
<<for _i to 0; _i lt $allCharms.length; _i++>> <<set $npcCharm.charms.push(_i)>> <</for>>
/* update the charms NPC CHARM has available this round */ <<set _n to 3>> <<set _copy to clone($npcCharm.charms)>> <<if _n gt _copy.length>> <<set _n to _copy.length>> <</if>> <<set $charmsForSaleThisRound to []>> <<for _i to 0; _i lt _n; _i++>> <<set _charmId to _copy.pluck()>> <<set $charmsForSaleThisRound.push(_charmId)>> <</for>>
/* Find money */ <<set $charm to { number: 11, category: 0, cost: 3, explanation: "Gives the player a chance to find " + $currencyName + "s and other things.", name: "Cleveland Courter's Lucky Clover", description: "A green enamel pin of a four-leaf clover.", functionHints: "\"They say this brought great fortune to Cleveland Courter. It found him wealth and a wife of incomparable beauty. Unfortunately for him, that wife was the succubus Sailech Sayshun. Or maybe fortunate. He didn't last beyond his wedding night, but what a night it must have been.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Higher payouts from NPC Money */ <<set $charm to { number: 12, category: 0, cost: 5, explanation: "$npcMoney.name pays out more " + $currencyName + "s for information.", name: "The Brazen Ah-Ddub", description: "A gold statuette of a semi-naked fat man with an avaricious expression.", functionHints: "\"Wealth seeks wealth, they say, and this is their token. It's not as powerful in here. One cannot pay off a succubus. The only currency they desire is souls and semen.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* See harlot's true form */ <<set $charm to { number: 13, category: 0, cost: 5, explanation: "Reveals the true form of harlots.", name: "The Eye of Eric Leidorf", description: "An illustration of an open eye with a piercing stare.", functionHints: "\"Eric Leidorf was a man of great observation and insight. He saw everything as it truly was. Alas, his investigations uncovered the true form of the eldritch Elysh-Nareen, and no mortal mind can hold that knowledge.\"", effectOnPickupLink: "Charm Effect On Pickup: Not Implemented" }>>
/* NPC Gossip Lie Detector */ <<set $charm to { number: 14, category: 0, cost: 2, explanation: "Identifies when $npcGossip.name gives information that might be inaccurate or dangerous for the player.", name: "Inquisitor Tortunaga's Tongue", description: "A long slender forked tongue ripped out at the root.", functionHints: "\"Not his tongue. Rumour is he ripped it from a witch's mouth and forced it to unspeak the lies through which she'd corrupted the Court of King Alfonso. I sell this one cheap because I know how much it annoys a certain someone in here.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* See Best Gift */ <<set $charm to { number: 15, category: 0, cost: 5, explanation: "Identifies which gift has a connection to a harlot (may not necessarily be a gift they like).", name: "The Flower of Francis du Farnier", description: "A pretty flower brooch studded with gemstones.", functionHints: "\"That old smooth-talker, Francis do Farnier. He had a knack for knowing exactly what a girl wanted. Unfortunately, after a misunderstanding, he ended up presenting his own head to the Mantis Queen of Myridd'nah.\"", effectOnPickupLink: "Charm Effect On Pickup: Identify Best Gift" }>> /* TODO - needs note that not always reliable */
/* Reveal gift category */ <<set $charm to { number: 16, category: 0, cost: 3, explanation: "Shows gift categories.", name: "Sutty Clark's Clipboard", description: "A brass cast of a little clipboard and pen.", functionHints: "\"Sutty Clark, a quiet and organized man with a quiet and organised mind. He was a warehouse manager of uncommon ability... until that nasty business with the Zaputa relics recovered by the McAlister Expedition.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* No affection loss */ <<set $charm to { number: 17, category: 0, cost: 5, explanation: "Harlots no longer lose affection.", name: "The Heart of Hectoronymus", description: "A heart carved from red gemstone and veined with gold.", functionHints: "\"Oh, Hectoronymus. Such a lovely boy. We all liked him. Shaeol was so distraught when she was the one to drain the last of his vitality.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Semen Choker */ <<set $charm to { number: 18, category: 0, cost: 5, explanation: "Regulates player ejaculations so that each only costs 1 unit of semen.", name: "The Fountain of Zalmassis", description: "A neglected fountain choked with thick vines of ivy.", functionHints: "\"Water still fountains at the appointed hour, but not as strongly and not for as long. Sometimes that is not a bad thing.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Ailment Detector */ <<set $charm to { number: 19, category: 0, cost: 3, explanation: "Notifies the player when they pick up an ailment.", name: "Dr Prevert's Tools", description: "An old leather doctor's bag with a stethoscope lying on top.", functionHints: "\"The good Dr Prevert could identify any illness or ailment, they say. Unfortunately, he was blind to his own particular predilection. He found a lust daemon to satisfy it, though maybe he shouldn't have...\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Explain Charm Function */ <<set $charm to { number: 20, category: 0, cost: 7, explanation: "Reveals a more accurate explanation of what each charm does.", name: "The Enchanted Loupe of Jeremiah Cohen", description: "A jeweller's loupe with strange runes etched into the lens holder.", functionHints: "\"They say Jeremiah Cohen had an excellent eye for appraising the rare and valuable. I don't think you'll find much use for it in here, dearie.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Set charms and things for a run here */ <<if $isTesting>> <<set $player.charms.push(15)>> <<set $player.charms.push(13)>> <</if>>
/* Print gift categories. pre-req: _giftCategories output: _catString */ <<set _catString to "">> <<for _cat to 0; _cat lt _giftCategories.length; _cat++>> <<set _catId to _giftCategories[_cat]>> <<if _cat eq (_giftCategories.length - 1)>> <<set _catString += $giftCategoryNames[_catId] + ".">> <<else>> <<set _catString += $giftCategoryNames[_catId] + ", ">> <</if>> <</for>>
"I wouldn't get too reliant on that one, dearie," $npcCharm.name warns. "Hate and love are oftentimes easily confused."<br> <br>
/* TABLE 1-5: nothing 6-15: 1 coin 16-18: 2 coin 19: 5 coin 20: token */ <<set _rng to random(1,20)>> <<if _rng gt 19>> /* mulligan token */ <<if $npcMadam.hasGivenComplementaryMulliganToken>> <<set _mtText to $mulliganToken.name>> <<else>> <<set _mtText to "strange silver disc">> <</if>> <<if $npcMoney.hasBeenIntroduced>> <<set _npcText to $npcMoney.name>> <<else>> <<set _npcText to "someone">> <</if>> On the way back to the bar you find a _mtText on the floor. That might be useful. Or you can always sell it to _npcText for <<print $currencyName + "s.">><br> <br> <<set $player.mulliganTokens += 1>> <<elseif _rng gt 18>> /* lost wallet */ On the way back to the bar you find someone's wallet dropped on the floor. There is no ID. You go to hand it in to $npcBarman.name and he pushes it back.<br> <br> "I doubt the last owner has much use for it now," he says.<br> <br> Inside you find 5 <<print $currencyName + "s.">> Yours now.<br> <br> <<set $player.money += 5>> <<elseif _rng gt 15>> /* 2 coins */ On the way back to the bar you find a couple of <<print $currencyName + "s">> someone's dropped on the floor.<br> <br> <<set $player.money += 2>> <<elseif _rng gt 5>> /* 1 coin */ On the way back to the bar you find a $currencyName on the floor.<br> <br> <<set $player.money += 1>> <</if>>
/* <<set _maxR to 3>> <<set _maxTC to 20>> <<set _cost to 3>> <<set _pay to 0>> <<for _tc to 0; _tc lt _maxTC; _tc++>> <<set $player.money to 0>> <<for _r to 0; _r lt _maxR; _r++>> <<include [[Charm Effect: Roll on Find Money Table]]>> <</for>> <<if $player.money gte _cost>> <<set _pay++>> <</if>> <<print $player.money>><br> <</for>> <br> <<set _per to _pay*5>> ''_per %''<br> <br> */ <<include [[Charm Effect: Roll on Find Money Table]]>> [[Roll Again.->Test Charms: Find Money Charm]]<br> [[More Testing.->Test Charms]]
<<set $affectionChange to -1>> <<set _affectionChangeReason to "No Money While Socialising">> <<include [[Harlot Affection Change]]>>
/* Veronicella (slug girl) */ <<set $hi to 24>> <<set $allHarlots[$hi] to { number: $hi, name: "Veronicella", shortDescription: "", faction: 6, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [4,12], affection: 0, preIntroductionLink: "Veronicella: Pre-Introduction", introductionLink: "Veronicella: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Veronicella: Socialising", npcGossipLink: "Veronicella: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Veronicella: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Veronicella: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Veronicella: Sell Exp Body", sellExpFeedbackLink: "Veronicella: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 0>> <<set $player.money to 10>> <<set $player.charms.push(13)>> <<set $player.charms.push(14)>> <<set $player.currStr to 4>> /* <<set $player.currDex to x>> */ /* <<set $player.currAgi to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ /* <<set $player.currIsSubmissive to false>> */ /* <<set $player.currIsSlutty to false>> */ /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ /* <<set $player.currIsBlunt to false>> */ /* <<set $player.currIsGloomy to false>> */ <<set _ailment to 6>> /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 24>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 18>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a bouncy woman in a pink wet-look bikini. Her long and thick braided hair is pulled back and held in a loose pink scrunchie.">> <<if $player.charms.includes(13)>> <<set $allHarlots[_hi].shortDescription += " Below the waist she has the body of an enormous brownish-pink slug.">> <</if>>
/* Madam intro */ "And here is the lovely Veronicella," $npcMadam.name says. "She likes to squash men down and cover them in a slippery, sticky, messy, and very naughty body-to-body massage." <br> <br> /* Long description */ Veronicella is a pleasant-looking woman with a soft, curvy body. She wears a pink wet-look bikini with heart-shaped peepholes for her lovely pink nipples. The garment is far too scandalous for beachwear and clearly intended for the bedroom only.<br> <br> She has a wide friendly face with bright brown eyes and a little button nose. What you first took to be braided hair is in fact four long fleshy appendages swept back and loosely tied up with a pretty pink scrunchie.<br> <br> Her exposed pink flesh glistens slightly in the light, as if she's covered herself in a thin layer of oil. <<if $player.charms.includes(13)>> The reason for that becomes more apparent as you keep looking down her body and see her lower half swell out into the body of a giant slug. It's brownish-pink, about as long as she is tall, and is covered in a layer of moist slime that glistens in the light. Just what is she? <</if>> <br> <br> /* Harlot intro */ Veronicella offers her hand.<br> <br> "Hello, I'm Veronicella," she says. "Would you like me to give you a sexy slippery all-over body massage?"<br> <br> Her hand feels a little //moist//, but not unpleasantly so. <br>
Veronicella meets you by the stage and gives you an apologetic smile.<br> <br> "I'm sorry. I can't go into the bar with you. $npcMadam.name says I make too much of a mess of the carpet."<br> <br> <<if $player.charms.includes(13)>> You look down at her lower slug half. That's going to leave one hell of a slime trail, you think. <<else>> You look at her in puzzlement. How? <</if>><br> <br> "It's okay, though. Those meetings are just an opportunity for us to detail the services we offer. I can tell you here."<br> <br> Veronicella smiles. Her bosom is pushed out in a very provocative and enticing manner.<br> <br> "I do an all-over body massage. I'll climb on top of you and use my body to work out all the kinks and knots in your muscles. Then, once you're nicely turned on, we'll have a good filthy squelchy fuck."<br> <br> Her eyes gleam with filthy promise. She reaches down and strokes the crotch of your trousers.<br> <br> "That'll sort out the tension down here as well."<br> <br> With a saucy glance back over her shoulder, she returns to the curtained-off area.<br> <br> <<include [[Socialising: End]]>>
"Veronicella?"<br> <br> $npcGossip.name's face is quizzical.<br> <br> "You're interested in her? You do know what she is?"<br> <br> Her lips twist up in a crafty smile.<br> <br> "No, you probably don't, not with $npcMadam.name's illusions blanketing the lower floor. I won't spoil the surprise."<br> <br> She chuckles nastily.<br> <br> "Don't be put off by her appearance. Copulating with her sort is supposed to be quite pleasant... given their lowly status."<br> <br> She takes a haughty sip of her cocktail.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"How much can you bench press?\" $npcGossip.name asks, completely out of the blue. \"That might turn out to be quite relevant information,\" she adds cryptically."}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She likes to go on top, and once she gets on top she can be quite difficult to shift. She's heavier than she looks.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"There's no need to be afraid of her secretions. All they do is make you want to come.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Veronicella: First-Time Scenario]]>> <<else>> <<include [[Veronicella: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Good Gift */ [3,false,false] /* Survive */ ] }>> /* set other scenario-specific vars here */ <<include [[Veronicella: Enter Room]]>>
<<include [[Veronicella: First-Time Scenario]]>>
You walk into Veronicella's room and are surprised to find it more resembles a bathroom. There's a modern-looking shower cubicle off to the left. The walls, floor and ceiling are covered in pinkish-white tiles. Some are painted with stylised designs of bullrushes and similar marshy plants.<br> <br> A large inflatable mattress is on the floor in front of you. It is bright pink and shiny. It also looks both sturdy and comfortable. The back of the room is partitioned off with a folding screen patterned with more bullrushes and long grasses. It's not a particularly high screen. Veronicella is behind it and the screen only comes up to her lower ribs.<br> <br> "Come in," she says. "I was just getting ready."<br> <br> Standing side-on to you, she takes off her pink bikini top and you see the side of one of her voluptuous boobs.<br> <br> "What have you brought me?"<br> <br> She turns to face you, fully showing off her bouncy, curvaceous tits.<br> <br> You try not to ogle them too obviously as you hold up your gift.<br> <br> [[Continue.->Veronicella: Gift]]
<<if $cgi eq 0>> <<include [[Veronicella: Gift: Black Rose]]>> <<elseif $cgi eq 4>> <<include [[Veronicella: Gift: Oil]]>> <<elseif $cgi eq 12>> <<include [[Veronicella: Gift: Soap]]>> <<elseif $allGifts[$cgi].categories.includes(6)>> <<include [[Veronicella: Gift: Smutty]]>> <<elseif $allGifts[$cgi].categories.includesAny(5,7)>> <<include [[Veronicella: Gift: Good]]>> <<else>> <<include [[Veronicella: Gift: Default]]>> <</if>><br> <br> She gestures over to a neat little shelf to your left.<br> <br> "Just put it on the shelf there," she says.<br> <br> You do as she says.<br> <br> "Now, if you'll lie down there on the mattress, I'll come round and begin your massage."<br> <br> [[Continue.->Veronicella: Begin Massage]]
Veronicella looks at the $allGifts[$cgi].name.<br> <br> "Yes, I can do that," she says.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> Veronicella sees the $allGifts[$cgi].name and her smile twists up into a smirk.<br> <br> "You wouldn't believe the number of men who bring me that," she says. "It's not much use for me, but lets me know what they want."
"Ooh, no thanks," Veronicella says on seeing the $allGifts[$cgi].name. "I'm allergic. It does horrible things to my skin."
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "What a filthy mind you have," Veronicella says.<br> <br> Her smile widens.<br> <br> "I don't mind. So do I. Let's get properly filthy together."
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> "Mmm, I like that," Veronicella says when you show her the $allGifts[$cgi].name.
"How nice," she says, giving you a bright smile.
You make a move to the mattress and Veronicella holds up a hand to stop you. The corner of her lip turns up in a cheeky little smirk.<br> <br> "You might want to take those clothes off first," she says. "Unless you want me to make a sticky mess of them."<br> <br> You take your clothes off and place them on a nearby stool. You lie face-down on the airbed. It squeaks beneath you as your weight settles on top of it. The surface of the mattress is already wet and slippery. You think Veronicella must have poured some oil on it beforehand, although it feels viscous and stickier. At least it's warm enough to feel reasonably pleasant against your skin.<br> <br> "Be right with you," Veronicella says from somewhere behind you.<br> <br> The first you feel of her is her warm hands sliding up your calves. They seem to be slathered with the same lubricant. Like oil, but more viscous. Her hands slide up and down your calves, smoothing the muscles before moving up to the back of your thighs.<br> <br> "Just lie there and relax," Veronicella says as her warm hands slide up and down the back of your legs.<br> <br> She slides further up your body. Now it's her lubricated boobs sliding up and down your legs. She presses down and slides first your left leg and then your right leg along the groove of her cleavage. The feel of the soft globes of flesh rubbing against you builds an erotic charge within you. Her hands slide up to your buttocks.<br> <br> "Mmm, you have a nice ass," Veronicella says. She gives your bum a cheeky squeeze.<br> <br> You wait for her to slide her lovely bulging breasts up over your buttocks, but instead she pulls back. The air bed squeaks and you feel a displacement as she steps on the end.<br> <br> "Here I come," she says.<br> <br> [[Prepare yourself...->Veronicella: Splat]]
Veronicella falls upon you with a wet splat.<br> <br> Too much of a splat. Her body feels wider than it should. It feels fleshier. It feels like she's dropped a thick rubber sheet on you first. No, more like a soft mass that draws you up into it and moulds to your form. Moulds and squeezes. Your ass is given another cheeky squeeze, but this time not by hand.<br> <br> Veronicella also feels heavier than you expected. Heavy enough to pin you to the mattress.<br> <br> <<if $player.charms.includes(13)>> It's her lower slug body you realise. She's dropped it on you and squashed you beneath it.<br> <br> <</if>> You start to struggle as you try to squirm out from underneath the wet fleshy mass.<br> <br> Veronicella laughs. "Oh dear. I think you've figured out something's not right. I'll never be able to relax you like this. Hold on. I'll turn you over."<br> <br> The fleshy mass, far thicker than a sheet, bunches up around you. Still squirming, you're flipped over until you're lying on your back and looking up at Veronicella. Who isn't human. <<if $player.charms.includes(13)>> But then you already knew that. <</if>><br> <br> Above the waist she's relatively humanoid. Below the waist her body expands out in a fleshy sticky mass. It looks like the body of a giant slug and you're currently pinned beneath it. <<if not $player.charms.includes(13)>> You wonder why you didn't notice it earlier. <</if>><br> <br> Veronicella's upper body is also dripping in slime. She's also removed her scrunchie and what you thought was her hair is four long fleshy antennae. They're reminiscent of the eye stalks of a slug or snail, although you don't know how functional they are as Veronicella still seems to favour her regular human eyes for looking down at you. At least her smile is friendly enough.<br> <br> [[This is a sticky situation.->Veronicella: Slug Squash]]
"I'm sorry for the deception." Veronicella says. "I'm a slug girl. Some find our bodies off-putting and I didn't want to frighten you off."<br> <br> A giant slimy slug body, whatever would be off-putting about that?<br> <br> "It's unfair really," Veronicella continues. "Men judge us by what they see. They don't give us a chance to let us show them how we can make them //feel//."<br> <br> Her muscular foot moulds to your body and draws you up into it. The front of your body is gripped as if in a vacuum seal. It's a strange feeling, but also quite intimate. Every part of the front of your body is in contact with her and it feels nice to be gently squeezed.<br> <br> "Does that not feel nice," Veronicella says. "My body has a lot of advantages for pleasure. Even my slime has aphrodisiac properties. As I rub it in, you'll start to feel relaxed and horny."<br> <br> Her slug half squishes lewdly against you. Her massage becomes more erotic as she seeks out and toys with your erogenous zones. What feels like fleshy pads settle over your nipples and lightly suck. Another muscular pad moulds to and gently manipulates your genitals.<br> <br> <<if $cgi eq 0>> "To make sure you get what you want, I'll secrete some paralysing mucus. That will make you all nice and unresisting," Veronicella says.<br> <br> [[Continue.->Veronicella: Paralysing Mucus]] <<else>> What now? It doesn't feel bad, but it's still basically a giant slimy slug lying on top of you.<br> <br> [[You're okay with this, let it continue.->Veronicella: Massage: Continue]]<br> [[Try to throw her off.->Veronicella: Massage: Struggle]] <</if>>
<<set $hasUsedParalysingMucus to true>> Her face purses in concentration. A foamy secretion wells up all over her body. It forms a frothy lather on her underside. You're covered in warm, bubbly slime.<br> <br> It has an immediate effect. Your limbs suddenly feel as heavy as waterlogged sandbags. You no longer feel like you have the energy to do anything. It's a surprisingly pleasant feeling, like waking up in a warm bed on a cold winter day and wanting to do nothing more than stay comfortably huddled up under the duvet.<br> <br> Veronicella squishes more of the creamy froth into you until you're completely unresisting.<br> <br> "There," she says. "Now you should be able to properly enjoy this. Lie back and enjoy the tactile pleasures of my body."<br> <br> [[Continue.->Veronicella: Sex 1]]
"Lie back and enjoy the tactile pleasures of my body," Veronicella says.<br> <br> <<include [[Veronicella: Sex 1]]>>
It doesn't matter how good she can make you feel, she's still a disgusting giant slug. You don't want her gross body lying on top of you. You try to lift your upper body up and force her off you.<br> <br> "Don't struggle," Veronicella warns. "If you do, I'll be forced to secrete my paralysing mucus and then you won't have a chance of getting away."<br> <br> [[Keep struggling.->Veronicella: Massage: Keep Struggling]]<br> [[Stop struggling.->Veronicella: Massage: Stop Struggling]]
You ignore her and try to slide your arms out so you can get a hold and shove her off.<br> <br> "Oh well, don't say I didn't warn you," Veronicella says.<br> <br> <<include [[Veronicella: Paralysing Mucus]]>>
"Good," she says as you stop squirming beneath her. "Now lie back and enjoy the tactile pleasures of my body."<br> <br> <<include [[Veronicella: Sex 1]]>>
Her weight settles over you. You're drawn up by her fleshy foot and her moist body presses tightly all around you. It feels like a tight wetsuit – a second skin. She starts to pulse her body against you. It's a strange sensation. Your body is being worked all over just like a regular massage, but not by hands.<br> <br> Her slimy secretions, rather than feeling disgusting, feel pretty pleasant against your skin. Like sensual massage oil, but again with a different viscosity and feel. Between her slime and tender squeezes, you're starting to feel pleasantly comfortable and relaxed.<br> <br> "Oh good. I can feel you're getting relaxed," Veronicella says as she squishes her soft body against you.<br> <br> And also a little horny.<br> <br> You remember her saying her secretions have aphrodisiac properties. They must be starting to take effect. You feel the beginnings of an erection push up against her.<br> <br> "Ooh, not all of you is relaxed, if that thing I can feel pushing up against me is what I think it is," Veronicella says. "It's fine. This is //that// type of massage."<br> <br> She lets out a filthy giggle and wiggles her body against you. Your cock hardens further as it bounces up against her soft underside.<br> <br> "I have the perfect place to put that," Veronicella says.<br> <br> [[She does?->Veronicella: Sex 2]]
She creeps down your body. Your erection slides along her wet underside until it encounters a groove and then an opening.<br> <br> "There it is," Veronicella says. "In you go."<br> <br> She presses down and your erection pushes up into a warm slimy hole. It's tight, but dripping with so much slippery lubricant you slide in easily. The fleshy walls contract and throb around your cock. They manipulate and arouse it in a similar way to how her fleshy foot wraps around and squeezes the muscles of your body.<br> <br> "A relaxing massage followed by a dirty squelchy fuck, who could ask for better," Veronicella says.<br> <br> She sighs and moans. She starts moving her slug body up and down in billowing waves. The air mattress squeaks beneath your combined weight. You hear lewd squelching sounds as your bodies come together. You don't contribute much. For one, you can't. Your body is enveloped and squashed down by Veronicella's slug half. For another, you don't need to. You just lie back and enjoy the sensations.<br> <br> "Ooh yes," Veronicella sighs. "That look of disgust soon goes away the moment I start squelching their cock."<br> <br> Her pussy makes squishy squelching sounds as it squeezes and tugs your cock. Liberal amounts of warm lubricant bubble out and flood your crotch.<br> <br> Her lower slug half might look disgusting, but you can't deny the pleasure it's giving you. Your toes curl up against her squishy underside as you feel the orgasm bubble up inside you.<br> <br> [[Continue.->Veronicella: Semen Check]]
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Veronicella: Out of Semen]]>> <<else>> <<include [[Veronicella: Ejaculation]]>> <</if>>
"Is it coming?" Veronicella asks.<br> <br> She collapses down on you and shoves her big tits in your face. Her pussy tightens around your cock and pumps it with powerful throbbing tugs.<br> <br> It isn't.<br> <br> You want to, but you've already come so many times this night. Your body might be out.<br> <br> "You seem to seem to be struggling. Let me help."<br> <br> She gives a loud sigh and a pinkish-white secretion oozes up out of her pores and covers you in a bubbly froth. It feels warm and tingly against your skin. All desire to resist melts right out of you.<br> <br> "My digestive juices," Veronicella says. "They'll have you coming in no time at all."<br> <br> Digestive juices?<br> <br> "No need to look at me like that. They'll just make you want to cum."<br> <br> She bends over until her face is right above yours.<br> <br> "A lot," she whispers.<br> <br> [[Continue.->Veronicella: To Bad End: From No Semen]]
"Is it coming? Oh yes, I can feel it coming," Veronicella says.<br> <br> She collapses down on you and shoves her big tits in your face. Her pussy tightens around your cock and pumps it over the edge with powerful throbbing tugs.<br> <br> It's definitely coming. You gasp into Veronicella's slick cleavage as the climax overwhelms you. Your hips turn up as your semen boils up out of you and spurts up into her vagina. Her lower body gently enfolds you and presses you up against her as you empty your balls into her in great throbbing gouts.<br> <br> Afterwards, you lie back – relaxed – with Veronicella's body covering you like a thick fleshy blanket.<br> <br> "Mmm, did you enjoy that? Maybe my slug body isn't so bad after all. It feels like you let out a lot."<br> <br> Veronicella sits back up. Her lower slug half still covers most of your body.<br> <br> "I think I've nicely relaxed you and drained some of that tension from your balls," Veronicella says. "And now for the bad news."<br> <br> [[Bad News?->Veronicella: Bad News]]
Her eyes take on a hungry gleam as she smiles down at you. You also can't shake the feeling her flexible eyestalks are looking down at you as well.<br> <br> "I'm a predatory slug. Normally this would be the part where I slurp you all up."<br> <br> Your eyes widen in alarm.<br> <br> "However," Veronicella glances around her as if checking anyone is watching. "We are in the House and the House has rules. One of them is that the prey must always have a chance to escape. So this is your chance."<br> <br> She folds her arms beneath her big round breasts.<br> <br> "In a moment I'm going to start secreting my digestive mucus. If you can lift me up and tip me off before then you'll be fine. If not..."<br> <br> She chuckles darkly.<br> <br> "Okay, ready? Let's go!"<br> <br> [[Try to tip her off.->Veronicella: Strength Test]]<br> [[Lie back and do nothing.->Veronicella: Choose to Fail Strength Test]]
<<if $hasUsedParalysingMucus>> <<include [[Veronicella: Strength: Paralysed]]>> <<elseif $player.currStr lt 3>> <<include [[Veronicella: Strength: Too Weak]]>> <<else>> <<include [[Veronicella: Strength: Maybe]]>> <</if>>
You lie back and make no attempt to tip her off.<br> <br> Veronicella looks down at you in puzzlement.<br> <br> "You don't appear to be trying," she says.<br> <br> She puts a hand on her chin.<br> <br> "Maybe you want this. Very well. I'll be sure to make my secretions really thick and creamy, so you can fully enjoy the bliss of ejaculating your life away."<br> <br> [[Continue.->Veronicella: Strength: Fail]]
You will your body to throw her off, but you're still suffering from the aftereffects of her paralytic mucus. Your limbs still feel comfortably heavy and soporific, and refuse to move. All you can do is lie helpless beneath her slimy slug body.<br> <br> <<if $cgi eq 0>> "This is what you asked for. I'll be sure to make my secretions really thick and creamy, so you can fully enjoy the bliss of ejaculating your life away." <<else>> "Oh dear, it seems my paralysing mucus has left you too floppy and weak to do anything. I did warn you not to struggle." <</if>><br> <br> [[You failed.->Veronicella: Strength: Fail]]
You squirm underneath Veronicella. You push up with your hands.<br> <br> "Have you started yet?" Veronicella taunts, as if she can't feel anything at all.<br> <br> Her slimy, squishy body is surprisingly heavy. It's also really awkward to manhandle, like a giant sack filled with mud. The slippery slime coating her also makes it impossible to get any kind of purchase. You squirm and struggle ineffectually for a few minutes without being able to get her off you.<br> <br> Veronicella looks down disdainfully.<br> <br> "I could let you squirm away all day and I still don't think you'd be able to get out from underneath me."<br> <br> [[You failed.->Veronicella: Strength: Fail]]
You push up with your arms and try to get a good grip on her body. It's awkward. Her squishy form is awkward to manhandle, like a giant sack filled with mud. The slime covering her body also makes it really hard to get a good grip.<br> <br> "Struggling?" Veronicella asks.<br> <br> You persevere and manage to get an arm out from underneath her. You grab her side and start to lift her up and tilt her to the side.<br> <br> "Ooh. Ooh," Veronicella says.<br> <br> You lift her up and up. You could almost slither out if her soft body wasn't enfolding your other leg. Just a little more.<br> <br> <<set _ailment to 6>> <<include [[Check if Player Has Given Ailment]]>> <<if _hasAilment or $player.currStr lt 4>> [[Nearly there.->Veronicella: Strength: Not Enough]] <<else>> [[Nearly there.->Veronicella: Strength: Pass]] <</if>>
Veronicella puts her hands on her hips.<br> <br> "Time's up. Here it comes."<br> <br> You close your eyes and grit your teeth in preparation for the pain.<br> <br> Veronicella looks down at you and giggles.<br> <br> "Such a fearful face. You must not be familiar with daemons from the Dominion of Lust. There's not going to be any pain. It'll just make you want to come."<br> <br> She bends over until her face is right above yours.<br> <br> "A lot," she whispers.<br> <br> [[Continue.->Veronicella: To Bad End: From Str Fail]]
Your arm starts trembling. Your upward momentum slows then stops. Your arm shakes more violently. Your muscles ache.<br> <br> Just a little more.<br> <br> No good. Her wet slimy mass is too heavy. Your hand slips and Veronicella's wet slimy body falls back down on you with a splat.<br> <br> "And you were so close," Veronicella says.<br> <br> [[You failed.->Veronicella: Strength: Fail]]
You grit your teeth and keep going. More of your body comes free of her sticky clutch. It starts to get easier now that you can put more of your back into it.<br> <br> "I knew you could do it," Veronicella says.<br> <br> You peel her off you and roll her off to the side. Then, panting heavily, you scoot off the mattress in the opposite direction until your back comes up against the wall.<br> <br> Veronicella is on her back. Her slug tail twists, adheres to the floor and then she smoothly turns herself the right way up. She 'stands' up, or rather, her human half rises to an upright position.<br> <br> "That was fun," she says. "I love a good squelchy fuck. Did you enjoy your massage?" she asks.<br> <br> You're still backed up against the wall with your arms and legs curled round in defensive positions. Veronicella is acting like she didn't threaten to squirt digestive juices all over you a few minutes ago.<br> <br> She retrieves her pink bra and puts it back on.<br> <br> "I would have liked to have given your back a good working over. I felt a lot of tension there, especially between the shoulder blades. And now you've seen my true body we don't have to do the surprise splat. We can take it nice and slow and start with your back next time."<br> <br> Next time? She thinks there will be a next time?<br> <br> She looks at you and laughs.<br> <br> "There's no need to look at me like that," she says. "The House has rules. You passed my test, so you've nothing to fear from me."<br> <br> [[Continue.->Veronicella: Good End]]
She sweeps back her eyestalks and holds them in place with a pink scrunchie.<br> <br> "The House is dangerous. All the girls in here are lust daemons hungry for your life and soul. It's good to have someone you know you're safe with."<br> <br> She gives you a friendly enough smile, albeit one with lustful intent.<br> <br> "And you're safe with me. Unless you get tired or become weaker for some reason. Then I can show you what you missed."<br> <br> A pinkish-white froth bubbles up around the edges of her slug body.<br> <br> At least she no longer seems to be hostile. Warily, you get back to your feet and look for your clothes.<br> <br> "I'd take a shower first," Veronicella suggests. She points to the shower cubicle over in the corner. "I slimed you up pretty good. Tends to happen during a good squelch."<br> <br> You get in and shower. Veronicella's secretions wash off fairly easily. When you emerge, she's waiting with a towel. You still eye her warily as you dry yourself and get dressed.<br> <br> Veronicella gives you a little bow.<br> <br> "I hope you were satisfied. Please come again when you fancy a massage and a good hard squelchy fuck."<br> <br> Still confused by her switch from loving courtesan to predator and then back to courtesan again, you watch her warily as you leave. All things considered, it wasn't that bad, although you're not sure you're going to be able to look at slugs the same way again.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> /* faction increase */ <<include [[Default Harlot: Faction Increase]]>> <<include [[Veronicella: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
She sits back up. She closes her eyes and sighs suggestively. A pinkish-white secretion oozes up out of her pores and covers you in a bubbly froth. It feels warm and tingly against your skin. All desire to resist melts right out of you. Veronicella settles over you and her slug form covers you like a heavy rubber sheet.<br> <br> "Ooh, yes," Veronicella sighs.<br> <br> <<include [[Veronicella: Bad End 1]]>>
More froth bubbles up over you. Her body envelops yours. Her foot draws you up into her soft body and starts squeezing and rubbing your muscles. This is less a massage and more her rubbing in her juices. She draws your cock back into her pussy and gives it the same treatment. You start to feel warm, not from her body, but inside yours, as if something has turned the thermostat up.<br> <br> "Aah," Veronicella sighs.<br> <br> Her pussy vibrates and gushes more froth onto your genitals. Your cock swells inside her and stretches her vaginal walls.<br> <br> "Ooh," Veronicella sighs. "I love the effect my juices have on a man."<br> <br> Her vagina provides some resistance. The walls throb and pulse around your cock. Her body continues to squeeze and rub her juices into your flesh. The heat rises inside you and focuses down in your loins.<br> <br> You feel the desire to come rise within you and it's like it's lifting your whole body with it.<br> <br> "Here it comes," Veronicella says.<br> <br> [[Continue.->Veronicella: Bad End 2]]
<<unset $hasUsedParalysingMucus>>
Your ejaculation is a thundering bolt of cum that bursts out of your cock. Your whole body is wracked by spasms as you empty your balls in one great cannonball. It feels like firing a mortar off inside her and the recoil leaves you drained and breathless on the airbed.<br> <br> Her fleshy foot stops massaging her slime into you and instead she relaxes and settles over you. More froth bubbles up and soaks into you. You continue to feel incredibly horny. Your balls ache – wanting to fire off more shots, but being out of ammunition.<br> <br> "The first one is always explosive," Veronicella says. "Now we wait for my juices to take effect and refill your balls."<br> <br> Her body ripples around you in a luscious, full-body caress. She runs her hands through your hair while resting her soft boobs against your face.<br> <br> You feel it like a warm tide inside you – everything flowing down into balls. You start coming again, but this time it's a slow continuous stream, coaxed on by the throbbing pulses of her vagina.<br> <br> "This is the slow part," Veronicella says. "We don't have to rush."<br> <br> And she doesn't. She covers you in her juices and slowly sucks the cum from your body. What's left afterwards is a sticky, melted mess. Not that you care, you've long floated off on a cloud of purest sensual bliss before then.<br> <br> <<include [[Veronicella: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She sits back up. She settles over you and her slug form covers you like a heavy rubber sheet. She closes her eyes and sighs suggestively. More froth bubbles up and covers you in a thick cream.<br> <br> "Ah yes," Veronicella says. "Really thick and creamy. That'll get those balls working again."<br> <br> <<include [[Veronicella: Bad End 1]]>>
/* must start with linebreaks if wish to start on new line */ <br> <br> "I've heard certain... odd... rumours about her," $npcMoney.name asks. "Are they true? Is she really a... slug?"<br> <br> You confirm so.<br> <br> $npcMoney.name shudders.<br> <br> "Why would anyone want to?" /* must end with linebreaks if wish feedback to start on new line */ <br> <br>
"Squashed down by a giant slug, it sounds positively revolting," $npcMoney.name says. "And yet you say it's quite pleasant."<br> <br> He shakes his head in disbelief.<br> <br> "I'll take your word for it. Even if I was confident in my ability to lift her and pass her little test, which I'm most assuredly not, I still wouldn't be entering her room."
/* Anti-Digestion Charm */ <<set $charm to { number: 21, category: 0, cost: 5, explanation: "Protects the player from being absorbed and digested by some harlots.", name: "The War Paint of Wardell Pallace", description: "A paint pot and brush. The pot is filled with noxious looking brown paint.", functionHints: "\"In seeking the treasures of the great slime colony of Sulumb-Sschar, Wardell Pallace hit on the brilliant idea of covering his body with a special extract of the firepepper brush. It did make him indigestible to the slime girls, so they drowned him instead. The carrion birds refused to eat him, so his body lies – untouched – on the lake shore even to this day.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Smother Charm */ <<set $charm to { number: 22, category: 0, cost: 5, explanation: "Protects the player from the lethal smothering techniques of some harlots.", name: "The Iron Lungs of Ira Blackthorne", description: "A cast sculpture of a pair of lungs made from polished silver.", functionHints: "\"They say Ira Blackthorne had such a mighty lung capacity he could hold his breath for five whole minutes. The Sensuatrix Billoa Bleth filled those massive lungs with her sweet breath and her slave he became.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Hypnosis (Sound) Charm */ <<set $charm to { number: 23, category: 0, cost: 5, explanation: "Protects the player from the mind-controlling songs and other sound-based hypnotic techniques of some harlots.", name: "The Ear Muffs of Eric Duff", description: "An antique set of headphones that look as though they were made in the Victorian era.", functionHints: "\"Eric Duff thought these would protect him from the hypnotic songs of the salacious sirens of Sayim'dbar. If only he'd thought to protect himself from their kisses as well...\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Hypnosis (Sight) Charm */ <<set $charm to { number: 24, category: 0, cost: 5, explanation: "Protects the player from the sight-based hypnotic techniques of some harlots.", name: "The Great Meldomo's Mask", description: "A stylish black opera mask with covered eyeholes.", functionHints: "\"The Great Meldomo was a magician-turned-vampire hunter. He fashioned a mask to counter their hypnotic gazes. It served him well... until they lured him into falling through a hole in the floor of the cellars of Carnborne Castle.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Hypnosis (Gas) Charm */ <<set $charm to { number: 25, category: 0, cost: 5, explanation: "Protects the player from the mind-controlling perfumes and gases of some harlots.", name: "The Gas Mask of Gunther Guthrie", description: "A sturdy looking gas mask covered in occult wards and runes.", functionHints: "\"Gunther Guthrie had this made to enable his safe passage through the perfumed den of the Minh-Dha in order to rescue his kidnapped brother. The succubi were surprised at first when their soporific perfumes had no effect, but then realised there were twenty of them and just one Gunther Guthrie. They enjoyed him so much they released his brother as a gesture of goodwill.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Seduction (Magic) Charm */ <<set $charm to { number: 26, category: 0, cost: 5, explanation: "Protects the player from the charm and seduction magic of some harlots.", name: "Ezra Flint's Stone Heart", description: "A heart roughly hewn from stone.", functionHints: "\"Ah, 'Stone-Heart' Flint. He's a scary bedtime story told to young succubi. A man so mean and ornery he loved no woman, beast, or thing. The succubus Sappheelia killed him out of spite after he spurned her advances and was sentenced to exile as a result.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Toxin (Imbibed) Charm */ <<set $charm to { number: 27, category: 0, cost: 5, explanation: "Protects the player from the drugs and poisons of some harlots that are imbibed through the mouth.", name: "Cuddy Clough's Cast-Iron Belly", description: "A grotesque little pewter figurine of a grossly overweight man with his belly hanging out.", functionHints: "\"That's the great hog, Cuddy Clough. The only man to drink the milk of the Mammalyn Lacatatus and survive. A nigh unstoppable brute until the Thorned Rose of Jaardeenya pierced his skin with her poisonous thorns. It emptied every venom gland in her body, but by the end of it, so was Cuddy Clough.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Toxin (Injected) Charm */ <<set $charm to { number: 28, category: 0, cost: 5, explanation: "Projects the player from the drugs and venoms of some harlots that are injected into the bloodstream.", name: "The Blood of Baron Harcourt", description: "A delicate filigree sculpture of veins made from glass and filled with shimmering red liquid.", functionHints: "\"The adventurer Baron Harcourt spent years building up a resistance to the venom of the snake priestesses of Vish-na-Slar in order to steal the treasures of their temple. It took him to the final chamber, where his adventure came to an end as the non-venomous but monstrous-in-size Boap-y-th'conda swallowed him whole with her vagina.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Toxin (Skin Contact) Charm */ <<set $charm to { number: 29, category: 0, cost: 5, explanation: "Protects the player from the drugs and toxins of some harlots that are absorbed through the skin.", name: "The Wetsuit of Wellington du Plassis", description: "A tiny mannequin wearing an immaculately tailored diving suit.", functionHints: "\"The dilettante Wellington du Plassis had this made to settle a bet over whether it was possible to make love to the exotic-but-toxic amphibian women of the Peripalla Jungle. It worked too well as they took him captive and held him for thirty years as their breeding slave.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Pollen/Spore Charm */ <<set $charm to { number: 30, category: 0, cost: 5, explanation: "Protects the player from the mind-controlling pollen and spores of some harlots. (It does not charm them.)", name: "The Nose Plugs of Nadil Gupta", description: "A pair of nose plugs attached to an extravagant and bushy fake moustache.", functionHints: "\"Nadil Gupta swore his magnificent creation would not only block out alraune pollen and matango spores, but would charm them as well. Maybe he was right. The Great Pitcher Plant Nepenthia Chul let him luxuriate in blissful ecstasy in her pot for seven whole days before finally consuming him.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Anti-Kiss Charm */ <<set $charm to { number: 31, category: 0, cost: 5, explanation: "Protects the player from the mind-controlling kisses of some harlots.", name: "The Lipstick of Ludwig von Steinn", description: "A stick of shimmery blue lip gloss.", functionHints: "\"A strange accessory. The burly mercenary Ludwig von Steinn came up with it to protect against the venomous kisses of the Endewald arachnes. Sadly, it afforded little protection from their venomous vaginas.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Heat Resistance */ <<set $charm to { number: 32, category: 0, cost: 5, explanation: "Some harlots are too-hot-to-handle. This will save the player from meeting a fiery demise with them.", name: "Titus Inch's Patented Thermal Regulator", description: "A block of ice with wires and dials attached.", functionHints: "\"The engineer Titus Inch was besotted with the Salamandrix Queen of Vulcana and came up with this device to facilitate courting her. Tragically, he was suffocated by smog sylphs en route to her castle and his love remained unrequited.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Cold Resistance */ <<set $charm to { number: 33, category: 0, cost: 5, explanation: "Some harlots are dangerously chilling. This will keep the player warm in their presence.", name: "The Glowing Heart of Hideyoshi Kobachi", description: "A glowing heart embedded in a block of ice.", functionHints: "\"It is said that it was only his great love for her that kept Hideyoshi Kobachi alive after the Yuki-Onna Fubuki Hana froze him in a block of ice. Realising his feelings for her were genuine, she released him. Tragically, their relationship was cut short when a jealous rival drove an icicle through Hideyoshi's heart.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Escape Grapples Charm */ <<set $charm to { number: 34, category: 0, cost: 5, explanation: "Allows the player to break out of the otherwise inescapable grapples and holds of some harlots.", name: "The Belt of El-Anguila, the Eel", description: "A championship belt decorated with shiny gold plates.", functionHints: "\"The slight El-Anguila built a wrestling career on a suppleness and slipperiness of form that rendered him very difficult to pin and hold, and earned him the nickname 'The Eel'. Unwisely, he chose to accept a bout on a secret underground circuit, and found himself facing the giant blob girl Amoebella Glup. She engulfed him into her body and completely broke his spirit by pumping ten ejaculations out of him in front of the jeering crowd.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Escape Bindings Charm */ <<set $charm to { number: 35, category: 0, cost: 5, explanation: "Allows the player to slip out of the otherwise inescapable binds of some harlots.", name: "The Eminently Escapable Straitjacket", description: "A straitjacket decorated with stars and glitter to resemble a stage costume.", functionHints: "\"A prop of the escapologist Jazzy Jack Scappellini. He could escape anything, they say. No rope or lock could hold him. Sadly, he offended a local cult leader and ended up in the black womb of Zhub-Vagaromb, a prison from which not even souls escape.\"", effectOnPickupLink: "Charm Effect On Pickup: Default" }>>
/* Asphya */ <<set $hi to 11>> <<set $allHarlots[$hi] to { number: $hi, name: "Asphya", shortDescription: "", faction: 2, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, hasSpokenToNpcGossip: false, gifts: [3], affection: 0, preIntroductionLink: "Asphya: Pre-Introduction", introductionLink: "Asphya: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Asphya: Socialising", npcGossipLink: "Asphya: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Asphya: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Default Harlot: Populate Harlot Gossip", scenarioLink: "Asphya: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Asphya: Sell Exp Intro", sellExpBodyLink: "Asphya: Sell Exp Body", sellExpFeedbackLink: "Asphya: Sell Exp Feedback" }>> <<include [[$allHarlots[$hi].popNpcGossipLink]]>> <<include [[$allHarlots[$hi].popHarlotGossipLink]]>>
<<set $currentRound to 1>> <<include [[Create New Player: Default]]>> <<set $player.semenCount to 2>> <<set $player.money to 0>> <<set $player.charms.push(14)>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currAgi to x>> */ <<set $player.currConst to 3>> /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ /* <<set $player.currIsSubmissive to false>> */ /* <<set $player.currIsSlutty to false>> */ /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ /* <<set $player.currIsBlunt to false>> */ /* <<set $player.currIsGloomy to false>> */ /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 11>> <<set $allHarlots[$hi].hasSpokenToNpcGossip to true>> /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 3>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a short woman dressed from head to foot in a skintight black latex catsuit. She wears a gas mask with a loose airpipe hanging from the mouth.">>
/* Madam intro */ "Ah, here is Asphya," $npcMadam.name says. "You'll have to excuse her, she's very shy and doesn't talk. But in the room I promise she'll take your breath away."<br> <br> /* Long description */ Asphya has clearly come dressed for a fetish party. Her body is clothed in a skintight black latex catsuit. It moulds perfectly to the contours of her lithe form like a second skin. The only thing that gives it away as not skin is a zipper at the crotch. The latex gleams in the light as if freshly polished.<br> <br> The outfit even covers her head with a tight black rubber hood. The real fetish part is the gas mask covering her face. It resembles the old gas masks of the Great War, but as if given a modern makeover by a hip fashion designer. A rubber air hose hangs loosely from the front. Through the thick glass eyeholes you see a pair of big blue inquisitive eyes.<br> <br> /* Harlot intro */ As $npcMadam.name said, Asphya is not one for talking. She just eyes you up cautiously, like a bird or curious woodland animal. <br>
Asphya says nothing as you take her out into the bar. There is a svelte grace to her movements, which you drop back to appreciate. Her catsuit is so tight it leaves little to the imagination.<br> <br> You find a table.<br> <br> <<set $socNoMoneyLink to "Asphya: Socialising: No Money">> <<set $socDrinkLink to "Asphya: Socialising: Drinking">> <<include [[While Socialising]]>>
<br> <br> Despite your embarrassing lack of money, Asphya does not seem reproachful. She just tilts her head quizzically, like a bird. With no money to buy drinks, you both return in silence.<br> <br> <<include [[Socialising: End]]>>
The waitress returns with a $socialisingDrinks[$sdi].name for you and nothing for Asphya.<br> <br> Nothing is also what she says.<br> <br> Despite your best efforts to engage her in conversation, she merely sits there in silence and stares at you through the thick glass eyeholes of her gas mask. You stop trying and the both of you sit in silence until you decide this is a little too awkward and take her back to $npcMadam.name.<br> <br> <<include [[Socialising: End]]>>
<<set $allHarlots[$hi].hasSpokenToNpcGossip to true>> "Ah, Asphya. She's a guardian of the Great Latex Womb. A fragment of the Womb exists within the House. //How// is best not to ask, the House has many unusual quirks."<br> <br> $npcGossip.name exhales a cloud of perfumed smoke.<br> <br> "She's a quiet one. Is she an entity in her own right, or just an extension of the Womb? I've never been able to find the answer to that one."<br> <br> Thoughtfully, she sips her cocktail.<br> <br> "The Womb senses arousal and absorbs those in ecstasy into its walls. You'll need to keep as little of your body in contact with it as possible, otherwise you'll be pulled in. You'll need to fuck Asphya standing up. Don't lie on the floor. Don't lean against the wall. You'll sink in and be lost."<br> <br> She puffs on her cigarette holder.<br> <br> "How strong are those big thick legs of yours?"<br> <br> $npcGossip.name laughs.<br> <br> <<include [[Print Gossip Gossip]]>> <br> <br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"It's not strength. Asphya herself is as light as a feather. You could carry – and fuck – her all day. It's her other trick. She'll literally take your breath away, and then it becomes a good deal harder to stay on your feet, especially after she's filled your lungs with her corrupt air.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"I don't think she cares much for gifts, although I've heard she likes nice-smelling things.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"A big strong lad like you should be okay. She's as light as a feather. A cinch to carry. You'll have no problems at all.\""}>>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Asphya: First-Time Scenario]]>> <<else>> <<include [[Asphya: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [2,false,false], /* Gift - perfume */ [1,false,false], /* Gift - good */ [3,false,false] /* Survive */ ] }>> /* set other scenario-specific vars here */ <<include [[Asphya: Enter Room]]>>
<<include [[Asphya: First-Time Scenario]]>>
Asphya's room resembles a cave with padded latex walls. The floor gives beneath your feet like an air mattress. Disconcertingly, the walls, floor and ceiling appear to be moving in and out as though they are breathing. You hear a kind of mechanical wheezing and wonder if that's the sound of air pumps moving the walls back and forth. Every so often, a little puff of perfumed air escapes into the room.<br> <br> The overall effect is weird, intimate and strangely arousing. It would be a nice prop for a film set, but seems like overkill for a hooker's room. Then the House is pretty strange.<br> <br> The hooker, Asphya, is crouched over by the far end of the latex room. She sidesteps to the left while watching you. You can't tell if she's stalking you, or just wary.<br> <br> You hold out your gift as a gesture.<br> <br> Asphya skips forward with fluid, alien grace and takes the $allGifts[$cgi].name from you.<br> <br> [[Continue.->Asphya: Gift]]
<<if $cgi eq 0>> <<include [[Asphya: Gift: Black Rose]]>> <<include [[Asphya: Good Gift End]]>> <<elseif $cgi eq 3>> <<include [[Asphya: Gift: Perfume]]>> <<include [[Asphya: Good Gift End]]>> <<elseif $allGifts[$cgi].categories.includes(2)>> <<include [[Asphya: Gift: Good]]>> <<include [[Asphya: Good Gift End]]>> <<else>> <<include [[Asphya: Gift: Bad]]>> <</if>><br> <br> [[Continue.->Asphya: Stalks You]]
Asphya takes the $allGifts[$cgi].name from you and puts it to the end of her airpipe as if sniffing it.<br> <br> She looks at you and nods. Then she
skitters off to the back of the room to stash it away in a hidden fold of latex.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> Asphya seems visibly excited when you show her the $allGifts[$cgi].name. She takes it from you and sprays her wrist. She places it under her airpipe as if sniffing it. Her big eyes close and you think she's smiling behind her mask. She
<<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> She puts the $allGifts[$cgi].name to the end of her airpipe as if sniffing it. Though it's hard to tell, you think she's pleased with your gift. She
Asphya doesn't seem impressed with your gift. She examines it before dismissively tossing it over her shoulder and into one of the tucked away corners.
Asphya goes back to warily circling you, at one point crouching so low she goes down on all-fours on her hands. You wonder what to do. This is all a bit freaky.<br> <br> Asphya stops and points to you. She gestures to you and then moves her hands as if she's miming taking a jacket off. You think she wants you to take your clothes off. This is confirmed when she starts nodding eagerly when you begin disrobing. You take off your clothes and, seeing nowhere to put them, leave them in a pile next to the door.<br> <br> You already have an erection, which surprises you. You suppose Asphya has a pretty hot bod beneath her latex catsuit and odd behaviour, but it seems more than that. You feel a puff of warm air from one of the pores in the latex wall. It smells perfumed. Maybe there's something in it. It is quite heady.<br> <br> The floor also feels surprisingly warm and soft beneath your toes, almost like you're walking more on skin than rubber.<br> <br> Now that you've undressed, Asphya's behaviour changes. She stands up straight and strikes a sexy pose. She reaches down and slowly unzips her crotch. Teasingly, she turns to show her delicious shiny rump rather than expose her sex to you.<br> <br> [[Continue.->Asphya: Pounce]]
Then she's back to her strange feral, crouched-down circling behaviour. Except this time it seems weirdly sensual, like an odd courtship ritual.<br> <br> You keep watching her, wondering what's to come next. Even with you watching her, what she does next still takes you by surprise. Using the springy floor as a launch pad, she rapidly closes the distance, jumps at you, and wraps her legs and arms around you.<br> <br> Asphya has a surprising lightness of weight and – for want of a better word – //floatiness//. At that speed you would have expected her to knock you backwards. Instead, you're barely rocked on your heels. She's lighter than even her slight form suggests.<br> <br> You stand there with her legs wrapped around your waist and her arms loosely draped around your neck and shoulders. Instinctively, you move your arms around and cup your hands under her ass to support her. The latex covering her ass cheeks feels smooth beneath your fingers.<br> <br> Asphya's eyes stare into yours through the glass windows of her mask. She pushes her hips down and slowly impales herself on your erection.<br> <br> [[Continue.->Asphya: Sex On Feet]]
She's tight, and while she doesn't feel wet as such, your cock still smoothly slides up inside her. It's pleasant, but feels slightly artificial. You feel pressure all around from her walls, but it feels more like air pressure, as if Asphya is some kind of inflatable doll rather than a person.<br> <br> It is a //comfortable// pressure, and when she starts to bounce against you, if feels very comfortable indeed. You stand there with your hands on her ass. You don't really need them to support her. Asphya's legs are wrapped tightly around you and she's so light there's little risk of her falling. Instead, you let your hands roam all over the smooth curves of her ass. Your cock slides back and forth inside her and is gently squeezed by the internal pressure of her body.<br> <br> Normally, you wouldn't be able to do this for too long before her weight would become too much. However, Asphya seems to not have any weight at all, and she's also doing nearly all the work. All you have to do is stand there and enjoy the sensation of your cock sliding back and forth inside her tight pussy.<br> <br> Your attention is shifted from the pleasures of sex when you spot the air hose of her mask start moving of its own accord. The end curls up like an elephant's trunk and opens up. You have time to notice that the interior of the pipe seems strangely //organic// and that it terminates in a round ring of supple flesh that looks like lips. Then those 'lips' close over your mouth and nose and form a tight seal to hold the pipe in place.<br> <br> [[What is this?->Asphya: Air Suck]]
Asphya's eyes are crazy bright now. Still with her lips bouncing away on your cock, she leans back and draws in a deep breath. Her chest expands and the air is sucked from your lungs. You are held, airless, for a brief panic-stricken moment, as if you've been thrown into the vacuum of deep space. Your legs wobble. Stars spark behind your eyes.<br> <br> Asphya exhales and air re-enters your lungs in a great flood. It comes back tainted – thick, corrupted, sinful. It seeps out into your body and fills you with unnatural desires. Your hands, which were in the middle of reaching up to grasp Asphya's airpipe, fall slackly to your sides.<br> <br> Your cock suddenly feels larger and more sensitive. Hotter too. And from within, not just from the delicious sexual friction of Asphya's tight pussy.<br> <br> Asphya's chest expands as she takes another deep breath, emptying your lungs of air in the process.<br> <br> More stars flicker numbly in your brain. Your legs tremble and you rock a little on your feet.<br> <br> <<if $allHarlots[$hi].hasSpokenToNpcGossip>> You remember what $npcGossip.name told you. You need to stay on your feet.<br> <br> [[Let yourself fall anyway.->Asphya: Choose Floor]]<br> [[Stay on your feet.->Asphya: Choose Feet]] <<else>> [[The floor is soft. Let yourself fall onto it.->Asphya: Choose Floor]]<br> [[Stay on your feet.->Asphya: Choose Feet]] <</if>>
Screw this. Fucking standing up is far too much work. You let yourself fall back onto the soft and comfortable floor. It feels like a massive air mattress, but with a softer and warmer surface.<br> <br> Asphya comes with you and redoubles her efforts. Strangely, she seems to have gained mass. You can feel her weight on your lap and the bouncing thrusts of her hips have more force behind them. So much so, you give up trying to push back and let the springiness of the rubber floor do the work for you.<br> <br> She breathes quicker and, because you're connected, so do you. She exhales more tainted air into you. It seeps from your lungs and fills your whole body, fills your mind with lustful thoughts. Your dick swells inside her and Asphya rides you and moves her hips in ways that have her vagina stroke and squeeze every millimetre of your engorged penis.<br> <br> The desire to come rises within you and, sensing it, Asphya speeds up. Her pussy squeezes snugly around your cock and feels like an extra soft milking sleeve.<br> <br> She rides you all the way to the brink of orgasm, then slams right down with her hips, taking in the whole of your length and letting the pressure throb around your sensitised glans. Unable to hold it in any longer, you erupt and spurt cum inside her.<br> <br> [[She's not finished...->Asphya: Bad End]]
Asphya breathes her corrupted and sinful air back into you. You stay on your feet.<br> <br> Barely.<br> <br> Your thoughts are hot and sweaty with sex. Your cock is so sensitive it feels like it's swollen to twice its size.<br> <br> Asphya hugs you tighter. You feel her latex-covered chest rise and fall against you as she breathes for the two of you. You are hilted all the way inside her vagina. Her bounces are shorter and she pays special attention to letting the underside of your glans rub against her vaginal wall. A little hug. A little squeeze. Stoking that lustful heat within you higher and higher.<br> <br> She takes another big breath and this time it feels like her pussy is inhaling you too.<br> <br> <<include [[Asphya: Semen Check]]>>
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Asphya: Out Of Semen]]>> <<else>> <<include [[Asphya: Has Semen]]>> <</if>>
Thinking you're about to come, Asphya pushes all the way down with her hips and lets her vagina pulse around your glans.<br> <br> She seems disappointed when this isn't enough to make you come. She goes back to lithely bouncing on your cock. She sucks out the air in your lungs and the next exhalation she fills you back up with is far more corrupted than before. The air is thick and sticky – a stew of scandalous perfume, gaping vaginas and impure thoughts.<br> <br> Your balls are already drained. Asphya inhales and now it feels like your energy is being drained as well. Even as light as Asphya is, your legs are wobbling like jelly. Each thrust of her hips, each slap of crotch on crotch, rocks you further back on your heels, until finally you topple backwards. Thankfully, the floor is soft and yielding. It feels like a massive air mattress, but with a softer and warmer surface.<br> <br> The impact lodges your hard cock deep inside her. The increased pressure is enough to finally tip you over the edge. You groan and fountain cum up inside her.<br> <br> [[She's not finished...->Asphya: Bad End]]
You can't hold back. Your hips jerk and you loose a thick stream up into her tight pussy.<br> <br> <<if $allHarlots[$hi].hasSpokenToNpcGossip>> Stay on your feet, you think, mindful of $npcGossip.name's warning.<br> <br> [[Stay on your feet!->Asphya: Const Check]] <<else>> [[You rock on your feet.->Asphya: Const Check]] <</if>>
<<if $cgi eq 0 or $player.currConst lt 4>> <<include [[Asphya: Const Fail]]>> <<else>> <<include [[Asphya: Good End]]>> <</if>>
Somehow you stay on your feet, even as your body is trembling so hard from the orgasm it's turning your knees to jelly. The floor beneath your feet seems softer and your footing less certain.<br> <br> You stay upright.<br> <br> Even after Asphya inhales again and your orgasm sparks back to a second surging peak that empties your balls and leaves your legs wobbling like spaghetti. You moan in bliss as your cock throbs and you pour semen inside her throbbing pussy.<br> <br> That at least seems to be the last of it as afterwards Asphya is content to breathe normally. She hugs you close and lets her vagina milk the last dribbles out of your cock with gentle little pulses.<br> <br> Your head still goes a little funny. Your knees feel very weak. You think you might fall, but then Asphya is standing next to you and supporting you, even though you don't recall her getting off you. The floor is strangely soft and sticky, as if it's been churned to clinging mud. Your feet are sunk in and you need Asphya's help to pull them free of the cloying clutch of the floor. You glance suspiciously at the spot, wondering what could have caused the latex floor to seemingly melt.<br> <br> She helps you over to your pile of clothes, by which point the wooziness and clouds fogging your thoughts have cleared. You put your clothes back on. Asphya returns to the back of the latex room and curls up like a cat on the comfortable padded floor.<br> <br> You turn and leave the unusual room, with its equally unusual occupant, behind.<br> <br> /* scoring */ <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> /* faction increase */ <<include [[Default Harlot: Faction Increase]]>> <<include [[Asphya: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
The orgasm rocks you to the core and leaves your legs wobbling like overcooked spaghetti. Like this, they can't even support your weight, let alone Asphya's on top of it. You fall backwards onto the thankfully soft and yielding floor. It feels like a massive air mattress, but with a softer and warmer surface.<br> <br> The impact lodges your hard cock deep inside her. It triggers another pleasurable throb, which quickly balloons into another ejaculation as you spurt more cum inside her.<br> <br> [[She's not finished...->Asphya: Bad End]]
The cum has barely finished dribbling out of your cock when Asphya starts up again. She rides you with powerful long bouncing thrusts of her hips. The pressurised sleeve of her pussy strokes up and down and generates a strong milking sensation. The tainted air Asphya exhales into you is a thick smog of wanton perfume and unbridled carnal desire. It fills up your lungs and makes you feel heavy. Asphya feels heavier too. With each thudding impact of her crotch she seems to be driving you deeper into the padded floor. You feel like you're slowly sinking into the softness.<br> <br> The long tight strokes of her pussy draw you to the brink of another orgasm. Asphya hugs you close and lets her vagina milk you with throbbing squeezes. Helplessly, you erupt and spurt even more cum inside her. She keeps rocking her hips against you, slowly pushing you deeper into the soft floor as she milks out your semen.<br> <br> You really are sinking now. The latex floor is stretching like soft rubber. Stretching, but also becoming porous and sticky. Your body starts sinking into the floor as if it's soft black mud.<br> <br> Asphya keeps riding your still-hard cock. Keeps you twitching helplessly from the pleasurable stimulation and unable to do anything. Each lithe bounce of her hips pushes you deeper.<br> <br> You feel you should resist, but you feel so heavy and the floor so soft. Her fumes have permeated your whole body and left you feeling like a heavy bag of sand. She keeps riding you to orgasm after orgasm and you don't want it to stop.<br> <br> You sink down and diffuse out into comfortable darkness. You are absorbed by the walls of the Great Latex Womb and never seen again.<br> <br> <<include [[Asphya: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* Text Here */ "That's the unusual girl with the gas mask, right? I've heard she doesn't speak much. And that strange appearance... I've heard some find it arousing."<br> <br> He huffs.<br> <br> "Who am I to judge."<br> <br> He brings out his notebook.<br> <br> "Tell me about Asphya." /* always end in line breaks */ <br> <br>
<<set _perfume to _scoreArray[0][1] and not _osa[0][2]>> <<set _scented to _scoreArray[1][1] and not _osa[1][2]>> <<if _perfume or _scented>> <br> <br> "She likes <<if _perfume>>perfume?<<else>>nice scents?<</if>> I wouldn't have thought she'd be one to appreciate that. How does she smell anything with that mask on?"<br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
"You had sex with her standing up? I know you say she's a lot lighter than she looks, but my poor back has spasms just thinking about it."<br> <br> He leans forward to rub his back. <<if $allHarlots[$hi].hasSpokenToNpcGossip>> <br><br> "You want to know the strangest thing. Every single person I've spoken to had sexual intercourse with her in the standing position. Every single one. I swear it's a prank of that booze-sozzled harridan."<br> <br> He glances over to the bar where $npcGossip.name is sitting.<br> <br> "Damnable woman lies all the time for her own amusement." <</if>>
<<set _gossipObj to $allHarlots[$hi].gossipGossip.pluck()>> <<print _gossipObj.text>> <<if $player.charms.includes(14) and _gossipObj.isLie>> <br> <br> ''You feel a sudden hot scratchy feeling on the back of your shoulder.'' <</if>>
/* Pêl-O Sugn */ <<set $hi to 12>> <<set $allHarlots[$hi] to { number: $hi, name: "Pêl-O Sugn", shortDescription: "", faction: 2, factionIncrease: [false], minRound: 1, maxRound: 12, isRepeatable: false, hasBeenVisited: false, gifts: [6,7], affection: 0, preIntroductionLink: "Pel-O: Pre-Introduction", introductionLink: "Pel-O: Introduction", ifNotChosenLink: "Default Harlot: If Not Chosen", ifMulligannedLink: "Default Harlot: If Mulliganned", socialisingLink: "Pel-O: Socialising", npcGossipLink: "Pel-O: NPC Gossip", gossipGossip: [], popNpcGossipLink: "Pel-O: Populate Gossip Gossip", harlotGossip: [], popHarlotGossipLink: "Pel-O: Populate Harlot Gossip", scenarioLink: "Pel-O: Scenario", sellExpLink: "Default Harlot: Sell Exp", sellExpIntroLink: "Default Harlot: Sell Exp Intro", sellExpBodyLink: "Pel-O: Sell Exp Body", sellExpFeedbackLink: "Pel-O: 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 $npcPotion.semenHarvested to 1>> /* <<set $player.currStr to x>> */ /* <<set $player.currDex to x>> */ /* <<set $player.currAgi to x>> */ /* <<set $player.currConst to x>> */ /* <<set $player.currWill to x>> */ /* <<set $player.currInt to x>> */ /* <<set $player.currIsSubmissive to false>> */ /* <<set $player.currIsSlutty to false>> */ /* <<set $player.currIsSerious to false>> */ /* <<set $player.currIsCautious to false>> */ /* <<set $player.currIsBlunt to false>> */ /* <<set $player.currIsGloomy to false>> */ /* <<set _ailment to X>> */ /* <<include [[Add Player Hidden Ailment]]>> */ <<set $hi to 12>> /* <<set $allHarlots[$hi].<property> to <value>>> */ /* <<set $cgi to $allHarlots[$hi].gifts[0]>> */ <<set $cgi to 1>> <<include [[Harlot Tester: Intro]]>>
<<set $allHarlots[_hi].shortDescription to "a sleek and slender girl in a figure-hugging grey catsuit sitting on what looks like a giant grey and slightly deflated rubber ball.">>
/* Madam intro */ "This is the bouncy Pêl-O Sugn," $npcMadam.name says. "I hope you're in good shape. Her demand for bodily fluids is quite insatiable." <br> <br> /* Long description */ Pêl-O Sugn is a sleek and slender young woman. At first you take her to be wearing a skintight grey rubber catsuit with electric-blue trim. On closer inspection, you wonder if that might be her skin. Her face is the same colour and has the same plastic sheen, making her resemble a futuristic android or similarly synthetic being. Parallel blue lines run up her cheeks and across her forehead. The same blue stripes run down her sides and under the smooth bulge of her chest.<br> <br> She sits on a large elastic ball. It is the same shade of grey as her body and as with her, subdivided by parallel electric-blue stripes. It sags beneath her weight and looks comfortable to sit upon, like a large glossy cushion.<br> <br> Despite a synthetic appearance that speaks of cold and fashionable chic, Pêl-O has a warm and welcoming smile. Her plastic-wire hair is swept back in neat, cornrow dreads.<br> <br> /* Harlot intro */ "Hello," Pêl-O says. "Would you like a bounce on my ball?"<br> <br> The question is innocent enough. Her gaze and smile supply the lascivious innuendo behind it. <br>
You meet Pêl-O Sugn at the edge of the stage. She's still lounging on her big elastic ball.<br> <br> "$npcMadam.name told me you were interested in speaking with me," she says. "Normally, we're supposed to go with the patron for a drink so they can find out more about us and what services we offer. It's a little awkward for me, so we'll have to speak here."<br> <br> You wonder if this has anything to do with the big ball she's sitting on. Is she indelibly connected to it in some way?<br> <br> "My services all take place on this," Pêl-O says, patting the surface of the ball.<br> <br> She takes your hand and presses it against the side of the ball. It looks synthetic, yet feels like flesh. It's like touching the lovely smooth curve of a breast or ass.<br> <br> "You can lie on your front and I'll give you a slow, sensual full-body massage. Or you can lie on your back and I'll give you a fast bouncy fuck. Or even both if you feel up to it."<br> <br> She smiles. As synthetic as she looks, there is plenty of human warmth to her smile. She seems more like a hot actress playing an android in a sci-fi show than an actual cold-machine android.<br> <br> <<include [[Socialising: End]]>>
"She's one of $npcPotion.name's synthetic beings. One of her early harvester units. That 'ball' she sits on is part of her body. It's to store all the 'fluids' she collects. Makes for quite a bouncy mattress as well, if you know what I mean."<br> <br> $npcGossip.name gives you a filthy wink.<br> <br> "Unlike most of the others, Pêl-O is still fairly loyal to her creator. A little too loyal. And enthusiastic."<br> <br> $npcGossip.name sips her drink.<br> <br> "She can drain everything from a man, and I do mean //everything//. $npcMadam.name had to impose strict stipulations on that."<br> <br> Her smoke wreathes her face.<br> <br> <<include [[Print Gossip Gossip]]>> <br><br>
<<set $allHarlots[$hi].gossipGossip[0] to { isLie: false, text: "\"She's only permitted to collect full samples from men that aren't already on $npcPotion.name's records. That's men that haven't already given either $npcPotion.name or one of her creations a semen sample.\""}>> <<set $allHarlots[$hi].gossipGossip[1] to { isLie: false, text: "\"She has two vaginas. The small one will give you a pleasant suck. The bigger one will suck all the semen out of you and maybe some other stuff as well.\""}>> <<set $allHarlots[$hi].gossipGossip[2] to { isLie: true, text: "\"Her main fluid harvesting is carried out by her lower orifice. She can't suck all your fluids out through your cock with her regular vagina. Not enough capacity.\""}>>
<<set $allHarlots[$hi].harlotGossip[0] to "Va-kyuuma does not have sex to get pregnant.\"">> <<set $allHarlots[$hi].harlotGossip[1] to "Couchelaxa has some strange notions. You might want to talk to her beforehand.\"">>
<<set $isFactionIncrease to false>> <<if $allHarlots[$hi].hasBeenVisited eq false>> <<include [[Pel-O: First-Time Scenario]]>> <<else>> <<include [[Pel-O: Repeat Scenario]]>> <</if>>
/* create score array */ <<set $player.roomScores[$currentRound - 1] to { round: $currentRound, harlotNumber: $hi, scoreArray: [ [1,false,false], /* Good gift */ [2,false,false], /* Minor Unit */ [3,false,false], /* Major Unit - Small Sample */ [7,false,false], /* Major Unit - Medium Sample */ [13,false,false] /* Major Unit - Large Sample */ ] }>> /* set other scenario-specific vars here */ <<set $semenGiven to 0>> <<include [[Pel-O: Enter Room]]>>
<<include [[Pel-O: First-Time Scenario]]>>
Pêl-O Sugn's room has a strong retro-futuristic feel. The cream-coloured walls are dimpled with decorative hemispheres and look like the set of an old sci-fi TV show. The floor is covered in a springy grey mat. The room is lit up by stylish lollipop lamps in each of the corners.<br> <br> Pêl-O sits in the centre of the room on top of her giant squashable rubber ball. Seeing you enter, she smiles flirtatiously and opens her legs to reveal the folds of her sex. Catsuit has become skin, even though it's grey, has a glossy sheen and is decorated with parallel blue lines.<br> <br> "Come in," Pêl-O says.<br> <br> You walk over and give her your gift.<br> <br> [[Continue.->Pel-O: Gift]]
<<if $cgi eq 0>> <<include [[Pel-O: Gift: Black Rose]]>> <<elseif $cgi eq 6>> <<include [[Pel-O: Gift: Blood]]>> <<elseif $cgi eq 7>> <<include [[Pel-O: Gift: Fluffy Thing]]>> <<elseif $allGifts[$cgi].categories.includes(14)>> <<include [[Pel-O: Gift: Bodyparts]]>> <<else>> <<include [[Pel-O: Gift: Default]]>> <</if>><br> <br> "Now, if you'll get undressed, I'll go over your options," Pêl-O says.<br> <br> [[Continue.->Pel-O: Undressing]]
Pêl-O's eyes light up as you show her the $allGifts[$cgi].name.<br> <br> "The best gift of all," she says. "Thank you."<br> <br> She then surprises you by tossing the $allGifts[$cgi].name haphazardly into a bin in the far corner of the room.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> Pêl-O lifts the $allGifts[$cgi].name up and examines the contents.<br> <br> "Seems good quality," she says.<br> <br> She reaches down beneath her and stashes the $allGifts[$cgi].name in a hidden pouch in the surface of the giant rubber ball.
Pêl-O frowns on receiving the $allGifts[$cgi].name.<br> <br> "I only take samples from humans," she says.<br> <br> She tosses the $allGifts[$cgi].name haphazardly into a bin in the far corner of the room.
<<set $player.roomScores[$currentRound - 1].scoreArray[0][1] to true>> Pêl-O seems happy to receive the $allGifts[$cgi].name.<br> <br> "I'm sure I'll be able to squeeze some juice from this," she says.<br> <br> She reaches down beneath her and stashes the $allGifts[$cgi].name in a hidden pouch in the surface of the giant rubber ball.
"No use to me at all, I'm afraid," Pêl-O says as she takes the $allGifts[$cgi].name from you.<br> <br> She tosses the $allGifts[$cgi].name haphazardly into a bin in the far corner of the room.
You take your clothes off. There doesn't appear to be anywhere to put them, so you leave them in a small pile on the floor.<br> <br> "Semen extraction will be carried out on top of my major semen extraction unit. It's quite comfortable."<br> <br> She pats the top of her rubber ball.<br> <br> "My minor semen extraction unit will take the top position. You can choose to lie on your front and have your semen extracted by my major unit. Or you can lie on your back and be extracted by my minor unit."<br> <br> She sees your completely blank look.<br> <br> "Would you like a slow, sensual full-body massage? Or an energetic bouncy cowgirl fuck?"<br> <br> [[Sensual full-body massage.->Pel-O: Choose Massage]]<br> [[Bouncy cowgirl fuck.->Pel-O: Choose Sex]]
/* Entrails */ <<set $gift to { number: 20, name: "Entrails", description: "A steaming pile of entrails.", categories: [12,14] }>>
<<include [[Pel-O: Climb On Ball]]>> Pêl-O turns you onto your front and slides you down between her legs until she's straddling your buttocks.<br> <br> "Get comfortable and I'll begin," Pêl-O says.<br> <br> <<include [[Pel-O: Begin Massage]]>>
<<include [[Pel-O: Climb On Ball]]>> Pêl-O slides you down between her legs until she's straddling your upper thighs. The ball squashes down beneath you and forms a comfortable cushion. It's like lying on a circular mattress, albeit a small one.<br> <br> Pêl-O sits on top of you and runs her hands over the sleek curves of her body. It's still difficult to determine if what you're looking at is a skintight catsuit, or her skin. She looks gorgeous either way. Your cock rises up in anticipation as your eyes drink in her body.<br> <br> "Let me get you properly prepped," Pêl-O says. "Engaging arousing caress."<br> <br> [[Continue.->Pel-O: Minor Unit: Sex 1]]
Pêl-O takes your hands and helps you up on top of her ball. It's not as awkward as you were anticipating. The ball must be fixed to the floor as it stays in place as you clamber up on top of it. It's also quite squashable – spreading out beneath you to form a comfortable cushion.<br> <br>
Pêl-O lies down on top of your and starts rubbing the soft mounds of her tits against you in slow circles. She runs her magnificent hands up and down your arms and you feel them go floppy and relaxed beneath her pleasant touch.<br> <br> "Think sexy thoughts," Pêl-O whispers in your ears.<br> <br> That's not exactly hard with her warm body lying on top of you.<br> <br> "Mmm, yes. Let that cock grow hard. Think about how good it will feel to slide it into my tight warm pussy."<br> <br> She slides her hands down your sides, sending pleasant vibrations into your body.<br> <br> "Yes, you want to fuck me. You want to stick that big hard cock of yours into me and feel my pussy squeeze it."<br> <br> Her switch to dirty talk is unexpected but damn effective. You feel your cock swell beneath you.<br> <br> "Are you getting nice and hard down there?" She blows in your ear. "Let me suck all that filthy cum out of you."<br> <br> Pêl-O bounces her hips on top of you, causing you to grind against the soft surface of the ball. Your cock lengthens further.<br> <br> "Arousal response detected. Focusing on genitals," Pêl-O says.<br> <br> [[Continue.->Pel-O: Genital Massage]]
She sits back up and slides down to the back of your knees. One hand slides between your legs and starts to stroke up and down your cock. She fondles your balls and lets her fingers caress your shaft. Instinctively, you lift your hips to give her easier access.<br> <br> Pêl-O slides her other hand underneath. Both wrap around your cock and pump up and down as if she's milking you. That pleasant vibration starts up again, this time focused on your penis. You shudder in pleasure.<br> <br> "Maximum erection achieved," Pêl-O states. "Commencing insertion."<br> <br> A little lump rises up on the surface of the ball. The skin dimples to form the rough impression of a vagina, then opens up to reveal a moist pink interior.<br> <br> //What the?// You look at in shocked surprise.<br> <br> "Fear response detected. Engaging bondage protocols."<br> <br> The surface of the ball softens beneath your hands and feet. They sink in and elastic bands whip around your wrists and ankles to tether you to the top of the ball.<br> <br> "Engaging direct stimulation of cortical pleasure centres."<br> <br> [[Continue.->Pel-O: Major Unit: Sex 1]]
Pêl-O lies back down on top of you and clasps her hands to the sides of your head. You feel a strange vibration reverberate through your skull and then...<br> <br> //Ooh.// That feels nice.<br> <br> You don't know what she's doing, only that you suddenly feel incredibly pleasant.<br> <br> You relax and lie down on top of the ball. The orifice catches the head of your cock and sucks it down. Warm fleshy walls press lightly around your member.<br> <br> "Penis inserted into major semen extraction unit," Pêl-O says. "Commencing ejaculation inducement."<br> <br> The elastic ball swells out at the sides. Your cock is sucked in right down to the root.<br> <br> "This is my other pussy," Pêl-O whispers huskily in your ear. "I use it when I want to give dirty cocks a really big suck."<br> <br> The elastic ball starts to slowly expand and contract beneath you. Your body rises up and down with it. Each expansion grips your cock with waves of rippling suction. Pêl-O moves against you with the same rhythm.<br> <br> "Most men don't last beyond the fifth pulse," she whispers in your ear.<br> <br> [[Continue.->Pel-O: Major Unit: 1st Semen Check]]
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Pel-O: Major Unit: No Semen 1]]>> <<else>> <<include [[Pel-O: Major Unit: 1st Ejaculation]]>> <</if>>
You do, but you think that might be because the other harlots in the House have already comprehensibly drained your balls, rather than you possessing any exceptional qualities. The ball swells out beneath you and each time you're gripped by a powerful sucking force. Each pulse is longer and stronger. A fifth. A sixth. A seventh. Your body trembles, but you can't hit climax. You don't have anything left.<br> <br> "No ejaculatory response detected," Pêl-O states. "Removing safeties. Commencing full-fluid drain."<br> <br> <<include [[Pel-O: Major Unit: To Bad End]]>>
<<set $semenGiven += 1>> You're no exception. Each time the ball swells out beneath you, the fleshy walls contract around your cock and you're gripped by a powerful sucking force. Each pulse is longer and stronger, until – at the fifth – you can hold it in no longer. Your balls tighten, your whole body trembles, and then you let out an orgasmic moan as you buck against the yielding surface and spurt a thick load of semen into it.<br> <br> Then, once it's sucked a big ejaculation out of you, the ball relaxes and flattens out into a comfortable cushion. You lie on top, breathing heavily. Pêl-O sits back up and goes back to lightly kneading your neck and shoulders with her wonderful hands.<br> <br> <<if not $hasAlreadyBeenBadEndChecked>> "Sample obtained. Checking against records," she says.<br> <br> <</if>> Pêl-O continues to massage your upper back. In your post-orgasmic afterglow, it feels wonderful.<br> <br> <<if $hasAlreadyBeenBadEndChecked>> <<include [[Pel-O: Major Unit: Bad End Pass]]>> <<else>> <<include [[Pel-O: Major Unit: Bad End Check]]>> <</if>>
"Commencing full semen milking mode."<br> <br> [[Continue.->Pel-O: Major Unit: Sex 2]]
<<set _isBadEnd to false>> <<include [[Pel-O: Bad End Check]]>> <<if _isBadEnd>> <<include [[Pel-O: Major Unit: Bad End Fail]]>> <<else>> <<include [[Pel-O: Major Unit: Bad End Pass]]>> <</if>>
The warm fleshy orifice contracts around your cock and you sink down as the sides of the balls swell outwards. Your cock is again gripped by powerful rippling suction.<br> <br> Pêl-O lies on top of you and presses her warm body against you. She moves her hips against you in time to the slow, powerful throbs of the ball beneath you.<br> <br> "Don't fight it," Pêl-O whispers in your ear. "It feels so much more pleasurable if you just relax and let my major semen extraction unit pump out all your cum."<br> <br> You don't really have a choice.<br> <br> The elastic ball – her major extraction unit, whatever that is – expands and contracts with slow, powerful pulsations. Each expansion generates a powerful vacuum pull on your cock... and right down in your balls. At the same time the walls keep you stimulated with pleasurable undulations and squeezes.<br> <br> Pêl-O sucks you back to full hardness with the first couple of throbs. The next couple leave you teetering at the brink of ecstatic climax.<br> <br> [[Continue.->Pel-O: Major Unit: 2nd Semen Check]]
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Pel-O: Major Unit: No Semen 2]]>> <<else>> <<include [[Pel-O: Major Unit: 2nd Ejaculation]]>> <</if>>
Thinking she has you, Pêl-O holds you there for as long as she can draw it out. The ball swells again. Normally that would have drawn an orgasm and massive load of cum out of you, but you're out. All you can do is tremble in frustrated delight – right at the edge of climax, but unable to get over the threshold.<br> <br> "No ejaculatory response detected," Pêl-O states. "Removing safeties. Commencing full-fluid drain."<br> <br> <<include [[Pel-O: Major Unit: To Bad End]]>>
<<set $semenGiven += 1>> Knowing that she has you, Pêl-O holds you there for as long as she can draw it out. Then the elastic ball swells again and you let out a cry of release as your cock throbs and shoots a thick stream of cum right into the heart of the ball.<br> <br> This time the ejaculation keeps flowing.<br> <br> "Relax," Pêl-O whispers soothingly in your ear. "Relax and let me pump all that cum out."<br> <br> You keep coming. The ball throbs beneath you and each swelling pulse sucks another throbbing burst of semen from your balls. Like she said, it's as if she's pumping it directly out of your balls. You lie helplessly on top of the throbbing ball as it pulls ejaculation after ejaculation out of you until they all merge together into one long throbbing stream of bliss.<br> <br> /* Drain all remaining semen - semen choker charm does not affect this */ <<set $semenGiven += $player.semenCount>> <<set $player.semenCount to 0>> <<if $semenGiven gt 6>> "Oh, you're pouring so much filthy spunk into me," Pêl-O says. "For this I'll reward you with some more direct stimulation of the cortical pleasure centres."<br> <br> She clasps the side of your head and sends pleasant vibrations right into your brain. You completely white out as all thought is completely subsumed by pure animal pleasure. The ball throbs beneath you like a great heart as it pumps out all of your cum.<br> <br> <</if>> Then, finally spent, you collapse against the flexible surface. The flow from you slows to a dribble and – sensing it – Pêl-O relaxes her major extraction unit and lets it deflate back down to a soft cushion.<br> <br> She sits back up and resumes massaging your neck and shoulders.<br> <br> "Full semen milking complete. Commencing cooldown massage," she says.<br> <br> [[Continue.->Pel-O: Major Unit: Good End]]
It's a different massage this time – long slow strokes to relax rather than arouse you.<br> <br> <<if $semenGiven gt 6>> "You did so well," Pêl-O says. "Such a large sample. My producer will be overjoyed." <<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> <<elseif $semenGiven gt 3>> "A moderately sized sample," Pêl-O says. "My producer will be delighted." <<set $player.roomScores[$currentRound - 1].scoreArray[3][1] to true>> <<else>> "Only a small sample," Pêl-O says. "My producer will be disappointed, but if I'd turned up the power of my major extraction unit, I'd have done you lasting damage." <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <</if>><br> <br> <<if $semenGiven gt 6>> Pêl-O gently squeezes your knotted muscles.<br> <br> "My producer has many semen extraction units in the House to collect samples for her. I am her best and most loyal creation. Others are less obedient. As you've done so well filling my sample bags, I will reward you with data on them: <<include [[Harlot Scenario: Select Harlot Gossip]]>><br> <br> <</if>> Pêl-O continues her relaxing massage while gently rocking you on top of her yielding ball. It's so relaxing, your eyes droop and you doze off. Only for a short while, until you're woken by a bell.<br> <br> "That's time up," Pêl-O says softly.<br> <br> You feel blissfully relaxed and the soft ball makes for a really comfortable mattress. You feel reluctant to go anywhere.<br> <br> "You can stay," Pêl-O says. "But if you do, I will be forced to engage my full-fluid extraction mode. That is not so pleasant, especially on dry testicles."<br> <br> The ball expands sharply. A vacuum force tugs on your penis and slips inside to pull at the rest of your abdomen. As she said, it's sharp and nowhere near as pleasant.<br> <br> It does a good job of prodding you out of your blissful enervation. Pêl-O releases your penis and then helps you down off her deflated rubber ball. You stumble over to your clothes and start to put them back on.<br> <br> <<if $semenGiven gt 3>> "My major collection unit has completely drained your balls of all semen," Pêl-O tells you as you get dressed. "$npcNurse.name has tonics to restore a man's vitality. You should visit her before $npcMadam.name forces you to pick your next girl. Sex with a succubus while having empty balls is an unpleasant and often fatal experience."<br> <br> You thank her and<<else>>You<</if>> walk unsteadily out of the room. Your balls feel like peanuts. You don't think you've ever been so comprehensibly drained.<br> <br> /* faction increase */ <<if $semenGiven gt 3>> <<include [[Default Harlot: Faction Increase]]>> <</if>> /* semen harvested for NPC Potion */ <<set $semenChange to $semenGiven * -1>> <<include [[NPC Potion: Track Semen Harvested]]>> <<include [[Pel-O: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<unset $hasAlreadyBeenBadEndChecked>> <<unset $semenGiven>>
Before you can consider what she means by that, the soft fleshy walls of the orifice clamp tightly around your cock and you're sucked down. You're held there and gently stimulated by the thick walls rippling and throbbing around your erection.<br> <br> "Commencing subdual massage," Pêl-O states.<br> <br> [[Continue.->Pel-O: Major Unit: Bad End 1]]
"Removing safeties. Commencing full-fluid drain," Pêl-O states.<br> <br> <<include [[Pel-O: Major Unit: To Bad End]]>>
She runs her hands over your back and shoulders. Her touch is firmer this time and the vibrations running through you are stronger. It feels amazing, like she's smoothing out every knot and kink in your muscles.<br> <br> She lies down on you and slides her hands up and down your arms. She does the same to your legs with her feet. She has such control over them it feels like an additional pair of hands massaging you. Beneath her sensual onslaught the muscles of your limbs relax so much they fall asleep. You lie limply on the ball as it slowly throbs beneath you.<br> <br> <<if not $isOutOfSemen>> The ball suddenly swells up, gripping your cock with a powerful, irresistible suction. You moan in orgasmic pleasure as another ejaculation bursts from you and is spurted down the wet tunnel. This ejaculation carries on for much longer, as if she's opened a direct channel to your balls and is pumping the cum out of them. You pour semen down into the giant pulsing ball.<br> <br> "Mmm, let it out," Pêl-O says, running soothing hands across your back. "Let it all out."<br> <br> <</if>> Pêl-O tightly clasps your sides just above your hips. The vibrations emanating from them are far more powerful. They reverberate through your body in powerful waves until it feels like every cell in your body is oscillating with the same rhythm.<br> <br> <<if $isOutOfSemen>> The ball suddenly swells up, gripping your cock with a powerful, irresistible suction.<br> <br> "Ah, here it comes," Pêl-O says.<br> <br> And she's right. You were so drained, it took a while for Pêl-O to bring you to climax, but once she does, it's a great shuddering flood pouring out of you. You moan in orgasmic bliss as your cock throbs and spurts blast after blast of cum down into the giant pulsing ball.<br> <br> <</if>> [[Continue.->Pel-O: Major Unit: Bad End 2]]
The ball throbs again. The power and the continuous flow of your ejaculation takes you by surprise. It just keeps going. It's like a long continuous piss, but thicker and punctuated with blasts of shuddering orgasmic pleasure. As good as your genitals feel, the rest of your body feels a little weird.<br> <br> "About to commence final full-fluid suck," Pêl-O says. "Engaging mercy mode."<br> <br> She lies on top of you and her hands clasp the side of your head. Vibrations penetrate your skull and directly stimulate the pleasure centres of your brain. You grind your hips against the soft ball, mewling in pleasure as you spurt great throbbing bolts of cum into it.<br> <br> The ball swells up sharply beneath you. The ejaculation becomes a great surge as she starts sucking out your liquefied insides. Pêl-O keeps her hands clasped to the side of your head.<br> <br> "Shh, relax," she says soothingly. "Let it all out."<br> <br> She whispers sweet nothings in your ear as your body slowly collapses in on itself beneath her. Mercifully, she keeps directly stimulating your pleasure centres, so that everything else is blocked out by intense orgasmic bliss. The lower ball sucks all your insides out of you through your cock. It's a hideous end, but one you thankfully don't feel.<br> <br> <<include [[Pel-O: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She runs her warm hands all over your naked chest. You feel a pleasant buzz wherever her hands caress you. It feels strangely like she's running some kind of vibrating wand over your body.<br> <br> Pêl-O takes a hand back and starts sliding it over her sleek body. She lets her fingers stray down between her legs and parts the hairless folds of her sex. With your attention drawn to that, she wraps her other hand around your erection and pumps it.<br> <br> You feel that strange vibration again. This time it reverberates through your cock and pleasantly stimulates all the nerve endings. Your cock swells and hardens to full throbbing erection.<br> <br> "Full erection achieved," Pêl-O says. "Inserting into minor semen extraction unit."<br> <br> That's an odd thing to say, you think. It doesn't take long to become apparent what she means. She lifts herself up and then slowly down onto your rampant erection.<br> <br> You slide up into her pussy. It's smooth and tight and well-lubricated. Once you're all the way inside it, it grows even tighter. The soft walls contract around your cock to form a snug fit.<br> <br> "Mmm, a nice cock," Pêl-O says. "I'm going to enjoy pumping the cum out of it."<br> <br> [[Continue.->Pel-O: Minor Unit: Sex 2]]
She starts moving her hips up and down with smooth bounces. Your cock slides back and forth in her snug vagina.<br> <br> The yielding surface of the flattened ball makes it hard for you to find your own rhythm. Pêl-O shakes her head when you try.<br> <br> "Lie still and leave it to my hips and ball," she says.<br> <br> That works. The elastic surface beneath you is very springy. There is a lot of up and down movement. You find it best to lie back and let your body move with the ball. Each downward bounce of Pêl-O's hips triggers a recoil that catapults you deep into her lush depths.<br> <br> "I promised a bouncy fuck," Pêl-O says.<br> <br> She bounces on your cock and the ball bounces you up and down beneath her. Your cock slides back and forth in her lovely pussy. It's tight enough to generate delicious friction. Tight enough even to generate a little vacuum pull on your cock at the upswing of her bounces.<br> <br> "Bounce, bounce, bounce," Pêl-O says sultrily.<br> <br> She rides you and her body bounces up in the air as she uses her rubber ball like a kind of trampoline. Suddenly she switches. She folds her body over yours and works her hips against you in close little rocks that set you trembling in delight.<br> <br> [[Continue.->Pel-O: Minor Unit: Sex 3]]
Then, before you can boil over, she's back to riding you with long slow bounces that have her pussy stroke up and down the full length of your erection.<br> <br> She repeats the cycle a couple of times – close fast strokes to make you think she's going to let you climax, and then back to long slow bounces to draw you back from the edge. It's maddening, but you dare not try forcing it. The elastic ball is bucking so wildly with her movements you fear the slightest wrong movement from you might end up catapulting the both of you off.<br> <br> "I love giving men a good bounce on my ball," Pêl-O says.<br> <br> Then she looks slightly guilty, as if she's enjoying this a little more than she should.<br> <br> "Ah, but I mustn't forget my purpose," she says.<br> <br> She pushes down with her hips and take in your whole length. The soft walls contract around and squeeze your cock.<br> <br> "Inducing ejaculatory response."<br> <br> Her tight vagina starts vibrating around your cock.<br> <br> <<include [[Pel-O: Minor Unit: Semen Check]]>>
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> It feels fantastic and your body contorts with the desire to empty your balls in her. But you don't get there. It's been a long night and you might have hit your limit.<br> <br> "No ejaculatory response detected," Pêl-O states. "Removing safeties. Commencing full-fluid drain."<br> <br> [[Continue.->Pel-O: Minor Unit: Bad End 1]] <<else>> [[Continue.->Pel-O: Minor Unit: Ejaculation]] <</if>>
The elastic surface of the rubber ball swells beneath you. It opens up and you feel something wet and warm suck in your ass. It forms a tight seal around it.<br> <br> You look around in alarm and press your hands into the soft surface in an attempt to pull free.<br> <br> "Fear response detected. Engaging bondage protocols," Pêl-O says.<br> <br> The soft surface of the ball sucks down your hands and feet. Thick rubber strips wrap around your wrists and ankles and tether you to the ball.<br> <br> "There is no need to be afraid," Pêl-O says. "You'll find this to be quite pleasant."<br> <br> She slowly rocks in your lap, letting the soft walls of her vagina gently stroke you back to full hardness. Her hands roam all over your naked chest, spreading pleasant tingling vibrations in their wake.<br> <br> The ball swells beneath you. You feel a strange sucking sensation on your anus.<br> <br> Pêl-O makes soothing sounds as she continues to rock in your lap. Her hands feel really nice as they roam all over your chest.<br> <br> The ball swells again and your ass is again gripped by a sucking force. You feel your bowels loosen and – before you can stop yourself – you defecate into the ball.<br> <br> Pêl-O sees your embarrassment and smiles beatifically.<br> <br> "It's nothing to be ashamed of," she says, running her fingers over your lips. "It's what my major extraction unit does."<br> <br> [[Continue.->Pel-O: Minor Unit: Bad End 2]]
<<set $semenGiven += 1>> And that's enough. You tense up and then grunt in ecstatic release as you spurt inside her. Pêl-O milks it all out with little pumps of her hips. The inner walls of her vagina tug on your cock like some kind of milking sleeve, stretching out your ejaculation until she's drawn every last drop of cum out of your cock.<br> <br> Afterwards, you sink down on the soft, squishable rubber ball and bask in the blissful aftermath.<br> <br> Pêl-O still sits astride you. Her irises suddenly light up an amber-yellow colour and the lights turn as if she's a computer processing information.<br> <br> "Semen sample acquired. Checking against records."<br> <br> That's the disconcerting thing about her. At times she seems human – okay, humanoid. And then moments later she'll say things and act like a cold emotionless android or robot.<br> <br> <<include [[Pel-O: Minor Unit: Bad End Check]]>>
<<if $cgi eq 0 or $npcPotion.semenHarvested eq 0>> <<set _isBadEnd to true>> <</if>>
<<set _isBadEnd to false>> <<include [[Pel-O: Bad End Check]]>> <<if _isBadEnd>> Her 'processing' doesn't take long. The lights behind her irises blink off and she looks down at you with a warm and unmistakably human smile.<br> <br> "Safeties off. Commencing full-fluid drain," Pêl-O says.<br> <br> [[Continue.->Pel-O: Minor Unit: Bad End 1]] <<else>> [[Continue.->Pel-O: Minor Unit: Bad End Pass]] <</if>>
Her 'processing' doesn't take long. The lights behind her irises blink off and she looks down at you with a warm and unmistakably human smile.<br> <br> "Did you enjoy having a good bounce on my ball?" she asks.<br> <br> She grinds her hips against you, rocking the elastic ball and giving your spent cock a teasing little squeeze.<br> <br> "The bouncy fucks are always over so fast," she says. "There is still some time left. How about I turn you over and give you a nice body-to-body massage?"<br> <br> That sounds tempting.<br> <br> "I'll even put your cock in my major semen extraction unit and give it a good hard suck. That will be a real treat for you."<br> <br> That... less so.<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> [[Decline her offer.->Pel-O: Minor Unit: Good End]]<br> [[Let her give you a body-to-body massage.->Pel-O: Minor Unit: To Massage]]
"A pity," Pêl-O says as you turn her down. "I would have liked to pump more high-quality semen out of you. At least I got a good sample with my minor semen extraction unit."<br> <br> She smiles and rubs her belly. She helps you down off the ball and you put your clothes back on.<br> <br> Pêl-O brazenly lounges back on her ball with her legs wide open. The lovely hairless folds of her vagina are on full show, as if she's taunting you with what you turned down.<br> <br> Between her legs and on the surface of the ball you notice a similar hump with a groove running through it. It looks like a mirror of her sex, only larger. As you watch, it gapes open to reveal a moist pink interior.<br> <br> You briefly wonder what it is before deciding you probably don't want to know. Better to get out while you can.<br> <br> /* no faction increase */ /* semen harvested for NPC Potion */ <<set $semenChange to $semenGiven * -1>> <<include [[NPC Potion: Track Semen Harvested]]>> <<include [[Pel-O: Scenario Clean-Up]]>> /* GOOD END */ <<include[[Harlot Scenario: End]]>>
<<set $hasAlreadyBeenBadEndChecked to true>> Pêl-O's eyes light up and her smile widens as you accept her offer of a massage. Still with her legs astride you, she helps turn you over until you're lying on your front.<br> <br> "Now, relax and get comfortable," she says.<br> <br> <<include [[Pel-O: Begin Massage]]>>
Getting comfortable is easy enough. The ball squashes down and forms a nice cushion beneath you. Pêl-O settles on your lower back and her warm hands roam over your naked flesh.<br> <br> "Commencing stage one massage," Pêl-O says.<br> <br> Her hands lightly squeeze and knead the muscles of your neck and shoulders.<br> <br> "This is to induce a relaxed state of mind," Pêl-O says.<br> <br> At first it feels like a regular massage. Pêl-O slides her hands up your back and caresses your shoulders. Then, without seeming to increase the force, her touch somehow becomes more penetrative. With each squeeze it feels like pleasant waves are sinking into your flesh. It's like she's running some kind of vibrating wand over you. Two wands! The vibrations smooth out and relax your muscles. It feels heavenly.<br> <br> "Relaxation achieved. Commencing stage two: Arousal."<br> <br> [[Continue.->Pel-O: Arousal Massage]]
She sits up and starts riding your harder and faster. Your cock has recovered enough to respond to the lovely friction of her tight pussy. Pêl-O moves her hands down to your sides and the vibrations from them feel much more powerful. They reverberate through your chest in powerful waves until it feels like every cell in your body is oscillating with the same rhythm.<br> <br> The ball swells again beneath you. Your bowels gurgle and then you're emptying them again. This time it's more liquid. Doing this at the same time as Pêl-O is fucking you, you're not sure if you should be revolted or turned on.<br> <br> Pêl-O doesn't care. Bouncing faster and faster, harder and harder, she rises up and leans back. And then, when she's bounced you to the cusp of climax, she flops her upper body down on top of you. Her smooth supple lips press against yours. Her vagina contracts and the walls start vibrating around your cock.<br> <br> "About to commence final full-fluid suck," Pêl-O pauses the kiss to say. "Engaging mercy mode."<br> <br> She presses her smooth lips back against yours. Her hands move up and clasp the side of your head. Vibrations penetrate your skull and directly stimulate the pleasure centres of your brain. You buck as the orgasm bursts from you, only to be sucked back down by the larger orifice beneath you. Your thoughts are overloaded by and submerged in sensual bliss.<br> <br> The ball swells sharply beneath you. This time you don't just evacuate your bowels, but the whole of your liquefied insides. Pêl-O keeps kissing you as your body collapses in on itself beneath her. Mercifully, she keeps directly stimulating your pleasure centres, so that everything else is blocked out by intense orgasmic bliss. The lower ball sucks all your insides out of you through your ass. It's a hideous end, but one you thankfully don't feel.<br> <br> <<include [[Pel-O: Scenario Clean-Up]]>> ''BAD END''<br> <br> [[Game Over.->Game Over]]
/* Keep track of total semen NPC Potion and her creations have harvested pre-req: $semenChange */ <<set _semenHarvested to $semenChange * -1>> <<set _oldSemenHarvested to $npcPotion.semenHarvested>> <<set $npcPotion.semenHarvested += _semenHarvested>> <<if $isTesting>> ''$npcPotion.name Semen Harvested change: _oldSemenHarvested to $npcPotion.semenHarvested.''<br> <br> <</if>>
<<if _scoreArray[0][1] and not _osa[0][2]>> <br> <br> "She liked that? Really? She has a very odd taste in gifts."<br> <br> <<else>> <<include [[Default Harlot: Sell Exp Body]]>> <</if>>
<<set _sex to _scoreArray[1][1] and not _osa[1][2]>> <<set _lowSemen to _scoreArray[2][1] and not _osa[2][2]>> <<set _medSemen to _scoreArray[3][1] and not _osa[3][2]>> <<set _hiSemen to _scoreArray[4][1] and not _osa[4][2]>> <<set _massage to _lowSemen or _medSemen or _hiSemen>> <<if not _massage>> <<include [[Pel-O: Sell Exp Feedback: Sex Only]]>> <<else>> <<if _sex>> "So, you stayed for her massage? Regular sex with her wasn't enough?"<br> <br> $npcMoney.name chuckles. He carries on making notes.<br> <br> <</if>> <<if _hiSemen>> "Just what is her trigger? By your account, she drained a considerable amount from you. Yet you came back and he did not." <<elseif _medSemen>> "You say she completely drained you. Hmm, just like all the others. The ones that came back, anyway." <<else>> "You say she drained all you had, but it wasn't very much, and then she let you leave. Blast, that's knocked a hole in one of my theories." <</if>><br> <br> $npcMoney.name opens his notebook and goes back over old notes.<br> <br> "She's a conundrum to me. For a while I thought survivability was dependent on how much... uh... issue the man could produce. Then I sent in a strapping young lad, freshly arrived and bursting with... uh... cum. He didn't come back."<br> <br> His whiskers bristle and he clicks his teeth.<br> <br> "I must find out her trigger. I can't risk visiting her until I learn it." <</if>>
"It sounds just like harmless bouncy fun..."<br> <br> $npcMoney.name shakes his head.<br> <br> "No, I need to find out more, especially about that strange ball she's always sitting on. Just to be sure."
''DEV NOTE: The full functionality of this has not yet been implemented. (Not all harlots are affected - this will be fixed in the next release.)''<br> <br>
<<set $hasUsedActionWithNpc to false>> <<unset $wasLeaving>>
Before you have a chance to conduct further business, you feel $npcMadam.name's buzzer vibrate once in your pocket. It's time to go to the presentation stage. You make your excuses and leave.<br> <br> What will $npcMadam.name have for you this time?<br> <br> <<include [[NPC Money: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Money: Repeat]] <<else>> [[Go to the Harlot Presentation stage.->Next Round]] <</if>>
<<set $clubActivityUnits to $clubActivityMaxUnits>> <<set $postroomActivityUnits to $postroomActivityMaxUnits>> <<include [[NPC Money: Print]]>> <<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>>
<<if $npcMoney.hasAskedWho eq false>> [[Who are you?->NPC Money: Who]]<br> <<if $npcMoney.hasAskedWhy>><br><</if>> <</if>> <<if $npcMoney.hasAskedWhy eq false>> [[Why do you want to know?->NPC Money: Why]]<br> <br> <</if>>
<<if $npcMoney.hasTriedToBuyMulliganToken>> <<if $player.mulliganTokens gt 0>> [["Sell him a " + $mulliganToken.name + " for " + $mulliganToken.moneyBuyPrice + " " + $currencyName + "s."->NPC Money: Sell Mulligan Token]]<br> //This will cost you an Action.//<br> <br> <<else>> You have no <<print $mulliganToken.name + "s">> to sell.<br> <br> <</if>> <</if>>
<<if $npcMoney.hasTriedToBuyMulliganToken>> [["You have no more business you wish to discuss with " + $npcMoney.name->NPC Money: Leave Message]]<br> <<else>> <<if $npcMoney.hasBoughtAllExperiences>> [[Time to leave.->NPC Money: Leave: First Time]]<br> <<else>> [[Keep your experiences to yourself for now?->NPC Money: Decline Tell Experiences]]<br> <</if>> <</if>>
<<if not $hasUsedActionWithNpc>> <<if $isPostRoom>> <<set $postroomActivityUnits -= 1>> <<else>> <<set $clubActivityUnits -= 1>> <</if>> <</if>> <<include [[NPC Money: Clean-Up]]>> <<if $isNpcTesting>> [[Repeat Testing.->Test NPC Money: Repeat]] <<else>> [[You return to your spot at the bar.->Post-Room Activities: Hub]] <</if>>
/* for when we need to modify how many coins NPC Money pays out (eg modified by charms) pre-req: _score */ <<if $player.charms.includes(12) and _score gt 0>> <<set _baseScore to _score>> <<set _mod to Math.trunc(_score/5)+1>> <<set _score += _mod>> <<if $isTesting>> ''$npcMoney.name payout modified from _baseScore to _score by $allCharms[12].name.''<br> <br> <</if>> <</if>>
<<set $player.charms.push(12)>> <<set _score to 0>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 1>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 4>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 5>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 9>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 10>> <<include [[NPC Money: Modify Payout]]>> <<set _score to 11>> <<include [[NPC Money: Modify Payout]]>>
/* For harlots where Feedback doesn't happen (because they kill the player or have completely custom Sell Exp passages). Use this as the link. No text as unreachable. */
"When I was told she was bubbly, this was not what I envisioned," $npcMoney.name says.<br> <br> He shrugs.<br> <br> "It sounds pleasant enough... for those she <<if _scoreArray[4][1] and not _osa[4][2]>>likes, and it sounds like she liked you a lot.<<else>>likes.<</if>> It's what happens to those she doesn't like that concerns me."
<<if _scoreArray[1][1] and not _osa[1][2]>> "Ah, her 'special' handjob. I've heard a lot of good things about it."<br> <br> His moustache bristles.<br> <br> "But what I haven't heard about, is what sex with her is like. Everyone I've spoken to picked handjob. Maybe you could choose sex the next time you see her. I'll pay you well for the information." <<else>> "Another handjob. It's strange. Whenever I talk to anyone about Arana Solfugis, they all picked handjob. I wonder what sex with her is like. Maybe you can choose that next time you see her. I'll pay you well for the information." <</if>>
Her pussy exhales more tingling foam, but this time keeps it inside and lets the internal motions of her sex massage it into you. That pleasant sensation seeps down into your balls, and they start to feel bloated and full. On the edge.<br> <br> She wriggles her hips against you. "It's coming. I can feel it."<br> <br> So can you. You feel it rise up within you like a great wave and then crash up into her in a great shuddering climax.<br> <br> <<include [[Unchecked Semen Change]]>> "Oh, so nice," Sapoonis sighs as she rides your bucking form.<br> <br> Fuck, you needed that, you think, as you empty a massive load into her bubbly pussy.<br> <br> And it's not over.<br> <br> [[Continue.->Sapoonis: Bad End 3]]
Sapoonis smiles down at you. "Mmm, I don't often get a chance to do this."<br> <br> Her vagina pulses. More foam wells up out of her in glistening waves. The bubbles seem tighter packed. The foam thicker, creamier, somehow more //lascivious//. Before you even have a chance to recover from the last orgasm, you feel a pleasant clench in your loins and your throbbing manhood is erupting again.<br> <br> <<include [[Unchecked Semen Change]]>> "It's a special trait of mine."<br> <br> More foam. You're buried in great drifts of wobbling spume. It squelches and flies off in clumps as Sapoonis bounces up and down on you. And then another powerful orgasm is shuddering through you.<br> <br> <<include [[Unchecked Semen Change]]>> This can't be natural, to repeat again so soon.<br> <br> She wriggles and twists. Her vagina squeezes and rubs.<br> <br> And again.<br> <br> <<include [[Unchecked Semen Change]]>> "The more you come inside me, the more pleasant I can make my foam feel to you."<br> <br> [[Continue.->Sapoonis: Bad End 4]]
Her foam wells up around you in a dense, shimmering cocoon. You are enveloped all over in crackling, effervescing bliss. You come again and feel the first twinges of overuse in your loins.<br> <br> <<include [[Unchecked Semen Change]]>> "And the more pleasant my foam feels, the more you come."<br> <br> To demonstrate, she gives your cock a little squeeze with her pussy. You go off like a stick of dynamite, mixing more of your issue with her heavenly foam. You don't have any control now. It's just a continuous gush.<br> <br> <<include [[Unchecked Semen Change]]>> <<include [[Unchecked Semen Change]]>> "It's an inescapable cycle," Sapoonis says. "Not that any of those caught in it have ever complained. And neither will you."<br> <br> Foam spills out as she presses her body against yours. She rubs her lovely tits against your chest.<br> <br> "So lie back and give yourself to bliss," she whispers.<br> <br> Her foam swells up and covers you entirely. Within it you come, <<include [[Unchecked Semen Change]]>> and come,<<include [[Unchecked Semen Change]]>> and come,<<include [[Unchecked Semen Change]]>> until you have no fluids left to come with. Sapoonis has drained them all from your body, and with them – your life.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
Her vagina is warm, tight and //frothy//. It wells up and spills out of her sex in bubbly waves. You hear wet squelches as your bodies come together.<br> <br> She must have got soap up there. A lot of it. The bubbles crackle against your sensitive glans as you slide back and forth inside her. It's a strange but not unpleasant sensation.<br> <br> Sapoonis bends over and covers you with her warm, soapy body. She kisses you lightly on the lips. She continues to work her hips against you with lithe bounces. Wet squelching noises – the air mattress, your bodies – fill the room.<br> <br> "You won't hold out long, but try your best," Sapoonis says to you.<br> <br> The inner walls of her vagina shudder. And then warm tingling foam is welling up all around you. Where is it coming from? Her body?<br> <br> Mostly her vagina, it seems.<br> <br> Your erection is enveloped in a tingling cocoon of foam, and her fleshy walls squeeze and massage it into your cock. It tingles, and then translates to a pleasant, relaxing feeling that travels all the way down to your loins. You're gripped by the strong urge to come.<br> <br> <<include [[Sapoonis: 1st Semen Check]]>>
<<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Sapoonis: No Semen]]>> <<else>> [[Continue.->Sapoonis: Sex: 1st Ejaculation]] <</if>>
<<set $semenChange to -2>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen>> <<include [[Sapoonis: No Semen]]>> <<else>> <<include [[Sapoonis: Sex: 2nd Ejaculation]]>> <</if>>
<<set $player.roomScores[$currentRound - 1].scoreArray[4][1] to true>> You can't hold it in. You jerk and buck as your loins are gripped with orgasmic spasms. You moan uncontrollably in pleasure as you empty a great stream of semen inside her, even more than the previous ejaculation just scant moments before.<br> <br> <<if $cgi eq 0>> <<include [[Sapoonis: Black Rose Bad End]]>> <<else>> [[That felt good.->Sapoonis: Good End]] <</if>>
You realise you can't move. Your arms hang limply at your sides. You can do nothing but watch as Suka undoes your belt and pulls down your trousers and underpants. She gives your cock a twisty little tug with her hand to perk it up to full hardness.<br> <br> "You can't do anything," Suka says. "So you might as well enjoy this."<br> <br> She turns and plonks her ass down in your lap. That strange ring of flesh around her anus fluffs up as your cock slides up into her ass. You feel the soft flesh stroke down your shaft as she takes your full length inside. The ring puffs out and forms a comfortable but tight seal around the base of your cock.<br> <br> Suka sighs. "And I will do my best to make you feel pleasant."<br> <br> She undoes the top straps of her bodysuit and pushes it aside to expose her breasts. She picks up your hands and presses them into the soft mounds of her boobs.<br> <br> "Time to suck," she sighs dreamily.<br> <br> The walls of her ass press tightly around your cock. The walls bulge against your erection and undulate up the shaft. The motions feel like slow, steady, delicious suction. Aside from teasing little wriggles, Suka barely moves in your lap. The motion is all internal. And irresistible.<br> <br> "Yes, give me your cum," Suka says.<br> <br> [[Continue.->Suka no-Hirudo: Anal Sex 3]]
Her ass squeezes tighter. The pumping suction intensifies. It feels like a mouth down there. A really powerful sucking mouth. Your cock throbs from the stimulation. You don't think you're going to be able to hold back for much longer.<br> <br> "Yes," Suka sighs.<br> <br> She presses your hands deep into her soft tits. Her ass grips you. Sucks.<br> <br> The paralysis isn't enough to prevent your body from shuddering uncontrollably as you erupt inside her in a great geyser of ecstasy.<br> <br> "I can't control my ass," Suka says as you twitch and come beneath her. "Have never been able to. So, this is the end of you. I'm sorry."<br> <br> Then the suction //really// starts.<br> <br> You keep coming, ejaculating within her in a single throbbing gush. It keeps flooding out of you. The irresistible suction grips your balls and sucks out their contents. Then it turns deeper, on //you//. You sit and shudder in helpless pleasure as Suka sucks out all of your juices. She doesn't stop until she's sucked out every drop of fluid and left behind a dry and withered cadaver.<br> <br> ''BAD END''<br> <br> [[Game Over.->Game Over]]
She continues to murmur and make wet sounds as she gives you a sloppy blowjob. Or should that be //suckjob//. As her lips slide up and down your member you fancy you can feel the suction tugging right down at your balls.<br> <br> She bobs her head right down and swallows your whole length. That's another bit of strangeness – past her lips, her mouth feels like a tight tunnel of flesh. More like a vagina – or even ass – than a mouth. At the base of your cock her lips puff out and form a tight, cushioned seal.<br> <br> Then the suction really starts.<br> <br> Your concerns go away, sucked right out of you. The fleshy walls of her mouth start undulating against your cock. The motions are slow and pleasant at first, but quickly ratchet up in intensity. And with it the suction grows until it becomes irresistible.<br> <br> /* Semen check */ <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> You're sucked inexorably to climax. You buck and squirm helplessly on the chair and empty a great stream of semen down Suka's throat. Her eyelids flutter in pleasure as she swallows your issue in great gulps.<br> <br> And keeps gulping.<br> <br> Even though you've just come, and come a lot, Suka keeps sucking on your cock for more. You'd think there was no way she could get more, not after sucking such a big load out of you, but stirrings in your balls make a lie of that thought.<br> <br> Her mouth continues to work. The suction grows more powerful.<br> <br> What will you do?<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[2][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Blowjob Continue 1">> [[Let her continue?->Suka no-Hirudo: Blowjob Continue 1]]<br> <<if $cgi eq 0>> [[That's enough. Push her away?->Suka no-Hirudo: Blowjob Struggle]]<br> <<else>> [[That's enough. 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>>
<<set $player.semenCount to 0>> She keeps sucking. She's out of control. You're out of control. You lose count of the ejaculations you pump into her mouth. You suspect you needed supernatural assistance to get this far, but even that runs out against the irresistible suction of her mouth.<br> <br> <<include [[Suka no-Hirudo: Blowjob Out Of Semen]]>>
She slides all the way down. You expect her to start grinding her hips against you, instead she just sits there with you buried up to the hilt in her. Then you feel a strange sensation, as if a soft ring is slowly inflating around the base of your cock.<br> <br> You look down and notice the lips of her pussy seem to have puffed up. They form an airtight seal around the root of your penis.<br> <br> Suka puts a hand under your chin and tilts your head back up.<br> <br> "My sex might not be what you're familiar with. It will still bring you pleasure."<br> <br> As if to prove it, the walls of her vagina start undulating against your cock. Muscular rings roll up your shaft, tugging you gently at first, but increasing in speed and strength.<br> <br> "Yes, let me suck you," Suka says. She rubs her exposed tits against your chest.<br> <br> That's what it feels like – as if her sex is sucking on you like a mouth. It's slow, but the pleasure builds, and builds, and builds.<br> <br> <<set $semenChange to -1>> <<set $isOutOfSemen to false>> <<include [[Checked Semen Change]]>> <<if $isOutOfSemen eq false>> It builds until you can hold out no longer. You moan and shudder in pleasure as you release inside her.<br> <br> "Oh yes," Suka sighs. "Give me that cum."<br> <br> She doesn't seem to realise you've just come. Her pussy keeps sucking. You also think your body doesn't seem to realise it's just come. You feel a trembling in your loins as if a second, even bigger, climax is brewing.<br> <br> What will you do?<br> <br> <<set $player.roomScores[$currentRound - 1].scoreArray[6][1] to true>> <<set $targetPassage to "Suka no-Hirudo: Vagina Continue 1">> [[Let her continue?->Suka no-Hirudo: Vagina Continue 1]]<br> <<if $cgi eq 0>> [[That's enough. Push her away?->Suka no-Hirudo: Vagina Struggle]]<br> <<else>> [[That's enough. 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>>
<<set $player.semenCount to 0>> Her magnificent pussy keeps sucking. She's out of control. You're out of control. You lose count of the ejaculations you pump into her. You suspect you needed supernatural assistance to get this far, but even that runs out against the irresistible suction of her vagina.<br> <br> <<include [[Suka no-Hirudo: Vagina Out Of Semen]]>>
She pinches her thumb and forefinger together and mimes pulling a strand to her. You gasp. A silvery thread emerges from your erect penis. It floats in the air until Morticia mimes another pull and the end is drawn to her.<br> <br> "I don't know why men get so excited about this," Morticia says. "It looks painful."<br> <br> It is. Excruciatingly so. This isn't semen Morticia is pulling from you but some primal, essential part of your being.<br> <br> //Your soul?//<br> <br> Whatever it is, Morticia spools more of it out of the end of your penis and it feels like she's tugging a length of barbed wire out of you.<br> <br> The end reaches her mouth and she sucks it in like a strand of spaghetti. She spools more of that silvery thread out you, ripping out part of your core and leaving you writhing in agony.<br> <br> "It seems so slow and inefficient to eat this way," Morticia says.<br> <br> She bites off the strand and an electric shiver of agony surges back down into you.<br> <br> "I prefer this way."<br> <br> She skips over to you. Her face collapses inwards to reveal a howling black whirlpool crackling with dark energies. She bends over. Your head is drawn into that unholy gyre. There is a loud crunch.<br> <br> //It only gets worse from here...//<br> <br> ''HORROR END''<br> <br> [[Game Over.->Game Over]]
<<if $player.charms.includes(13)>> <<set $allHarlots[_hi].shortDescription to "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. Below the waist she has the body of a gigantic spider.">> <<else>> <<set $allHarlots[_hi].shortDescription to "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.">> <</if>>
<<set _isFirst to not $allHarlots[$hi].hasSeenBefore>> <<set _pregNow to $allHarlots[$hi].looksPregnantNow>> <<set _hasChanged to _pregNow neq $allHarlots[$hi].lookedPregnantLastTime>> <<if _pregNow>> <<if _isFirst or not _hasChanged>> /* Standard Preg Intro */ She has a noticeable bulge at her belly. It looks like a pregnancy bulge. This raises awkward questions as to whether the harlots of the House, despite their non-human nature, can get pregnant and whether $npcMadam.name insists they keep working despite being so obviously heavily pregnant.<br><br> <<else>> <<if $allHarlots[$hi].hasShownNotPregToPreg>> /* Not Preg to Preg Subsequent */ Va-kyuuma looks pregnant again. She has a noticeable bulge at her belly. A large bulge. You remember seeing her like that during a previous introduction, only for it to vanish later. There must be some kind of bait 'n' switch going on. Maybe more than one Va-kyuuma.<br><br> <<else>> /* Not Preg to Preg First Time */ Sometime since you last saw her, Va-kyuuma appears to have gotten pregnant. She has a noticeable bulge at her belly. It's also quite a large bulge, as if she's been pregnant for a while. Which doesn't make sense as you last saw her a couple of hours ago. Does time work differently in here? Or is her biology that different?<br> <br> <<set $allHarlots[$hi].hasShownNotPregToPreg to true>> <</if>> <</if>> <<set $allHarlots[$hi].lookedPregnantLastTime to true>> <<set $allHarlots[$hi].hasSeenPregnant to true>> <<else>> <<if _isFirst or not _hasChanged>> /* Standard not Preg Intro */ /* No text */ <<else>> <<if $allHarlots[$hi].hasShownPregToNotPreg>> /* Preg to Not Preg Subsequent */ Her pregnancy bump has gone again. There is no way she could have had another baby so quickly. It remains a strange mystery. Clones? Or maybe it's not pregnancy at all, a thought which has unpleasant connotations.<br><br> <<else>> /* Preg to Not Preg First Time */ Her most noticeable feature in this case is the absence of a feature. Last time you saw her, she looked heavily pregnant, with an unmissable bulge at her belly. That is gone. But where? Unless time works strangely in the House, there is no way she could have had the baby and be back so soon.<br> <br> You wonder if you're getting her mixed up with another girl. A twin, maybe?<br> <br> <<set $allHarlots[$hi].hasShownPregToNotPreg to true>> <</if>> <</if>> <<set $allHarlots[$hi].lookedPregnantLastTime to false>> <</if>> <<set $allHarlots[$hi].hasSeenBefore to true>>
<<if $allHarlots[$hi].lookedPregnantLastTime>> <<set _hasSeenBefore to $allHarlots[$hi].hasShownPregToNotPreg>> <<if _hasSeenBefore>>Again, <<else>>Oddly, <</if>>her most noticeable feature is the absence of one. The pregnancy bump she'd had when $npcMadam.name introduced her is no longer there. Her stomach is flat and trim, as if she keeps herself in good shape.<br> <br> <<if _hasSeenBefore>> Again, you're confused. Is there some switching going on? Multiple Va-kyuumas? <<else>> This leaves you feeling slightly confused. She couldn't have had the baby in the time it took you to walk up to her room, could she?<br> <br> Maybe you're getting her mixed up with someone else. Are there two Va-kyuumas? Twins maybe? <</if>><br> <br> <<set $allHarlots[$hi].hasShownPregToNotPreg to true>> <<set $allHarlots[$hi].lookedPregnantLastTime to false>> <</if>> <<if $allHarlots[$hi].hasShownPregToNotPreg>> <<set $player.roomScores[$currentRound - 1].scoreArray[1][1] to true>> <</if>>