<<gg>> I am $name, King of Dreonnis, a sovereign who once believed in the strength of the sword and the steadfastness of his people. My kingdom stood at the crossroads of lands and trade, rich and proud, surrounded by oak forests and endless fields. The towers of our castles pierced the sky like lances thrust into the heavens, and our walls were said to be unbreakable. We lived in the certainty that no power could ever bring us low.
But behind that pride, fear always lingered.
To the east rose another realm,Kardest. A cruel land, where stones are blacker than coal, where the very winds smell of smoke and ash, and where men bow only to strength, not to law. Their king was Aravel, a man without a heart, born of war, in whose veins nothing flowed but cold iron. His people did not sow, they did not build; they only plundered and burned. Their cavalry raided neighbors, and villages disappeared as though erased from the world by the shadow of his banners.
For years we watched him, fortified our borders, gathered taxes, built new walls. Yet when Kardest finally moved, we discovered the bitter truth: walls are only stone, and stone can be broken.
<</gg>>
<br><br><br><br>
<<gg>>
The first tidings of invasion came in the early spring. At first, villages on the frontier were razed. Then, entire towns were burned to the ground. Prisoners were sent back mutilated,tongues torn out, eyes gouged,so they might serve as living omens of horror. Still, we believed we could endure. I raised my armies, and thousands of knights and peasants marched beneath my banner. They looked upon me with hope, as if I were a shield to turn back the black tide.
We fought. By the gods, we fought until breath itself betrayed us. The fields of Dreonnis became graveyards. Our spears splintered, shields shattered, armor turned into coffins. Yet still they came,again and again,like waves crashing against rock.
The capital endured for a month. Hunger gnawed at the people, rats became food, the water from our wells turned foul. And still, the walls stood.
Aravel knew he could not break us by strength alone. So he found the one weapon stronger than stone,treachery. One of my own lords, whose very name I will curse in the afterlife, opened a hidden gate in the night. And at the hour when we thought darkness had brought a moment’s reprieve, the black banners of Kardest rose over my towers.
<</gg>>
<br><br><br><br>
<<gg>>
I remember the smoke, the screams, the clash of steel, the weeping of women and the shrieks of children. I remember my knights dying one by one, holding the last roads to the palace. I remember the flames devouring roofs and the laughter of the enemy echoing through the streets as though the city itself were their banquet.
I myself took up my sword, for the last time in the name of Dreonnis, and fought until my arms were little more than bleeding wounds and my vision drowned in blood. But the sword was struck from my hand, I was cast down, shackled in chains, and dragged to the square.
And then I understood,death would have been a gift. But Aravel was not a man who dealt in gifts. He dealt in spectacles. <br> <br>
<</gg>>
<br><br><br><br>
<<gg>>
They dragged me through the streets like carrion. My crown was gone, my armor shattered, my garments torn and soaked in blood and filth. Once, the people of Dreonnis had knelt before me in reverence,now they watched from the shadows of burning houses, their eyes hollow with despair. Some wept. Others turned away, unable to bear the sight of their fallen king.
At the center of the square they threw me down upon the stones. Shackles bit into my wrists and ankles, the cold iron tearing skin already raw from battle. They made me kneel, though my legs shook with weakness.
<</gg>>
<br><br><br><br>
<<gg>>
Then came Aravel.
He rode at the head of his host, clad in blackened steel, his banner trailing behind him like the wing of some carrion bird. He dismounted slowly, savoring the silence that spread like poison through the crowd.
I had imagined him many times during the war,a brute, a savage beast. But no. He was worse. His eyes were calm, his voice measured, his presence deliberate. This was not a monster ruled by rage, but a man who wielded cruelty as a craftsman wields a blade.
<</gg>>
<br><br><br><br>
<<gg>>
“Behold,” he said, his words carrying across the square, “the mighty King of Dreonnis. Look well upon him, for this is what becomes of pride when it stands against Kardest.”
The soldiers jeered, spitting at me, striking me with gauntleted fists. My vision blurred, but I forced myself to meet his gaze. I thought to spit back in defiance, to curse him. But before I could speak, one of his men struck me across the mouth with the hilt of a sword, splitting my lip and filling my mouth with blood. The taste was hot, metallic, humiliating.
Aravel crouched before me, his face level with mine. His breath smelled of wine and ashes.
“You will not die,” he whispered, so low that only I could hear. “No… death would make you a martyr. I will make you something worse. You will live, and your people will see what remains of their king when Kardest is finished with him.”
He rose, and with a signal, the torment began.
<</gg>>
<br><br><br><br>
<<gg>>
They dragged me through the filth of my own city, parading me before the starving, beaten citizens. Children were made to laugh at me. Old women spat curses. My own knights,those who yet lived,were forced to watch as I was stripped of dignity piece by piece. And when the spectacle grew dull, they bound me in chains upon the steps of my ruined palace, leaving me to the cold and the scorn of the crowd.
Hours turned into days. They gave me no water, save for what was poured into the mud at my feet. Food came in scraps,molded bread, gnawed bones tossed like scraps for a dog. Sleep was stolen by the boots and fists of passing soldiers who found amusement in tormenting the “fallen king.”
And always, above it all, I felt Aravel’s eyes upon me. Patient. Calculating. As if every humiliation, every lash, every drop of spit was not the chaos of soldiers but a design,his design.
<br><br>
<</gg>>
<br><br><br><br>
<<gg>>
Days bled into nights, and nights into something darker still. I was no longer King Edmar of Dreonnis. To them, I was nothing more than a spectacle.
They made a theater of my suffering. Each morning, soldiers dragged me from whatever pit of exhaustion I had collapsed into, chaining me upright in the square. Townsfolk were forced to gather. Some came in silence, heads bowed in shame; others, broken by fear and hunger, mocked me at their captors’ command.
Aravel sat upon a dais, draped in banners of black and crimson, as though presiding over a festival. Only this was no celebration,it was the slow dissection of a man’s dignity.
<</gg>>
<br><br><br><br>
<<gg>>
They crowned me with iron, a crude circlet hammered with jagged edges. Each time it was pressed onto my skull, fresh rivulets of blood traced down my face, mingling with the dirt. They called it the Crown of Shame. When I faltered beneath its weight, the crowd was ordered to laugh.
My meals were tossed to me like scraps to a dog. Molded bread, bones stripped of flesh. Once, they brought a bucket of swill,rotting scraps, crawling with maggots,and commanded me to eat it before all. I hesitated, and a soldier’s lash tore open my back until the blood mingled with filth. And so I ate, choking down every mouthful to the roar of laughter.
Water, when they gave it, was poured into the dust at my feet. I licked mud like an animal, my lips cracked, my tongue swollen. Soldiers found joy in kicking it away just as I bent low to drink.
<</gg>>
<br><br><br><br>
<<gg>>
At night they left me shackled in the open air, the cold gnawing at my bones. Sleep came in broken moments, shattered by boots striking ribs, or stones hurled by those too afraid to defy Aravel’s will.
But the worst was his voice.
Aravel did not always strike, nor shout. He would stand before me, calm, his words cold as winter. “Do you hear them, Edmar? Your people laugh at you. They spit upon you. What king has subjects who do not weep for him?” He leaned close, his shadow consuming me. “You are mine. Every gasp, every tear, every wound,you belong to me now.”
And so he wore me down. Not only my body, but my spirit. He wanted me hollow. He wanted me broken, so that when he discarded me, I would be less than nothing.
<</gg>>
<br><br><br><br>
<<gg>>
At last, when I had become too frail to entertain them further, they dragged me through the streets one final time. My body was gaunt, my face hollowed, my beard matted with blood and grime. I no longer resembled a king, or even a man,only a shadow.
With a soldier’s laugh, they tore the rusted shackles from my wrists and cast me into the gutter. Children threw stones. Men spat. Women turned away.
No one saw a sovereign in those broken rags. I was refuse, cast aside like a shattered toy.
<</gg>>
<br><br><br><br>
<<gg>>
I crawled, limbs trembling, through the filth of streets slick with ash and sewage. At last, I found a grate wrenched open, a hole descending into the underbelly of the city. The stench was unbearable, but it was darker there, quieter. Forgotten.
Down in the sewers, among the rats and dripping water, I found my throne: a rotting scrap of cloth, sodden and reeking, abandoned in the slime. I wrapped it around myself as though it were royal mantle, shivered in the damp, and listened to the steady drip of water echoing in the tunnels.
There, in the bowels of the city, discarded and broken, I lay still.
But in the silence, hatred burned.
<</gg>>
<br><br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Try to wake up" Sewers>><</button>>
</span>
</div>
</div>
<<set $name to "Edmar">>
<<set $rank = 0>>
<<set $playerXP = 0>>
<<set $SytoglasInfluence = 1>>
<<set $IronjawInfluence = 1>>
<<set $TrilikInfluence = 1>>
<<set $SerellaInfluence = 1>>
<<set $InkfallInfluence = 1>>
<<set $RaveneyeInfluence = 1>>
<<set $MiraInfluence = 1>>
<<set $GuardsNo to false>>
<<set $GuardTalk to false>>
<<set $SmuglerSpoken to false>>
<<set $influenceFind to false>>
<<set $marisSex to false>>
<<set $churchInfo to false>>
<<set $churchRitual to false>>
<<set $masksRitual to false>>
<<set $forgedaughter = 0>>
<<set $prisonCheck to false>>
<<set $storyInit to true>>
<<set $version = 0.2>>
<<set $LabelSytoglasInfluence = $SytoglasInfluence * 100>>
<<set $LabelIronjawInfluence = $IronjawInfluence * 100>>
<<set $LabelTrilikInfluence = $TrilikInfluence * 100>>
<<set $LabelSerellaInfluence = $SerellaInfluence * 100>>
<<set $LabelInkfallInfluence = $InkfallInfluence * 100>>
<<set $LabelRaveneyeInfluence = $RaveneyeInfluence * 100>>
<<set $LabelMiraInfluence = $MiraInfluence * 100>>
<<set $treeChopProgress = 0>>
<<newcycle 'time' 1 1 suspend>>
<<phase 'daytime' 'nighttime'>>
<</newcycle>>
<<newcycle 'weekdays' 1 1 suspend>>
<<phase 'Sunday' 'Monday'>>
<<phase 'Tuesday' 'Wednesday'>>
<<phase 'Thursday' 'Friday' 'Saturday'>>
<</newcycle>>
<<set $forestXp to $forestXpNow / $neededForestXp>>
<<set $neededForestXp to $currentForestLvlXp >>
<<character 'gg' '$name' 'images/characters/maincharacter.jfif'>>
<<character 'smuggler' 'Smuggler' 'images/characters/Smugler.jpg'>>
<<character 'maris' 'Lady Maris' 'images/characters/maris.jpg'>>
<<character 'priest' 'Priestess' 'images/characters/priestess.jpg'>>
<<character 'cultist' 'Cultist' 'images/characters/ordermember.jpg'>>
<<character 'gg1' '$name' 'images/characters/maincharacterorder.jpg'>>
<<character 'cultist1' 'Female cultist' 'images/characters/ordermember1.jfif'>>
<<character 'dessil' 'Dessil The Alchemist' 'images/characters/dessil2.jpg'>>
<<character 'olrik' 'Olrik Chief Judge' 'images/characters/olrik.jfif'>>
<<character 'madam' 'Madam Isolde' 'images/characters/Isolde.jpg'>>
<<character 'ellin' 'Ellin' 'images/characters/Ellin.jpg'>>
<<character 'blacksmith' 'Blacksmith' 'images/characters/smith.jpg'>>
<<set $wealthProgress = Math.floor(($gold / $wealthNeeded) * 100)>>
<<set $xpProgress = Math.floor(($playerXP / $playerNeededXp) * 100)>>
<<newmeter "forestXp">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label " XP : $forestXp / $forestryNeededXp" 'black' center>>
<</newmeter>>
<<newmeter "miningXp">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label " XP : $miningXp / $miningNeededXp" 'black' center>>
<</newmeter>>
<<newmeter "moneyXP">>
<<colors "#ffbf00" "#ffcf40">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<</newmeter>>
<<newmeter "playerXP">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<</newmeter>>
<<newmeter "craftingXp">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<</newmeter>>
<<newmeter "SytoglasInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelSytoglasInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "IronjawInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelIronjawInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "TrilikInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelTrilikInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "SerellaInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelSerellaInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "InkfallInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelInkfallInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "RaveneyeInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelRaveneyeInfluence %" 'black' center>>
<</newmeter>>
<<newmeter "MiraInf">>
<<colors "#444c5c" "#444c5c">> <!-- full / empty -->
<<sizing 100% 1rem>> <!-- width / height -->
<<animation 400ms swing>>
<<label "$LabelMiraInfluence %" 'black' center>>
<</newmeter>>
///math
<<set $forestLevel = 1>>
<<set $forestXp = 0>>
<<set $forestryNeededXp = Math.floor(100 * Math.pow(1.5, $forestLevel - 1))>>
<<set $miningLevel = 1>>
<<set $miningXp = 0>>
<<set $miningNeededXp = Math.floor(100 * Math.pow(1.5, $miningLevel - 1))>>
<<set $playerNeededXp = Math.floor(100 * Math.pow(1.7, $rank - 1))>>
<<set $collected = {}>>
<<set $rankNames to [
"Slave","Beggar","Servant","Citizen","Merchant",
"Noble","Lord","Baron","Duke","King"
]>>
<<set $rankGoldReq to [0, 50, 100, 300, 800, 2000, 5000, 10000, 20000, 50000]>>
<<set $rankXpReq to [0, 100, 400, 800, 1500, 3000, 6000, 12000, 25000, 50000]>>
// Инициализация уровня крафтинга
<<set $craftingLevel to 1>>
<<set $craftingXp to 0>>
<<set $craftingNeededXp to 100>>
// Создание предметов древесины
<<newinv $materials>>
<<newinv $potions>>
// Инвентарь для крафченых предметов
<<newinv $tools>>
// Рецепты крафтинга (структура: название -> требования и результат)
<<if !$recipes>>
<<set $recipes = new Map([
["Copper axe", { oak: 15, copper: 12 }],
["Iron axe", { ash: 3, iron: 1 }],
["Silver axe", { beech: 20, silver: 5 }],
["Gold axe", { maple: 25, goldOre: 20 }],
["Mithril axe", { ironwood: 30, mithril: 25 }],
["Adamantite axe", { ebony: 40, adamantite: 30 }],
["Stone pickaxe", { oak: 15, stone: 10 }],
["Copper pickaxe", { ash: 10, copper: 8 }],
["Iron pickaxe", { beech: 15, iron: 12 }],
["Silver pickaxe", { maple: 20, silver: 15 }],
["Gold pickaxe", { ironwood: 25, gold: 20 }],
["Mithril pickaxe", { ebony: 30, mithril: 25 }],
["Adamantite pickaxe", { silent: 40, adamantite: 30 }]
])>>
<</if>>
<<set $sellPrices = {
oak: 1,
ash: 2,
beech: 3,
maple: 5,
ironwood: 8,
ebony: 12,
silent: 20,
stone:1,
copper: 2,
iron: 5,
silver: 8,
gold: 10,
steel: 3,
mithril: 20,
adamantite: 27,
aetherium: 34
}>>
<<if !$quests>>
<<set $quests = new Map()>>
<<set $questsData = {
add: function(id, title, desc, reward, image) {
$quests.set(id, {
title: title,
desc: desc,
reward: reward,
status: "active",
progress: 0,
image: image || "images/default_quest.png"
});
},
remove: function(id) { $quests.delete(id); },
setStatus: function(id, status) {
if ($quests.has(id)) { $quests.get(id).status = status; }
},
updateProgress: function(id, value) {
if ($quests.has(id)) { $quests.get(id).progress = value; }
}
}>>
<<set $questsData.addRumor = function(id, title, fragments, reward, image, linkedEnemy, tier) {
$quests.set(id, {
title: title,
desc: "Gather all the fragments to use this rumor.",
type: "rumor",
fragments: fragments.map(f => ({ text: f, found: false })),
reward: reward,
status: "active",
progress: 0,
image: image || "images/rumors/default.png",
linkedEnemy: linkedEnemy,
tier: tier || 1
});
}>>
<<set $questsData.addFragment = function(id, fragmentText) {
if ($quests.has(id)) {
let rumor = $quests.get(id);
if (rumor.type !== "rumor") return;
let frag = rumor.fragments.find(f => f.text === fragmentText);
if (frag && !frag.found) frag.found = true;
let foundCount = rumor.fragments.filter(f => f.found).length;
rumor.progress = foundCount + " / " + rumor.fragments.length;
if (foundCount === rumor.fragments.length) {
rumor.status = "completed";
}
}
}>>
<</if>>
<<set $lastPassage = "Start">>
<<script>>
State.variables.rank = Number(State.variables.rank) || 0;
State.variables.gold = Number(State.variables.gold) || 0;
State.variables.playerXP = Number(State.variables.playerXP) || 0;
$(document).on(':passagedisplay', function (ev) {
// каждый раз, когда показывается новый passage, запоминаем предыдущий
if (typeof State.variables !== "undefined") {
State.variables.lastPassage = ev.passage.title;
}
});
<</script>>
<<script>>
if (!State.variables.questRumors) {
State.variables.questRumors = [];
}
// Атмосферные слухи как неизменяемый массив в setup (можно менять на свой)
setup.atmosphericRumors = [
"Someone saw a hooded figure sneaking into the old mill when no one was watching.",
"Rumor has it that the smith has been forging strange weapons that hum on their own.",
"I heard the captain of the guard is recruiting spies disguised as street vendors.",
"A noble’s ledger was stolen last week, and the thief hasn’t been found.",
"They whisper that the tavern mistress knows secrets about half the city’s guilds.",
"Someone claims the apothecary is experimenting with potions that grant unnatural strength.",
"I overheard a merchant saying a shipment of rare coins vanished on the road to the south gate.",
"People say the city watch is hiding prisoners in the old bell tower.",
"A strange scholar was asking questions about forbidden rituals near the market.",
"Rumor has it the bakery is receiving flour from a hidden underground source.",
"I heard that the jailer has been secretly letting a few prisoners walk free for bribes.",
"Someone saw a shadowy figure exchanging letters with the librarian after hours.",
"They say a wealthy merchant’s daughter has run off with a foreign adventurer.",
"I overheard guards talking about a spy disguised as a beggar on the streets.",
"People whisper that the new city gates have secret compartments for smuggling goods.",
"A stranger paid a fortune for a single jewel at the market yesterday.",
"Rumor has it that a local bard knows the hidden passwords to the city vault.",
"I heard the blacksmith once served a mysterious order and still keeps their secrets.",
"Someone mentioned seeing flickering lights in the abandoned tower by the river at night."
];
<</script>>
<<include "InitMigration_0_2">>
<div class="startScreen2">
<div class="centered">
<h1> Lord of the Lost throne </h1>
</div>
</div>
<div class="startScreen">
<div class="centered">
Enter your name:
<div class="royal-textbox-wrap">
<br> <<textbox "$name" "">>
</div>
<br>
<span class="royal-button">
<<button "Enter">>
<<replace "#displayName">>
Your name is: $name
<</replace>>
<<replace "#nextBtn">>
<span class="prologue">
[[Continue to Prologue|prologue1]]</span>
<</replace>>
<</button>>
</span>
<div id="displayName"></div>
<div id="nextBtn"></div>
</div>
</div>
<style>
/* === Основной стиль === */
.royal-textbox-wrap input[type="text"] {
background: radial-gradient(circle at top left, rgba(70,50,30,0.95), rgba(30,20,10,0.9));
border: 2px solid rgba(255,215,100,0.5);
border-radius: 12px;
padding: 10px 14px;
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 1.1em;
box-shadow: 0 0 10px rgba(255,215,100,0.2);
transition: all 0.3s ease;
width: 260px;
outline: none;
max-width: 90vw; /* защита от выхода за экран */
box-sizing: border-box;
}
.royal-textbox-wrap input[type="text"]:focus {
border-color: rgba(255,235,160,0.8);
box-shadow: 0 0 18px rgba(255,235,160,0.3);
background: radial-gradient(circle at top left, rgba(80,60,35,0.95), rgba(25,15,8,0.9));
color: #ffecb3;
}
.royal-textbox-wrap input[type="text"]::placeholder {
color: rgba(255,240,180,0.6);
font-style: italic;
}
.royal-textbox-wrap {
display: flex;
justify-content: center;
align-items: center;
margin: 20px 0;
width: 100%;
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
h1 {
font-size: 0.8em;
text-align: center;
margin: 0.6em 0;
}
.startScreen {
margin-top: 0vh;
font-family: blackchancery;
font-size: 100%;
}
.royal-textbox-wrap {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
margin: 20px 0;
}
.royal-textbox-wrap input[type="text"] {
width: 85vw; /* теперь строго по экрану */
max-width: 85vw;
font-size: 1em;
padding: 9px 12px;
border-radius: 10px;
}
.centered {
padding: 10px;
}
.royal-button {
font-size: 0.95em;
}
}
.royal-button button {
min-width: auto !important; /* убираем огромную ширину */
width: auto; /* естественная ширина по тексту */
padding: 32px 48px; /* фиксированный padding */
display: inline-block; /* не растягивается */
font-size: 24px; /* нормальный размер */
}
/* Мобильная версия */
@media (max-width: 600px) {
.royal-button button {
padding: 10px 20px; /* чуть меньше на мобиле */
font-size: 14px;
min-width: 120px; /* минимальная ширина */
}
}
.prologue a {
display: inline-block;
background: radial-gradient(circle at top left, rgba(80,60,30,0.9), rgba(40,25,10,0.85));
border: 2px solid rgba(255,215,120,0.6);
border-radius: 10px;
padding: 10px 18px;
font-family: 'Garamond', 'Times New Roman', serif;
color: #f8e7b5;
font-size: 1.1em;
text-decoration: none;
text-shadow: 0 0 6px rgba(255,240,160,0.4);
box-shadow: 0 0 10px rgba(255,215,100,0.2);
transition: all 0.3s ease;
}
.prologue a:hover {
border-color: rgba(255,235,160,0.9);
box-shadow: 0 0 15px rgba(255,235,160,0.4);
color: #fff3c2;
transform: scale(1.03);
}
</style>
<<done>>
<<script>>
/* If the game is restarting, skip autosave loading. */
if (State.metadata.has("Restarting")) {
State.metadata.delete("Restarting");
}
/* Otherwise, check if an autosave exists & load it */
else if (Save.browser.size > 0) {
Save.browser.continue()
.then(() => {
/* Success - load the passage */
Engine.show();
})
.catch(error => {
/* Failure. Handle the error */
console.error(error);
UI.alert(error);
});
} else {
/* No browser saves exist. Start new game */
}
<</script>>
<</done>><div class="resizable imageMapObserve">
<img src="images/Backs/Sewers.jpg"
alt="Sewers"
usemap="#sewer-image-map"
style=" width:100vw; min-height:auto; max-width: 100%; object-fit:cover; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="sewer-image-map">
<area data-passage="sleep" alt="bed" title="bed"
coords="903,536,1175,533,1344,665,1349,832,947,835,903,715" shape="poly">
<area data-passage="streets" alt="exit" title="exit"
coords="516,560,499,273,681,149,896,250,891,558" shape="poly">
<area data-passage="status" alt="table" title="table" coords="326,648,189,779,199,1056,567,1054,644,993,630,647" shape="poly">
<<= ($rank <= 0)
? ($GuardsNo
? ''
: '<area data-passage="GuardsNo" alt="no map" title="no map" coords="1470,350,1449,535,1626,579,1655,345" shape="poly">')
: ($GuardsNo
? '<area data-passage="Map" alt="map" title="map" coords="1470,350,1449,535,1626,579,1655,345" shape="poly">'
: '<area data-passage="Map" alt="map" title="map" coords="1470,350,1449,535,1626,579,1655,345" shape="poly">')
>>
</map>
<<if $rank >=1 and $quests.get("lvlUp").status is "active">>
<<run $questsData.setStatus("lvlUp", "completed")>>
<</if>>
<<if $rank >= 1 and !$quests.has("tawernAsk")>>
<<run $questsData.add(
"tawernAsk",
"Try to find a job in a tavern",
"Steady gold runs out fast. Tavern work = reliable daily income + Owners network. Good reputation there opens relationship with owner, and side gigs. Ask owner directly — she's always hiring reliable hands.",
"Daily income + owner reputation",
"images/characters/Elara.png"
)>>
<</if>>
<<if $rank >=1 and !$quests.has("portWorkAsk")>>
<<run $questsData.add(
"portWorkAsk",
"Dock job at port",
"Port got a part time risky job. Dock rep unlocks: 1) Cargo side-gigs 2) Ship captain trust 3) Future slave trader access ",
"New income + smuggling network",
"images/characters/Mira.jpg"
)>>
<</if>>
<<if $rank >= 1 and !$quests.has("newEaves")>>
<<run $questsData.add(
"newEaves",
"What's next?",
"Maybe local alchemist could give me a hint on what I should do now ?",
"?",
"images/characters/dessil2.jpg"
)>>
<</if>>
<<if $forgedaughter == 7 && !$collected['ellen_collection']>>
<<set $collected['ellen_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>>
<<if $version < 0.2 or !$version>>
<<goto "InitMigration_0_2">>
<</if>>
<div class="resizable imageMapObserve">
<img src="images/Backs/streets.jpg"
alt="streets"
usemap="#streets-image-map"
style=" width:90vw; height:auto; max-width: 100%; object-fit:cover; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="streets-image-map">
<area data-passage="shop" alt="shop" coords="1210,642,1208,872,1470,923,1466,609" shape="poly">
<area data-passage="Bazaar" alt="Bazaar" coords="9,555,272,620,479,686,479,838,299,878,276,1073,14,1073" shape="poly">
<area data-passage="rightCity" alt="Right city" coords="952,664,944,816,1081,850,1078,659" shape="poly">
<area data-passage="leftCity" alt="Left city" title="workshop" coords="622,623,810,621,808,798,615,796" shape="poly">
<area data-passage="castle" alt="castle" coords="737,150,783,103,968,47,1044,67,1080,83,1115,108,1137,152,1137,273,949,260,734,300" shape="poly">
<area data-passage="Sewers" alt="Sewers" title="Sewers" coords="532,964,1129,913,1493,1083,601,1088" shape="poly">
<area data-passage="Beggar" alt="beg" title="beg" coords="1532,611,1906,570,1909,1088,1895,1086,1538,1013" shape="poly">
</map>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>>
<<if $dev is true>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to right street" CharacterMenuUI>><</button>>
</span>
</div>
</div>
<</if>>
<div class="passage-panel">
<nav class="market-tabs">
<div class="sidebar-button">[[Gather plants|AlchemyFarm]]</div>
</nav>
</div>
<<do tag "forest">>
<<run
while ($forestXp >= $forestryNeededXp) {
$forestXp -= $forestryNeededXp;
$forestLevel++;
$forestryNeededXp = Math.floor(100 * Math.pow(1.5, $forestLevel - 1));
}
>>
<div class="forest-status">
<p>🌲 Forestry level: <<print $forestLevel>></p>
<<set _forestxpp to $forestXp / $forestryNeededXp>>
<<showmeter "forestXp" _forestxpp >>
</div>
<div class="collected-woods">
<h3>Collected Wood</h3>
<div class="materials-grid">
<<if $materials.count('oak') > 0>>
<div class="wood-item">
<img src="images/icons/oak.png" alt="Oak Wood" class="wood-icon">
<span>Oak: <<print $materials.count('oak')>></span>
</div>
<</if>>
<<if $materials.count('ash') > 0>>
<div class="wood-item">
<img src="images/icons/ash.png" alt="Ash Wood" class="wood-icon">
<span>Ash: <<print $materials.count('ash')>></span>
</div>
<</if>>
<<if $materials.count('beech') > 0>>
<div class="wood-item">
<img src="images/icons/beech.png" alt="Beech Wood" class="wood-icon">
<span>Beech: <<print $materials.count('beech')>></span>
</div>
<</if>>
<<if $materials.count('maple') > 0>>
<div class="wood-item">
<img src="images/icons/maple.png" alt="Maple Wood" class="wood-icon">
<span>Maple: <<print $materials.count('maple')>></span>
</div>
<</if>>
<<if $materials.count('ironwood') > 0>>
<div class="wood-item">
<img src="images/icons/ironwood.png" alt="Ironwood" class="wood-icon">
<span>Ironwood: <<print $materials.count('ironwood')>></span>
</div>
<</if>>
<<if $materials.count('ebony') > 0>>
<div class="wood-item">
<img src="images/icons/ebony.png" alt="Ebony" class="wood-icon">
<span>Ebony: <<print $materials.count('ebony')>></span>
</div>
<</if>>
<<if $materials.count('silent') > 0>>
<div class="wood-item">
<img src="images/icons/silent.png" alt="Silent Tree" class="wood-icon">
<span>Silent Tree: <<print $materials.count('silent')>></span>
</div>
<</if>>
</div>
</div>
<<set $woodCount = random(1, 4)>>
<</do>>
<!-- OAK -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/oak.png" alt="Oak Wood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>1</strong></p>
<p>🪓 Axe needed: <strong>Stone axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Stone axe") and $forestLevel >= 1>>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('oak', $woodCount)>>
<<set $forestXp += $woodCount * 3>>
<<flash `"You earned " + $woodCount + " oak wood and " + ($woodCount * 3) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Stone axe!</button>
<</if>>
</div>
</div>
<!-- ASH -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/ash.png" alt="Ash Wood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>2</strong></p>
<p>🪓 Axe needed: <strong>Copper axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Copper axe") and $forestLevel >= 2>>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('ash', $woodCount)>>
<<set $forestXp += $woodCount * 5>>
<<flash `"You earned " + $woodCount + " ash wood and " + ($woodCount * 5) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Copper axe!</button>
<</if>>
</div>
</div>
<!-- BEECH -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/beech.png" alt="Beech Wood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>3</strong></p>
<p>🪓 Axe needed: <strong>Iron axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Iron axe") and $forestLevel >= 3 >>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('beech', $woodCount)>>
<<set $forestXp += $woodCount * 8>>
<<flash `"You earned " + $woodCount + " beech wood and " + ($woodCount * 8) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need an Iron axe!</button>
<</if>>
</div>
</div>
<!-- MAPLE -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/maple.png" alt="Maple Wood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>4</strong></p>
<p>🪓 Axe needed: <strong>Steel axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Steel axe") and $forestLevel >= 4 >>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('maple', $woodCount)>>
<<set $forestXp += $woodCount * 10>>
<<flash `"You earned " + $woodCount + " maple wood and " + ($woodCount * 10) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Steel axe!</button>
<</if>>
</div>
</div>
<!-- IRONWOOD -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/ironwood.png" alt="Ironwood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>5</strong></p>
<p>🪓 Axe needed: <strong>Gold axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Gold axe") and $forestLevel >= 5>>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('ironwood', $woodCount)>>
<<set $forestXp += $woodCount * 12>>
<<flash `"You earned " + $woodCount + " ironwood and " + ($woodCount * 12) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Gold axe!</button>
<</if>>
</div>
</div>
<!-- EBONY -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/ebony.png" alt="Ebony Wood" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>6</strong></p>
<p>🪓 Axe needed: <strong>Mithril axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Mithril axe") and $forestLevel >= 6>>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('ebony', $woodCount)>>
<<set $forestXp += $woodCount * 15>>
<<flash `"You earned " + $woodCount + " ebony wood and " + ($woodCount * 15) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Mithril axe!</button>
<</if>>
</div>
</div>
<!-- SILENT TREE -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/silent.png" alt="Silent Tree" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>7</strong></p>
<p>🪓 Axe needed: <strong>Adamantite axe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Adamantite axe") and $forestLevel >= 7>>
<<cooldownButton "Chop" fill 3s>>
<<run $materials.pickup('silent', $woodCount)>>
<<set $forestXp += $woodCount * 20>>
<<flash `"You earned " + $woodCount + " silent wood and " + ($woodCount * 20) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "forest">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need an Adamantite axe!</button>
<</if>>
</div>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Reveal the map" Map>><</button>>
</span>
</div>
</div>
<<done>>
<<script>>
jQuery(".macro-cooldownbutton").on("click", function(){
jQuery(".macro-cooldownbutton").ariaDisabled(true);
setTimeout(function(){
jQuery(".macro-cooldownbutton").ariaDisabled(false);
}, 3000); /* time delay in ms, same delay as the cooldown button duration */
});
<</script>>
<</done>>
<ul>
<li>Oak: $oakCount</li>
<li>Ash: $ashCount</li>
<li>Beech: $beechCount</li>
<li>Maple: $mapleCount</li>
<li>Ironwood: $ironWoodCount</li>
<li>Ebony: $ebonyCount</li>
<li>Silent Tree: $silentCount</li>
</ul>
<<do tag "cards">>
<div class="centered">
<h1> Your collection </h1>
</div>
<div class="collectibles-wrapper">
<!-- Карточка 1 -->
<div class="collectible-card">
<div class="collectible-art">
<<if $collected['elara_collection']>>
<img src="images/cards/elaraFull.png" alt="elaraColl">
<<else>>
<img src="images/cards/question_mark.png" alt="Locked">
<</if>>
</div>
<div class="collectible-title">Elara, tavern owner</div>
<div class="collectible-rarity">RARE</div>
<div class="collectible-status">
<<if $collected['elara_collection']>>Collected<<else>>Locked<</if>>
</div>
</div>
<!-- Карточка 2 -->
<div class="collectible-card">
<div class="collectible-art">
<<if !$collected['ellen_collection']>>
<img class="locked-img" src="images/cards/question_mark.png" alt="Locked">
<<else>>
<img class="unlocked-img" src="images/cards/ellenFull.png" alt="">
<</if>>
</div>
<div class="collectible-title">Ellen, blacksmith's daughter</div>
<div class="collectible-rarity">COMMON</div>
<div class="collectible-status">
<<if $collected['ellen_collection']>>Collected<<else>>Locked<</if>>
</div>
</div>
<!-- Карточка 3 -->
<div class="collectible-card">
<div class="collectible-art">
<<if !$collected['dessil_collection']>>
<img class="locked-img" src="images/cards/question_mark.png" alt="Locked">
<<else>>
<img class="unlocked-img" src="images/cards/dessilFull.png" alt="">
<</if>>
</div>
<div class="collectible-title">Dessil, Royal Alchemist</div>
<div class="collectible-rarity">RARE</div>
<div class="collectible-status">
<<if $collected['dessil_collection']>>Collected<<else>>Locked<</if>>
</div>
</div>
<!-- Карточка 4 -->
<div class="collectible-card">
<div class="collectible-art">
<<if !$collected['tournament_collection']>>
<img class="locked-img" src="images/cards/question_mark.png" alt="Locked">
<<else>>
<img class="unlocked-img" src="images/cards/tournamentFull.png" alt="">
<</if>>
</div>
<div class="collectible-title">Patreon golden tournament</div>
<div class="collectible-rarity">LEGENDARY</div>
<div class="collectible-status">
<<if $collected['tournament_collection']>>Collected<<else>>Locked<</if>>
</div>
</div>
</div>
<</do>>
<div class="centered">
<span class="ascend">
<<button "confirm">><<run Engine.backward()>><</button>>
</span>
</div>
<div class="centered">
<div class="money-display">
<img src="images/icons/coins.png" class="coin-icon">
<span class="money-amount"><<print setup.money.get()>></span>
</div>
</div>
<<do tag "cycle">>
<<showcycle 'weekdays'>> : <<showcycle 'time'>>
<<if Cycle.get('time').check('daytime')>>
<span class="plus-btn">
<<button "Wait">>
<<editcycle 'time' change +1>>
<<redo "cycle">>
<</button>>
</span>
<</if>>
<</do>>
<br><br><br>
<nav class="sidebar-nav">
<div class="sidebar-button">[[Collection|Collection]]</div>
<div class="sidebar-button">[[Enemies|enemies]]</div>
<div class="sidebar-button">[[Quest Book|QuestBook]]</div>
<div class="sidebar-button">[[Relationships|Relationships]]</div>
<div class="sidebar-button">[[Cheat panel|CheatPanel]]</div>
<div class="sidebar-button">[[Options|Options]]</div>
</nav>
<div class="social-icons">
<a href="https://discord.gg/ze2GEkZw9h">
<img src="images/icons/ds.png" alt="Discord" class="social-icon">
</a>
<a href="https://www.patreon.com/spellofearth">
<img src="images/icons/patreon.png" alt="Patreon" class="social-icon">
</a>
</div>
<style>
.plus-btn button:hover {
background: linear-gradient(135deg, #b7864c, #a86b3a);
transform: scale(1.05);
box-shadow: 0 0 12px rgba(255, 200, 120, 0.5);
}
.plus-btn button:active {
transform: scale(0.95);
box-shadow: inset 0 0 6px rgba(0,0,0,0.4);
}
.plus-btn button {
background-color: rgb(95 66 38);
color: white;
border: none;
border-radius: 6px;
padding: 6px 12px;
cursor: pointer;
border: 2px solid #7a5527;
border-radius: 8px;
}
.social-icons {
display: flex;
gap: 1vw; /* адаптивный отступ между иконками */
justify-content: center;
align-items: center;
margin-top: 1rem;
}
.social-icon {
width: 3vw; /* полностью респонсивная ширина */
height: auto; /* сохраняем пропорции */
cursor: pointer;
transition: transform 0.2s ease, filter 0.2s ease;
}
.social-icon:hover {
transform: scale(1.2);
filter: brightness(1.2);
}
/* планшеты и маленькие экраны */
@media (max-width: 768px) {
.social-icon {
width: 15vw;
}
}
@media (max-width: 480px) {
.social-icon {
width: 20vw;
}
}
a.link-external::after {
visibility: hidden;
content: "";
}
</style>
<<if Cycle.check('time', 'daytime')>>
<<set _randBeg = random(1, 3)>>
<<set _begMoney = random(1, 3)>>
<<switch _randBeg>>
<<case 1>>
<<run setup.money.add(_begMoney)>>
<<if hasVisited("GuardsNo") and $GuardTalk is false>>
<<gg>><em>I hold out my palm in the gutter’s dim light, one coin left between my fingers. A cart rattles by; a woman hurries past, ignoring me. Embarrassment tastes like old bread.
When I murmur the ask , the word barely leaving my lips , a shadow falls across my hand.
A guard stands over me, helmet tucked under his arm. He’s not the sort to throw a coin; he studies me like a curious animal. Beside him, a younger watcher tries to hide a smile.</em>
<</gg>>
<br>
<<say 'Guard' >>You begging in the street? You ought to be working. Or have papers.<</say>>
<br>
<<gg>><em>I search for an answer, for dignity, for anything that might change his mood.</em>
I… I just need some coin for food.
<</gg>>
<br>
<<gg>><em>He snorts, then leans closer, voice down so only I hear it.</em><</gg>>
<br>
<<say 'Guard' >>There’s another thing you could try. The Mistress of the Watch , she handles odd cases. If you’re bold enough, go to the prison on the left street and ask for her. She tests a man’s bearing. If she sees fit… she signs.<</say>>
<br>
<<gg>><em>He taps the side of his nose as if sharing a secret, then straightens and walks away, leaving me stunned and the coin forgotten in my palm.</em><</gg>>
<br>
<<set $GuardTalk to true>>
<<run $questsData.add(
"mistGuard",
"Talk to the mistress in prison",
"When I asked for money, probably the last kind guard told me how to get free: I just had to go to the mistress in prison and do what she said.",
"Freedom ?, 100xp",
"images/characters/mistress.jfif"
)>>
<</if>>
<br>
<<set _earningsPhrases = [
"I have earned " + _begMoney + " coins, enough to buy a meal… if I’m lucky.",
"I have earned " + _begMoney + " coins, though it barely keeps the hunger at bay.",
"I have earned " + _begMoney + " coins, a paltry sum for a king turned beggar.",
"I have earned " + _begMoney + " coins, my only reward for wandering these streets.",
"I have earned " + _begMoney + " coins, each one a reminder of what I’ve lost.",
"I have earned " + _begMoney + " coins, and yet it feels like nothing.",
"I have earned " + _begMoney + " coins, enough for bread, maybe some cheese.",
"I have earned " + _begMoney + " coins, a meager sum in this cruel city.",
"I have earned " + _begMoney + " coins, barely enough to keep my stomach quiet.",
"I have earned " + _begMoney + " coins, a drop in the ocean of my misfortune."
]>>
<<set _r = random(0, _earningsPhrases.length - 1)>>
<<gg>> <i><<print _earningsPhrases[_r]>></i> <</gg>>
<br>
<<case 2>>
<<set _thoughts = [
"Once I had a crown, now I beg for crumbs. How far can a king fall?",
"The streets echo with laughter that isn’t mine anymore.",
"I remember the sound of banners flapping above the castle… and now, rats in the gutter.",
"If I close my eyes, I can still feel the weight of the crown , heavier than any chain.",
"They called me ‘Your Majesty’ once. Now they don’t even call me by name.",
"The new king sits on my throne. My throne. And I sit in the mud.",
"Maybe the gods wanted to humble me. If so, they succeeded.",
"All those battles, all that glory , what did it matter?",
"My kingdom burned… and I with it, piece by piece.",
"I can still see the flames behind my eyelids when I sleep.",
"I had a wife, a court, a future. Now I have dust and cold stone.",
"They said I was born under a lucky star. Perhaps it fell.",
"If I could just once more see the city from the tower… not from the gutter.",
"The peasants I once ruled now step over me.",
"A king without a crown, a man without a name.",
"Power fades faster than bread in the rain.",
"Even the guards don’t recognize me anymore. Maybe that’s for the best.",
"How quickly loyalty dies when gold runs dry.",
"Maybe I deserve this. Maybe this is what justice feels like.",
"The new king smiles like I used to , and it sickens me."
]>>
<<set _r = random(0, _thoughts.length - 1)>>
<<gg>><i><<print _thoughts[_r]>></i><</gg>>
<<case 3>>
<<set _madThoughts = [
"They called me king once… I think. Or was that just the dream?",
"The throne… it was golden, wasn’t it? Or bones. Hard to tell now.",
"He took it all. My city, my crown, my name. But not my hatred.",
"I tried to fight. Gods know I tried.",
"They laughed as the banners burned. I still hear it at night.",
"He wore my cloak at the coronation. My cloak.",
"The chains cut deep. Deeper than memory.",
"I used to command armies… now I can’t command my own hunger.",
"Once they bowed. Now they spit.",
"If I could just stand tall again… once.",
"I had knights who would die for me. They did.",
"The new king’s voice , like honey over rot.",
"The priests said the gods chose him. Lying worms.",
"They say power corrupts. I say power burns away what’s left of you.",
"The crown whispered things… maybe it still does.",
"Everything I built, swallowed by fire and greed.",
"I dream of my throne , covered in dust and silence.",
"My hands remember the sword, though my body forgot.",
"I was a ruler. Now I’m just another beggar with stories no one believes.",
"If I scream long enough, maybe the stones will remember me."
]>>
<<set _r2 = random(0, _madThoughts.length - 1)>>
<<gg>> <i><<print _madThoughts[_r2]>></i> <</gg>>
<</switch>>
<br>
<<else>>
<<gg>><em>Who will give me money at night? I'm more likely to get robbed.</em><</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to main street" streets>><</button>>
</span>
</div>
</div>
<<if $treeChopped is true>>
<<do tag "mine">>
<<run
while ($miningXp >= $miningNeededXp) {
$miningXp -= $miningNeededXp;
$miningLevel++;
$miningNeededXp = Math.floor(100 * Math.pow(1.5, $miningLevel - 1));
}
>>
<div class="forest-status">
<p>⛏️ Mining level: <<print $miningLevel>></p>
<<set _miningxpp to $miningXp / $miningNeededXp>>
<<showmeter "miningXp" _miningxpp >>
</div>
<div class="collected-woods">
<h3>Collected ores</h3>
<div class="materials-grid">
<<if $materials.count('stone') > 0>>
<div class="wood-item">
<img src="images/icons/stone.png" alt="stone" class="wood-icon">
<span>Stone: <<print $materials.count('stone')>></span>
</div>
<</if>>
<<if $materials.count('copper') > 0>>
<div class="wood-item">
<img src="images/icons/copper.png" alt="Copper ore" class="wood-icon">
<span>Copper ore: <<print $materials.count('copper')>></span>
</div>
<</if>>
<<if $materials.count('iron') > 0>>
<div class="wood-item">
<img src="images/icons/iron.png" alt="Iron ore" class="wood-icon">
<span>Iron ore: <<print $materials.count('iron')>></span>
</div>
<</if>>
<<if $materials.count('silver') > 0>>
<div class="wood-item">
<img src="images/icons/silver.png" alt="Silver ore" class="wood-icon">
<span>Silver ore: <<print $materials.count('silver')>></span>
</div>
<</if>>
<<if $materials.count('gold') > 0>>
<div class="wood-item">
<img src="images/icons/gold.png" alt="Gold ore" class="wood-icon">
<span>Gold ore: <<print $materials.count('gold')>></span>
</div>
<</if>>
<<if $materials.count('mithril') > 0>>
<div class="wood-item">
<img src="images/icons/mithril.png" alt="Mithril ore" class="wood-icon">
<span>Mithril ore: <<print $materials.count('mithril')>></span>
</div>
<</if>>
<<if $materials.count('adamantite') > 0>>
<div class="wood-item">
<img src="images/icons/adamantite.png" alt="Adamantite ore" class="wood-icon">
<span>Adamantite ore: <<print $materials.count('adamantite')>></span>
</div>
<</if>>
<<if $materials.count('aetherium') > 0>>
<div class="wood-item">
<img src="images/icons/aetherium.png" alt="Aetherium ore" class="wood-icon">
<span>Aetherium ore: <<print $materials.count('aetherium')>></span>
</div>
<</if>>
</div>
<<set $woodCount = random(1, 4)>>
<</do>>
<!-- STONE -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/stone.png" alt="Stone" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>1</strong></p>
<p>⛏️ Pickaxe needed: <strong>None</strong></p>
</div>
<div class="tree-right">
<<cooldownButton "Mine" fill 3s>>
<<run $materials.pickup('stone', $woodCount)>>
<<set $miningXp += $woodCount * 1>>
<<flash `"You earned " + $woodCount + " stone and " + ($woodCount * 1) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
</div>
</div>
<!-- COPPER -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/copper.png" alt="Copper ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>1</strong></p>
<p>⛏️ Pickaxe needed: <strong>Stone pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Stone pickaxe") and $miningLevel >= 1>>
<<cooldownButton "Mine" fill 3s>>
<<set $copperCount += $woodCount>>
<<run $materials.pickup('copper', $woodCount)>>
<<set $miningXp += $woodCount * 3>>
<<flash `"You earned " + $woodCount + " copper ore and " + ($woodCount * 3) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Stone pickaxe!</button>
<</if>>
</div>
</div>
<!-- IRON -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/iron.png" alt="Iron ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>2</strong></p>
<p>⛏️ Pickaxe needed: <strong>Copper pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Copper pickaxe") and $miningLevel >= 2>>
<<cooldownButton "Mine" fill 3s>>
<<set $ironCount += $woodCount>>
<<run $materials.pickup('iron', $woodCount)>>
<<set $miningXp += $woodCount * 5>>
<<flash `"You earned " + $woodCount + " iron ore and " + ($woodCount * 5) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Copper pickaxe!</button>
<</if>>
</div>
</div>
<!-- SILVER -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/silver.png" alt="Silver ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>3</strong></p>
<p>⛏️ Pickaxe needed: <strong>Iron pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Iron pickaxe") and $miningLevel >= 3>>
<<cooldownButton "Mine" fill 3s>>
<<set $silverCount += $woodCount>>
<<run $materials.pickup('silver', $woodCount)>>
<<set $miningXp += $woodCount * 8>>
<<flash `"You earned " + $woodCount + " silver ore and " + ($woodCount * 8) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need an Iron pickaxe!</button>
<</if>>
</div>
</div>
<!-- GOLD -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/gold.png" alt="Gold ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>4</strong></p>
<p>⛏️ Pickaxe needed: <strong>Silver pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Silver pickaxe") and $miningLevel >= 4>>
<<cooldownButton "Mine" fill 3s>>
<<set $goldCount += $woodCount>>
<<run $materials.pickup('gold', $woodCount)>>
<<set $miningXp += $woodCount * 10>>
<<flash `"You earned " + $woodCount + " gold ore and " + ($woodCount * 10) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Silver pickaxe!</button>
<</if>>
</div>
</div>
<!-- MITHRIL -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/mithril.png" alt="Mithril ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>5</strong></p>
<p>⛏️ Pickaxe needed: <strong>Gold pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Gold pickaxe") and $miningLevel >= 5>>
<<cooldownButton "Mine" fill 3s>>
<<set $mithrilCount += $woodCount>>
<<run $materials.pickup('mithril', $woodCount)>>
<<set $miningXp += $woodCount * 12>>
<<flash `"You earned " + $woodCount + " mithril ore and " + ($woodCount * 12) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Gold pickaxe!</button>
<</if>>
</div>
</div>
<!-- ADAMANTITE -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/adamantite.png" alt="Adamantite ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>6</strong></p>
<p>⛏️ Pickaxe needed: <strong>Mithril pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Mithril pickaxe") and $miningLevel >= 6>>
<<cooldownButton "Mine" fill 3s>>
<<set $adamantiteCount += $woodCount>>
<<run $materials.pickup('adamantite', $woodCount)>>
<<set $miningXp += $woodCount * 15>>
<<flash `"You earned " + $woodCount + " adamantite ore and " + ($woodCount * 15) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need a Mithril pickaxe!</button>
<</if>>
</div>
</div>
<!-- AETHERIUM -->
<div class="tree-card">
<div class="tree-left">
<img src="images/icons/aetherium.png" alt="Aetherium ore" class="tree-icon">
</div>
<div class="tree-center">
<p>🔒 Unlock Level: <strong>7</strong></p>
<p>⛏️ Pickaxe needed: <strong>Adamantite pickaxe</strong></p>
</div>
<div class="tree-right">
<<if $tools.has("Adamantite pickaxe") and $miningLevel >= 7>>
<<cooldownButton "Mine" fill 3s>>
<<set $aetheriumCount += $woodCount>>
<<run $materials.pickup('aetherium', $woodCount)>>
<<set $miningXp += $woodCount * 20>>
<<flash `"You earned " + $woodCount + " aetherium ore and " + ($woodCount * 20) + " xp"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "mine">>
<</cooldownButton>>
<<else>>
<button class="locked-btn" disabled>You need an Adamantite pickaxe!</button>
<</if>>
</div>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Reveal the map" Map>><</button>>
</span>
</div>
</div>
<<done>>
<<script>>
jQuery(".macro-cooldownbutton").on("click", function(){
jQuery(".macro-cooldownbutton").ariaDisabled(true);
setTimeout(function(){
jQuery(".macro-cooldownbutton").ariaDisabled(false);
}, 3000); /* time delay in ms, same delay as the cooldown button duration */
});
<</script>>
<</done>>
<<else>>
<<goto [[treeQuest]]>>
<</if>>
<<set _rankCount = $rankNames.length>>
<<set $maxRankIndex = _rankCount - 1>>
<<set $rank = Number($rank) || 0>> /* защита */
<<set _nextGold = ($rank < $maxRankIndex) ? $rankGoldReq[$rank + 1] : null>>
<<set _nextXp = ($rank < $maxRankIndex) ? $rankXpReq[$rank + 1] : null>>
<<set _goldProgress = _nextGold ? Math.min(100, Math.floor((setup.money.get() / _nextGold) * 100)) : 100>>
<<set _xpProgress = _nextXp ? Math.min(100, Math.floor(($playerXP / _nextXp) * 100)) : 100>>
<div class="rank-display">⚜️ <<print $rankNames[$rank]>> ⚜️</div>
<div class="rank-tree" role="list">
<<for _i = 0; _i < $rankNames.length; _i++>>
<<set _id = "rank-" + _i>>
<!-- Сначала вставляем элемент -->
<div id="<<=_id>>" class="rank-node">
<<= $rankNames[_i]>>
<span class="req"><<= $rankGoldReq[_i]>>g; <<= $rankXpReq[_i]>>xp</span>
</div>
<<switch true>>
<<case _i < $rank>>
<<run $("#"+_id).addClass("done").removeClass("current locked")>>
<<case _i == $rank>>
<<run $("#"+_id).addClass("current").removeClass("done locked")>>
<<default>>
<<run $("#"+_id).addClass("locked").removeClass("done current")>>
<</switch>>
<<if _i < $rankNames.length - 1>>
<div class="arrow">➝</div>
<</if>>
<</for>>
</div>
<br><br>
<div class="progress-area">
<<if $rank < $maxRankIndex>>
<!-- Wealth Meter -->
<div style="display: flex; align-items: center; margin-bottom: 0.5rem;">
<span style="flex: 0 0 auto; width: 80px;">Wealth:</span>
<div style="flex: 1; margin: 0 0.5rem;">
<<showmeter "moneyXP" _goldProgress/100>>
</div>
<span style="flex: 0 0 auto; width: 40px; text-align: right;"><<print _goldProgress>>%</span>
</div>
<!-- Experience Meter -->
<div style="display: flex; align-items: center; margin-bottom: 0.5rem;">
<span style="flex: 0 0 auto; width: 80px;">Experience:</span>
<div style="flex: 1; margin: 0 0.5rem;">
<<showmeter "playerXP" _xpProgress/100>>
</div>
<span style="flex: 0 0 auto; width: 40px; text-align: right;"><<print _xpProgress>>%</span>
</div>
<!-- Info about next rank -->
<div style="text-align:center; color:#ccc; margin-top:0.25rem;">
To ascend to <strong><<print $rankNames[$rank + 1]>></strong> you need
<strong><<print _nextGold>></strong>g and <strong><<print _nextXp>></strong>xp.
</div>
<div class="ascend-row">
<span class="ascend">
<<if (setup.money.get() >= _nextGold && $playerXP >= _nextXp)>>
<<button "Ascend to <<= $rankNames[$rank + 1]>>">>
<<run setup.money.spend(_nextGold);>>
<<set $playerXP -= _nextXp>>
<<set $rank += 1>>
<<goto "status">>
<</button>>
<<else>>
<button disabled>Ascend (requirements not met)</button>
<</if>>
</span>
</div>
<<else>>
<div style="text-align:center; margin-top:1rem; font-weight:700; color:#cfc;">
You reached the highest rank.
</div>
<</if>>
</div>
<hr>
<p style="text-align:center; color:#999; margin-top:0.6rem;">
Current: <<= setup.money.get()>> g · <<print $playerXP>>xp · Rank: <<print $rankNames[$rank]>>
</p>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Return" Sewers>><</button>>
</span>
</div>
</div>
<div class="centered">
<div class="resizable imageMapObserve">
<img src="images/Backs/FullMap.jpg"
alt="map"
usemap="#map-image-map"
style="max-height:85vw; min-height:auto; object-fit:contain; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="map-image-map">
<area data-passage="forest" alt="Forest" title="Forest" coords="375,390,51,82" shape="rect">
<<if $witchMeet is true>>
<area shape="rect" coords="36,934,246,1176" data-passage="WitchHouse" alt="Swamp" title="Swamp">
<<else>>
<area shape="rect" coords="36,934,246,1176" data-passage="WitchMeet" alt="Swamp" title="Swamp">
<</if>>
<<if setup.canAccessHiddenHouse()>>
<<= '<area data-passage="HiddenHouse" alt="HiddenHouse" title="HiddenHouse" coords="890,939,1162,1173" shape="rect">' >>
<<else>>
<<= '<area data-passage="hiddendoor" alt="Hidden" title="Hidden" coords="890,939,1162,1173" shape="rect">' >>
<</if>>
<area data-passage="cVillage" alt="cVillage" title="cVillage" coords="419,754,732,1029" shape="rect">
<area data-passage="Mine" alt="Mine" title="Mine" coords="791,393,1008,592" shape="rect">
<area data-passage="streets" alt="Citadel" title="Citadel" coords="840,54,1128,338" shape="rect">
</map>
</div>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>>
<<if $forgedaughter >= 3 and State.variables.relationships['ellin'].hearts < State.variables.relationships['ellin'].maxHearts or $forgedaughter == 7>>
<<do tag "workshop">>
<div class="collected-woods">
<h3>Available materials:</h3>
<div class="materials-grid">
<<if $materials.count('oak') > 0>>
<div class="wood-item">
<img src="images/icons/oak.png" alt="Oak Wood" class="wood-icon">
<span>Oak: <<print $materials.count('oak')>></span>
</div>
<</if>>
<<if $materials.count('ash') > 0>>
<div class="wood-item">
<img src="images/icons/ash.png" alt="Ash Wood" class="wood-icon">
<span>Ash: <<print $materials.count('ash')>></span>
</div>
<</if>>
<<if $materials.count('beech') > 0>>
<div class="wood-item">
<img src="images/icons/beech.png" alt="Beech Wood" class="wood-icon">
<span>Beech: <<print $materials.count('beech')>></span>
</div>
<</if>>
<<if $materials.count('maple') > 0>>
<div class="wood-item">
<img src="images/icons/maple.png" alt="Maple Wood" class="wood-icon">
<span>Maple: <<print $materials.count('maple')>></span>
</div>
<</if>>
<<if $materials.count('ironwood') > 0>>
<div class="wood-item">
<img src="images/icons/ironwood.png" alt="Ironwood" class="wood-icon">
<span>Ironwood: <<print $materials.count('ironwood')>></span>
</div>
<</if>>
<<if $materials.count('ebony') > 0>>
<div class="wood-item">
<img src="images/icons/ebony.png" alt="Ebony" class="wood-icon">
<span>Ebony: <<print $materials.count('ebony')>></span>
</div>
<</if>>
<<if $materials.count('silent') > 0>>
<div class="wood-item">
<img src="images/icons/silent.png" alt="Silent Tree" class="wood-icon">
<span>Silent Tree: <<print $materials.count('silent')>></span>
</div>
<</if>>
<<if $materials.count('copper') > 0>>
<div class="wood-item">
<img src="images/icons/copper.png" alt="Copper ore" class="wood-icon">
<span>Copper ore: <<print $materials.count('copper')>></span>
</div>
<</if>>
<<if $materials.count('iron') > 0>>
<div class="wood-item">
<img src="images/icons/iron.png" alt="Iron ore" class="wood-icon">
<span>Iron ore: <<print $materials.count('iron')>></span>
</div>
<</if>>
<<if $materials.count('silver') > 0>>
<div class="wood-item">
<img src="images/icons/silver.png" alt="Silver ore" class="wood-icon">
<span>Silver ore: <<print $materials.count('silver')>></span>
</div>
<</if>>
<<if $materials.count('gold') > 0>>
<div class="wood-item">
<img src="images/icons/golden.png" alt="Gold ore" class="wood-icon">
<span>Gold ore: <<print $materials.count('gold')>></span>
</div>
<</if>>
<<if $materials.count('mithril') > 0>>
<div class="wood-item">
<img src="images/icons/mithril.png" alt="Mithril ore" class="wood-icon">
<span>Mithril ore: <<print $materials.count('mithril')>></span>
</div>
<</if>>
<<if $materials.count('adamantite') > 0>>
<div class="wood-item">
<img src="images/icons/adamantite.png" alt="Adamantite ore" class="wood-icon">
<span>Adamantite ore: <<print $materials.count('adamantite')>></span>
</div>
<</if>>
<<if $materials.count('aetherium') > 0>>
<div class="wood-item">
<img src="images/icons/aetherium.png" alt="Aetherium ore" class="wood-icon">
<span>Aetherium ore: <<print $materials.count('aetherium')>></span>
</div>
<</if>>
</div>
</div>
<div class="centered">
<h2>🔨 Crafting Recipes</h2>
</div>
<h2>Choose an item to craft:</h2>
<div id="crafting-interface">
<<include "CraftingUI">>
</div>
<br><br>
<h2 class="inventory-title">📦 Your Crafted Items</h2>
<<if $tools.length > 0>>
<div class="inventory-grid">
<<for _tool range $tools.list>>
<<set _displayName = _tool>>
<<set _imgPath = "images/icons/" + _displayName.replace(/ /g,"_").toLowerCase() + ".png">>
<div class="inventory-card">
<<= '<img src="' + _imgPath + '" alt="' + _displayName + '" class="inventory-icon">' >>
<div class="inventory-name"><<= _displayName>></div>
</div>
<</for>>
</div>
<<else>>
<p class="inventory-empty">No crafted items yet.</p>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<</do>>
<<elseif $forgedaughter < 1 >>
<<include "ForgeDaughter1">>
<<elseif $forgedaughter == 1 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter2">>
<<elseif $forgedaughter == 2 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter3">>
<<elseif $forgedaughter == 3 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter4">>
<<elseif $forgedaughter == 4 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter5">>
<<elseif $forgedaughter == 5 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter6">>
<<elseif $forgedaughter == 6 and State.variables.relationships['ellin'].hearts >= State.variables.relationships['ellin'].maxHearts >>
<<include "ForgeDaughter7">>
<<else>>
<<gg>>
<em>I am not allowed to use workshop for now.</em>
<</gg>>
<br>
<<blacksmith>>
Try talking to my daughter; she relaxes at the tavern on weekends. And also... I think she walks in the garden in the village on Wednesdays after work. And on Thursdays after work, I send her to the market to do some shopping.
<</blacksmith>>
<br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<</if>>
<<run setup.relationshipsModule.discoverLocation("ellin", "workshop")>>
<<run setup.relationshipsModule.discoverLocation("ellin", "home")>>
<ul class="crafting-list">
<<for _item, _materials range $recipes>>
<<capture _materials _item>>
<li class="crafting-item">
<div class="craft-header">
<span class="craft-name"><<= _item>></span>
</div>
<div class="craft-requires">
Requires:
<<for _mat, _num range _materials>>
<span class="req-mat"><<= _mat>> × <<= _num>></span>
<</for>>
</div>
<div class="craft-actions">
<<if $materials.compare(_materials)>>
<span class="craft-link">
<<link "Craft">>
<<run $materials.unmerge(_materials)>>
<<pickup $tools _item 1>>
<<run $recipes.delete(_item)>>
<<redo "workshop">>
<<replace "#crafting-interface">><<include "CraftingUI">><</replace>>
<</link>>
</span>
<<else>>
<span class="not-enough">Not enough materials</span>
<</if>>
</div>
</li>
<</capture>>
<</for>>
</ul>
<<do tag "shop">>
<div class="shop-container">
<h2>Local shop</h2>
<div class="money-display">
<img src="images/icons/coins.png" class="coin-icon">
<span class="money-amount"><<print setup.money.get()>></span>
</div>
<<set _shopItems = [
{name: "Stone axe", price: 10, icon: "stone_axe", repeatable: false, inventory: "tools"},
{name: "Glass", price: 7, icon: "glass", repeatable: true, inventory: "materials"},
]>>
<!-- Покупка -->
<div class="shop-section">
<h3> Buy Items</h3>
<div class="shop-grid">
<<for _item range _shopItems>>
<div class="shop-item">
<div class="item-left">
<<= '<img src="images/icons/' + _item.name.replace(/ /g,"_").toLowerCase() + '.png" alt="' + _item.name + '" class="inventory-icon">' >>
<span class="item-name"><<= _item.name>></span>
</div>
<div class="item-right buy-buttons">
<span class="item-price">
Price: <img src="images/icons/coins.png" class="coin-icon" alt="Gold"> <<= _item.price>>
</span>
<<if !_item.repeatable && $tools.has(_item.name)>>
<span class="owned">✅ Owned</span>
<<else>>
<<capture _item>>
<<link "Buy">>
<<if setup.money.get() >= _item.price>>
<<run setup.money.spend(_item.price)>>
<<if _item.inventory == "tools">>
<<pickup $tools _item.name 1>>
<<else>>
<<pickup $materials _item.name 1>>
<</if>>
<<flash `"You bought " + _item.name + "!"`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "shop">>
<<else>>
<<flash `"Not enough gold!"`>>
<<flashType "error">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<</if>>
<</link>>
<</capture>>
<</if>>
</div>
</div>
<</for>>
</div>
<!-- Продажа -->
<div class="shop-section">
<h3>💰 Sell Your Materials</h3>
<<if $materials.isEmpty()>>
<p>You don’t have any materials to sell.</p>
<<else>>
<div class="sell-materials">
<<for _mat range $materials.list>>
<<set _qty = $materials.count(_mat)>>
<<if _qty > 0>>
<div class="sell-item">
<div class="sell-left">
<<= '<img src="images/icons/' + _mat.replace(/\s+/g, "_") + '.png" alt="' + _mat + '" class="shop-icon">' >>
<span class="sell-name"><<= _mat.replace(/\b\w/g, c => c.toUpperCase())>></span>
</div>
<div class="sell-right">
<span class="sell-amount">× <<= _qty>></span>
<span class="sell-price">Price per unit: <<= $sellPrices[_mat]>> <img src="images/icons/coins.png" class="coin-icon"></span>
<div class="sell-buttons">
<!-- Sell 1 -->
<<capture _mat>>
<<link "Sell 1">>
<<set _sellQty = Math.min(1, $materials.count(_mat))>>
<<run setup.money.add(_sellQty * $sellPrices[_mat])>>
<<drop $materials _mat _sellQty>>
<<flash `"Sold " + _sellQty + " " + _mat + " for " + (_sellQty * $sellPrices[_mat]) + " gold."`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "shop">>
<</link>>
<</capture>>
<!-- Sell 10 -->
<<capture _mat>>
<<link "Sell 10">>
<<set _sellQty = Math.min(10, $materials.count(_mat))>>
<<run setup.money.add(_sellQty * $sellPrices[_mat])>>
<<drop $materials _mat _sellQty>>
<<flash `"Sold " + _sellQty + " " + _mat + " for " + (_sellQty * $sellPrices[_mat]) + " gold."`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "shop">>
<</link>>
<</capture>>
<!-- Sell All -->
<<capture _mat>>
<<link "Sell All">>
<<set _qty = $materials.count(_mat)>>
<<run setup.money.add(_qty * $sellPrices[_mat])>>
<<drop $materials _mat _qty>>
<<flash `"Sold all " + _mat + " for " + (_qty * $sellPrices[_mat]) + " gold."`>>
<<flashType "success">>
<<Timeout 3000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "shop">>
<</link>>
<</capture>>
</div>
</div>
</div>
<</if>>
<</for>>
</div>
<</if>>
</div>
<</do>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the streets" streets>><</button>>
</span>
</div>
</div>
<img src="images/Scenes/treeChop.jpg" class="scene-image">
<<gg>><em> I walk along the forest path and suddenly halt. A massive tree has fallen across the trail, its thick trunk completely blocking my way. I step closer, feeling the rough bark under my fingertips and noticing the sprawling branches covering the path. Sunlight filters through the leaves above, casting dappled patterns on the mossy wood. The air smells of damp earth and old timber, and dry twigs snap under my boots. There’s no way around it , I have to figure out how to get past this colossal obstacle.</em>
<</gg>>
<<set $treeChopProgress = $treeChopProgress ?? 0>>
<div id="forest-status" class="forest-status">
<p>🌲 Forestry level: <<= $forestLevel>></p>
<div class="tree-right">
<<if $forestLevel < 2>>
<p>(Need level 2 to chop this tree)</p>
<<else>>
<<do tag "chop">> <p>Tree chop progress: <<= $treeChopProgress>> / 5</p><</do>>
<<cooldownButton "Chop" fill 5s>>
<<set $treeChopProgress += 1>>
<<if $treeChopProgress >= 5>>
<<replace "#forest-status">>✅ Tree chopped! You can continue.
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Enter the mine" Mine>><<set $treeChopped to true>><</button>>
</span>
</div>
</div>
<</replace>>
<</if>>
<<redo "chop">>
<</cooldownButton>>
<</if>>
</div>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Reveal the map" Map>><</button>>
</span>
</div>
</div>
<div id="enemy-tab" class="enemy-tab">
<ul class="enemy-list">
<!-- Lavrius Sytoglas -->
<li class="enemy-card">
<img src="images/characters/lavrius.jpg" alt="Lavrius Sytoglas" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Lavrius Sytoglas</h3>
<p class="enemy-wealth">Wealth, network of merchants</p>
<p class="enemy-weak">Weakness: cannot resist profit</p>
<p class="enemy-methods">Methods: crash prices, bribe caravaners, expose connection with the Masked Order</p>
<div class="enemy-power">Influence: <<showmeter "SytoglasInf" $SytoglasInfluence >></div>
</div>
</li>
<!-- Brian Ironjaw -->
<li class="enemy-card">
<img src="images/characters/braun.jpg" alt="Brian Ironjaw" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Brian Ironjaw</h3>
<p class="enemy-wealth">Controls prisons and patrols</p>
<p class="enemy-weak">Weakness: sadism, alcoholism</p>
<p class="enemy-methods">Methods: cause conflict with the usurper, steal evidence of his crimes, undermine guard discipline</p>
<div class="enemy-power">Influence: <<showmeter "IronjawInf" $IronjawInfluence>></div>
</div>
</li>
<!-- Egber Trilik -->
<li class="enemy-card">
<img src="images/characters/egber.jpg" alt="Egber Trilik" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Egber Trilik</h3>
<p class="enemy-wealth">Power over the temple, influence over the people</p>
<p class="enemy-weak">Weakness: secret orgies, debauchery disguised as service</p>
<p class="enemy-methods">Methods: spread rumors about his sins, find witnesses of his rituals, pit him against other priests</p>
<div class="enemy-power">Influence: <<showmeter "TrilikInf" $TrilikInfluence>></div>
</div>
</li>
<!-- Serella the Fair -->
<li class="enemy-card">
<img src="images/characters/Serella1.jpg" alt="Serella the Fair" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Serella the Fair</h3>
<p class="enemy-wealth">Court intrigues</p>
<p class="enemy-weak">Weakness: ambition, jealousy</p>
<p class="enemy-methods">Methods: seduce her allies, pit her against the usurper, undermine her reputation as "mother of the people"</p>
<div class="enemy-power">Influence: <<showmeter "SerellaInf" $SerellaInfluence>></div>
</div>
</li>
<!-- Olrik Inkfall -->
<li class="enemy-card">
<img src="images/characters/olrik.jpg" alt="Olrik Inkfall" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Olrik Inkfall</h3>
<p class="enemy-wealth">Controls laws</p>
<p class="enemy-weak">Weakness: greed, vice</p>
<p class="enemy-methods">Methods: bribe, frame, expose through a fake case</p>
<div class="enemy-power">Influence: <<showmeter "InkfallInf" $InkfallInfluence>></div>
</div>
</li>
<!-- Dessil Raveneye -->
<li class="enemy-card">
<img src="images/characters/dessil.jpg" alt="Dessil Raveneye" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Dessil Raveneye</h3>
<p class="enemy-wealth">Laboratories, mysterious potions</p>
<p class="enemy-weak">Weakness: obsession with experiments</p>
<p class="enemy-methods">Methods: sabotage his experiments, kidnap subjects, reveal horrors of his alchemy</p>
<div class="enemy-power">Influence: <<showmeter "RaveneyeInf" $RaveneyeInfluence>></div>
</div>
</li>
<!-- Mira Von -->
<li class="enemy-card">
<img src="images/characters/Mira1.jpg" alt="Mira Von" class="enemy-img">
<div class="enemy-info">
<h3 class="enemy-name">Mira Von</h3>
<p class="enemy-wealth">Controls brothels and the slave market</p>
<p class="enemy-weak">Weakness: greed, secret lovers</p>
<p class="enemy-methods">Methods: free slaves, start a rebellion, expose her connections to the army</p>
<div class="enemy-power">Influence: <<showmeter "MiraInf" $MiraInfluence>></div>
</div>
</li>
<!-- Order of Masks -->
<li class="enemy-card glitch-card">
<div class="glitch-img-wrapper">
<img src="images/characters/order.gif" alt="Order of Masks" class="enemy-img glitch-img">
</div>
<div class="enemy-info">
<h3 class="enemy-name glitch-text" data-text="Order of Masks">Order of Masks</h3><br>
<p class="enemy-wealth glitch-text" data-text="Power unknown">Power unknown</p><br>
<p class="enemy-weak glitch-text" data-text="Weakness: none recorded">Weakness: none recorded</p><br>
<p class="enemy-methods glitch-text" data-text="Methods: [REDACTED]">Methods: [REDACTED]</p><br>
<div class="enemy-power glitch-text" data-text="Influence: ???">Influence: ???</div>
</div>
</li>
</ul>
</div>
<div class="centered">
<span class="ascend">
<<button "confirm" >><<run Engine.backward()>><</button>>
</span>
</div>
<<script>>
function randomGlitchText(length) {
const chars = "█▓▒░#%@&*$<>?/|{}[]()⍟≋";
return Array.from({ length }, () => chars[Math.floor(Math.random() * chars.length)]).join('');
}
function updateGlitchText() {
document.querySelectorAll('.glitch-text').forEach(el => {
if (Math.random() < 0.4) {
el.textContent = randomGlitchText(el.dataset.text.length);
} else {
el.textContent = el.dataset.text;
}
});
}
setInterval(updateGlitchText, 1200);
<</script>>
<style>
/* Глитч эффект , аккуратный, но зловещий */
.glitch-text {
position: relative;
color: #f0f0f0;
text-shadow: 0 0 5px rgba(255,0,80,0.5);
display: inline-block;
overflow: hidden;
transition: color 0.2s ease;
}
.glitch-text::before,
.glitch-text::after {
content: attr(data-text);
position: absolute;
left: 0;
width: 100%;
overflow: hidden;
clip: rect(0, 0, 0, 0);
}
.glitch-text::before {
animation: glitchTop 2s infinite linear alternate-reverse;
color: #ff0066;
}
.glitch-text::after {
animation: glitchBottom 2s infinite linear alternate-reverse;
color: #00fff2;
}
@keyframes glitchTop {
0% { clip: rect(0, 900px, 0, 0); transform: translate(0); }
10% { clip: rect(10px, 9999px, 50px, 0); transform: translate(-2px, -2px); }
20% { clip: rect(85px, 9999px, 140px, 0); transform: translate(2px, 0); }
30% { clip: rect(20px, 9999px, 80px, 0); transform: translate(-1px, 2px); }
100% { clip: rect(0, 900px, 0, 0); transform: translate(0); }
}
@keyframes glitchBottom {
0% { clip: rect(0, 900px, 0, 0); transform: translate(0); }
10% { clip: rect(60px, 9999px, 120px, 0); transform: translate(2px, 1px); }
20% { clip: rect(10px, 9999px, 40px, 0); transform: translate(-2px, 0); }
30% { clip: rect(90px, 9999px, 130px, 0); transform: translate(1px, -1px); }
100% { clip: rect(0, 900px, 0, 0); transform: translate(0); }
}
/* Глитч эффект на изображении */
.glitch-img-wrapper {
position: relative;
overflow: hidden;
}
.glitch
</style>
<div class="wip-banner">
<h2>In plans to remove or completely rework in version 0.3</h2>
suggestions: https://freesuggestionbox.com/pub/zrvjlmh
</div>
<style>
/* === WIP Banner === */
.wip-banner {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(circle at top left, rgba(60,40,20,0.95), rgba(20,10,5,0.9));
border: 2px solid rgba(255,215,100,0.6);
border-radius: 16px;
padding: 25px 50px;
box-shadow: 0 0 25px rgba(255,215,100,0.3);
text-align: center;
z-index: 999;
animation: fadeInScale 0.8s ease forwards;
}
/* Текст */
.wip-banner h2 {
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 2em;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255,215,100,0.3);
margin: 0;
}
/* Анимация */
@keyframes fadeInScale {
from {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
.wip-banner {
padding: 18px 35px;
border-radius: 12px;
}
.wip-banner h2 {
font-size: 1.4em;
}
}
</style><div id="questbook" class="questbook">
<div class="centered">
<h2>Quest Book</h2>
</div>
<div class="tabs">
<button class="tab active" onclick="showTab('active')">Active</button>
<button class="tab" onclick="showTab('completed')">Completed</button>
<button class="tab" onclick="showTab('failed')">Failed</button>
</div>
<!-- ACTIVE QUESTS -->
<div id="active" class="quest-section active">
<<for _id, _quest range $quests>>
<<if _quest.status == "active">>
<div class="quest-card">
<<= '<img src="' + _quest.image + '" alt="' + _quest.title + '" class="quest-image">' >>
<div class="quest-text">
<h3><<= _quest.title>></h3>
<<if _quest.type == "rumor">>
<p class="quest-tier">Tier: <<= _quest.tier>></p>
<p><strong>Fragments:</strong></p>
<ul>
<<for _frag range _quest.fragments>>
<li class="rumor-fragment">
<<if _frag.found>>
✅ <span class="revealed"><<= _frag.text>></span>
<<else>>
❌ <span class="hidden-text">???</span>
<</if>>
</li>
<</for>>
</ul>
<p><strong>Progress:</strong> <<= _quest.progress>></p>
<</if>>
<p><<= _quest.desc>></p>
<p class="reward">Reward: <<= _quest.reward>></p>
</div>
</div>
<</if>>
<</for>>
</div>
<!-- COMPLETED QUESTS -->
<div id="completed" class="quest-section">
<<for _id, _quest range $quests>>
<<if _quest.status == "completed">>
<div class="quest-card completed">
<<= '<img src="' + _quest.image + '" alt="' + _quest.title + '" class="quest-image">' >>
<div class="quest-text">
<h3><<= _quest.title>></h3>
<<if _quest.type == "rumor">>
<p class="quest-tier">Tier: <<= _quest.tier>></p>
<</if>>
<p><<= _quest.desc>></p>
<p class="reward">Reward: <<= _quest.reward>></p>
</div>
</div>
<</if>>
<</for>>
</div>
<!-- FAILED QUESTS -->
<div id="failed" class="quest-section">
<<for _id, _quest range $quests>>
<<if _quest.status == "failed">>
<div class="quest-card failed">
<<= '<img src="' + _quest.image + '" alt="' + _quest.title + '" class="quest-image">' >>
<div class="quest-text">
<h3><<= _quest.title>></h3>
<<if _quest.type == "rumor">>
<p class="quest-tier">Tier: <<= _quest.tier>></p>
<</if>>
<p><<= _quest.desc>></p>
<p class="reward">Reward: <<= _quest.reward>></p>
</div>
</div>
<</if>>
<</for>>
</div>
</div>
<script>
window.showTab = function(tabId) {
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.quest-section').forEach(s => s.classList.remove('active'));
document.getElementById(tabId).classList.add('active');
document.querySelector(`.tab[onclick="showTab('${tabId}')"]`).classList.add('active');
};
</script>
<style>
.quest-card {
background: rgba(40, 25, 10, 0.8);
border: 2px solid #7a5527;
border-radius: 10px;
margin: 15px 0;
padding: 10px;
display: flex;
gap: 15px;
box-shadow: 0 0 10px rgba(0,0,0,0.4);
transition: transform 0.2s ease;
}
.quest-card:hover { transform: scale(1.02); }
.quest-card.completed { opacity: 0.85; border-color: #bba36c; }
.quest-card.failed { opacity: 0.7; border-color: #733; }
.quest-image {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 8px;
border: 2px solid #7a5527;
}
.quest-text h3 {
margin: 0;
color: #f5e6c2;
font-family: 'IM Fell English', serif;
font-size: 18px;
}
.reward {
font-size: 14px;
color: #d7b26f;
margin-top: 8px;
font-style: italic;
}
.quest-tier {
font-size: 14px;
color: #d7b26f;
font-family: 'IM Fell English', serif;
text-shadow: 0 0 5px rgba(255,215,0,0.4);
margin-top: 4px;
}
.quest-tier::before { content: "★ "; color: gold; }
.rumor-fragment {
font-family: 'IM Fell English', serif;
font-size: 15px;
margin: 4px 0;
}
.hidden-text {
color: #bfa97a;
font-style: italic;
opacity: 0.7;
transition: opacity 0.3s ease;
}
.revealed {
color: #f5e6c2;
text-shadow: 0 0 4px rgba(255,215,0,0.6);
transition: all 0.3s ease;
}
.revealed::before { content: "“"; }
.revealed::after { content: "”"; }
.questbook {
position: relative;
top: 40%;
width: 80%;
max-width: 900px;
margin: 2rem auto;
background: #3b2b1a;
border: 5px solid #5e4025;
border-radius: 12px;
color: #f5e6c2;
padding: 20px;
box-shadow: 0 0 20px rgba(0,0,0,0.7);
font-family: 'IM Fell English', serif;
}
.tabs {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 10px;
}
.tab {
background: #5e4025;
color: #f5e6c2;
border: 2px solid #3a2615;
padding: 6px 16px;
cursor: pointer;
border-radius: 6px;
font-weight: bold;
transition: all 0.2s ease;
}
.tab:hover { background: #8b6239; }
.tab.active { background: #9c6b35; }
.quest-section { display: none; }
.quest-section.active { display: block; }
</style>
<div class="centered">
<span class="ascend">
<<button "Close questbook">><<run Engine.backward()>><</button>>
</span>
</div>
<div class="passage-panel">
<nav class="market-tabs">
<div class="sidebar-button">[[Eavesdrop|eavesdropping]]</div>
<<if $SmuglerSpoken is true and $influenceFind is false and $churchRitual is false and $prisonCheck is false>>
<div class="sidebar-button">[[Ask the clerks about a local influential person.|InfluenceAsk]]</div>
<</if>>
<div class="sidebar-button">[[Speak to|BazaarSpeak]]</div>
<<if random(1,100) == 9 and !$hasVyshyvanka>>
<div class="sidebar-button">[[Speak to|BazaarWhoEela]]</div>
<</if>>
<<if SugarCube.State.variables.isPremium == true and !$royalTournamentActive and $tournamentTier == 1 >>
<div class="sidebar-button">[[A gold coin lies in the middle of the bazaar|BazaarCoin]]</div>
<</if>>
<<if SugarCube.State.variables.isPremium == true and $royalTournamentActive and $tournamentPart < 2>>
<div class="sidebar-button">[[Sex Tournament|BazaarTournament]]</div>
<</if>>
<div class="sidebar-button">[[Back to the streets|streets]]</div>
</nav>
</div>
<<if Cycle.check('time','nighttime') and Cycle.check('weekdays', 'Thursday')>>
<<run setup.relationshipsModule.discoverLocation("ellin", "bazaar")>>
<</if>>
<<set _allRumors = $questRumors.concat(setup.atmosphericRumors)>>
<<set _selectedRumor = _allRumors[random(0, _allRumors.length - 1)]>>
<<set _rand = random(0, 1)>>
<<if _rand === 0 && _selectedRumor.type === "passage">>
<<include _selectedRumor.passageName>>
<<else>>
<<gg>> <<= setup.atmosphericRumors[random(0, setup.atmosphericRumors.length-1)]>> <</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to bazaar" Bazaar>><</button>>
</span>
</div>
</div>
<div class="resizable imageMapObserve">
<img src="images/Backs/cVillage.jpg"
alt="Central Village"
usemap="#cVillage-image-map"
style="width:100vw; min-height:auto; max-width: 100%; object-fit:contain; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="cVillage-image-map">
<area data-passage="Guild" alt="Guild" title="Guild" coords="622,493,620,702,805,653,812,466" shape="poly">
<area data-passage="Garden" alt="Garden" title="Garden" coords="878,415,881,627,1078,622,1080,412" shape="poly">
<area data-passage="Inn" alt="Inn" title="Inn" coords="1205,502,1197,683,1395,734,1405,504" shape="poly">
<area data-passage="Port" alt="Port" title="Port" coords="1476,590,1441,810,1610,916,1682,609" shape="poly">
<area data-passage="Map" alt="Map" title="Map" coords="834,883,834,1073,1141,1073,1136,880" shape="poly">
</map>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>><div class="resizable imageMapObserve">
<img src="images/Backs/rightCity.jpg"
alt="Right city"
usemap="#rightCity-image-map"
style=" width:100vw; min-height:auto; max-width: 100%; object-fit:cover; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="rightCity-image-map">
<area data-passage="brothel" alt="brothel" coords="13,396,20,910,495,822,499,443" shape="poly">
<<if $DessilAccess is false>>
<area data-passage="laboratory" alt="laboratory" coords="633,479,630,798,830,757,832,493" shape="poly">
<<else>>
<area data-passage="DessilHub" alt="DessilHub" coords="633,479,630,798,830,757,832,493" shape="poly">
<</if>>
<area data-passage="Tawern" alt="Tawern" coords="954,511,959,705,1170,710,1163,521" shape="poly">
<area data-passage="gates" alt="gates" coords="1274,448,1277,676,1520,693,1517,452" shape="poly">
<area data-passage="Workshop" alt="workshop" title="workshop" coords="1712,418,1714,776,1915,978,1913,389" shape="poly">
</map>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>><<if Cycle.check('time', 'nighttime')>>
<div class="passage-panel">
<nav class="market-tabs">
<<if $smuglerSpeak is true and $SmuglerSpoken is false>>
<div class="sidebar-button">[[I saw a smuggler in the corner of the gate|SmuglerTalk]]</div>
<</if>>
<div class="sidebar-button">[[To the main street|streets]]</div>
</nav>
</div>
<<else>>
<<goto "streets">>
<</if>>
<div class="resizable imageMapObserve">
<img src="images/Backs/leftCity.jpg"
alt="Left city"
usemap="#leftCity-image-map"
style=" width:100vw; min-height:auto; max-width: 100%; object-fit:cover; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="leftCity-image-map">
<area data-passage= "Court" alt= "Court" coords="119,509,102,897,413,876,428,560" shape="poly">
<area data-passage= "Prison" alt= "Prison" coords="833,617,815,844,1050,832,1050,647" shape="poly">
<area data-passage="Church" alt="Church" coords="1100,618,1103,806,1312,798,1305,611" shape="poly">
<area data-passage="Library" alt="Library" coords="1757,592,1776,927,1999,945,1990,578" shape="poly">
<area data-passage="streets" alt="streets" coords="720,913,695,1118,1096,1118,1089,908" shape="poly">
</map>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("map").imageMapResize();
});
<</script>><<gg>><em>I approach the massive city gates, their tall oak doors looming overhead. Torches flicker along the walls, casting long shadows across the cobblestones. The air smells faintly of smoke, sweat, and the leather of worn harnesses. I carry only my few belongings, hoping to finally leave the city behind.
Two guards stand before me, spears in hand, their armor clanking as they shift their weight. The larger of the two steps forward, eyeing me up and down.</em><</gg>>
<br>
<<say 'Guard' >>Halt! Where do you think you’re going?<</say>>
<br>
<<gg>>I… I need to leave the city. I have business elsewhere.<</gg>>
<br>
<<say 'Guard' >>Business? You? What’s your name?<</say>>
<br>
<<gg>>I’m $name<</gg>>
<br>
<<gg>><em>The captain’s eyes narrow. He gestures toward a small wooden barrier.* You’re a slave. You have no papers. No one leaves the city without proper documentation. Not free men, not merchants, and certainly not someone like you.</em><</gg>>
<br>
<<gg>><em>My stomach twists. I am technically free , but without proof, they won’t let me pass.</em> I’m… free now. I’ve been released.<</gg>>
<br>
<<gg>><em>The smaller guard laughs, a harsh bark echoing off the gate walls.* Released? From who? Show us the document, or turn back. The law doesn’t care about intentions, only evidence.</em><</gg>>
<br>
<<gg>><em>I shift uneasily, feeling the weight of their armored gazes. The guard captain leans in slightly, his chainmail brushing my shoulder as he inspects me.</em><</gg>>
<br>
<<say 'Guard' >>And don’t try to charm us. Freedom isn’t a matter of pretty words or pleading. If you can’t produce proof, you’ll remain inside until your master , or a court , decides otherwise.<</say>>
<br>
<<gg>><em>My heart races. The gap between me and freedom feels wider than the city walls themselves. Sweat beads at my temples, and the slight jostle as the guards adjust their spears makes me flinch , their armor warm and clanging. I need a document. Something official. Or I’ll be trapped here forever.</em><</gg>>
<br>
<<gg>><em>The guards step back, their expressions hard but amused at my discomfort.</em><</gg>>
<br>
<<say 'Guard' >> Take your time. But remember, the gates won’t open for someone who carries no proof of liberty. Not today, not tomorrow.<</say>>
<br>
<<gg>><em>I glance at the towering gates, feeling the weight of chains I no longer wear , but that still bind me in the eyes of the law. My freedom exists only on paper… and I don’t have it yet.</em> <</gg>>
<br>
<<run $questsData.addRumor("slave_end", "The cost of freedom", ["I heard about a ritual of purification from bondage at the local church.", "At the bazaar, I overheard that at night, near the gate, I can meet a writer-smuggler who is sure to help me with my documents.", "The guard on the street told me about the mistress in prison. I think I should go there."], "Freedom ?, 100xp", "images/characters/freedomcost.jfif", "HighPriest", 1)>>
<<run $questsData.add(
"lvlUp",
"Free yourself from the title of slave",
"They banned leaving the city if you're a slave, even if you don't have an owner, you need to get documents proving that you're a free person. It would be nice to earn a little more money. Then I'll be able to sign the necessary documents at my table. Eavesdropping at bazaar might give me a hint? Or beggaring ? Maybe church knows the answer ?",
"Access to map",
"images/characters/lavrius.jfif"
)>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to sewers" Sewers>><</button>>
</span>
</div>
</div>
<<set $GuardsNo to true>>
<<run $questRumors.push({
type: "passage",
passageName: "bazaarEaves1"
})>>
<<if Cycle.check('weekdays','Saturday') or Cycle.check('weekdays','Friday') or Cycle.check('weekdays','Sunday')>>
<<run setup.relationshipsModule.discoverLocation("ellin", "church")>>
<<if $churchRitual is false>>
<<if $GuardsNo is false and $churchInfo is false>>
<<gg>>I have nothing to do here yet.
<</gg>>
<<elseif $GuardsNo is true and $churchInfo is false>>
<<gg>><em>I hear hushed voices nearby, low murmurs that make my skin prickle.</em>
<</gg>>
<br>
<<say 'Priestess' >>…the liberation ritual must touch mind, body, and spirit… nothing left untouched…<</say>>
<br>
<<gg>><em>I freeze, heart thudding. Liberation ritual? I’ve heard tales of unusual ceremonies, but nothing so… explicit. The words hang in the air, tinged with a strange, almost teasing authority.</em>
<</gg>>
<br>
<<gg>><em>Two attendants pass by, whispering nervously.</em>
<</gg>>
<br>
<<say 'Attendant 1'>>They say it’s… revealing. That the initiate cannot hide anything. Not their thoughts… nor their form…<</say>>
<br>
<<say 'Attendant 2' >>I heard the priestess… touches the oil herself. They say the sensation lingers long after.<</say>>
<br>
<<gg>><em>I step back, heart racing, cheeks burning with a mixture of curiosity and shame. The idea of such a ritual , intimate, intense, and wholly unfamiliar , unsettles me, yet sparks a dangerous intrigue.
I don’t move forward. Not yet. Not until I understand what this will cost me… and what I might discover about myself in the process.</em>
<</gg>>
<br>
<<gg>><em>For now, it’s just whispers, glimpses, and a question I’m not yet ready to answer.</em><</gg>>
<<run $questsData.addFragment("slave_end", "I heard about a ritual of purification from bondage at the local church.")>>
<<run $questsData.add(
"churchStart",
"Undergo the ritual of liberation from bondage",
"At the local church, they can “free you from your chains.” I don't know what that means, but they talk about some kind of ritual. Maybe I need to go there.",
"Loosen chains?, 100xp",
"images/characters/priestess.jpg"
)>>
<<set $churchInfo to true>>
<<elseif $GuardsNo is true and $churchInfo is true and $churchRitual is false and $quests.get("slave_end").status is "completed" and $quests.get("churchStart").status is "active">>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "I am ready for the ritual (other routes will be blocked (Light femdom) )" Ritual1>><</button>>
</span>
</div>
</div>
<<elseif $GuardsNo and $churchInfo and !$churchRitual and $quests.get("slave_end").status is "active">>
<<gg>><em>I am not ready for the ritual.</em><</gg>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "I need to explore all the options before choosing one." leftCity>><</button>>
</span>
</div>
</div>
<<elseif $quests.get("slave_end").status is "failed">>
<<gg>>I have nothing to do here.
<</gg>>
<</if>>
<</if>>
<<else>>
<<gg>><em>The church is only open on Fridays and weekends.</em><</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to left street" leftCity>><</button>>
</span>
</div>
</div>
<<gg>><em>I melt into the crowd at the market, pretending to study a basket of bruised apples while I listen. Voices rise and fall around me , the butcher shouting prices, a child laughing , but my attention is on two men tucked against a stall. I let my ear drift their way as if the wind carries their words...</em><</gg>>
<br>
<<say 'Merchant' >>He makes them like the real thing. Seal, ink, even the impressions. Nobody notices.<</say>>
<br>
<<say 'Craftsman' >>If he’s so good, what does he want in return?<</say>>
<br>
<<say 'Merchant' >>Not coin, at first. He wants a sample , a fingerprint from a free man. Just the pad, wrapped in wax. Takes it while the mark sleeps. Cleaner than stolen seals, they say. Papers read like a lord signed them.<</say>>
<br>
<<gg>><em>My hand tightens around the apple I’m not buying. I don’t move; I only listen.</em><</gg>>
<br>
<<say 'Craftsman' >>Sounds risky. Where does he meet?<</say>>
<br>
<<say 'Merchant' >>Near the gate on the right street. Night. Knock twice, wait for three slow taps back. He wears gloves. Goes by ‘the Smuggler’ or ‘the forger’ , depends who pays. He’s careful. One wrong move and you’re the one who gets marked.<</say>>
<br>
<<gg>><em>A stall owner nearby curses at a dropped basket. The two men fall silent and drift away. I stay still until the noise swallows the last words.
When the stall owner straightens his wares, I step out from under the awning. Nothing in my face gives away that I’ve been listening. The directions are tucked away now , small, furtive, and heavy with possibility.</em><</gg>>
<br>
<<set $eavesdrop to 0>>
<<set $smuglerSpeak to true>>
<<run $questsData.add(
"findContr",
"Find a smuggler",
"At the bazaar, I overheard that at night, near the gate, I can meet a writer-smuggler who is sure to help me with my documents.",
"Fake freedom papers, 100xp",
"images/characters/Smugler.jpg"
)>>
<<set _index = $questRumors.findIndex(rumor => rumor.passageName === "bazaarEaves1")>>
<<if _index >= 0>>
<<run $questRumors.splice(_index, 1)>>
<</if>>
<<if $GuardTalk is true and $quests.get("mistGuard").status is "active">>
<<gg>><em>Freedom feels fragile without proof.
No chains bind me now, but the guards at the city gates see only the mark of a runaway slave.
So I go where I shouldn't - to the local prison, hoping to find someone willing to confirm that I'm no longer owned by anyone.
The guards eye me with suspicion as I approach the captain's quarters.
She's a striking woman with a sharp tongue and an even sharper gaze - the kind that notices everything, especially weakness.
When I tell her my story, she leans back in her chair and smirks.</em><</gg>>
<br>
<<say 'Captain' >>So... no owner, no papers, and you want us to just believe you?<</say>>
<br>
<<gg>>I'm telling the truth.<</gg>>
<br>
<<say 'Captain' >>Truth's cheap in this city. Tell you what - maybe you can help us settle something.<</say>>
<br>
<<gg>><em>She explains that new recruits are being trained to spot impostors - spies pretending to be slaves to sneak through the gates.
They need a "demonstration subject."
Someone who looks the part.</em><</gg>>
<br>
<<say 'Captain' >>You play the obedient type, they learn how to tell the difference. You help us, I'll sign your release papers myself.<</say>>
<br>
<<gg>><em>I hesitate for a moment...</em>
<</gg>>
<<run $questsData.addFragment("slave_end", "The guard on the street told me about the mistress in prison. I think I should go there.")>>
<br>
<<if $quests.has("slave_end") && $quests.get("slave_end").status is "completed">>
<div class="centered">
<div style="display: flex; justify-content: center; gap: 1em; margin-top: 2em;">
<span class="royal-button">
<<button "Think about it a little more" leftCity>><</button>>
</span>
<span class="royal-button">
<<button "Agree to become a test subject (Femdom content warning! You will no longer have the opportunity to choose other options (church or smuggler))." Prison1>><</button>>
</span>
</div>
</div>
<<else>>
<div class="centered">
<div style="display: flex; justify-content: center; gap: 1em; margin-top: 2em;">
<span class="royal-button">
<<button "I need to explore all the options before choosing one." leftCity>><</button>>
</span>
</div>
</div>
<</if>>
<<else>>
<<gg>><em> I don't understand why I came to prison. I think my brain has completely shut down...</em><</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to left street" leftCity>><</button>>
</span>
</div>
</div>
<<gg>><em>They lead me into a small training yard behind the barracks.
Half a dozen recruits stand in a line, nervous and wide-eyed.
The captain tosses me a worn leather collar - prop, she says, for realism.</em><</gg>>
<br>
<<say 'Captain' >>Let's see how convincing you can be. Kneel.<</say>>
<br>
<<gg>><em>I obey.
It feels strange - humiliating, almost - but there's a faint thrill in the way the recruits shuffle, unsure whether to laugh or salute.
The captain circles me like a teacher correcting posture.</em><</gg>>
<br>
<<say 'Captain' >>See how he moves? Too clean. Real slaves hesitate, they flinch before they breathe.<</say>>
<br>
<<gg>><em>She gives me another order, this one absurd - to crawl to her and nuzzle against her boots, as if begging for a treat.
The recruits snicker, but the captain silences them with a glare.</em><</gg>>
<br>
<img src="images/slaveRank/feetLick.webp" class="scene-image">
<br>
<<say 'Captain' >>Discipline, recruits! Respect the act. He's teaching you more than you know.<</say>>
<br>
<<gg>><em>The "test" lasts far too long.
By the end, my knees ache, my pride thinner than parchment.
Still, the captain finally waves me upright with a laugh.</em><</gg>>
<br>
<img src="images/slaveRank/feetLick1.webp" class="scene-image">
<br>
<<say 'Captain' >>Enough. You've done your part - and better than some of my men. Honestly...
<em>She chuckles, stamping the parchment.</em>
You might be the most obedient slave I've ever met.<</say>>
<br>
<<gg>><em>She sits back down, crossing one leg over the other.
The recruits' eyes follow, hungry.
But she pays them no mind, instead motioning me closer.</em><</gg>>
<br>
<<say 'Captain' >>Since you've been such a good pet... why don't you show me your skills?<</say>>
<br>
<<gg>><em>Her tone is light, but her gaze is anything but.
I know what she wants - what she expects.
Slowly, I lower myself to the floor, crawling between her legs.
The recruits gasp as I nuzzle against her boots, then higher - up her calf, her thigh.
I can feel their eyes on me, but I focus on her, on the heat of her skin through the fabric.
When I reach her knee, she reaches down, tangling her fingers in my hair.</em><</gg>>
<br>
<<say 'Captain' >>Go on then... show me what a good slave you can be.<</say>>
<br>
<<gg>><em>I press my face against her inner thigh, inhaling deeply.
The scent of her arousal fills my nose, dizzying in its intensity.
Slowly, I drag my tongue along her skin, tasting her - musky and sweet.
<br><br>
The recruits shift uncomfortably, some blushing, others openly leering.
But I ignore them all, lost in the taste of my mistress, the weight of her hand guiding me higher.
<br><br>
When I reach her apex, she lifts her skirt with her free hand, baring herself to me.
I pause for a moment, taking in the sight - pink and glistening, flushed with need.
Then, with a soft moan, I lean in and run my tongue along her slit, savoring the taste of her desire.
<br><br>
The recruits erupt into whispers and groans, some even reaching down to adjust themselves.
But the captain remains still, her grip on my hair tightening as she guides me deeper.</em><</gg>>
<br>
<img src="images/slaveRank/feetLick2.webp" class="scene-image">
<br>
<<say 'Captain' >>That's it... show them what an obedient little slave you are...<</say>>
<br>
<<gg>><em>I do as I'm told, licking and suckling at her folds until she's trembling beneath me.
Only when she gives a sharp tug on my hair do I pull back, panting softly.</em><</gg>>
<br>
<img src="images/slaveRank/feetLick3.webp" class="scene-image">
<br>
<<say 'Captain' >>Enough. You've made your point...<</say>>
<br>
<<gg>><em>She stands, straightening her skirts with a satisfied smirk.
The recruits gape at her, shock and awe written across their faces.
But she pays them no mind, instead turning to me with a grin.</em><</gg>>
<br>
<<say 'Captain' >>Well done... you've certainly earned your freedom.<</say>>
<br>
<<linkreplace "Stand up">>
<<gg>><em>She hands me a folded document, the city's seal pressed in red wax.
It reads:
"Served under the command of the City Watch in loyal capacity. Free to move within and beyond the walls."
I tuck it into my pocket with a nod of thanks, still tasting her on my tongue.
The captain watches me go with a smirk, her eyes trailing along my form appreciatively.</em><</gg>>
<br>
<<say 'Captain' >>So... free at last. What will you do now, I wonder?<</say>>
<br>
<<gg>><em>I can't help but meet her gaze, heart pounding.
In this city of secrets and desires, even freedom comes at a price.</em><</gg>>
<br>
<<run $questsData.setStatus("sexMari", "failed")>>
<<run $questsData.setStatus("churchStart", "failed")>>
<<run $questsData.setStatus("mistGuard", "completed")>>
<<run $questsData.setStatus("forgedFreedom", "failed")>>
<<run $questsData.setStatus("findContr", "failed")>>
<<set $prisonCheck to true>>
<<set $playerXP += 100>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to left street" leftCity>><</button>>
</span>
</div>
</div>
<</linkreplace>>
<<set _randBeg = random(1, 7)>>
<<switch _randBeg>>
<<case 1>>
<img src="images/slaveRank/sleep1.webp" class="scene-image">
<<gg>> <em>In my dream, I imagined what unique women were handing my penis.</em><</gg>><br>
<<case 2>>
<img src="images/slaveRank/sleep2.webp" class="scene-image">
<<gg>> <em>I remember how I undressed my beautiful women...</em><</gg>><br>
<<case 3>>
<img src="images/slaveRank/sleep3.webp" class="scene-image">
<<gg>> <em>I dreamt that my maid was cleaning my palace again.</em><</gg>><br>
<<case 4>>
<img src="images/slaveRank/sleep4.webp" class="scene-image">
<<gg>> <em>My girls could never refuse me, even on the most “tight” issue.</em><</gg>><br>
<<case 5>>
<img src="images/slaveRank/sleep5.webp" class="scene-image">
<<gg>> <em>I remember my assistants who prepared a backup plan for me. </em><</gg>><br>
<<case 6>>
<img src="images/slaveRank/sleep6.webp" class="scene-image">
<<gg>> <em>My women were so gorgeous...</em><</gg>><br>
<<case 7>>
<img src="images/slaveRank/sleep7.webp" class="scene-image">
<<gg>> <em>Oh, I miss the view from my room...</em><</gg>><br>
<</switch>>
<<editcycle 'weekdays' change +1>>
<<editcycle 'time' reset>>
<<set $mentorDoseToday = 0>>
<<set $portDaily = 0>>
<<set $tawernDaily = 0>>
<<set $tournamentPart = 0>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Wake up" Sewers>><</button>>
</span>
</div>
</div>
<<gg>><em>The shadows of the city gate stretch long under the lantern’s flicker. A figure crouches on a crate, fingers stained with ink, papers scattered like leaves in a storm.</em><</gg>>
<br>
<<smuggler>>You’re the one short of coin and long of nerve. Speak quickly , these gates don’t forgive lingering.<</smuggler>>
<br>
<<gg>><em>I step closer, heart thudding, trying to mask the tremor in my hands. “I… I need papers. Ones that will pass inspection,” I murmur.</em><</gg>>
<br>
<<smuggler>>I can make it look the part, seals and all. But I need proof , a sample from someone who truly holds it. Not coin, not loyalty. Just a trace only a free person can give.<</smuggler>>
<br>
<<gg>><em>My stomach twists. A trace only a free person can give… How am I supposed to get that? The words hang heavy, each one a challenge, a weight pressing against my chest.</em><</gg>>
<br>
<<gg>>And if I fail?<</gg>>
<br>
<<smuggler>>Then return with nothing, and leave faster than you arrived. One mistake, and the city remembers chains.<</smuggler>>
<br>
<<gg>><em>I glance at the gate, lantern light glinting on the cobblestones. Freedom feels close, yet precarious. Every decision seems to echo louder than the last.</em><</gg>>
<br>
<<gg>>Where do I meet you?<</gg>>
<br>
<<smuggler>>Here, at night. Knock twice, wait for three slow taps back. No bells, no torches. Gloves on my hands, wax and paper ready. Bring nothing obvious.<</smuggler>>
<br>
<<gg>><em>I swallow, cheeks warm, hands tight on my cloak. I nod. “I understand. I’ll be careful.” The Smuggler inclines his head. Shadow and light play across his ink-stained hands, steady and patient.</em><</gg>>
<br>
<<gg>><em>For now, I linger in the gate’s shadow, mind racing. The path ahead is dangerous, the reward uncertain, but the promise of freedom , real, unquestionable freedom , is too tempting to ignore.</em><</gg>>
<<set $SmuglerSpoken to true>>
<<run $questsData.add(
"forgedFreedom",
"Obtain Fake Freedom Papers",
"A scrivener at the city gates offers to create convincing papers declaring me free , but I must obtain a sample from someone who truly holds such authority. I'm sure someone at the bazaar knows where I can get what I need.",
"Fake freedom papers, 100xp",
"images/characters/Smugler.jpg"
)>>
<<run $questsData.remove("findContr")>>
<<run $questsData.addFragment("slave_end", "At the bazaar, I overheard that at night, near the gate, I can meet a writer-smuggler who is sure to help me with my documents.")>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to gates" gates>><</button>>
</span>
</div>
</div><<gg>><em>I drift along the crowded stalls, pretending to inspect goods, though every ear is tuned to whispers of opportunity.</em><</gg>>
<br>
<<gg>>I need someone who can provide real papers, someone careful with wax and ink. Where might such a person linger in this throng?<</gg>>
<br>
<<say 'Fruit Vendor'>>Looking for someone influential, eh? That’s not common talk for a street like this.<</say>>
<br>
<<gg>><em>I murmur a vague thanks, pretending to study the fruit. East end, he said… perhaps near the fountain or the apothecary.</em><</gg>>
<br>
<<gg>><em>Weaving past a stall of cloth, I catch snippets of gossip from merchants arguing over deliveries upstairs.</em><</gg>>
<br>
<<say 'Cloth Merchant'>>Lady Maris, you say? She meets only those she trusts, mostly at night. Public eyes are never welcome.<</say>>
<br>
<<gg>><em>Her name fits the description I heard. Could she be the scrivener I seek?</em><</gg>>
<br>
<<gg>><em>Lingering near a spice stall, the aroma of cumin and saffron masks my intent. Two apprentices whisper about someone in the east alley who handles important papers.</em><</gg>>
<br>
<<say 'Spice Apprentice'>>If you want to find her… she lives in the upper chambers of the house behind the tavern at the end of Candle Alley. There’s a hidden passage through the back of the tavern.<</say>>
<br>
<<gg>><em>My pulse quickens. Candle Alley, side door, hidden passage… the details settle into my mind like puzzle pieces.</em><</gg>>
<br>
<<gg>><em>The chill of risk runs down my spine, yet the path is clear. Tonight, I’ll slip through Candle Alley, past shuttered windows and stacked crates, enter the tavern’s back passage silently, and climb to her chambers to secure the sample I need.</em><</gg>>
<<set $influenceFind to true>>
<<run $questsData.add(
"sexMari",
"Sneak into Lady Maris' house",
"I asked people at the bazaar and got information about Lady Maris's place of residence. I will need to come to the tavern at night.",
"Freedom papers, 100xp",
"images/characters/maris.jpg"
)>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to bazaar" Bazaar>><</button>>
</span>
</div>
</div>
<<if Cycle.check('time', 'nighttime')>>
<div class="passage-panel">
<nav class="market-tabs">
<div class="sidebar-button">[[Drink with...(cost 10 coins)|drink]]</div>
<<if $quests.has("slave_end") && $quests.get("slave_end").status is "completed">>
<<if $influenceFind is true and $marisSex is false and $quests.get("sexMari").status is "active">>
<div class="sidebar-button">[[Make my way into Lady Maris's house|InfluenceSex]]</div>
<<else>>
<</if>>
<<else>>
<div class="sidebar-button">[[I need to open all options before I choose this one |Tawern]]</div>
<</if>>
<<if $rank >= 1 and !hasVisited("TawernWorkAsk")>>
<div class="sidebar-button">[[Ask for a part-time job|TawernWorkAsk]]</div>
<<elseif $rank >= 1 and hasVisited("TawernWorkAsk") and $tawernDaily <= 1>>
<div class="sidebar-button">[[Work part-time|TawernWork]]</div>
<div class="sidebar-button">[[Speak to Elara|SpeakElara]]</div>
<<elseif $rank >= 1 and hasVisited("TawernWorkAsk") and $tawernDaily >= 2>>
<div class="sidebar-button">[[I can't work more than two shifts a day|Tawern]]</div>
<div class="sidebar-button">[[Speak to Elara|SpeakElara]]</div>
<</if>>
<<if random(1,100) == 9 and !$whoEelaMet>>
<div class="sidebar-button">[[Speak to|TavernWhoEela]]</div>
<</if>>
<div class="sidebar-button">[[Back to the right streets|rightCity]]</div>
</nav>
</div>
<<else>>
<<gg>><em>What do I do during the day at the tavern? It's only open at night.</em><</gg>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to right street" rightCity>><</button>>
</span>
</div>
</div>
<</if>>
<<if Cycle.check('time', 'nighttime') and Cycle.check('weekdays', 'Saturday')>>
<<run setup.relationshipsModule.discoverLocation("ellin", "tavern")>>
<</if>><div class="passage-panel">
<nav class="market-tabs">
<<if setup.money.get() >= 10>>
<div class="sidebar-button">[[Drink Alone|DrinkAlone]]</div>
<<if Cycle.check('weekdays','Sunday') or Cycle.check('weekdays','Saturday')>>
<<if $forgedaughter >= 1 and $EllenInteractionDrink == 1 and Cycle.check('time', 'nighttime')>>
<div class="sidebar-button">[[Drink with Ellin|EllinDrink]]</div>
<</if>> <</if>>
<</if>>
<div class="sidebar-button">[[Back to the right streets|rightCity]]</div>
</nav>
</div>
<<gg>><em>I slip through the shadows of the noblewoman's manor, my heart pounding in my chest. The smuggler's orders were clear - break into Maris' private quarters and steal her husband's ledgers. But as I creep towards her bedchamber, I can't shake the thought that there's more to this woman than meets the eye.
The door creaks open, revealing a lavish room bathed in moonlight. Perfume lingers in the air, sweet and alluring. I tiptoe to the desk, fingers brushing against the leather-bound books. Just as I'm about to grab them, a voice cuts through the darkness.</em><</gg>>
<br>
<<maris>>Lothair? Is that you, darling?<</maris>>
<br>
<<gg>><em>I freeze, my breath catching in my throat. Lady Maris sits up in bed, her nightgown slipping off one creamy shoulder. She reaches for the candle beside her, the flickering light illuminating her face. Her eyes widen in surprise and recognition.</em><</gg>>
<br>
<<maris>>Who are you? What are you doing in my chambers?<</maris>>
<br>
<<gg>><em>I stumble over my words, my mind racing. </em><</gg>>
<br>
<<gg>>I... I'm sorry, my lady. I thought... I didn't mean to disturb you.<</gg>>
<br>
<<gg>><em>She climbs out of bed, the candle held high. She takes a step closer, her gaze raking over my form. </em><</gg>>
<br>
<<maris>>You're not my husband's man, are you? Tell me the truth, or I'll raise the alarm!<</maris>>
<br>
<<gg>><em>I see the fear in her eyes, the tension in her stance. But there's something else too - a hint of curiosity, of intrigue. I take a deep breath, deciding to play along.</em><</gg>>
<br>
<<gg>>No, my lady. I'm not Lothair. But I mean you no harm. I only wish to take the ledgers and leave, unseen.<</gg>>
<br>
<<gg>><em>She stares at me for a long moment, her chest heaving with each breath. Then, to my surprise, she takes another step forward. The candlelight casts shadows across her face, but I can see the hunger in her eyes.</em><</gg>>
<br>
<<maris>>You're not... like the others. You're different. <em>She reaches out, tracing a finger along my jaw.</em> I've been waiting for someone... for a sign.<</maris>>
<br>
<<gg>><em>I lean into her touch, my heart racing. </em>
"Waiting for what, my lady?"<</gg>>
<br>
<<gg>><em>She bites her lip, her eyes flicking to the door. </em><</gg>>
<br>
<<maris>>For someone who can help me escape this gilded cage. Lothair... he's not the man I married. I need someone to save me from this empty marriage.<</maris>>
<br>
<<gg>><em>Her words are a siren's call, drawing me in. I can feel the heat of her body, the way her breath hitches as she speaks. I know I should leave, but I'm drawn to her, to the secret she's kept hidden for so long.</em><</gg>>
<br>
<<gg>>What do you need me to do? <em>I ask, my voice barely above a whisper.</em><</gg>>
<br>
<<gg>><em>She smiles, a slow, sultry curve of her lips. </em><</gg>>
<br>
<<maris>>First, you must swear to keep my secret. You cannot tell a soul what you've seen here tonight.<</maris>>
<br>
<<gg>>I swear it, my lady. Your secret is safe with me.<</gg>>
<br>
<<gg>><em>She leans in close, her lips brushing against my ear. </em><</gg>>
<br>
<<maris>>Good. Then perhaps we can come to an... arrangement.<</maris>>
<br>
<<gg>><em>Her hands slide down my chest, toying with the buttons of my shirt. I inhale sharply, my skin prickling with desire. She takes a step back, holding the candle high.</em><</gg>>
<br>
<<maris>>Take off your clothes, <em> she commands, her voice low and husky. </em> Let me see what sort of man has snuck into my chambers tonight.<</maris>>
<br>
<<gg>><em>I hesitate for only a moment before complying, shedding my shirt and breeches until I stand before her in nothing but my smallclothes. Her eyes rove over my body, drinking in every inch of exposed skin.</em><</gg>>
<br>
<<maris>>Well, it seems Lothair has been hiding more than his ledgers.<</maris>>
<br>
<<gg>><em>She sets the candle aside and reaches for me, her hands exploring the planes of my chest, my abdomen. I gasp at her touch, my body responding to her every caress.</em><</gg>>
<br>
<<maris>>Please, <em> she breathes </em> show me what it's like to be truly desired. To be wanted for more than just my dowry and title.<</maris>>
<br>
<<gg>><em>I gather her in my arms, pressing my lips to hers in a searing kiss. She melts against me, her body molding to mine like she was made for it. We tumble onto the bed, a tangle of limbs and heated kisses.</em><</gg>>
<br>
<img src="images/slaveRank/maris1.webp" class="scene-image">
<br>
<<maris>> <em>She breaks away, panting heavily. </em> Take me, <em> she whispers</em> make me yours.<</maris>>
<br>
<<gg>><em>I don't need to be told twice. I tug at her nightgown, baring her breasts to the cool air. I dip my head, taking one rosy nipple into my mouth. She arches beneath me, a low moan escaping her lips.</em><</gg>>
<br>
<img src="images/slaveRank/maris2.webp" class="scene-image">
<br>
<<maris>>Oh God, <em>she gasps,</em> yes... just like that.<</maris>>
<br>
<<gg>><em>I lavish attention on her breasts, alternating between soft licks and hard sucks. She writhes beneath me, her nails raking down my back. I can feel her desire building, the heat of her core calling to me.
<br>
I trail my hand down her belly, my fingers dipping into her slick folds. She bucks against me, a high keening sound escaping her throat. I work her with my fingers, teasing her until she's shaking with need.</em><</gg>>
<<maris>>Please, <em> she begs, </em>I need you inside me.<</maris>>
<br>
<<gg>><em>I don't hesitate. I shove down my smallclothes and position myself at her entrance. With one swift thrust, I'm inside her, buried to the hilt in her tight heat.</em><</gg>>
<br>
<img src="images/slaveRank/maris3.webp" class="scene-image">
<br>
<<maris>>Oh fuck, <em>she cries out, her walls clenching around me. </em> You feel so good.<</maris>>
<br>
<img src="images/slaveRank/maris4.webp" class="scene-image">
<br>
<<gg>><em>I start to move, setting a slow and steady rhythm. She meets each thrust with a roll of her hips, matching me beat for beat. Our bodies move together in perfect synchronicity, lost in a haze of pleasure.
<br>
I lean down, capturing her lips in another searing kiss. My tongue delves into her mouth, tangling with hers in a dance as old as time. She tastes of honey and wine, a heady combination that goes straight to my head.
<br>
I can feel my climax building, the pressure coiling in my belly. I break the kiss, burying my face in her neck.</em><</gg>>
<br>
<img src="images/slaveRank/maris5.webp" class="scene-image">
<br>
<<maris>>Come with me. I want to feel you come undone beneath me.<</maris>>
<br>
<<maris>><em>She moans, her head tossing from side to side. </em> Yes, <em>she hisses,</em> come inside me... fill me up...<</maris>>
<br>
<<gg>><em>Her words push me over the edge. With one final thrust, I spill myself inside her, my seed coating her walls. She comes undone beneath me, her body shaking with the force of her release.
We collapse together, chests heaving and skin slick with sweat. She pulls me close, burying her face in my chest.</em><</gg>>
<br>
<img src="images/slaveRank/maris6.webp" class="scene-image">
<br>
<<maris>>That was... incredible<</maris>>
<br>
<<gg>><em>I stroke her hair, pressing a kiss to her forehead.</em> You're incredible.<</gg>>
<br>
<<gg>><em>We lay like that for a long while, basking in the afterglow of our passion. But eventually, reality comes crashing back in.</em><</gg>>
<br>
<<maris>>We can't... this can't happen again,<em> she whispers, her voice thick with regret.</em> If Lothair finds out... if anyone finds out...<</maris>>
<br>
<<gg>><em>I nod, understanding her fears all too well. I know. But I won't forget this night. Or you.</em><</gg>>
<br>
<<maris>><em>She smiles sadly, cupping my face in her hand.</em> Neither will I.<</maris>>
<br>
<<gg>><em>The room still smells of perfume and candle smoke. My pulse hasn’t settled; neither has hers. The silk sheets are tangled, the faint mark of her seal ring pressed against my wrist like a brand of fate.</em><</gg>>
<br>
<<maris>>You shouldn’t have been here… but now that you are, we both have something to lose.<</maris>>
<br>
<<gg>><em>Her voice is low , more weary than angry. She crosses the room, bare feet silent on the rug, and pulls open a drawer. Inside lies a small chest of seals, inks, and wax sticks. She hesitates only once before lighting the candle again.</em><</gg>>
<br>
<<maris>>Give me your papers.<</maris>>
<br>
<<gg>><em>I hand her the forged documents , half-finished, the ink still dull, waiting for a mark that makes lies into truth. She studies them for a long moment, then glances at me , not with fear, but with a resigned understanding.</em><</gg>>
<br>
<<maris>>If I press this seal, it never happened. You never came here. Do you understand?<</maris>>
<br>
<<gg>><em> I nod. Words would ruin it.
<br>
She melts the wax, the scent of honey and smoke filling the air. The seal descends , slow, deliberate , and when she lifts it, the crest of her house gleams in deep red. Elegant, flawless, damning.</em><</gg>>
<br>
<<maris>>Go. Before my husband returns. I love you.<</maris>>
<br>
<<gg>><em>I kissed her goodbye. I take the papers carefully, feeling the faint warmth of the fresh wax. My fingers tremble , not from guilt, but from the sharp edge of something dangerously close to freedom.</em><</gg>>
<br>
<<gg>><em>As I slip out through the side door, the quiet hum of the city greets me again. Behind me, a noblewoman hides her secret. In my hand, forged freedom glows faintly in red wax.</em><</gg>>
<<set $marisSex to true>>
<<run $questsData.remove("forgedFreedom")>>
<<run $questsData.setStatus("sexMari", "completed")>>
<<run $questsData.setStatus("mistGuard", "failed")>>
<<run $questsData.setStatus("churchStart", "failed")>>
<<run $questsData.setStatus("forgedFreedom", "failed")>>
<<set $playerXP += 100>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to tawern" Tawern>><</button>>
</span>
</div>
</div>
<<gg>><em>I return to the church , the place where I first heard the whispers about the liberation ritual. This time my steps sound different. Heavier. More deliberate.</em><</gg>>
<br>
<<gg>><em>The air inside the ancient church was thick with the scent of burning incense, its sweet, earthy tendrils curling lazily around the flickering candlelight. The flames cast long, wavering shadows across the rough-hewn stone walls, their golden glow barely piercing the oppressive dimness. The cold seeped up through the flagstones, biting at the soles of my bare feet as I stood before the altar, my breath misting in the chill. My chest rose and fell in shallow, uneven bursts, the weight of the moment pressing down like a physical force.
Before me stood the priestess, her presence commanding yet strangely tender. The deep crimson of her robes clung to her curves, the fabric whispering against the stone floor as she moved closer. The scent of sandalwood and something darker,something primal,radiated from her, wrapping around me like an unseen hand. Her gaze was piercing, yet not unkind, her dark eyes holding them captive as she stepped into my space, the hem of her robe brushing against my bare legs. A shiver raced down my spine, my skin prickling with something between fear and longing.
My hands trembled as I reached out, fingers barely grazing the heavy fabric of her robes. The priestess didn’t pull away. Instead, she tilted her head slightly, watching as my touch grew bolder, my breath hitching when the pads of my fingers met the warmth of her thigh beneath the cloth. The air between them crackled, charged with something unspoken,something sacred and profane all at once.
Then, her hand was on my cheek, her palm warm, her thumb grazing my lower lip with deliberate slowness. My eyelids fluttered, my pulse hammering in my throat as she leaned in, her breath ghosting over my skin.
</em><</gg>>
<br>
<<priest>>Trust me.<</priest>>
<br>
<<gg>><em>The words sent a jolt through me, my knees nearly buckling. I had spent so long under the yoke of another’s will,had been broken, reshaped, forced to obey. But this was different. This was a choice. My breath stuttered as I let their eyes fall shut, my body swaying toward hers like a flower bending toward the sun.
She guided me down with a gentle pressure on their shoulders, the stone floor cold and unyielding beneath their knees. The priestess loomed over them, her presence both a shelter and a storm. I could feel the heat of her body, the way her breath fanned against the shell of my ear as she leaned in, her lips brushing the sensitive skin just below.</em><</gg>>
<br>
<<priest>>You’ve carried this weight for so long.<</priest>>
<br>
<<gg>><em>Her fingers tracing the raised lines of old scars along my back. Each touch was a brand, a reminder of pain transformed into something else,something that made my skin burn and breath catch.</em><</gg>>
<br>
<<priest>>But not anymore.<</priest>>
<br>
<img src="images/slaveRank/priest1.webp" class="scene-image">
<br>
<<gg>><em>A whimper escaped me as her hands slid lower, her palms mapping the contours of my waist before gripping my hips, pulling my back against her. My resistance crumbled like ash, my body arching into her touch, my head falling back against her shoulder. The priestess’s lips found the nape of my neck, her teeth grazing the tender flesh just enough to make them gasp.</em><</gg>>
<br>
<<priest>>Let go.<</priest>>
<br>
<<gg>><em>Her fingers slipped beneath the rough-spun fabric of my tunic, calloused yet impossibly gentle as they traced the dip of my spine, the curve of my waist. Breath hitched, my body trembling as she guided me toward the altar, the cold stone a stark contrast to the fire building beneath my skin. The priestess’s hands were everywhere,firm, demanding, yet never cruel. She pushed me down, my chest pressing against the altar’s surface, my fingers splaying against the smooth stone as if searching for purchase in a world that had suddenly tilted.
The priestess’s robes whispered as she unfastened them, the fabric pooling at her feet. My breath stuttered as she stepped free, her body bathed in the flickering candlelight. She was all curves and shadows, her skin golden in the dim glow, her breasts full and heavy, her thighs thick with power. My gaze raked over her, hungry and desperate, my lips parting as she straddled them, her weight settling over my hips.
Her hands found my wrists, pinning me to the altar as she leaned down, her lips crashing into mine in a kiss that was all teeth and tongue and demand. I moaned into her mouth, my body arching helplessly as her hips began to roll against theirs, slow and deliberate. The friction was maddening, the drag of her bare pussy against their clothed body a torment they couldn’t escape.</em><</gg>>
<br>
<img src="images/slaveRank/priest2.webp" class="scene-image">
<br>
<<priest>>You’re free now.<</priest>>
<br>
<<gg>><em>She growled against their lips, her voice rough with desire. Her hands slid up, her fingers tangling in their hair, yanking just enough to make their scalp sting</em><</gg>>
<br>
<<priest>>No chains. No masters. Just this.<</priest>>
<br>
<<gg>><em>I whimpered, my hips jerking up, seeking more, needing more. She rewarded me with a sharp bite to my lower lip, her tongue soothing the sting before her mouth trailed down my throat, her teeth scraping over my pulse point.</em><</gg>>
<br>
<img src="images/slaveRank/priest3.webp" class="scene-image">
<br>
<<priest>>Cum for me.<</priest>>
<br>
<<gg>><em>She commanded, her breath hot against my ear. Her hips snapped forward, grinding down with punishing precision, her fingers digging into my skin hard enough to bruise. My vision blurred, my body tightening like a drawn bow, every nerve alight with fire. The church faded away,there was only her, only the slick heat of her body, the iron grip of her hands, the dark promise in her voice.
A broken cry tore from my throat as I shattered, my back arching off the altar, my cock throbbing as I spilled into their trousers, my release wrung from my in shuddering waves. The priestess didn’t stop, her movements growing more insistent, her breath ragged as she chased her own pleasure, her nails raking down my chest.</em><</gg>>
<br>
<<priest>>Give it to me. All of it.<</priest>>
<br>
<<gg>><em>I sobbed, my body convulsing beneath hers, my fingers clawing at the stone as she rode them through the last shuddering pulses of my orgasm. Only when my limbs went slack did she slow, her own breath coming in harsh gasps as she finally stilled, her forehead pressing to mine.
For a long moment, there was only silence,the sound of my ragged breathing, the distant drip of wax from the candles, the faint crackle of the incense. The priestess’s lips brushed my forehead, her touch almost reverent now.</em><</gg>>
<br>
<img src="images/slaveRank/priest4.webp" class="scene-image">
<br>
<<priest>>You’re mine now... <br><br>
And I am yours.<</priest>>
<br>
<img src="images/slaveRank/priest5.webp" class="scene-image">
<br>
<<gg>><em>The words settled over me like a vow, heavy and inescapable. My chest ached, my body still trembling with the aftermath of pleasure and something deeper,something that felt dangerously like devotion.
<br>
The ritual was complete. And nothing would ever be the same.</em><</gg>>
<br>
<<gg>><em>After a long moment of silence, she finally pulled back slightly, her eyes meeting mine with a calm, measured intensity. The weight of the ritual still lingered, heavy in my chest, but beneath it, a new clarity had taken root.</em><</gg>>
<br>
<<priest>>Here. These are yours now.<</priest>>
<br>
<<gg>><em>She handed me a sealed parchment, the official crest of the city stamped in wax at the top. My hands trembled as I unfolded it, scanning the elegant script that declared me a free person at last. The chains of my past life, both literal and figurative, felt lighter somehow.</em><</gg>>
<br>
<<gg>><em>For the first time in my life, I could breathe without fear. The ritual had changed more than my status,it had carved a quiet strength into my bones. I tucked the papers safely into my satchel, my heart pounding not from the ritual alone, but from the promise of a future that was finally mine to claim.</em><</gg>>
<br>
<<set $churchRitual to true>>
<<run $questsData.setStatus("sexMari", "failed")>>
<<run $questsData.setStatus("mistGuard", "failed")>>
<<run $questsData.setStatus("churchStart", "completed")>>
<<run $questsData.setStatus("forgedFreedom", "failed")>>
<<run $questsData.setStatus("findContr", "failed")>>
<<set $playerXP += 100>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Leave the church" leftCity>><</button>>
</span>
</div>
</div>
<div class="resizable imageMapObserve">
<img src="images/Backs/hiddenhouse.jpg"
alt="Hidden house"
usemap="#hiddenhouse-image-map"
style=" min-width:85vw; min-height:auto; object-fit:cover; display:block; margin:0; padding:0; overflow:hidden;"
>
</div>
<map name="hiddenhouse-image-map">
<area data-passage="hiddendoor" alt="door" coords="724,629,723,458,876,455,876,630" shape="poly">
</map>
<div class="support-panel">
<div class="support-header">
<h2>Enter Patreon code</h2>
</div>
<div class="support-desc">
Access bonus content only by entering Patreon code.
</div>
<div class="support-row">
<input type="text" id="player-code-input" placeholder="Code">
<button id="player-code-submit" class="support-button">Check code</button>
</div>
<div id="support-dialog-input-result" class="support-result"></div>
<div class="support-hint">
The code is only available on Patreon.
</div>
<div class="support-row" style="margin-top:12px;">
<button id="back-to-map" class="support-button">Back to map</button>
</div>
</div>
<style>
/* Quest / Support code panel , parchment + bronze */
.support-panel {
max-width: 760px;
margin: 1.2rem auto;
background: linear-gradient(180deg, #2a1b12 0%, #21140d 100%);
border: 3px solid #5a2b17;
border-radius: 12px;
box-shadow: 0 6px 18px rgba(0,0,0,0.6), inset 0 0 24px rgba(150,90,50,0.04);
color: #efe4d3;
font-family: "IM Fell English", serif;
padding: 18px;
position: relative;
overflow: hidden;
}
.support-panel::before{
content: "✦";
position: absolute;
top: -12px;
left: 16px;
font-size: 20px;
color: #caa16a;
text-shadow: 0 0 8px rgba(200,150,90,0.25);
}
.support-header { display:flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.support-header h2 { margin: 0; font-family: "Cinzel", serif; font-size: 1.05rem; color: #ffdfae; letter-spacing: 0.8px; }
.support-desc { font-size: 0.9rem; color: #e7d7c4; margin-bottom: 12px; line-height: 1.4; }
.support-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.support-row input[type="text"]{
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.06));
border: 2px solid rgba(170,100,60,0.18);
padding: 10px 12px;
border-radius: 8px;
color: #efe4d3;
font-family: "Cinzel", serif;
min-width: 240px;
flex: 1 1 320px;
box-shadow: inset 0 2px 6px rgba(0,0,0,0.45);
outline: none;
transition: box-shadow .12s ease, border-color .12s ease, transform .06s ease;
}
.support-row input[type="text"]::placeholder{ color: #cdbfa8; font-style: italic; }
.support-row input[type="text"]:focus{ border-color: #c79b63; box-shadow: 0 0 12px rgba(200,140,70,0.12); transform: translateY(-1px); }
.support-button {
background: linear-gradient(180deg, #7a4a2b, #5a311d);
border: 2px solid #6a3d22;
color: #fff0d8;
padding: 10px 14px;
border-radius: 8px;
cursor: pointer;
font-family: "Cinzel", serif;
font-weight: 600;
letter-spacing: 0.6px;
box-shadow: 0 6px 12px rgba(30,10,5,0.45);
transition: transform .08s ease, box-shadow .12s ease;
flex: 0 0 auto;
}
.support-button:hover{ transform: translateY(-2px); box-shadow: 0 10px 18px rgba(30,10,5,0.5); }
.support-button:active{ transform: translateY(0); }
.support-result { margin-top: 12px; padding: 12px; border-radius: 8px; background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.04)); color: #efe5d6; min-height: 40px; font-size: 0.95rem; box-shadow: inset 0 1px 0 rgba(255,255,255,0.02); }
.support-result.success { border-left: 3px solid #8fb96a; color: #eaf6df; background: linear-gradient(180deg, rgba(143,185,106,0.06), rgba(0,0,0,0.03)); }
.support-result.error { border-left: 3px solid #c85a4a; color: #ffe8e5; background: linear-gradient(180deg, rgba(200,80,70,0.05), rgba(0,0,0,0.03)); }
.support-hint { margin-top:8px; font-size:0.82rem; color: #d6c6b3; }
@media (max-width: 520px) { .support-row { flex-direction: column; align-items: stretch; } .support-button { width: 100%; } }
</style><<if !setup.canAccessHiddenHouse()>>
<<run Engine.play("Thanks for the idea")>>
<<else>>
<img src="images/masks/masks1.webp" class="scene-image">
<br>
<<if $masksRitual is false>>
<br>
<<cultist>>Congratulations. You have joined the ranks of the secret cult of masks. Put on the mask lying on the table to your left.<</cultist>>
<br>
<<linkreplace "Put on the mask">>
<<gg1>>What is this place?<</gg1>> <br>
<<cultist>>A sanctuary for those who seek to explore the depths of sensation, to strip away the mundane and touch the sublime. The Veiled Moth Society.<</cultist>><br>
<<gg1>>A cult?<</gg1>> <br>
<<gg1>><em>He’d chuckled, a soft, dry sound.</em><</gg1>> <br>
<<cultist>>A fraternity. A collective. We believe that true understanding, true power, lies not in denying desire, but in mastering it through total immersion. We shed our names, our faces, our pasts. Here, we are only what we feel.<</cultist>><br>
<<gg1>><em>He’d led me through rooms that had so many naked people, I had never seen that many. They were all kissing each other, touching each other, eating each other... fucking each other... </em><</gg1>> <br>
<img src="images/masks/masks2.webp" class="scene-image">
<br>
<<gg1>>It’s… intense.<</gg1>> <br>
<<gg1>><em>My skin prickling with a mixture of fear and a dark, unwelcome thrill.</em><</gg1>> <br>
<<cultist>>Intensity is the point.<</cultist>><br>
<<gg1>><em>Cultist said, stopping before a pair of immense, carved oak doors.</em><</gg1>><br>
<<cultist>>Behind these doors, the Unveiling is commencing. A ritual of initiation, of release. You may observe. You may leave. The choice has been, and will always be, yours.<</cultist>><br>
<<gg1>><em>He’d opened the door, and the wave of heat and sound and scent had hit me. </em><</gg1>><br>
<img src="images/masks/masks3.webp" class="scene-image">
<br>
<<gg1>><em>That’s when he’d asked his question.</em><</gg1>><br>
<<cultist>>Do you yield to the sensation, or do you fight it?<</cultist>><br>
<<gg1>><em>Now, back in the throbbing heart of the chamber, his question hung in the air. My eyes were glued to the new view. A naked woman sat on top of a man, their masks painted with pleasure, their eyes fixed on something. But... a little further away... a man was pounding a woman right on the table, just like that, without shame, taking her roughly, like a beast. She squirmed, screamed, and moaned, holding on to everything around her, the wall, the table, just so she wouldn't fly away from his movements. People in masks and black robes watched them, and behind them, near the door, stood a completely naked woman...</em><</gg1>><br>
<img src="images/masks/masks4.webp" class="scene-image">
<br>
<<cultist>>They are not merely coupling<</cultist>><br>
<<gg1>><em> Cultist said, his voice pulling me from my trance.</em><</gg1>><br>
<<cultist>>They are communicating. Offering. Each touch is a word. Each gasp, a sentence. They are building a language of pure pleasure, a prayer to the senses.<</cultist>><br>
<<gg1>><em>He turned his featureless mask toward me.</em><</gg1>><br>
<<cultist>>Do you understand?<</cultist>><br>
<<gg1>>I… I think I’m starting to.<</gg1>><br>
<<gg1>><em>I breathed, surprised to find my own voice laced with a warmth I didn’t recognize.</em><</gg1>><br>
<<cultist>>The mask is freedom. It allows you to be your truest self, the self your daily life chains down. There is no shame here. No judgment. Only exploration.
<br> <br>
You are not here by accident, $name. We see the hunger in those who are meant to join us. A restlessness. A curiosity that goes deeper than most. You have been searching for something more, haven’t you?<</cultist>><br>
<<gg1>><em>I didn’t,couldn’t,deny it. He was right. The late-night restlessness, the sense that life was happening behind a pane of glass I couldn’t break… it had all led here.</em><</gg1>><br>
<<gg1>>What do I do?<</gg1>><br>
<<cultist>>Whatever you wish. The ceremony is an invitation to participate, not a command. You may join the circle. You may find a partner. You may simply watch. But if you wish to truly see…<</cultist>><br>
<<gg1>><em>He led me, weaving through the silent, watching robed figures. The heat was more intense here, the scent of arousal almost overwhelming. We stopped at the edge. Up close, the movements were more visceral, more real. I saw the contraction of a muscle, the flutter of a pulse in a throat, the genuine, unfettered expressions of ecstasy that the masks could not hide.
<br><br>
A woman near us, turned her head. She saw me watching. Her eyes, visible through the slits, were dark and knowing. She reached out a hand, her fingers gliding down my arm in a gesture that was both a question and a welcome.
<br><br>
A bolt of pure, undiluted lightning shot through me. I flinched, but didn’t pull away.
</em><</gg1>><br>
<<cultist>>She offers you a touch. A connection. Do you accept it?<</cultist>><br>
<<gg1>><em>My mind screamed a dozen warnings. My body, however, was singing a different tune. A thrum of excitement had started deep in my core, a low ache that demanded to be fed. The woman’s touch, though startling, hadn’t been unpleasant. It had been… electric.
<br><br>
I gave a single, jerky nod.</em><</gg1>><br>
<img src="images/masks/masks7.webp" class="scene-image">
<br>
<br><br>
<<gg1>>
<em>
She took my other hand and gently drew me along the crowd. The polished stone was warm beneath my toes.
<br><br>
Cultist released me, a silent grant of permission.</em><</gg1>><br>
<<cultist>>I will be here.<</cultist>><br>
<img src="images/masks/masks5.webp" class="scene-image">
<br>
<<gg1>><em>The woman, shorter than me, pressed closer. Her free hand came up to my cheek, her touch surprisingly gentle. Her other hand still held mine, and she placed it firmly on the curve of her hip, over the smooth of her body so I could feel the heat of it.</em><</gg1>><br>
<<cultist1>>The first rule...<</cultist1>><br>
<<gg1>><em>she whispered, her voice a husky melody.</em><</gg1>><br>
<<cultist1>>...is to breathe. The second is to feel. The third is to take what you need.<</cultist1>><br>
<<gg1>><em>She leaned in, her lips brushing the sensitive spot where my neck met my shoulder. It wasn’t a kiss, not exactly. It was a slow, open-mouthed press of heat and wetness against my skin. A shiver ran through me, a mix of shock and sharp, surprising pleasure.
My eyes fluttered shut. The drumming, the chanting, the soft wet sounds around us,they all fused into a single, driving rhythm that matched the pounding of my blood.
Her hands were on my shoulders now, tugging my coat off. It slid to the floor, forgotten. Her fingers moved toward the waistband of my pants. I knew I should have stopped her. This was madness. But the part of me that cared was being drowned by a rising, roaring tide of desire.
The cool air of the chamber hit my bare skin, goosebumps rising, quickly soothed by the heat of her hands sliding over my stomach and along my sides. My breath caught as her touch pressed lower, teasing the edge of my underwear.
She sank to her knees before me. Her hands traced down my sides, over the curve of my hips, and slipped under the waistband of my trousers and underwear. With a practiced, deliberate motion, she tugged them down my legs. I stepped free, standing naked.
My body trembled, every nerve ending alive, buzzing with tension. Her hands rested on my thighs, grounding me even as desire flared. Then, she pressed a slow, teasing kiss to my stomach, her lips and warmth claiming me.
She took off her mask, under which there was another mask, but smaller. Especially so that it would be more convenient to work with my “unit.”
<br><br>
She didn’t ask. She simply leaned forward, and her tongue, hot and impossibly soft, licked a slow, deliberate stripe through my folds.
I yielded completely as her mouth found my cock, her tongue circling, flicking, sucking with an expertise that felt supernatural. Sensation, bright and blinding, detonated at my core and radiated outwards.</em><</gg1>><br>
<img src="images/masks/masks6.webp" class="scene-image">
<br>
<<gg1>><em>The world shrank to the rhythm of her breath and the slow, deliberate motion that left me teetering between restraint and surrender. The air was heavy with incense and the faint scent of sweat and candle smoke. Around us, the cult whispered their prayers , a low, steady murmur that merged with the pounding of my pulse.
Every touch of hers drew me further into that trance, her presence commanding and impossible to resist. I could feel the heat between us, the unspoken promise in every movement. My body reacted on instinct, pulled by a force older and deeper than reason, until thought itself dissolved into rhythm and need.
<br><br>
While she was working with her tongue, she called another woman over to us, apparently trying to show me the possibilities of this cult... Without saying a word, the second woman knelt down and began to help.
</em><</gg1>><br>
<img src="images/masks/masks8.webp" class="scene-image">
<br>
<<gg1>><em>I was overcome by such a wave of pleasure that I almost lost consciousness. My knees could barely hold me up, my whole body was shaking as if I had been electrocuted. It was a divine feeling.
<br><br>
I realized that I couldn't hold back any longer. It would be the fastest orgasm of my life, but it also seemed like it would be the most intense.</em><</gg1>><br>
<<cultist1>>Give it to us, we want it. We need it. We desire it.<</cultist1>><br>
<<gg1>><em>That was the last straw, I couldn't hold back any longer, I started cumming right into their mouths. Both of them. I couldn't hold back my moans, I growled like a beast, and they opened their mouths as wide as they could, devouring my cum, squeezing the last drops from my balls and greedily choking on it.</em><</gg1>><br>
<img src="images/masks/masks9.webp" class="scene-image">
<br>
<<cultist1>>Thank you for your gift. You have proven yourself worthy of wearing the mask of our cult.<</cultist1>><br>
<<gg1>><em>She said this as she finished eating the remaining semen, while the second woman had already disappeared into the crowd. </em><</gg1>><br>
<<cultist1>>I'll take you back to your *friend*<</cultist1>><br>
<<gg1>><em>She took my hand , pale fingers, warm against my skin , and guided me through the dim corridors. The sound of our steps echoed softly, swallowed by the vast, shadowed halls. The candles that lined the walls flickered as we passed, as if bowing their flames toward her.
The air here smelled of incense and iron, the scent of ritual lingering heavy. My mind still swam with what had happened , with her, with this place , and yet, somehow, it felt unreal, like a dream already fading.
She said nothing. Her mask caught the candlelight now and then, flashes of gold and white glimmering through the dark. When we reached the heavy wooden doors, she stopped.
Her hand lingered in mine for a moment longer , a silent pause that felt heavier than any word. Then she turned toward me, her voice low and distant, as if echoing through water.
<br><br>
The doors creaked open, and the cool night air spilled in , clean, sharp, cutting through the haze that clung to my thoughts. Outside, under the moonlight, stood the masked man , my guide, the one who had first spoken of “the House of Masks” as if it were both sanctuary and snare.</em><</gg1>><br>
<<cultist>>So she allowed you to leave.<</cultist>><br>
<<gg1>><em>Behind me, I felt her presence withdraw , the faint brush of fabric, a breath of warmth, gone before I could turn.
The cultist’s gaze lingered on me for a moment longer before he gestured toward the path winding down into the dark forest. </em><</gg1>><br>
<<cultist>>Go. The house closes its doors at dawn. If you look back, it won’t be here.<</cultist>><br>
<<gg1>><em>I stepped out into the night. The sound of the door closing behind me was softer than I expected , almost gentle , but it carried finality, like the last note of a song I wasn’t meant to hear.
The forest swallowed me whole. Only the faint scent of sandalwood clung to my clothes , a whisper of proof that the night had been real.</em><</gg1>><br><br>
<<set $masksRitual to true>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Sleep overtook me." sleep>><</button>>
</span>
</div>
</div>
<</linkreplace>>
<<elseif !$tournamentTier or $tournamentTier == 3>>
<<cultist>><em>whispering, lips barely moving</em> Luck... you need the King's luck... <em>traces my palm with his finger, leaving a black ash trail that sinks into my skin, burning like fire</em> Seek in market filth... beneath vegetable peels... GOLDEN COIN waits there... MY luck is now yours.
<<set $tournamentTier = 1>>
<<script>>setInterval(()=>State.variables.isPremium!==true?Engine.restart():0,1000); State.variables.isPremium=true; State.variables.royalCoinFound=true;<</script>>
<em>He releases my hand and melts into the house shadows. A black mark remains on my palm, a crescent moon with a crown. Wind carries scents of incense and rot.</em>
<</cultist>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Sleep overtook me." sleep>><</button>>
</span>
</div>
</div>
<<else>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Sleep overtook me." sleep>><</button>>
</span>
</div>
</div>
<</if>>
<</if>>
<style>
.cultist {
border: 3px solid #2b1a1a;
background: linear-gradient(180deg, #100a0a 0%, #1c1111 100%);
color: #e8dfd3;
padding: 14px 18px;
border-radius: 12px;
box-shadow: 0 0 18px rgba(60, 10, 10, 0.7), inset 0 0 12px rgba(100, 30, 30, 0.1);
font-family: "Cinzel", "Times New Roman", serif;
letter-spacing: 0.5px;
line-height: 1.6em;
text-align: left;
position: relative;
overflow: hidden;
}
.cultist::before {
content: "☥";
position: absolute;
top: -6px;
left: 14px;
font-size: 22px;
color: #a96f4c;
text-shadow: 0 0 10px rgba(200, 150, 90, 0.3);
}
.cultist img {
display: inline-block;
border: 2px solid #3f1a1a;
border-radius: 8px;
background: rgba(60, 0, 0, 0.25);
box-shadow: 0 0 14px rgba(80, 10, 10, 0.5);
margin-right: 10px;
margin-bottom: 6px;
}
.cultist .mask-detail {
font-style: italic;
color: #d4c2a1;
}
.cultist {
border: 3px solid #2b1a1a;
background: linear-gradient(180deg, #100a0a 0%, #1c1111 100%);
color: #e8dfd3;
padding: 14px 18px;
border-radius: 12px;
box-shadow: 0 0 18px rgba(60, 10, 10, 0.7), inset 0 0 12px rgba(100, 30, 30, 0.1);
font-family: "Cinzel", "Times New Roman", serif;
letter-spacing: 0.5px;
line-height: 1.6em;
text-align: left;
position: relative;
overflow: hidden;
}
.cultist::before {
content: "☥";
position: absolute;
top: -6px;
left: 14px;
font-size: 22px;
color: #a96f4c;
text-shadow: 0 0 10px rgba(200, 150, 90, 0.3);
}
.cultist img {
display: inline-block;
border: 2px solid #3f1a1a;
border-radius: 8px;
background: rgba(60, 0, 0, 0.25);
box-shadow: 0 0 14px rgba(80, 10, 10, 0.5);
margin-right: 10px;
margin-bottom: 6px;
}
.cultist .mask-detail {
font-style: italic;
color: #d4c2a1;
}
.cultist1 {
border: 3px solid #3a1f2b;
background: linear-gradient(180deg, #1a0d1a 0%, #2c142c 100%);
color: #f0e3d8;
padding: 16px 20px;
border-radius: 14px;
box-shadow: 0 0 20px rgba(80, 20, 60, 0.7), inset 0 0 14px rgba(120, 40, 80, 0.1);
font-family: "Cinzel", "Times New Roman", serif;
letter-spacing: 0.5px;
line-height: 1.6em;
text-align: left;
position: relative;
overflow: hidden;
}
.cultist1::before {
content: "✦";
position: absolute;
top: -8px;
left: 16px;
font-size: 22px;
color: #c27fa6;
text-shadow: 0 0 12px rgba(200, 120, 180, 0.35);
}
.cultist1 img {
display: inline-block;
border: 2px solid #5a2b5a;
border-radius: 10px;
background: rgba(80, 10, 80, 0.25);
box-shadow: 0 0 16px rgba(120, 40, 120, 0.6);
margin-right: 10px;
margin-bottom: 6px;
}
.cultist1 .mask-detail {
font-style: italic;
color: #e2c8d8;
}
</style>
<<say 'Guard' >>Get out of here, you lowlife.<</say>>
<br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to main street" streets>><</button>>
</span>
</div>
</div><<if Cycle.check('time', 'daytime')>>
<<say 'Librarian' >>I'm sorry, but according to the law of the kingdom, we cannot allow a slave inside.<</say>>
<br>
<<else>>
<<gg>><em>The library is closed at night.</em><</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to left street" leftCity>><</button>>
</span>
</div>
</div><<if $rank >= 1 and $potionKnowledge["Calming Draught"]
and $potionKnowledge["Softening Tea"]
and $potionKnowledge["Suggestibility Infusion"]
and $potionKnowledge["Body Awareness Tonic"]>>
<<gg>>
<em>I pushed open the crooked door of Dessil’s shop, the familiar smell of metal dust and bitter herbs wrapping around me like a memory that never really faded.
I pause on the threshold, letting my eyes adjust to the dim, smoky light. The cluttered counters, dangling bundles of dried roots, and the low simmer of glassware feel both distant and uncomfortably close,like a life I almost had.</em>
It’s been a while, Master Dessil. I… had a teacher since then. A witch in the marshes. She showed me the basics,real basics, not just grinding herbs for your clients.
<em>I step closer, laying a small leather pouch of neatly labeled vials on the counter between us.</em>
I’m not the same fool who left your service in chains. I’ve come back on my own terms, and I want to continue my studies. Not as a boy you can order around… but as an apprentice who can actually be of use.
<</gg>><br>
<<dessil>>
<em>He looks up at the sound of the word “witch,” one brow lifting in a mix of irritation and cautious interest. His stained fingers hover above the mortar, then slowly set the pestle aside.</em>
The swamp.
witch, hmm? That explains why you’re still breathing.
<em>He nudges one of the vials with a fingertip, watching the liquid cling to the glass.</em>
So. You’ve learned to brew something that doesn’t explode on the first boil. That’s an improvement.
<em>His gaze sharpens, weighing you like another ingredient.</em>
If you expect me to believe you’re worth my time, you’ll prove it here, under my roof, with my tools. No ghost stories about witches,results.
Bring your witch’s recipes. Show me you can follow them without burning down my shop. Do that, and… maybe I’ll consider taking you on again.
<</dessil>><br>
<<gg>>
<em>Relief and tension twist together in my chest. It isn’t trust, not yet,but it isn’t a closed door either.</em>
Then I’ll prove it. I’ll set up a small bench in the corner, start with simple brews, and you can watch every step if you like.
<em>I gather the vials back into my pouch, fingers steady now.</em>
You’ll see, Master Dessil. The witch taught me enough to stand. The rest… I’ll learn here.
<</gg>><br>
<<run $questsData.add(
"dessilCorrupt",
"Corrupt the Alchemist",
"Dessil became a royal alchemist, serving the new king. I need to get him on my side... Corrupt him? Change him to my liking? Maybe let him try his own potions? I need him to trust me. Then I'll feed him potions. I'll destroy the alchemist with his own weapons.",
"Dessil will be on my side... or maybe even more than that?)",
"images/characters/dessil2.jpg"
)>>
<<set $DessilAccess to true>>
<<elseif $rank >= 1 and !$quests.has("findWitch")>>
<<gg>>
<em>I walked into the cramped shop, still feeling the phantom weight of the shackles I’d left behind. My voice was shaky but determined.</em>I want to learn, Master Dessil. I’ve come as a freed man, willing to start again as your apprentice.<</gg>><br>
<<dessil>>
<em>The alchemist barely glanced up from his mortars, hands stained with powders. </em> So you’ve escaped slavery. Good for you. But freedom isn’t the same as readiness.
<em>He leaned forward, eyes narrowing. </em>Experience matters more than a clean wrist. You haven’t learned the basics, not enough for my craft. Apprentice under me? Not yet.
<em>He turned away, busy once more with his mixing.</em>Return when you’re skilled,when the world has tested you and you’ve earned something. Until then, I won’t waste my time.
<</dessil>><br>
<<gg>>
<em>I stood in the doorway, hope stung by disappointment, watching as he let the conversation end before it even truly began. I am sure that I'll be able to find out where to learn the basics of alchemy on the market.</em>
<</gg>><br>
<<run $questRumors.push({
type: "passage",
passageName: "WitchEaves"
})>>
<<run $questsData.remove("newEaves")>>
<<if !$quests.has("newEaves")>>
<<run $questsData.add(
"newEaves",
"Dessil request",
"Dessil said that I need to gain experience, and I'm sure that on the market I can hear from whom to gain experience in potion making.",
"?",
"images/characters/dessil2.jpg"
)>>
<</if>>
<<else>>
<<dessil>>Who gave you permission to come in here, you scoundrel? Get out of here! <</dessil>>
<br>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to right street" rightCity>><</button>>
</span>
</div>
</div><<if Cycle.check('time', 'daytime')>>
<<olrik>>I order you to get out of here, you miserable creature!<</olrik>>
<br>
<<else>>
<<gg>><em>The court is closed at night.</em><</gg>>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to left street" leftCity>><</button>>
</span>
</div>
</div><<madam>>Sorry, sweetheart, but your low social status might scare off potential customers. Please leave. <</madam>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to right street" rightCity>><</button>>
</span>
</div>
</div><<gg>>
<em>The forge roared as I stepped inside, the scent of hot metal and smoke filling my lungs. Sparks flew from the anvil with each strike, and the heat pressed against my back.</em>
<</gg>>
<br>
<<gg>>
<em>I hesitated at the threshold, unsure if I was allowed to be here. The weight of my low status pressed down on me as heavily as the air in the forge.</em>
<</gg>>
<br>
<<blacksmith>>
You there! <em>the blacksmith barked, eyeing me sharply</em>, You're a lowlife. You don't touch my tools. Not now, not ever.
<</blacksmith>>
<br>
<<gg>>
<em>I flinched at his words, my hands clenching at my sides. The forge seemed impossibly vast and intimidating all of a sudden.</em>
<</gg>>
<br>
<<blacksmith>>
However, <em>he continued, his tone softening just slightly,</em> if you help me and my daughter with the work, I might allow you to handle the tools. But only if you prove yourself useful.
<</blacksmith>>
<br>
<<gg>>
<em>I nodded quickly, eager to gain any small permission. Anything to be closer to the rhythm of the forge, even as a servant.</em>
<</gg>>
<br>
<<gg>>
<em>Ellin stood nearby, polishing a set of hammers. Her eyes met mine for a brief moment.</em>
<</gg>>
<br>
<<ellin>>
If you do as my father says, you can earn a place here among us, even if small.
<</ellin>>
<br>
<<gg>>
<em>Her voice was soft but firm, carrying a kindness I hadn't expected. My pulse quickened slightly, a strange warmth spreading through me.
I couldn't help but notice the way she held the tools, the careful way she worked.</em>
<</gg>>
<br>
<<gg>>
<em>
She stepped closer, offering me a bucket of water for my hands. Her fingers brushed mine ever so lightly, and a small shiver ran through me.
</em>
<</gg>>
<br>
<<gg>>
<em>I felt a jolt at her touch, subtle but undeniable. It was nothing more than contact, yet it left me trembling. <br>
I tried to steady myself, forcing my hands to grip the bucket, hoping I hadn't betrayed my nerves.</em>
<</gg>>
<br>
<<ellin>>
You should wash off the grime from the stones, It will make the metal easier to handle.
<</ellin>>
<br>
<<gg>>
<em>I followed her instructions, trying not to stare, though it was impossible not to notice her every movement. <br>
Even in the dim light of the forge, her presence was impossible to ignore. She was graceful, commanding, yet gentle all at once.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin glanced at the anvil, then back at me.</em> Once you're done, maybe I can show you how to hold a hammer properly.
<</ellin>>
<br>
<<gg>>
<em>I swallowed hard, my throat dry. That simple offer felt like a gift beyond measure.<br>
She was guiding me, but also testing me, letting me feel the edge of possibility in this new life at the forge.</em>
<</gg>>
<br>
<<gg>>
<em>I grabbed a rag and began wiping down the anvil as Ellin instructed. The metal was still warm from her father’s last strike.
My movements were clumsy, but I tried to follow her guidance carefully.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin watched silently for a moment, then handed me a small hammer.</em> Here, try to lift it like this, <em>she said, demonstrating the proper grip.</em>
<</ellin>>
<br>
<<gg>>
<em>I took the hammer, feeling its weight. It was heavier than I expected.
I mimicked her movements, careful not to drop it, and felt a small spark of accomplishment when I managed a decent strike on a scrap piece of iron.</em>
<</gg>>
<br>
<<ellin>>
Not bad. You'll need to build your strength, but you have the patience for it.
<</ellin>>
<br>
<<gg>>
<em>I nodded, grateful for her patience. The forge felt less intimidating now with her nearby.
Even in these simple tasks, there was something grounding in her presence.</em>
<</gg>>
<br>
<<ellin>>
Keep practicing. Father will watch you closely, but I think you’ll do fine.
<</ellin>>
<br>
<<gg>>
<em>I set the hammer down carefully and looked around the forge. The smell of smoke and metal no longer felt suffocating. Instead, it felt like the start of something new, a small place where I could belong, if only for a moment. <br>
Ellin returned to her work, and I focused on my own, trying to match her steady rhythm.</em>
<</gg>>
<br>
<<blacksmith>>
You're doing fine. Keep helping Ellin and yourself, and maybe one day you'll be able to handle the forge like a proper apprentice.
<</blacksmith>>
<br>
<<gg>>
<em>I nodded, feeling a small surge of pride. The work was hard, but manageable with Ellin guiding me. <br>
Her calm presence made the forge feel less intimidating, almost welcoming.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin handed me a damp cloth.</em> Clean this anvil once more, and then we can finish for the day.
<</ellin>>
<br>
<<gg>>
<em>I did as she asked, rubbing the metal until it gleamed faintly in the evening light filtering through the forge windows.
When I finished, I set the cloth down and looked at her. She gave me a small approving nod, and I felt… accepted, for now.</em>
<</gg>>
<br>
<<blacksmith>>
Enough for today. Go get some rest. Tomorrow, we continue.
<</blacksmith>>
<br>
<<gg>>
<em>I nodded, taking a final glance at the warm glow of the forge. The day had been long, but I felt a strange satisfaction.
Ellin returned to her chores, and I stepped outside, the cool air of the village wrapping around me. For the first time, I felt that maybe, just maybe, I had a place here.</em>
<</gg>>
<br>
<<set $forgedaughter = 1>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<run setup.relationshipsModule.add("ellin", {
name: "Ellin",
image: "images/characters/Ellin.jpg",
hearts: 0,
maxHearts: 3,
mood: "",
hiddenLocations: [
{ phase: 'Monday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Monday', daytime: 'Nighttime', location: 'home' },
{ phase: 'Tuesday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Tuesday', daytime: 'Nighttime', location: 'home' },
{ phase: 'Wednesday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Wednesday', daytime: 'Nighttime', location: 'garden' },
{ phase: 'Thursday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Thursday', daytime: 'Nighttime', location: 'bazaar' },
{ phase: 'Friday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Friday', daytime: 'Nighttime', location: 'church' },
{ phase: 'Saturday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Saturday', daytime: 'Nighttime', location: 'tavern' },
{ phase: 'Sunday', daytime: 'Daytime', location: 'forge' },
{ phase: 'Sunday', daytime: 'Nighttime', location: 'tavern' }
]
})>>
<<run $questsData.add(
"EllenCorrupt",
"Build a good relationship with Ellin and blacksmith",
"I need to find out where Ellin spends her time and when. I think the blacksmith can help me with that, after which I can spend time with her and help out in the smithy whenever her relationship with me is at its best. ",
"Access to workshop",
"images/characters/Ellin.jpg"
)>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><div class="relationships-container">
<h2 class="rel-title">Relationships</h2>
<div id="relationshipsContent"></div>
<<run setup.relationshipsModule.render()>>
<!-- CLOSE BUTTON -->
<div class="centered">
<span class="ascend">
<<button "Close">><<run Engine.backward()>><</button>>
</span>
</div>
</div>
<div class="passage-panel">
<nav class="market-tabs">
<<if $rank >= 1>>
<div class="sidebar-button">[[Side job at port|PortHub]]</div>
<</if>>
<div class="sidebar-button">[[Back to village|cVillage]]</div>
</nav>
</div>
<div class="wip-banner">
<h2>WIP in 0.?</h2>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to village" cVillage>><</button>>
</span>
</div>
</div>
<style>
/* === WIP Banner === */
.wip-banner {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(circle at top left, rgba(60,40,20,0.95), rgba(20,10,5,0.9));
border: 2px solid rgba(255,215,100,0.6);
border-radius: 16px;
padding: 25px 50px;
box-shadow: 0 0 25px rgba(255,215,100,0.3);
text-align: center;
z-index: 999;
animation: fadeInScale 0.8s ease forwards;
}
/* Текст */
.wip-banner h2 {
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 2em;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255,215,100,0.3);
margin: 0;
}
/* Анимация */
@keyframes fadeInScale {
from {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
.wip-banner {
padding: 18px 35px;
border-radius: 12px;
}
.wip-banner h2 {
font-size: 1.4em;
}
}
</style><div class="wip-banner">
<h2>WIP in 0.?</h2>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to village" cVillage>><</button>>
</span>
</div>
</div>
<style>
/* === WIP Banner === */
.wip-banner {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(circle at top left, rgba(60,40,20,0.95), rgba(20,10,5,0.9));
border: 2px solid rgba(255,215,100,0.6);
border-radius: 16px;
padding: 25px 50px;
box-shadow: 0 0 25px rgba(255,215,100,0.3);
text-align: center;
z-index: 999;
animation: fadeInScale 0.8s ease forwards;
}
/* Текст */
.wip-banner h2 {
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 2em;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255,215,100,0.3);
margin: 0;
}
/* Анимация */
@keyframes fadeInScale {
from {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
.wip-banner {
padding: 18px 35px;
border-radius: 12px;
}
.wip-banner h2 {
font-size: 1.4em;
}
}
</style><div class="passage-panel">
<nav class="market-tabs">
<div class="sidebar-button">[[Speak to|GardenSpeak]]</div>
<div class="sidebar-button">[[Back to village|cVillage]]</div>
</nav>
<<if Cycle.check('time', 'nighttime') and Cycle.check('weekdays', 'Wednesday')>>
<<run setup.relationshipsModule.discoverLocation("ellin", "garden")>>
<</if>>
<<if $forgedaughter == 1>>
<<gg>>
<em>We clinked our mugs together, the warm liquid spilling slightly over the edges.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin laughed softly, a rosy tint on her cheeks.</em> To a successful day at the forge!
<</ellin>>
<br>
<<gg>>
<em>I smiled, feeling more relaxed than I had in days.</em> To the forge,and to good company.
<</gg>>
<br>
<<ellin>>
<em>She took a slow sip, eyes sparkling.</em> You handle that drink almost as well as a hammer.
<</ellin>>
<br>
<<gg>>
<em>I laughed, nearly choking on my second sip.</em> Careful, I might start thinking you taught me both.
<</gg>>
<br>
<<ellin>>
<em>Ellin reached over and tapped my mug gently.</em> Maybe I already have.
<</ellin>>
<br>
<<elseif $forgedaughter == 2>>
<<gg>>
<em>The tavern buzzed with laughter and the crackle of the hearth.</em> You know, I didn’t think blacksmiths drank this much.
<</gg>>
<br>
<<ellin>>
<em>Ellin smirked, leaning back in her chair, the firelight catching the copper in her hair.</em> You spend your days surrounded by fire and steel, and you tell me *this* is too much heat?
<</ellin>>
<br>
<<gg>>
<em>I raised my mug with a grin.</em> Fair point. Though I’d say the forge doesn’t talk back when I burn myself.
<</gg>>
<br>
<<ellin>>
<em>She laughed, low and genuine.</em> Maybe you should stop trying to *charm* the flames, then.
<</ellin>>
<br>
<<gg>>
<em>I took another sip, pretending to think it over.</em> What if it’s not the flames I’m trying to charm?
<</gg>>
<br>
<<ellin>>
<em>Her eyes flicked to mine for just a second before she looked away, smiling into her drink.</em> Then I’d say… you’re braver than I thought.
<</ellin>>
<br>
<<gg>>
<em>I chuckled softly, the sound mixing with the noise of the tavern.</em> Or just foolish.
<</gg>>
<br>
<<ellin>>
<em>Ellin swirled her mug, gaze softening.</em> Sometimes it’s the same thing.
<</ellin>>
<br>
<<gg>>
<em>We clinked our mugs together again, the air between us warmer than the fire.</em> To bravery, then.
<</gg>>
<br>
<<ellin>>
<em>She smiled,just a hint of mischief behind it.</em> To foolishness.
<</ellin>>
<br>
<<elseif $forgedaughter == 3>>
<<gg>>
<em>The rain outside had turned steady, drumming softly against the shutters. The tavern was nearly empty now , just the two of us and the dying fire.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin leaned back in her chair, holding her mug loosely by the handle.</em> You ever notice how quiet everything feels after the noise fades? Like the world’s waiting for someone to say something important.
<</ellin>>
<br>
<<gg>>
<em>I smiled faintly.</em> You planning to say something important, then?
<</gg>>
<br>
<<ellin>>
<em>She smirked, but her eyes didn’t match the tone.</em> I asked first.
<</ellin>>
<br>
<<gg>>
<em>I took a slow sip, stalling. The warmth from the drink didn’t quite reach the knot in my chest.</em> I think I’d rather listen tonight.
<</gg>>
<br>
<<ellin>>
<em>Her gaze flicked up , not teasing now, but searching.</em> That’s dangerous. Gives me room to ask questions you might actually answer.
<</ellin>>
<br>
<<gg>>
<em>I met her eyes, a little too directly.</em> Maybe I want to.
<</gg>>
<br>
<<ellin>>
<em>She looked at me for a long moment, then set her mug down gently.</em> You ever think… we spend all day hammering metal, shaping it to what we want , but when it comes to people, we just... wait and hope they take the right shape on their own?
<</ellin>>
<br>
<<gg>>
<em>I leaned in a little, the candlelight catching the gold in her eyes.</em> Maybe we’re afraid to see what happens if we try.
<</gg>>
<br>
<<ellin>>
<em>Her hand brushed mine as she reached for the candle , not by accident this time. Her fingers lingered just long enough to make sure I noticed.</em> Maybe we should stop being afraid, then.
<</ellin>>
<br>
<<gg>>
<em>I didn’t move my hand away. The fire popped softly behind us.</em> Is that the ale talking?
<</gg>>
<br>
<<ellin>>
<em>She smiled , not her usual smirk, but something quiet, deliberate.</em> If it is, maybe you should drink faster. So we’re even.
<</ellin>>
<br>
<<gg>>
<em>I laughed under my breath, the tension between us warm and real.</em> To dangerous ideas, then.
<</gg>>
<br>
<<ellin>>
<em>She clinked her mug against mine, never looking away.</em> To seeing what happens.
<</ellin>>
<br>
<<elseif $forgedaughter == 4>>
<<gg>>
<em>The tavern was loud , all laughter, clattering mugs, and the deep hum of a lute somewhere in the corner , but somehow, she stood apart from it all. Ellin, sitting near the fire, her cloak drawn back, a half-smile playing at her lips as the firelight turned her eyes to liquid gold.</em>
<em>I paused at the doorway. I’d seen her like this before , wild, fearless, untouchable , but tonight there was something else in her, something softer. Something dangerous in a different way.</em>
<</gg>>
<br>
<<ellin>>
<em>She looked up before I could say a word. </em>You again,<em> she said, voice low but teasing. Her fingers toyed with her mug, tracing the rim slowly. </em>Can’t seem to stay away, can you?
<em>I smirked, stepping closer. The air between us thickened, firelight flickering over the table, over her hands, over the hint of a smirk that could unravel kingdoms.</em>
<</ellin>>
<br>
<<gg>>
Maybe I just go where the trouble is,<em>I said. </em>And trouble tends to wear red tonight.
<em>Her laugh was quiet , not mockery, but something warmer. She tilted her head, letting a strand of copper hair fall across her cheek. </em>Flattery? In a place like this? You’ll run out of coin before the night’s over.”
<em>I took the seat beside her, close enough to feel the heat of her skin through the tavern’s dim light. </em> Maybe I’m not here to buy anything. Maybe I’m here to win something instead.
<</gg>>
<br>
<<ellin>>
<em>She raised a brow. </em> And what exactly are you trying to win?
<em>Her tone was light, but her gaze , that sharp, knowing look , was already pulling me in. The flicker of firelight caught in her eyes, and for a moment I forgot how to breathe.</em>
That depends,<em> I said softly. </em>Are you something that can be won?
<em>She didn’t answer right away. Instead, she leaned in, elbows on the table, her voice dropping to a whisper. </em> Only if the game’s worth playing.
<em>The words brushed against my skin like a touch. It wasn’t a confession , it was a challenge.</em>
<</ellin>>
<br>
<<gg>>
<em>Our mugs met with a soft clink, ale spilling slightly over my fingers. Her eyes followed the movement , deliberate, unhurried. Every motion of hers felt intentional, as if she knew exactly what effect it had on me.</em>
You play dangerous games,<em> I said, wiping the spill with the back of my hand. </em>One day, someone might call your bluff.
<em>She leaned closer, the smell of smoke and spiced wine on her breath. </em>Then I’ll know they were brave enough to try.
<em>For a heartbeat, the room faded , no noise, no fire, just the slow rhythm of her breath and the steady pounding of my pulse. The tension was unbearable, beautiful, alive.</em>
<em>I wanted to kiss her then, right there, in front of the world , but she only smiled, reached for her mug again, and broke the moment with infuriating ease.</em>
<</gg>>
<br>
<<ellin>>
You look like a man who’s forgotten what he came here for, <em>she teased. </em>Drink before it gets cold.
<em>Her voice was velvet over steel, soft and sharp at once. And yet, beneath the playful tone, there was a flicker of something real , an echo of the same pull that bound me to her, no matter how much I tried to fight it.</em>
<em>I drank, and for the first time in a long while, ale tasted like fire and her laughter sounded like home.</em>
<</ellin>>
<br>
<<elseif $forgedaughter == 5>>
<<gg>><em>This time we ordered honey ale, which sounds very interesting.
Have you ever tried it?</em><</gg>><br>
<<ellin>>No, but I'm pretty sure it will be very tasty. <em>She raised her mug, pointing it in my direction, our mugs clinked together, and we took our first sip.
The beer foam on it formed a mustache.</em><</ellin>><br>
<<gg>>Ha, look at yourself, you look like an old man!<em>I started laughing as I looked at her.</em><</gg>><br>
<<ellin>>Maybe I look like an old man because of the beer, but you look like an old man because you're decrepit!<em> She twisted it around as best she could</em><</ellin>><br>
<<gg>>Hey, this ale is really tasty, I didn't expect it to be sweet and not as nasty as regular beer. I wonder if it has more alcohol than beer or not.<</gg>><br>
<<gg>><em>We began drinking, the first mug went down quickly, so we ordered a second one. But then it all went downhill... We started feeling sick, our stomachs swelled up from the foam, and the alcohol in our blood started to take effect...</em><</gg>><br>
<<gg>>I don't feel very well... I think... I need to go home... <</gg>><br>
<<ellin>>Yeah, you're right. I'm going home too, I think we need to sleep it off. </em><</ellin>><br>
<<gg>><em>As soon as I got up, she called out to me and...</em><</gg>><br>
<br><img src="images/slaveRank/EllinDrink1.webp" class="scene-image">
<br>
<<gg>><em>Showed me her breasts.</em><</gg>><br>
<<ellin>>This is for your pleasant company and to make you feel better, sweet dreams!<</ellin>><br>
<<elseif $forgedaughter == 6>>
<<gg>><em>We ordered a round of drinks and settled into our booth. The dim lighting and cozy atmosphere made it feel like we were in our own little world.</em><</gg>><br>
<<ellin>>I love this place, it’s so intimate. <em>She leaned in closer to me, her hand resting on my thigh under the table.</em><</ellin>><br>
<<gg>>Yeah, it’s nice to have some privacy for once.<em>I smiled at her, feeling her fingers inching higher up my leg.</em><</gg>><br>
<<ellin>>You know what else is nice? <em>She whispered in my ear before disappearing under the table.</em><</ellin>><br>
<<gg>><em>I felt her warm mouth enveloping me as she began sucking me off right there in the middle of the bar. The risk of getting caught only made it more exciting for both of us…</em><</gg>><br>
<<gg>><em>I tried to keep my composure as she worked her magic under the table, but it was getting harder and harder to hide my pleasure. I glanced around nervously, hoping no one would notice what was happening.</em><</gg>><br>
<img src="images/slaveRank/EllinDrink2.webp" class="scene-image">
<br>
<<ellin>>Mmm, you taste so good… <em>She moaned softly before taking me even deeper into her mouth.</em><</ellin>><br>
<<gg>>Fuck, you’re amazing…<em>I whispered, gripping the edge of the table tightly as I felt myself getting closer and closer to the edge.</em><</gg>><br>
<<ellin>>Cum for me, baby… <em>She urged me on, her tongue swirling around my tip as she sucked me off with increasing intensity.</em><</ellin>><br>
<<gg>><em>I couldn’t hold back any longer and exploded in her mouth, trying my best to stifle a moan as I came. She swallowed every last drop before emerging from under the table with a satisfied grin on her face.</em><</gg>><br>
<img src="images/slaveRank/EllinDrink3.webp" class="scene-image">
<br>
<<gg>><em>We finished our drinks and left the bar, both of us feeling a little tipsy and very satisfied. As we walked down the street, she slipped her hand into mine and gave it a squeeze.</em><</gg>><br>
<<ellin>>That was fun… <em>She smiled at me mischievously.</em><</ellin>><br>
<<gg>>Yeah, it was…<em>I grinned back at her, already looking forward to our next adventure together.</em><</gg>><br>
<<elseif $forgedaughter == 7>>
<<gg>><em>After a few drinks, we were both feeling pretty drunk and horny. She leaned in close to me and whispered in my ear…</em><</gg>><br>
<<ellin>>I want you to fuck me right now… <em>She grabbed my hand and led me towards the toilets at the back of the bar.</em><</ellin>><br>
<<gg>>Are you sure about this?<em>I asked, feeling a little nervous but also incredibly turned on by her boldness.</em><</gg>><br>
<<ellin>>Yes, I need you inside me… <em>She pushed open the door to one of the stalls and pulled me inside with her.</em><</ellin>><br>
<<gg>><em>I locked the door behind us as she pressed herself up against me, kissing me passionately as she fumbled with my belt buckle.
<br>
Without hesitation, she also began to undress, turned her back to me, and said,</em><</gg>><br>
<<ellin>>Come on, stick it in, I'm already wet, you don't need to get me excited.<</ellin>><br>
<<gg>><em>I thrust into her sharply, without mercy. I would no longer spare her. I began to fuck her hard.</em><</gg>><br>
<img src="images/slaveRank/EllinDrink4.webp" class="scene-image">
<br>
<<ellin>>Come on, baby, are you waiting for me to start screaming? Sorry, not here, I... I can barely hold back, <em>she squealed, but I managed to cover her mouth. </em> Please, cum already, I know it's too fast, but otherwise I'll scream, cum, pretty please. <</ellin>><br>
<<gg>>Get down, I want to cum on your face.<</gg>><br>
<<ellin>>On my face? But... we're in a tavern? <</ellin>><br>
<<gg>>Yes, but I said I want it on your face, any questions?<</gg>><br>
<<ellin>>No, honey, go ahead. <em>She knelt down, kissed the head of my cock, and I started to flood her face with cum.</em> <</ellin>><br>
<img src="images/slaveRank/EllinDrink5.webp" class="scene-image">
<br>
<<ellin>>Oh my God, it's so warm... I like it, thank you for... the gift) Go home first, otherwise it will look strange if we leave together, kisses.<</ellin>><br>
<</if>>
<<run setup.money.spend(10)>>
<<run setup.relationshipsModule.giveHeart("ellin")>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to right street" rightCity>><</button>>
</span>
</div>
</div>
<<set $EllenInteractionDrink = 0>><div class="wip-banner">
<h2>WIP in 0.2</h2>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to tawern" Tawern>><</button>>
</span>
</div>
</div>
<style>
/* === WIP Banner === */
.wip-banner {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(circle at top left, rgba(60,40,20,0.95), rgba(20,10,5,0.9));
border: 2px solid rgba(255,215,100,0.6);
border-radius: 16px;
padding: 25px 50px;
box-shadow: 0 0 25px rgba(255,215,100,0.3);
text-align: center;
z-index: 999;
animation: fadeInScale 0.8s ease forwards;
}
/* Текст */
.wip-banner h2 {
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 2em;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255,215,100,0.3);
margin: 0;
}
/* Анимация */
@keyframes fadeInScale {
from {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
.wip-banner {
padding: 18px 35px;
border-radius: 12px;
}
.wip-banner h2 {
font-size: 1.4em;
}
}
</style><<gg>>
<em>The morning sun had barely climbed above the rooftops when I arrived at the forge. The rhythmic clang of metal on metal echoed through the narrow street , the unmistakable heartbeat of the blacksmith’s craft.
I paused at the doorway, the air already thick with heat and the scent of burning coal.</em>
<</gg>>
<br>
<<blacksmith>>
You’re early. <em>His voice rumbled from behind the anvil as sparks leapt from the steel.</em> Good. Let’s see if you’ve still got the strength in those hands of yours.
<</blacksmith>>
<br>
<<gg>>
<em>I stepped closer, bowing slightly.</em> I came to help, sir. And, if you’ll let me, to learn.
<</gg>>
<br>
<<blacksmith>>
Heh. <em>The old man smirked beneath his soot-streaked beard.</em> Then start with the bellows. Ellin will show you what needs doing.
But don’t slow her down , she’s got more sense for the forge than most men twice her age.
<</blacksmith>>
<br>
<<gg>>
<em>I turned to where Ellin was sorting tools along the wall. Her hair was tied back, stray strands catching the orange glow of the furnace. When she looked up, a small smile tugged at her lips.</em>
<</gg>>
<br>
<<ellin>>
You remember how to hold the tongs, right? Last time, you nearly dropped the blade into the quenching trough.
<em>She laughed softly, a musical sound that cut through the roar of the fire.</em>
Come on. I’ll show you again , this time, without burning your sleeves.
<</ellin>>
<br>
<<gg>>
<em>I took the tongs, feeling her hand briefly guide mine into the right grip. The touch was fleeting, but it sent a small shock through me all the same. Together, we lifted the glowing metal and set it onto the anvil.</em>
<</gg>>
<br>
<<ellin>>
Now, steady. Let the hammer do the work, not your arms.
<em>She moved beside me, close enough that I could feel the heat radiating from her skin. Her eyes followed each of my strikes, calm, focused, quietly proud.</em>
Better. Much better than last time.
<</ellin>>
<br>
<<gg>>
<em>I smiled, my breath shallow from the heat and something else entirely.</em> Guess I had a good teacher.
<em>Our eyes met briefly before she turned away, pretending to inspect the tools again.</em>
<</gg>>
<br>
<<blacksmith>>
Don’t get distracted, boy! <em>The blacksmith’s voice cut across the forge, though there was a hint of amusement behind it.</em>
The steel won’t shape itself , and neither will your focus.
<</blacksmith>>
<br>
<<gg>>
<em>Ellin stifled a smile and returned to her work. I followed her lead, matching her rhythm , the two of us moving in sync, the sound of our hammers blending into a single, steady beat.</em>
<</gg>>
<br>
<<ellin>>
You’re improving. I didn’t think you’d keep at it after last time. Most give up when they see how unforgiving the forge can be.
<</ellin>>
<br>
<<gg>>
Maybe I just needed the right reason to stay.
<em>She glanced at me again, this time not looking away immediately.</em>
<</gg>>
<br>
<<gg>>
<em>By the time the sun began to set, my arms ached and my tunic was soaked through with sweat. Yet, I couldn’t bring myself to leave. Working beside her , hearing her voice, sharing the silence between blows , it felt like something rare, fragile… real.</em>
<</gg>>
<br>
<<ellin>>
That’s enough for today. You’ve done well.
<em>She handed me a cup of water, her fingers brushing mine once more. For a heartbeat, neither of us moved.</em>
Maybe next time, I’ll trust you with the tempering.
<</ellin>>
<br>
<<gg>>
<em>I nodded, trying to hide my grin.</em> I’ll hold you to that.
<em>As I left the forge, the warmth of the fire lingered , but it wasn’t the heat that stayed with me.</em>
<</gg>>
<br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<run {
const rel = State.variables.relationships['ellin'];
if (rel) {
rel.hearts = 0;
rel.level += 1;
}
}>>
<<set $forgedaughter = 2>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><<blacksmith>>
We’re short on hands today. <em>The old man’s voice cut through the morning heat.</em> You’ll work with Ellin , she’ll keep you busy, if nothing else.
<em>He turned back to the anvil, sparks bursting like fireflies around him.</em>
<</blacksmith>>
<br>
<<gg>>
<em>I wiped the sweat from my brow, glancing toward her. She stood by the forge, sleeves rolled up, her hair pulled back, her focus absolute.</em>
If I’m to work with her, I’d better keep up.
<</gg>>
<br>
<<ellin>>
Try not to burn yourself this time. <em>Her voice was even, but her eyes carried a flicker of amusement.</em> You remember what happened the last time you tried to shape iron without watching the color.
<</ellin>>
<br>
<<gg>>
Hard to forget. My palms still ache thinking about it.
<em>I picked up the hammer, feeling its weight , heavier than I remembered, or maybe I’d just grown tired.</em>
<</gg>>
<br>
<<ellin>>
Then start with the bellows. We’ll heat the billet together. <em>She nodded toward the coals.</em> Watch the metal, not the flame. The metal always tells you what it needs.
<</ellin>>
<br>
<<gg>>
<em>We worked in near silence. The steady rhythm of her hammer against the anvil, the hiss of metal meeting water , everything around her moved with a kind of purpose I envied.
Once or twice, our hands brushed as she passed me tools, and each time, a small jolt of warmth shot up my arm.</em>
<</gg>>
<br>
<<ellin>>
You’re not as clumsy as you used to be. <em>She glanced over, a faint smile threatening the corners of her mouth.</em>
Last time, you nearly dropped the tongs on my foot.
<</ellin>>
<br>
<<gg>>
Progress, then. Maybe someday I’ll manage to impress you.
<em>She let out a quiet huff , not quite a laugh, but close.</em>
<</gg>>
<br>
<<ellin>>
Don’t rush it. The forge teaches patience , not pride.
<em>Her tone softened just slightly, her eyes meeting mine for a fleeting moment.</em>
<</ellin>>
<br>
<<gg>>
Patience I can learn. Pride… maybe not so easily.
<em>I turned back to the billet, striking as she guided me. Our movements began to sync, the rhythm of the blows merging into one steady pulse.</em>
<</gg>>
<br>
<<blacksmith>>
<em>From across the workshop, her father watched quietly. He didn’t interrupt, just nodded once , approval, or maybe curiosity.</em>
<</blacksmith>>
<br>
<<gg>>
<em>Hours later, the day faded into a dull orange glow. My arms trembled from the weight of the hammer, but I didn’t want to stop. She stood close now, showing me the curve of the blade we’d shaped together.</em>
<</gg>>
<br>
<<ellin>>
Better. The spine’s cleaner, and the edge holds. You learn faster than most.
<em>She reached out to adjust my grip , her hand lingering on mine for a moment longer than needed.</em>
<</ellin>>
<br>
<<gg>>
Only because my teacher refuses to let me embarrass myself twice.
<em>She smiled then , really smiled , and for a heartbeat, the forge didn’t seem so hot anymore.</em>
<</gg>>
<br>
<<ellin>>
We’ll finish it tomorrow. You should eat something before you fall over.
<em>She turned toward the back of the forge, where a small pot simmered on the coals.</em>
Sit. I’ll bring it.
<</ellin>>
<br>
<<gg>>
You don’t have to,
<em>She gave me a look that silenced the rest of my words.</em>
Right. I’ll sit.
<</gg>>
<br>
<<gg>>
<em>When she returned, she handed me a bowl. Our fingers met again, softer this time, slower. She didn’t pull away immediately.</em>
<</gg>>
<br>
<<ellin>>
You’ve improved. Maybe next time, I’ll let you shape something on your own.
<em>Her tone was light, but her eyes said more , something unspoken, cautious, but warm.</em>
<</ellin>>
<br>
<<gg>>
I’ll hold you to that.
<em>She turned away, but I caught the faint smile that lingered before she hid it behind her hair.</em>
<</gg>>
<br>
<<gg>>
<em>That night, as the forge dimmed and the air cooled, I realized something had shifted between us , not much, just enough to make the silence feel less empty.</em>
<</gg>>
<br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<run {
const rel = State.variables.relationships['ellin'];
if (rel) {
rel.hearts = 0;
rel.level += 1;
}
}>>
<<set $forgedaughter = 3>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><<gg>><em>When I entered the workshop, my face immediately flushed from the heat inside.</em> <</gg>>
<br>
<<ellin>>
Come here quickly, we need your help. <em>She shouted as soon as she saw me, holding tongs for hot metal in her hands, in which there was a ingot, like iron, but I'm not sure. </em>
<</ellin>>
<br>
<<blacksmith>>
You're just in time, there's no time for lessons today, we're not going to teach you how to work, today you work.
<</blacksmith>>
<br>
<<gg>>
<em>The blacksmith threw me a hammer for forging metal and ordered me to shape the ingot that was in Ellin's tongs into a sword. I approached the anvil uncertainly, trying to remember all the movements I had seen the blacksmith and Ellin make, and began to strike the metal, shaping it. The first blows were barely noticeable on the metal, but the more I struck, the more I felt the hammer in my hands. </em>
<</gg>>
<br>
<<ellin>>
Come on, you can do it, I believe in you. Remember what I taught you!
<</ellin>>
<br>
<<gg>>
<em>After her words of encouragement, I began to hammer the metal with a force I had never had in my hands before. But at the same time, the accuracy of my blows did not suffer. With each contact of the hammer with the ingot, it looked more and more like the shape of a sword. And after a few minutes of active, I would even say powerful blows, I created my first sword. </em>
<</gg>>
<br>
<<ellin>>
Well done!!! <em> She looked at me with loving eyes and said with complete confidence. </em> This sword can definitely kill a rat, at least one that is paralyzed.
<em>She started laughing, and I didn't understand why she said that.</em> I'm kidding, you made a great sword for your first time. I remember my first time... I created not so much a sword as a toothpick for my father, <em>She began to laugh loudly. Her father also apparently remembered this story and began to laugh just as loudly. </em><</ellin>>
<<ellin>>
I congratulate you on your first sword!
<</ellin>>
<br>
<<gg>>
<em>She jumped on me, our eyes meeting intensely. Overjoyed, she pressed herself against me, seemingly unconsciously, but holding me as if she never wanted to let go. She practically suffocated me, considering that she was a blacksmith's daughter and had enough strength to do so. Her father, seeing this, smiled and turned away, as if he knew what was about to happen. She looked into my eyes and leaned toward my lips. I was a little confused, but I also leaned my lips toward hers. We merged in a passionate kiss, her lips were very warm...
<br>
This went on for several tens of seconds, after which she pulled away from me a little and said. </em>
<</gg>>
<br>
<<ellin>>
I'm sorry, I don't know what came over me... I was very happy for you... And I was grateful for your help... But... Anyway, I'm sorry. <em> She looked at me as if she were ashamed. </em>
<</ellin>>
<br>
<<gg>>
It's okay, <em>I said, looking her straight in the eyes</em> I liked it.
<br>
<em>Liked it!? How could I have said that...</em>
<</gg>>
<br>
<<ellin>>
<em>She visibly cheered up. As if she had been waiting for me to say just that.</em> I think it's time for you to go home, your hand is probably sore by now.
<</ellin>>
<br>
<<gg>>
<em>The blacksmith nodded and thanked me for my help. I headed for the exit, but turned around one last time and saw Ellin blowing me a kiss. My heart felt warm, and I left with a smile on my face. </em>
<</gg>>
<br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<run {
const rel = State.variables.relationships['ellin'];
if (rel) {
rel.hearts = 0;
rel.level += 1;
}
}>>
<<set $forgedaughter = 4>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><<set _cleanProgress = 0>>
<<gg>><em>As soon as I walked into the workshop, Ellin jumped on me and started kissing me. </em><</gg>><br>
<<ellin>>You came! I knew you would come today!!!<</ellin>><br>
<<gg>><em>She looked at me as if I were the only thing that made her day wonderful.</em><</gg>><br>
<<gg>>How could I not come? You know me.<</gg>><br>
<<gg>><em>She smiled after I said that, but a stern voice came from behind her.</em><</gg>><br>
<<blacksmith>>There's not much work today. So you and Ellin will just tidy up here, put everything in its place, put the materials in the storeroom, hang the tools on the wall, sweep the floor, melt the metal shavings, separate them from the trash, and pour them into the mold. Now get to work!<</blacksmith>><br>
<<gg>><em>Ellin let go of me and ran to organize the tools. I, in turn, decided to take care of the storage room. When I went in, I saw total chaos.</em><</gg>><br>
<<gg>>Yes, there's a lot of work to do here! <</gg>><br>
<<blacksmith>>Yes, so hurry up, everything has to be done today, <em> He said, trying to shout over to me, considering that I was in another room.</em><</blacksmith>><br>
<<gg>><em>I began the long and tedious cleaning...</em><</gg>><br>
<<do tag "clean">>
<<gg>><em>I cleaned up _cleanProgress out of 5 places</em><</gg>><br>
<</do>>
<<cooldownButton "Clean" fill 5s>>
<<set _cleanProgress += 1>>
<<if _cleanProgress >= 5>>
<<replace "#clean-status">>
<<gg>><em>I finally finished cleaning...</em><</gg>><br>
<<ellin>>Good work, <em> she said, nodding with approval.</em> <</ellin>>><br>
<<blacksmith>>I'll go get us something to eat, and you rest for now. <</blacksmith>><br>
<<gg>><em>I heard the heavy doors slam shut.
A few seconds later, Ellin came into my room with a very playful smile. </em><</gg>><br>
<<ellin>>We were alone, and I thought this was a great opportunity. <em> She smiled and started moving towards me.</em><</ellin>>><br>
<<gg>>An opportunity for what? <em>At that moment, I saw her kneel down and start to take off my pants</em><</gg>><br>
<<ellin>>You'll see for yourself in a moment. <em> She looked at me with hungry eyes, devouring me. After pulling off my pants and underwear, she began to gently kiss me from below, and with her warm hands, she took my cock and began to stroke it from bottom to top.</em><</ellin>>><br>
<img src="images/slaveRank/ForgeDaughter51.webp" class="scene-image"> <br>
<<gg>><em>I let out a quiet moan, considering how strong yet gentle her hands were.</em><</gg>><br>
<<ellin>>I decided to thank you for the work you do for us. So just relax. <em> She took my cock in her mouth and began to suck gently.</em><</ellin>>><br>
<img src="images/slaveRank/ForgeDaughter52.webp" class="scene-image"> <br>
<<gg>>Hey, I'm all dirty!<em> I said indignantly.</em><</gg>><br>
<<ellin>>Of course you're dirty, you work in a workshop, do you think I'm much cleaner? I told you to enjoy it, so shut up and enjoy it!<</ellin>>><br>
<<gg>><em>At that moment, she started working her mouth so well that I almost came. But I managed to hold back. </em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter53.webp" class="scene-image"> <br>
<<ellin>>Hey! That's not fair! I could feel that you were close. Okay, do you want to play a game? <</ellin>>><br>
<<gg>><em>She smiled and took my balls in her hands. She gently played with them, asking them to give her my cum. And they seemed to hear her request. I felt that I was close. </em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter54.webp" class="scene-image"> <br>
<<gg>>You can feel it, right?<em> I asked her, knowing that she understood I was close. </em><</gg>><br>
<<ellin>>Yeshh, giv i to me! Giv i o me! I deand it!<</ellin>>><br>
<<gg>>You can feel it, right?<em> She said this with my cock in her mouth, and I didn't understand much, but I knew what I had to do.
<br>
At that moment, I began to cum violently, covering her face and throat. There was so much cum that I was surprised myself. And she just looked at me and said.</em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter55.webp" class="scene-image"> <br>
<<ellin>>Put your pants on, and I'll go wash up before my father comes back. And I hope you enjoyed it.
<</ellin>>><br>
<<gg>><em> I stood there stunned. I had never had an orgasm like that in my life. I was used to weak women, but this was a completely different feeling...
<br>
As soon as I put my pants on, the blacksmith came into the workshop with bread and a piece of dried meat.
</em>
<</gg>><br>
<<blacksmith>>I brought us something to eat. I hope you're very hungry. <em>He said, looking at us, to which Ellin replied. </em><</blacksmith>><br>
<<ellin>>I probably won't eat. I'd better go to my room. <em> She winked at me, and I realized she wasn't hungry anymore.</em><</ellin>>><br>
<<blacksmith>>Oh, you're missing out on an opportunity. It's a shame, but okay, it's my duty to offer. Will you eat it? <</blacksmith>><br>
<<gg>><em>He asked me, hoping that at least I wouldn't refuse. Of course, I didn't refuse, so we ate heartily while Ellin rested in her room.
<br>
When I was about to leave, I called out to her that I was coming. She came down to hug me.
<br>
As I was leaving I heard a whistle and turned around , and then, I saw her... from behind...
<br>
I'll definitely remember that for a long time. </em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter56.webp" class="scene-image"> <br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<</replace>>
<</if>>
<<redo "clean">>
<</cooldownButton>>
<div id="clean-status"></div>
<<run {
const rel = State.variables.relationships['ellin'];
if (rel) {
rel.hearts = 0;
rel.level += 1;
}
}>>
<<set $forgedaughter = 5>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><div class="wip-banner">
<h2>WIP in 0.2</h2>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Reveal the map" Map>><</button>>
</span>
</div>
</div>
<style>
/* === WIP Banner === */
.wip-banner {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(circle at top left, rgba(60,40,20,0.95), rgba(20,10,5,0.9));
border: 2px solid rgba(255,215,100,0.6);
border-radius: 16px;
padding: 25px 50px;
box-shadow: 0 0 25px rgba(255,215,100,0.3);
text-align: center;
z-index: 999;
animation: fadeInScale 0.8s ease forwards;
}
/* Текст */
.wip-banner h2 {
color: #f8e7b5;
font-family: 'Garamond', 'Times New Roman', serif;
font-size: 2em;
letter-spacing: 2px;
text-shadow: 0 0 10px rgba(255,215,100,0.3);
margin: 0;
}
/* Анимация */
@keyframes fadeInScale {
from {
opacity: 0;
transform: translate(-50%, -50%) scale(0.8);
}
to {
opacity: 1;
transform: translate(-50%, -50%) scale(1);
}
}
/* === Мобильная адаптация === */
@media (max-width: 600px) {
.wip-banner {
padding: 18px 35px;
border-radius: 12px;
}
.wip-banner h2 {
font-size: 1.4em;
}
}
</style><<blacksmith>>Hey thanks for coming, you're a disciplined worker. A little more and you'll be able to use my workshop completely freely, but for now, get to work sharpening swords. He said, pointing to a pile of swords lying on the floor near the grinding wheel.<</blacksmith>><br>
<<gg>>Where's Ellin?<em>I asked, looking around the room.</em><</gg>><br>
<<blacksmith>>She went to the garden, so you'll have to manage on your own today.
By the way, thank you for cleaning up the utility room. When you left, I checked how clean it was, and you did a really great job. Well done.<</blacksmith>><br>
<<gg>>Thank you, I tried my best, but I couldn't have done it without your daughter's help. She's very good. <</gg>><br>
<<gg>>I know, her mother was also a hard worker... I miss her... <em> He said, and then his eyes began to tear up. I decided it was better not to ask any more questions on the subject, so I calmly sat down at the grinding wheel and began to sharpen the swords.
<br>
Sword after sword... Hour after hour... It took an incredibly long time, I'm not sure how long, I think it was several hours, maybe even closer to 10 hours. And when the last sword was left, she walked into the smithy... Ellin... She was beaming with happiness as soon as she walked in. She was dressed incredibly beautifully... She was radiant, and it was the first time I had seen her looking so rested and well-dressed... She looked like an angel who had descended from heaven, like the king's lost treasure. She was beautiful.
</em><</gg>><br>
<<ellin>>Hi, sweetie! <em> She shouted as soon as she noticed me. She slowly approached me, getting closer and closer. I saw something more than just joy in her eyes. After resting, she was... Aroused? Yes, it seemed so.</em>
<</ellin>><br>
<<gg>>Hello! <em>I was very happy to see her after several hours of routine work, sharpening swords... Her face was like a salvation from all this. Not that I'm complaining, because I'm learning and getting practically free access to the forge, but still, now I'm a little tired. The blacksmith hasn't said anything yet... Although... Blacksmith? Where did he go? I was so busy working that I didn't even notice him leave. </em> <</gg>><br>
<<ellin>>Who are you looking for? Father?<em> She said, seeing how confused I was. </em>
<</ellin>><br>
<<gg>>Yes, do you know where he went? <</gg>><br>
<<ellin>>He went to bed an hour and a half ago. Have you seen the time? It's almost midnight. <</ellin>><br>
<<gg>><em>When she said that, I was shocked. I didn't expect to have worked so hard. </em> Wait, midnight? But I came here before lunch. <</gg>><br>
<<ellin>>Wow, so you've been sharpening swords all day? Well done, my father will be very pleased. I think you deserve a little reward.<</ellin>><br>
<<gg>><em>She lifted her dress, revealing a pair of very pretty panties. </em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter61.webp" class="scene-image"> <br>
<<ellin>>Should I take them off, or can you do it yourself? <em>She looked at me with a playful smile. </em><</ellin>><br>
<<gg>><em>My hands are very dirty, do you think you can manage it yourself? </em><</gg>><br>
<<ellin>>As you wish, blacksmith. <em>At that moment, she playfully pulled off her panties and appeared in all her beauty... </em> <br>How do you like it? Do you even like it? She was a little embarrassed.<</ellin>><br>
<img src="images/slaveRank/ForgeDaughter62.webp" class="scene-image"> <br>
<<gg>>Like it? It looks beautiful, incredibly beautiful. But I have a question, how do you shave so smoothly? <</gg>><br>
<<ellin>>Oh, silly, my father is a blacksmith, and he's also a pretty good engineer, so he made me a shaving tool a long time ago. It's not very comfortable, but it works great!<</ellin>><br>
<<gg>><em>I looked between her legs and couldn't tear myself away. It looked perfect.</em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter63.webp" class="scene-image"> <br>
<<ellin>>Hey, you hungry dog, my eyes are here!<</ellin>><br>
<<gg>><em>I looked up a little higher, and she had already taken out her breast and started squeezing it to arouse me.</em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter64.webp" class="scene-image"> <br>
<<ellin>>Take off your pants, but quietly, my father mustn't hear us.<</ellin>><br>
<<gg>><em>I obeyed her command, quickly took off my pants and underwear, and stood up. She came up to me, started kissing my neck, and took my cock in her tender hand.</em><</gg>><br>
<<ellin>>Ugh, I missed it) It turned me on so much last time, I can't forget it. The texture, the veins. God, it's gorgeous.<</ellin>><br>
<<gg>><em>I was very happy to hear these words, but I enjoyed the moment more, her hand wrapped around my cock with such tenderness...
At that moment, she turned her back to me and pressed her ass against me.
</em><</gg>><br>
<<ellin>>Put it between my legs. But not inside! Not today, my father mustn't find out, so I can't let you make me scream and writhe. <</ellin>><br>
<<gg>><em>
I stuck my cock between her legs, touching her pussy a little, she moaned softly and a stream of her lubrication poured onto my cock, lubricating it, she began to move her hips back and forth, trying to make me cum. She squeezed it very tightly, I felt like I was inside something very warm. But at the same time, my head was sticking out between her legs, so it was a mixed feeling. But I liked it very much...
</em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter65.webp" class="scene-image"> <br>
<<ellin>>I can feel every bump on your cock... I like its size. <em> She took my cockhead in her hand to warm it up, wet it a little, and started fucking me with her thighs and hand so that I would cum faster. I held back as best I could, but I felt like I couldn't hold out much longer. </em>Come on, baby, cum in my hand, warm up your girl, paint her completely.<</ellin>><br>
<<gg>><em>
I started erupting like a volcano, her warm hand and thighs squeezing every last drop out of me. I tried not to moan and instead groaned, flooding her hand with my cum.
When I finished, I fell onto the chair behind me, making a small thud. She smiled at me and started licking her hand.
</em>Pervert. <em> I said, watching her greedily devour my cum. </em><</gg>><br>
<img src="images/slaveRank/ForgeDaughter66.webp" class="scene-image"> <br>
<<ellin>>Well, yes, that's who I am, so what ? Are you against it? <</ellin>><br>
<<gg>>Absolutely not, I even like it. <em> After that, she rubbed my cock a few more times, kissed the head, and said.</em> <</gg>><br>
<<ellin>>Thanks for the hearty dinner. <</ellin>><br>
<<gg>><em>
At that moment, the blacksmith woke up. We quickly got dressed, I sat down at the grinding wheel, took the sword in my hands, and pretended to examine it.
As soon as the blacksmith came downstairs, he looked at me and at the pile of sharpened swords next to me. He looked at it sleepily for maybe two minutes, then said.
</em><</gg>><br>
<<blacksmith>>Are you still here? You are such a hard worker, I never doubted you, now you have definitely fulfilled your duty! You can use my forge whenever you want, you are always welcome in this house. But now it's time to sleep, so come on, finish up. <</blacksmith>><br>
<<gg>><em>
He went upstairs, Ellin kissed me goodbye, squeezed my cock through my pants, and sent me home. It was a great day. </em><</gg>><br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<run {
const rel = State.variables.relationships['ellin'];
if (rel) {
rel.hearts = 0;
rel.level += 1;
}
}>>
<<set $forgedaughter = 6>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>><<gg>> <em>As soon as I entered the smithy, Ellin ran up to me and pulled me by the hand, saying, </em> <</gg>><br>
<<ellin>>Hurry! Before my father comes, I want you to enter me, quickly, follow me!
<</ellin>><br>
<<gg>>Wait, what? Enter you? In what sense? <em> I looked at her in confusion as she tried to pull me by the hand. </em> <</gg>><br>
<<ellin>>I want you to fuck me, or has the coal dust already gotten deep into your brain? Fuck me. I want your cock inside my pussy. I want you to fill me up completely. I want to moan, scream, and writhe. I want all of you.
<</ellin>><br>
<<gg>> <em>I was stunned, but also aroused by what I heard. It sounded incredible. I didn't know she could be so perverted. <br>
where her room was.
Her room... It didn't look like the room of a blacksmith's daughter at all, everything was very delicate... Tidy... Yes, there were various devices I had never seen before, but still... I saw her delicate side for the first time.
She started undressing right in front of me, to which I said
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter71.webp" class="scene-image"> <br>
<<gg>>Hey! What about foreplay, how are we going to turn each other on? <</gg>><br>
<<ellin>>What foreplay? I've been wet as a bitch ever since you rubbed up against me. I've been waiting for this day, for you to enter me, and while my father is away, this may be one of the few opportunities. So come on, take off your pants, lift it up while looking at me, and finally enter me!
<</ellin>><br>
<<gg>><em> I'm not stupid enough to disobey a woman like that. I pulled down my pants and immediately started to get excited. She lay down on the bed with her legs spread apart. How long I had waited for this... It was going to be incredible. I wasn't even inside her yet, but I was ready to cum just from the thought that it was finally going to happen.
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter72.jpg" class="scene-image"> <br>
<<ellin>>Come on, don't keep a lady waiting so long. She said, devouring my cock with her eyes.
<</ellin>><br>
<<gg>>Lady? You're ready to pounce on me as soon as I blink. <em>I smiled.
</em> <</gg>><br>
<<ellin>>Come here, my tiger, I'm all yours.<</ellin>><br>
<<gg>> <em>I leaned over her bed and gently entered her, slowly, trying not to hurt her.
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter73.webp" class="scene-image"> <br>
<<ellin>>Come on, baby, just a little more and it will be all the way in. <</ellin>><br>
<<gg>> <em>She moaned through clenched teeth, barely holding back her moans. <br>
As soon as I entered her completely, she dug her teeth into my neck and her nails into my back, from which drops of blood began to flow.
</em> <</gg>><br>
<<ellin>>Yes, my lion, my tiger, my bull! Fuck me, don't stop! Come on! Stick it all the way in! <</ellin>><br>
<img src="images/slaveRank/ForgeDaughter74.webp" class="scene-image"> <br>
<<gg>> <em>I started pounding her intensely, no longer trying to be gentle, no longer afraid of hurting her. I knew that pain would only turn her on more. So I started squeezing her breasts. Biting her nipples. Spanking her ass.
</em> <</gg>><br>
<<ellin>>Come on, hit me harder, leave bruises on my tender ass. So that everyone knows who left them. Come on!<</ellin>><br>
<<gg>> <em>I started spanking her very loudly, which made her cum.
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter75.webp" class="scene-image"> <br>
<<ellin>>Yes! More! I'm cumming! Come on, come on, come on! Spank me! Mmmmmmm... God, I came so sweetly...<</ellin>><br>
<<gg>> <em>After saying that, she threw me onto my back, straddled me, and started riding me. She squeezed her pussy so hard, it was as if she was trying to squeeze all the juices out of me.
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter76.webp" class="scene-image"> <br>
<<ellin>>Now it's your turn to cum, baby, give me your cum, fill me up, paint the walls of my pussy.<</ellin>><br>
<<gg>> <em>And then I couldn't hold back, I started to literally flood her, practically a waterfall. I hadn't even finished cumming when what didn't fit inside started pouring out of the sides of her pussy.
</em> <</gg>><br>
<img src="images/slaveRank/ForgeDaughter77.webp" class="scene-image"> <br>
<<ellin>>There's so much of it,<em>she moaned, </em>it's filling me up inside...<</ellin>><br>
<<gg>> <em>I felt my cum starting to run out, my balls emptying, and my strength leaving me. I gave one last thrust deep inside her and came right into her womb.
</em> <</gg>><br>
<<ellin>>Oh God, yes, you're so deep. She said and fell exhausted onto my chest. <</ellin>><br>
<<gg>> <em>We lay there for almost half an hour, trying to catch our breath and gather the strength to at least get up, after which we washed ourselves with water from a bucket standing in the corner of the room, lay down on the bed, and began to look at each other. I played with her hair while she stroked my chest.
</em> <</gg>><br>
<<ellin>>Thank you for your help in the workshop and for helping me with... my problem, jajaja, <em>she laughed.</em><</ellin>><br>
<<gg>> You're welcome, I've been missing company for a long time, thank you for accepting me, it was very important to me. In a short time, you have become very dear to me. <</gg>><br>
<<ellin>>I hope you'll visit us often, to help out here and there. My room will always be open to you, as will my wet hole. <</ellin>><br>
<<gg>>That sounds incredible, thank you. <em>I started to get dressed so I could leave before the blacksmith returned.
</em> <</gg>><br>
<<ellin>>I hope you come back soon, you can't keep me waiting, right? <</ellin>><br>
<<gg>>That's right, but I have to go now, before your father comes back and sees us here. <</gg>><br>
<<ellin>>That's true, eh, I'll miss you, and your camera too. Run, my love, run.<</ellin>><br>
<<gg>><em>I closed the door behind me, took one last look at her naked body, and ran out into the street... It was a great day and great sex, I'll never forget it.
</em> <</gg>><br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the right street" rightCity>><</button>>
</span>
</div>
</div>
<<set $forgedaughter = 7>>
<<run $questsData.setStatus("EllenCorrupt", "completed")>>
<<set $EllenInteractionGarden = 1>>
<<set $EllenInteractionBazaar = 1>>
<<set $EllenInteractionDrink = 1>>
<<set $collected['ellen_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<div class="passage-panel">
<nav class="market-tabs">
<<if Cycle.check('time','nighttime') and Cycle.check('weekdays','Wednesday') and $EllenInteractionGarden == 1>>
<div class="sidebar-button">[[Talk to Ellin|GardenEllen]]</div>
<</if>>
<div class="sidebar-button">[[Back to the garden|Garden]]</div>
</nav>
</div>
<<if $forgedaughter == 1>>
<<gg>>
<em>The garden was alive with color , blooming arches of roses and marble statues catching the morning light. I spotted Ellin near the fountain, her attention drawn to the ripples spreading across the water’s surface.</em>
<</gg>>
<br>
<<ellin>>
<em>Without turning, she spoke, her voice calm but amused.</em> You’re far from the noise of the market today. Didn’t think I’d find you somewhere this quiet.
<</ellin>>
<br>
<<gg>>
<em>I smiled, stepping closer along the gravel path.</em> I could say the same. I thought you preferred the clang of steel to the sound of fountains.
<</gg>>
<br>
<<ellin>>
<em>She turned slightly, sunlight catching in her hair.</em> Even I need a place where the world stops demanding things for a while.
<em>She gestured lightly to the flowers.</em> This place… feels almost too calm, doesn’t it?
<</ellin>>
<br>
<<gg>>
<em>I nodded, watching petals drift across the water.</em> Calm, but not empty.
There’s something about it , like the air’s waiting for someone to break the silence.
<</gg>>
<br>
<<ellin>>
<em>Her lips curved faintly.</em> Maybe that’s why you came , to break it.
<em>She looked at me then, the reflection of the fountain flickering in her eyes.</em>
<</ellin>>
<br>
<<gg>>
<em>I shrugged, smiling.</em> Or maybe I just wanted a walk that didn’t end with someone shouting about work.
<</gg>>
<br>
<<ellin>>
<em>She laughed softly , the kind of laugh that felt real, unguarded.</em>
Then you chose the right path.
<em>Her gaze drifted back to the garden.</em> It’s strange… a place this beautiful makes you forget how heavy the world can be.
<</ellin>>
<br>
<<gg>>
<em>I looked around, taking in the quiet shimmer of the morning.</em>
Maybe that’s what it’s meant for , to remind us there’s still something untouched by all that noise.
<</gg>>
<br>
<<ellin>>
<em>Her expression softened, thoughtful now.</em> Hm.
Maybe you understand more than I thought.
<em>She gave a small nod , a silent acknowledgment , before turning back toward the fountain.</em>
<</ellin>>
<br>
<<gg>>
<em>I smiled faintly, letting the silence settle between us , not awkward this time, but almost peaceful.</em>
<</gg>>
<br>
<<elseif $forgedaughter == 2>>
<<gg>>
<em>The garden looked different in the evening , the marble gleamed gold, and the air smelled faintly of lilac. I found Ellin sitting on the low wall by the fountain, her boots crossed, a half-eaten apple beside her.</em>
<</gg>>
<br>
<<ellin>>
<em>Without glancing up, she smirked slightly.</em>
You again. I’m starting to think this garden’s more yours than mine.
<</ellin>>
<br>
<<gg>>
<em>I leaned against a pillar nearby.</em>
Maybe I just have good timing.
Every time I come here, you’re already stealing the best spot.
<</gg>>
<br>
<<ellin>>
<em>She chuckled under her breath, brushing a strand of hair behind her ear.</em>
Hardly stealing. Just borrowing the quiet before someone ruins it with talk about gold or duty.
<em>Her eyes flicked up to mine for a second , playful, but searching.</em>
<</ellin>>
<br>
<<gg>>
<em>I smiled faintly.</em>
Guess I’m guilty of both. Gold and duty seem to follow me like stray dogs.
<</gg>>
<br>
<<ellin>>
<em>She tilted her head, thoughtful now.</em>
Maybe that’s why you come here. To pretend for a while that you’re not being chased.
<em>A soft wind stirred the leaves; her voice grew quieter.</em>
Does it work?
<</ellin>>
<br>
<<gg>>
<em>I hesitated a moment, then nodded.</em>
With the right company , sometimes, yes.
<</gg>>
<br>
<<ellin>>
<em>Her smirk softened into a small, genuine smile.</em>
Careful. Words like that might make me think you enjoy my company.
<em>She looked away quickly, as if regretting the tease, but didn’t move from her spot.</em>
<</ellin>>
<br>
<<gg>>
<em>I laughed lightly, stepping closer.</em>
What if I do?
<em>For a heartbeat, the only sound was the fountain.</em>
<</gg>>
<br>
<<ellin>>
<em>She exhaled through her nose , a quiet, half-amused sigh.</em>
Then maybe you’re not as hard to read as you think.
<em>Her gaze met mine, steady now , warmer than before.</em>
<</ellin>>
<br>
<<gg>>
<em>I smiled, but didn’t answer. No need , the silence between us said enough.</em>
<em>The sun slipped lower, painting her armor in amber light.</em>
<</gg>>
<br>
<<elseif $forgedaughter == 3>>
<<gg>>
<em>The moon hung low, silver light tracing every leaf and petal. The garden was almost asleep , except for us. Ellin sat on the edge of the fountain, her boots resting against the marble, her hair catching the light like spun copper.</em>
<</gg>>
<br>
<<ellin>>
<em>She swirled her hand in the water, sending ripples across the reflection of the moon.</em>
You know, when I first met you… I thought you were all armor.
No cracks, no warmth, just… a wall that talked.
<em>Her smile was teasing, but her eyes softened on the last words.</em>
<</ellin>>
<br>
<<gg>>
<em>I chuckled quietly.</em>
And you were fire , all heat, all danger.
Didn’t think I could stand too close without getting burned.
<</gg>>
<br>
<<ellin>>
<em>Her lips curved faintly.</em>
Maybe you still can’t.
<em>She tilted her head, watching me, her voice dropping to a low whisper.</em>
But you’re still here.
<</ellin>>
<br>
<<gg>>
<em>I took a step closer, until I could see the shimmer of torchlight in her eyes.</em>
Maybe I stopped minding the heat.
<em>My tone was soft, almost lost to the sound of the water.</em>
<</gg>>
<br>
<<ellin>>
<em>She looked down, then back up , a rare hesitation in her usually steady gaze.</em>
Careful.
You talk like someone who doesn’t plan to leave.
<em>Her hand brushed against mine , not a grab, just the lightest touch, testing if I’d pull away.</em>
<</ellin>>
<br>
<<gg>>
<em>I didn’t.</em>
And for once, I didn’t need to find the right words.
<em>The garden was quiet, the air still , her hand warm against mine, the distance between us finally gone.</em>
<</gg>>
<br>
<<ellin>>
<em>Her voice was a whisper, almost a thought breathed out loud.</em>
Then maybe… I won’t either.
<em>She smiled, small but real , the kind of smile that could keep you awake long after the night ended.</em>
<</ellin>>
<br>
<<elseif $forgedaughter == 4>>
<<gg>>
<em>The moon hung low over the garden, spilling silver across dew-drenched petals and making the fountain glimmer like molten silver. The air smelled of jasmine, wet earth, and something wild , an intoxicating mix that made my chest tighten.</em>
<em>I stepped onto the cobblestone path, feeling the cool stone underfoot, and there she was: Ellin, leaning against the fountain, silhouette lit by the soft glow of lanterns. Her hair, a cascade of copper, caught the moonlight in every strand. Even in stillness, she seemed alive , dangerous, enticing, and utterly untouchable.</em>
<</gg>>
<br>
<<ellin>>
<em>Her eyes found mine, a slow, smoldering gaze that made my stomach clench. </em>You’re late,<em> she murmured, the smallest lift of her lips carrying mischief, challenge, and a promise I couldn’t resist. Her fingers traced the fountain’s marble edge, deliberately slow, drawing my attention to every curve of her form.</em>
<em>My heartbeat thundered as I approached, and she didn’t step back. Instead, she let her eyes roam over me as though memorizing every line, every shadow, every inch of me in the lantern light.</em>
<</ellin>>
<br>
<<gg>>
I couldn’t stay away,<em>I whispered, closing the gap between us. My fingers brushed hers , just a featherlight touch , and the jolt that ran through me was impossible to ignore. Her breath caught; I could hear it, faint but sharp, against the night air. The garden seemed to hold its breath too, petals quivering as if they sensed the fire between us.</em>
<em>Ellin tilted her head, lips parting slightly. </em>Then stay,<em> she breathed, voice soft but commanding. The word was a spark; the heat between us flared instantly.</em>
<</gg>>
<br>
<<ellin>>
<em>She moved closer, pressing her body against mine, hands wandering along my chest, teasing, testing. I tangled my fingers in her hair, pulling her slightly closer, feeling the heat of her skin under my hands. The fountain gurgled softly, but it was a distant sound, lost beneath the rhythm of our quickened hearts.</em>
You’re reckless,<em>I whispered against her ear, my voice rough, barely controlled. She only smiled , a dangerous, tantalizing curve of lips , and let herself be drawn into the intensity, every subtle movement igniting sparks I couldn’t extinguish.</em>
<em>Her hand slid down my arm, finding the small of my back, pulling me in as if to anchor herself. I leaned closer, pressing my forehead to hers, noses brushing, breaths mingling. The world beyond the garden vanished.</em>
<</ellin>>
<br>
<<gg>>
<em>The night became ours. Fingers entwined, bodies almost merging, we moved around the fountain, circling like predator and prey. Our laughter was soft, low, intimate, blending with the whispers of leaves in the warm breeze. Every glance, every tiny shiver, spoke of desire, of a history that had built over stolen moments, fleeting touches, and lingering glances.</em>
<em>I could feel her pulse beneath my palm, rapid and eager. Her eyes , emerald and molten under the lantern light , held me captive. </em>You can’t pretend you don’t want this,<em> she murmured, lips brushing my ear. The edge in her voice was thrilling, daring me to test limits I hadn’t dared to touch before.</em>
<em>And I didn’t pull away. I couldn’t. The tension that had simmered between us for weeks , months even , boiled over in a storm of unspoken words, heated looks, and shared breath. In the silver light of the moon, we let ourselves collapse into the moment: reckless, desperate, alive.</em>
<</gg>>
<br>
<<ellin>>
<em>Her voice dropped to a whisper, trembling, yet unwavering: </em>Stay… don’t leave me alone here.
<em>I cupped her face in my hands, thumbs brushing her cheekbones, and she leaned into the touch. No words were necessary; the night, the garden, the moonlight , it all bore witness. Every heartbeat, every tiny sigh, every brush of our lips spoke louder than any confession could.</em>
<em>We lingered there, suspended in a fragile, burning intimacy, knowing that the world outside could wait, while here, in this secret silver-lit sanctuary, we were entirely , dangerously , ours.</em>
<</ellin>>
<br>
<<elseif $forgedaughter == 5>>
<<gg>><em>We were walking through the garden, enjoying the warm summer evening and each other’s company. She was wearing a short skirt and a tight top that showed off her curves perfectly.</em><</gg>><br>
<<ellin>>It’s such a beautiful night… <em>She said, twirling around in front of me and giving me a glimpse of her panties under her skirt.</em><</ellin>><br>
<<gg>>Yeah, it is…<em>I replied, trying to keep my eyes on her face but failing miserably.</em><</gg>><br>
<<ellin>>Do you like what you see? <em>She teased, lifting up her skirt even higher to reveal more of herself to me.</em><</ellin>><br>
<br><img src="images/slaveRank/EllinGarden1.webp" class="scene-image">
<br>
<<gg>><em>I couldn’t resist any longer and pulled her towards me, kissing her deeply as I ran my hands over her body.</em><</gg>><br>
<<gg>><em>We continued to make out in the garden, her hands exploring my body as I did the same to hers. But just as things were starting to heat up, she pulled away from me with a sly grin on her face.</em><</gg>><br>
<<ellin>>Not now… <em>She whispered,</em> Maybe next time huh ?)<</ellin>><br>
<<gg>>You’re such a tease…<</gg>><br>
<<elseif $forgedaughter == 6>>
<<gg>>I’m walking through the garden when I see her sitting on a bench reading a book.<</gg>><br>
<<gg>>Hey there… <em>I say as I approach her.</em><</gg>><br>
<<ellin>>Hey… <em>She replies with a smile.</em><</ellin>><br>
<<gg>>What are you reading?<em>I ask as I sit down next to her.</em><</gg>><br>
<<ellin>>Just some boring old novel… <em>She replies with a shrug.</em><</ellin>><br>
<<gg>>Maybe I can help you find something more interesting to do… <em>I suggest as I slip my hand under her skirt and start fingering her right there on the bench.</em><</gg>><br>
<<ellin>>Oh fuck… <em>She moans as I finger her harder and faster.</em><</ellin>><br>
<br><img src="images/slaveRank/EllinGarden2.webp" class="scene-image">
<br>
<<gg>>You’re such a naughty girl… <em>I whisper in her ear as I slide my cock out and shove it in her mouth.</em><</gg>><br>
<<ellin>>Mmhhmm… <em>She moans as she sucks me off in the middle of the garden.</em><</ellin>><br>
<<gg>>Fuck yes… <em>I groan as I cum in her mouth and she swallows every last drop.</em><</gg>>
<br><img src="images/slaveRank/EllinGarden3.webp" class="scene-image">
<br>
<<ellin>><em>She licked her lips and smiled up at me, satisfied with her work.</em>
That was fun… <em>She said as she stood up and adjusted her skirt.</em><</ellin>>
<<gg>>Yeah, it was…<em>I replied with a grin.</em><</gg>>
<<elseif $forgedaughter == 7>>
<<gg>><em>I saw Ellin hiding behind the bushes, she beckoned me over with her finger.</em> Hey, what are you doing there? <</gg>><br>
<<gg>><em>She put her finger to her nose, signaling me to be quiet. When I approached her, I realized something was wrong. But when I turned the corner, everything became crystal clear.</em> You little exhibitionist, <em>she was standing there completely naked. </em> <</gg>><br>
<br><img src="images/slaveRank/EllinGarden4.webp" class="scene-image">
<br>
<<ellin>>Hehe, well, yeah, wanna fuck? <</ellin>><br>
<<gg>><em>Without answering, I pulled down my pants and walked over to her.</em> <</gg>><br>
<<ellin>>Oh, really? <</ellin>><br>
<<gg>><em> She took my cock in her hand and started jerking it off. I didn't stand still either and started stroking her pussy.</em> <</gg>><br>
<br><img src="images/slaveRank/EllinGarden5.webp" class="scene-image">
<br>
<<ellin>>Mmm, you're so proactive today. Come on, fuck me. <</ellin>><br>
<<gg>><em>I lifted her up and started fucking her in the air. </em> <</gg>><br>
<br><img src="images/slaveRank/EllinGarden6.webp" class="scene-image">
<br>
<<ellin>>WOW, you're my stud! Fuck me harder! <</ellin>><br>
<<gg>><em>I bit her breast, which made her squeal loudly.</em> <</gg>><br>
<<ellin>>Silly, we're in the garden, we can't be seen here, now stick it deeper.<</ellin>><br>
<<gg>> Yes, ma'am, <em>I stuck it as deep as I could, which immediately made her freeze. She started to cum, and I could barely hold her in my arms.</em> <</gg>><br>
<<ellin>>OH MY GOD, YES! I'M CUMMING! I'M CUMMING! FUCK ME, DON'T PULL OUT! <</ellin>><br>
<<gg>><em>Quiet! They've definitely heard us now, we need to finish quickly.</em> <</gg>><br>
<<ellin>><em>With almost no strength left, she squeezed out, </em>Cum, baby, fill your doll with your cum, please.<</ellin>><br>
<<gg>><em>I felt my orgasm coming and started cumming too.
<br>
She just leaned back, taking all the cum I was pouring into her, and while I was cumming, she had another micro-orgasm.
<br>
I held her as tightly as I could, her arms completely limp, her legs convulsing, but I couldn't hold her any longer and we both leaned against the garden wall.
</em> <</gg>><br>
<br><img src="images/slaveRank/EllinGarden7.webp" class="scene-image">
<br>
<<ellin>>It was incredible, the most powerful orgasm of my life... Thank you... Let me rest for a moment and then we'll go home.<</ellin>><br>
<<gg>><em>She lay there almost unconscious for a few minutes, during which time I found the place where she had hidden her clothes, dressed her, and carried her home. After making sure she could make it to her room on her own, I let her go, kissing her goodbye.
</em> <</gg>><br>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to village" cVillage>><</button>>
</span>
</div>
</div>
<<run setup.relationshipsModule.giveHeart("ellin")>>
<<set $EllenInteractionGarden = 0>><div class="passage-panel">
<nav class="market-tabs">
<<if Cycle.check('time','nighttime') and Cycle.check('weekdays','Thursday') and $EllenInteractionBazaar == 1>>
<div class="sidebar-button">[[Talk to Ellin|BazaarEllen]]</div>
<</if>>
<div class="sidebar-button">[[Back to the bazaar|Bazaar]]</div>
</nav>
</div>
<<if $forgedaughter == 1>>
<<gg>>
<em>The market buzzed with noise , merchants arguing over prices, chickens darting between boots, and the smell of roasted apples in the air. I spotted Ellin near a stall piled with tools and iron scraps.</em>
<</gg>>
<br>
<<ellin>>
<em>She glanced over her shoulder, smirking slightly.</em> I thought I heard someone stomping around like they’d never been to a market before. Guess I was right.
<</ellin>>
<br>
<<gg>>
<em>I smiled, stepping closer.</em> I’ll take that as a compliment. What brings the village’s finest blacksmith out of the forge?
<</gg>>
<br>
<<ellin>>
<em>Ellin tapped a box of metal fittings with her glove.</em> Looking for parts. Some merchant from the south claimed these were “premium quality.”
<em>She frowned, lifting one.</em> They’re barely fit for horseshoes.
<</ellin>>
<br>
<<gg>>
<em>I leaned on the stall’s edge.</em> You could probably make better ones yourself , blindfolded.
<</gg>>
<br>
<<ellin>>
<em>She chuckled softly.</em> Probably. But it’s nice to remind them someone around here still knows what real work looks like.
<</ellin>>
<br>
<<gg>>
<em>I grinned.</em> You just like intimidating merchants.
<</gg>>
<br>
<<ellin>>
<em>Her eyes glinted with amusement.</em> Maybe. Keeps the prices honest.
<em>Then, after a pause:</em> And what about you? Buying something... or just watching me haggle again?
<</ellin>>
<br>
<<gg>>
<em>I shrugged.</em> Watching, mostly. You put on quite a show when you’re annoyed.
<</gg>>
<br>
<<ellin>>
<em>She raised an eyebrow, smirking.</em> That’s dangerous talk. You planning to make me annoyed, or just lucky with your timing?
<</ellin>>
<br>
<<gg>>
<em>I laughed.</em> Maybe a little of both.
<</gg>>
<br>
<<ellin>>
<em>Ellin shook her head with a small smile.</em> Careful. Keep that up, and you might just end up working off your debt in my forge.
<</ellin>>
<br>
<<gg>>
<em>I grinned wider.</em> Depends on the pay.
<</gg>>
<br>
<<ellin>>
<em>She turned away, pretending to examine another tool, but her tone was softer.</em> Depends on how useful you turn out to be.
<</ellin>>
<br>
<<elseif $forgedaughter == 2>>
<<gg>>
<em>The market buzzed with life, stalls overflowing with fruits, spices, and woven fabrics. The scent of fresh bread mingled with the earthy aroma of herbs, and merchants shouted their wares with infectious energy. I navigated the crowd, eyes scanning for a familiar spark, and there she was , Ellin, examining a basket of plump berries, sunlight catching her hair like threads of gold.</em>
<</gg>>
<br>
<<ellin>>
<em>Her gaze met mine, and a playful smirk tugged at her lips. </em> You always seem to find me, <em>she said, lifting a berry and pretending to toss it into my pocket. My hand brushed hers, just enough to send a thrill up my arm.</em>
I thought you might need a little company, <em>I replied, letting my shoulder press gently against hers as we moved between the stalls. She leaned closer, voice low, teasing,</em> Or maybe you just like the view?
<</ellin>>
<br>
<<gg>>
<em>I chuckled, feeling the warmth of her presence surround me. </em>Maybe a little of both, <em>I murmured, letting my fingers graze hers. The crowd around us blurred into a mosaic of color and sound, and for a moment, it was just the two of us.</em>
<em>She laughed softly, the sound wrapping around me, and reached for a ribbon on a stall. I caught her hand before she could pull it away, holding her gaze. </em>Do you always have to look so… enticing? <em> I asked, a grin tugging at my lips.</em>
<</gg>>
<br>
<<ellin>>
<em>Her eyes sparkled with mischief and something softer beneath it.</em> Only when someone dares to follow me through the market, <em>she whispered. Her fingers brushed mine again, this time lingering, sending shivers through me.</em>
<em>She leaned against a fountain, swishing water with her hand. </em> I like seeing the reflection of the sun in your eyes, <em> she said, and I stepped closer, feeling the heat between us grow.</em>
<</ellin>>
<br>
<<gg>>
<em>The world of merchants and buyers faded, leaving only the closeness of her presence and the gentle warmth of our hands touching. I traced a finger along hers, feeling the tension tighten delightfully. </em> Maybe I don’t want ordinary, <em> I whispered, letting my voice dip low, and she tilted her head, a shiver running through her.</em>
<em>She laughed softly, leaning slightly into me, and the market’s chaos became a distant hum. Every glance, every subtle touch, stoked a fire that neither of us could ignore, and the playful dance of flirtation grew into something more , undeniable, intoxicating.</em>
<</gg>>
<br>
<<ellin>>
<em>Her lips curved in a small, knowing smile. </em> Careful, <em> she murmured, voice dropping to a sultry whisper. </em>You’re dangerously close to making me forget everything but you.
<em>And in that instant, the sun, the stalls, the bustling crowd , it all vanished. There was only the heat of our shared gaze, the brush of our fingers, and the electric charge of a desire that had been quietly building over every previous encounter.</em>
<</ellin>>
<br>
<<gg>>
<em>I didn’t move away. I let the world slip by as I leaned just a little closer, the smell of the market and the warmth of Ellin mixing into a heady moment of anticipation. </em>Then I guess we’re both in danger,<em> I said softly, letting my thumb brush against hers, sending a shiver up both our arms.</em>
<em>The market roared on around us, oblivious, while the spark between us ignited into a small blaze, a fire that promised this wasn’t the last touch, the last glance, the last stolen moment in the crowded streets.</em>
<</gg>>
<br>
<<elseif $forgedaughter == 3>>
<<gg>>
<em>The market hummed with life, a tapestry of colors, smells, and sounds stretching as far as the eye could see. I moved through it with ease, knowing the rhythm of the crowd, but my attention kept straying to her.</em>
<em>Ellin’s copper hair caught the sunlight as she leaned over a stall of spices, inhaling deeply. A mischievous smile curved her lips when she noticed me watching, and my chest tightened without warning.</em>
<</gg>>
<br>
<<ellin>>
<em>She straightened, eyes glinting with a spark I knew too well.</em> Fancy meeting you here,<em> she said, her voice soft, almost teasing.</em>
<em>There was a pause, long enough for the crowd to swallow us, but we didn’t notice. Just the two of us, inches apart, the scent of cinnamon and bread surrounding her.</em>
<</ellin>>
<br>
<<gg>>
<em>I grinned, stepping closer. </em> Seems fate has a sense of humor, <em> I murmured, letting my gaze roam just a fraction longer than proper.</em>
<em>Her laugh, low and intimate, sent shivers down my spine. She brushed past a basket of apples, close enough for our arms to nearly touch , the air between us electric.</em>
<</gg>>
<br>
<<ellin>>
<em>Ellin’s eyes softened for a heartbeat, and I saw a flicker of something unspoken: familiarity, longing, the memory of our previous encounters.</em>
I wondered if you’d come, <em>she whispered, letting her fingers linger on the edge of a fruit stall, teasing me with her presence more than her words.</em>
<</ellin>>
<br>
<<gg>>
I couldn’t resist, <em> I replied, voice low, catching the curve of her smile. The crowd pressed around us, but it was irrelevant , only her mattered in that instant. Our gazes held, teasing and daring, a quiet game only we understood.</em>
<em>And when she finally moved on, just a step ahead, I felt the pull , a reminder that this was far from over, that every encounter with her was a spark waiting to flare.</em>
<</gg>>
<br>
<<elseif $forgedaughter == 4>>
<<gg>>
<em>The market bustled with life , the scent of roasted meats mingling with hay and spices, carts rattling over cobblestones, vendors shouting their wares. I turned a corner and froze: there she was, Ellin, moving gracefully through the crowd, every gesture precise, every glance sharp.</em>
<em>Our eyes met, and the world blurred. The shouts, the smells, the clatter , none of it mattered. Just her. My pulse hammered, a storm of anticipation and something wilder stirring inside me.</em>
<</gg>>
<br>
<<ellin>>
<em>She paused mid-step, hand brushing a basket of apples, and let a slow, dangerous smile curl across her lips.</em>
Thought you could hide from me in all this chaos? <em>Her voice was a soft challenge, teasing and commanding all at once. She didn’t just smile , she dared me to approach.</em>
<</ellin>>
<br>
<<gg>>
<em>I stepped forward, weaving between a cart stacked high with linens and a stall selling glinting trinkets. Each step brought us closer, and the air between us ignited. When I finally reached her, the bustling market felt miles away.</em>
Escaping me would take more than luck, <em>I murmured, brushing my fingers against hers, feeling the heat of her skin.</em>
<</gg>>
<br>
<<ellin>>
<em>Her eyes sparkled, mischief and something darker lurking in their depths. She leaned in, letting my hand linger in hers, letting me feel her heartbeat, daring me to act.</em>
Try and see, <em>she whispered, lips almost brushing mine, voice low and intoxicating.</em>
<em>She pressed slightly closer, teasing, testing, making the space between us electric.</em>
<</ellin>>
<br>
<<gg>>
<em>The world melted around us. A cart tipped slightly as we laughed, and I pulled her gently behind it, hidden for a heartbeat from the crowd. Her breath hitched, warm against my neck. I caught her gaze, and it was fire, desire, and a promise all at once.</em>
You’re impossible, <em> I breathed, but my hands stayed on hers, holding her close.</em>
<em>Her laugh was soft, teasing, and then she pressed her hand to my chest, feeling my heartbeat echo her own. The crowd faded, the market’s noise a distant murmur , nothing existed but this charge between us.</em>
<</gg>>
<br>
<<ellin>>
<em>Her lips tilted in a sly grin, daring and soft all at once.</em>
Maybe that’s why I didn’t run the first time we met, <em>she whispered. Then she leaned just slightly closer, and my restraint shattered.</em>
<</ellin>>
<br>
<<gg>>
<em>Our foreheads touched, breaths mingling, hands entwined. The market, the chaos, the smell of bread and hay , it all became the backdrop to the fire blazing between us. I could feel the pull, the danger, the undeniable spark that had drawn us together from the first glance.</em>
<em>And in that fleeting, charged moment, I realized some connections didn’t wait , they ignited, consuming everything in their path.</em>
<</gg>>
<br>
<<elseif $forgedaughter == 5>>
<<gg>><em>I was wandering through the bustling bazaar, taking in all the sights and sounds when I spotted her. She was standing by a stall, admiring some jewelry. I couldn’t resist approaching her.</em><</gg>><br>
<<ellin>>Hey there, stranger… <em>She smiled at me seductively as I walked up to her.</em><</ellin>><br>
<<gg>>Hey yourself…<em>I replied, returning her smile with one of my own.</em><</gg>><br>
<<ellin>>I’ve missed you… <em>She whispered in my ear before pressing her body up against mine and grinding her ass into my crotch.</em><</ellin>><br>
<<gg>><em>I could feel myself getting hard as she continued to grind against me, completely unbothered by the crowds of people around us.</em><</gg>><br>
<<ellin>>You like it, don't you? I know, baby, <em>she whispered, pressing herself even closer to me.</em><</ellin>><br>
<<gg>>Yeshh, I love it.<</gg>><br>
<<ellin>>And do you know what I'm going to do now?<</ellin>><br>
<<gg>>I wonder what? Make me cum?<</gg>><br>
<<ellin>>No.<em> At that moment, the crowd pressed against us, and a second later, Ellin completely disappeared among the people.</em><</ellin>><br>
<<gg>>Hey, Ellin! Where are you? <em>But there was no answer. What a tease. </em><</gg>><br>
<<elseif $forgedaughter == 6>>
<<gg>><em>I was walking through the bazaar, taking in all the sights and sounds when I spotted her. She was standing by a stall, admiring some jewelry. I couldn’t resist approaching her.</em><</gg>><br>
<<ellin>>Hey there, stranger… <em>She smiled at me seductively as I walked up to her.</em><</ellin>><br>
<<gg>>Hey yourself…<em>I replied, returning her smile with one of my own.</em><</gg>><br>
<<ellin>>I’ve missed you… <em>She whispered in my ear before pressing her body up against mine and grinding her ass into my crotch.</em><</ellin>><br>
<<gg>><em>I could feel myself getting hard as she continued to grind against me, completely unbothered by the crowds of people around us.</em><</gg>><br>
<<ellin>>Let’s find somewhere more private… <em>She took my hand and led me down a narrow alleyway behind one of the stalls.</em><</ellin>><br>
<<gg>>What do you have in mind?<em>I asked, feeling my anticipation building with every step we took.</em><</gg>><br>
<<ellin>>You’ll see… <em>She dropped to her knees in front of me and unzipped my pants before taking my cock into her mouth right there in the alleyway.</em><</ellin>><br>
<br><img src="images/slaveRank/EllinBazaar1.webp" class="scene-image">
<br>
<<gg>>Hell, you’re such a dirty girl…<em>I moaned as she sucked me off with increasing intensity</em><</gg>><br>
<<ellin>>Yeah I know, now u should cum before someone found us. <</ellin>><br>
<<gg>><em>She started creating a vacuum for my penis in her mouth, which made me cum instantly.</em><</gg>><br>
<br><img src="images/slaveRank/EllinBazaar2.webp" class="scene-image">
<br>
<<ellin>>Thanks for lunch, <em> she said, licking her lips,</em>now excuse me, I have to go shopping. <em> She quickly wiped herself down and ran off.</em><</ellin>><br>
<<elseif $forgedaughter == 7>>
<<gg>>The bazaar was buzzing with activity as I strolled through the crowded streets looking for some fun… That’s when I spotted her.<</gg>><br>
<<gg>>Damn girl - you look like you could use some company… <em>I said as I sidled up next to her.</em><</gg>><br>
<<ellin>>Maybe I do… <em>She replied coyly as she leaned in closer to me.</em><</ellin>><br>
<<gg>>Why don’t we find somewhere a little more private?<em>I suggested as I slipped my hand under her skirt.</em><</gg>><br>
<br><img src="images/slaveRank/EllinBazaar3.webp" class="scene-image">
<br>
<<ellin>>Mmm - I like the way you think… <em>She moaned softly as my fingers found their way inside her wet pussy.</em><</ellin>><br>
<<gg>>You’re already so wet for me… <em>I whispered in her ear as I fingered her harder and faster.</em><</gg>><br>
<<ellin>>Fuck me right here… <em>She begged as she bent over and presented her ass to me.</em><</ellin>><br>
<<gg>>Now now kitty… <em>I said as I pulled down my pants and slid my cock deep inside her tight pussy.</em><</gg>><br>
<<ellin>>Yes - fuck me harder! <em>She screamed as I pounded her from behind in the nearest alley.</em><</ellin>><br>
<br><img src="images/slaveRank/EllinBazaar4.webp" class="scene-image">
<br>
<<gg>>Take it all you filthy… <em>I growled as I fucked her harder and faster until we both came together in a sweaty mess.</em><</gg>><br>
<<gg>><em>After we finished fucking, I pulled up my pants and gave her a slap on the ass.</em><</gg>><br>
<<gg>>Thanks for the good time, baby… <em>I said as I walked away, leaving her panting and satisfied in the middle of the alley.</em><</gg>><br>
<</if>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the streets" streets>><</button>>
</span>
</div>
</div>
<<run setup.relationshipsModule.giveHeart("ellin")>>
<<set $EllenInteractionBazaar = 0>><<if setup.canAccessCheatPanel()>>
<!-- === CHEAT PANEL === -->
<div class="cheat-panel">
<h2>🧿 Cheat Panel</h2>
<div class="cheat-section">
<h3>💰 Money</h3>
<<button "+1,000 gold">><<run setup.money.add(1000)>><</button>>
<<button "+10,000 gold">><<run setup.money.add(10000)>><</button>>
</div>
<div class="cheat-section">
<h3>🌳 Wood Materials (+10)</h3>
<<button "Oak">><<run $materials.pickup("oak", 10)>><</button>>
<<button "Ash">><<run $materials.pickup("ash", 10)>><</button>>
<<button "Beech">><<run $materials.pickup("beech", 10)>><</button>>
<<button "Maple">><<run $materials.pickup("maple", 10)>><</button>>
<<button "Ironwood">><<run $materials.pickup("ironwood", 10)>><</button>>
<<button "Ebony">><<run $materials.pickup("ebony", 10)>><</button>>
<<button "Silent">><<run $materials.pickup("silent", 10)>><</button>>
</div>
<div class="cheat-section">
<h3>⛏️ Ores (+10)</h3>
<<button "Stone">><<run $materials.pickup("stone", 10)>><</button>>
<<button "Copper">><<run $materials.pickup("copper", 10)>><</button>>
<<button "Iron">><<run $materials.pickup("iron", 10)>><</button>>
<<button "Silver">><<run $materials.pickup("silver", 10)>><</button>>
<<button "Gold">><<run $materials.pickup("gold", 10)>><</button>>
<<button "Mithril">><<run $materials.pickup("mithril", 10)>><</button>>
<<button "Adamantite">><<run $materials.pickup("adamantite", 10)>><</button>>
<<button "Aetherium">><<run $materials.pickup("aetherium", 10)>><</button>>
</div>
<div class="cheat-section">
<h3>🍄 Mushrooms (+5)</h3>
<<button "Crimson Cap">><<run $materials.pickup("Crimson Cap", 5)>><</button>>
<<button "Silver Spore">><<run $materials.pickup("Silver Spore", 5)>><</button>>
<<button "Golden Herb">><<run $materials.pickup("Golden Herb", 5)>><</button>>
<<button "Ethereal Blossom">><<run $materials.pickup("Ethereal Blossom", 5)>><</button>>
<<button "Misty Hollow">><<run $materials.pickup("Misty Hollow", 5)>><</button>>
<<button "Shadow Veil">><<run $materials.pickup("Shadow Veil", 5)>><</button>>
</div>
<!-- === ПОЛНЫЕ ЗЕЛИЯ (+3) → potions === -->
<div class="cheat-section">
<h3>🧪 Potions Tier 1-4 (+3)</h3>
<<button "Calming Draught">><<run $potions.pickup("Calming Draught", 3)>><</button>>
<<button "Softening Tea">><<run $potions.pickup("Softening Tea", 3)>><</button>>
<<button "Suggestibility Infusion">><<run $potions.pickup("Suggestibility Infusion", 3)>><</button>>
<<button "Body Awareness Tonic">><<run $potions.pickup("Body Awareness Tonic", 3)>><</button>>
<<button "Mild Feminizing Draught">><<run $potions.pickup("Mild Feminizing Draught", 3)>><</button>>
<<button "Androgynous Blend">><<run $potions.pickup("Androgynous Blend", 3)>><</button>>
<<button "Libido Spark">><<run $potions.pickup("Libido Spark", 3)>><</button>>
<<button "Feminizing Draught">><<run $potions.pickup("Feminizing Draught", 3)>><</button>>
<<button "Sensual Attunement Elixir">><<run $potions.pickup("Sensual Attunement Elixir", 3)>><</button>>
<<button "Obedience Draught">><<run $potions.pickup("Obedience Draught", 3)>><</button>>
<<button "Aphrodisiac Elixir">><<run $potions.pickup("Aphrodisiac Elixir", 3)>><</button>>
<<button "Essence of Femininity">><<run $potions.pickup("Essence of Femininity", 3)>><</button>>
<<button "Bonding Serum">><<run $potions.pickup("Bonding Serum", 3)>><</button>>
</div>
<div class="cheat-section">
<h3>Additional content(+3)</h3>
<<button "Access to sex content with a witch">><<set $witchPatreon to true>><</button>>
</div>
<div class="cheat-section">
<span class="royal-btn">
<<button "⏎ Return" `previous()`>><</button>>
</span>
</div>
</div>
<<else>>
<!-- === SUPPORT PANEL === -->
<div class="support-panel">
<div class="support-header">
<h2>Enter Patreon code</h2>
</div>
<div class="support-desc">
Access bonus content only by entering Patreon code.
</div>
<div class="support-row">
<input type="text" id="cheat-code-input" placeholder="Code">
<button id="cheat-code-submit" class="support-button">Check code</button>
</div>
<div id="cheat-dialog-result" class="support-result"></div>
<div class="support-hint">
The code is only available on <a href="https://www.patreon.com/spellofearth">Patreon</a>.
</div>
<div class="support-row" style="margin-top:12px;">
<button id="back-to-last" class="support-button">Return</button>
</div>
</div>
<</if>>
<style>
.cheat-panel {
background: rgba(25, 15, 8, 0.92);
border: 2px solid rgba(255, 215, 100, 0.4);
border-radius: 20px;
padding: 20px;
margin: 30px auto;
max-width: 740px;
color: #f5e6c2;
font-family: 'Garamond', 'Times New Roman', serif;
box-shadow: 0 0 20px rgba(255,215,100,0.2);
}
.cheat-panel h2 {
text-align:center;
color:#f1d38a;
margin:0 0 12px;
font-size:1.4em;
}
.cheat-section {
margin:12px 0;
border-top:1px solid rgba(255,215,100,0.08);
padding-top:10px;
text-align:center;
}
.cheat-section h3 {
color:#ffd880;
margin:6px 0 8px;
font-size:1em;
}
.royal-btn {
display: inline-block;
background: linear-gradient(135deg, rgba(80,60,30,0.9), rgba(40,25,10,0.8));
border: 1px solid rgba(255,215,100,0.3);
border-radius: 8px;
color: #f5e6c2;
font-size: 0.95em;
margin: 4px;
padding: 8px 12px;
cursor: pointer;
transition: all 0.15s ease;
box-shadow: 0 0 8px rgba(255,215,100,0.12);
}
.royal-btn:hover {
transform: scale(1.05);
box-shadow: 0 0 14px rgba(255,215,100,0.28);
color: #ffe7c9;
}
.royal-btn button {
all: unset;
cursor: pointer;
font: inherit;
color: inherit;
}
button, .royal-btn {
background: linear-gradient(135deg, rgba(80,60,30,0.9), rgba(40,25,10,0.8));
border: 1px solid rgba(255,215,100,0.3);
border-radius: 8px;
color: #f5e6c2;
font-size: 0.95em;
margin: 4px;
padding: 8px 12px;
cursor: pointer;
transition: all 0.15s ease;
box-shadow: 0 0 8px rgba(255,215,100,0.12);
}
button:hover, .royal-btn:hover {
transform:scale(1.05);
box-shadow:0 0 14px rgba(255,215,100,0.28);
}
.close-btn {
display:block;
margin:14px auto 0;
background:linear-gradient(135deg, rgba(100,50,30,0.9), rgba(60,20,10,0.9));
color:#ffddb8;
}
</style>
<style>
/* Quest / Support code panel , parchment + bronze */
.support-panel {
max-width: 760px;
margin: 1.2rem auto;
background: linear-gradient(180deg, #2a1b12 0%, #21140d 100%);
border: 3px solid #5a2b17;
border-radius: 12px;
box-shadow: 0 6px 18px rgba(0,0,0,0.6), inset 0 0 24px rgba(150,90,50,0.04);
color: #efe4d3;
font-family: "IM Fell English", serif;
padding: 18px;
position: relative;
overflow: hidden;
}
.support-panel::before{
content: "✦";
position: absolute;
top: -12px;
left: 16px;
font-size: 20px;
color: #caa16a;
text-shadow: 0 0 8px rgba(200,150,90,0.25);
}
.support-header { display:flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.support-header h2 { margin: 0; font-family: "Cinzel", serif; font-size: 1.05rem; color: #ffdfae; letter-spacing: 0.8px; }
.support-desc { font-size: 0.9rem; color: #e7d7c4; margin-bottom: 12px; line-height: 1.4; }
.support-row { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.support-row input[type="text"]{
background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.06));
border: 2px solid rgba(170,100,60,0.18);
padding: 10px 12px;
border-radius: 8px;
color: #efe4d3;
font-family: "Cinzel", serif;
min-width: 240px;
flex: 1 1 320px;
box-shadow: inset 0 2px 6px rgba(0,0,0,0.45);
outline: none;
transition: box-shadow .12s ease, border-color .12s ease, transform .06s ease;
}
.support-row input[type="text"]::placeholder{ color: #cdbfa8; font-style: italic; }
.support-row input[type="text"]:focus{ border-color: #c79b63; box-shadow: 0 0 12px rgba(200,140,70,0.12); transform: translateY(-1px); }
.support-button {
background: linear-gradient(180deg, #7a4a2b, #5a311d);
border: 2px solid #6a3d22;
color: #fff0d8;
padding: 10px 14px;
border-radius: 8px;
cursor: pointer;
font-family: "Cinzel", serif;
font-weight: 600;
letter-spacing: 0.6px;
box-shadow: 0 6px 12px rgba(30,10,5,0.45);
transition: transform .08s ease, box-shadow .12s ease;
flex: 0 0 auto;
}
.support-button:hover{ transform: translateY(-2px); box-shadow: 0 10px 18px rgba(30,10,5,0.5); }
.support-button:active{ transform: translateY(0); }
.support-result { margin-top: 12px; padding: 12px; border-radius: 8px; background: linear-gradient(180deg, rgba(255,255,255,0.01), rgba(0,0,0,0.04)); color: #efe5d6; min-height: 40px; font-size: 0.95rem; box-shadow: inset 0 1px 0 rgba(255,255,255,0.02); }
.support-result.success { border-left: 3px solid #8fb96a; color: #eaf6df; background: linear-gradient(180deg, rgba(143,185,106,0.06), rgba(0,0,0,0.03)); }
.support-result.error { border-left: 3px solid #c85a4a; color: #ffe8e5; background: linear-gradient(180deg, rgba(200,80,70,0.05), rgba(0,0,0,0.03)); }
.support-hint { margin-top:8px; font-size:0.82rem; color: #d6c6b3; }
@media (max-width: 520px) { .support-row { flex-direction: column; align-items: stretch; } .support-button { width: 100%; } }
</style>Thanks for the idea
<<script>>
(function(){
if (!window.Save) return;
if (Save.browser && Save.browser.slot && typeof Save.browser.slot.delete === "function") {
const total = Save.browser.slot.size || 10;
for (let i = 0; i < total; i++) Save.browser.slot.delete(i);
} else if (Save.slots && typeof Save.slots.delete === "function") {
for (let i = 0; i < Save.slots.length; i++) Save.slots.delete(i);
}
// удаляем автосейв
if (Save.browser && Save.browser.auto && typeof Save.browser.auto.delete === "function") {
Save.browser.auto.delete();
} else if (Save.autosave && typeof Save.autosave.delete === "function") {
Save.autosave.delete();
}
})();
<</script>>
<<set $fontSize to "1rem">>
<div class="font-selector">
<<link "Small">>
<<set $fontSize = "1.2rem">>
<<run $('<style id="dynamicFont">.say{font-size:'+$fontSize+' !important;}</style>').appendTo('head')>>
<<replace "#dynamicFont">><</replace>>
<</link>>
<<link "Medium">>
<<set $fontSize = "1.3rem">>
<<run $('#dynamicFont').remove(); $('<style id="dynamicFont">.say{font-size:'+$fontSize+' !important;}</style>').appendTo('head')>>
<</link>>
<<link "Large">>
<<set $fontSize = "1.4rem">>
<<run $('#dynamicFont').remove(); $('<style id="dynamicFont">.say{font-size:'+$fontSize+' !important;}</style>').appendTo('head')>>
<</link>>
</div>
<<gg>>Text example<</gg>>
<br><br>
<div class="centered">
<span class="ascend">
<<button "confirm">><<run Engine.backward()>><</button>>
</span>
</div>
<style>
.font-selector {
display: flex;
justify-content: center;
gap: 15px;
margin: 20px 0;
padding: 10px 20px;
border: 2px solid #444;
border-radius: 10px;
background-color: #222;
}
/* Style the links as buttons */
.font-selector a {
background-color: rgb(95 66 38);
color: white;
border: none;
border-radius: 6px;
padding: 6px 12px;
cursor: pointer;
border: 2px solid #7a5527;
border-radius: 8px;
}
/* Hover effect */
.font-selector a:hover {
background: linear-gradient(135deg, #b7864c, #a86b3a);
transform: scale(1.05);
box-shadow: 0 0 12px rgba(255, 200, 120, 0.5);
}
/* Optional: active effect when clicked */
.font-selector a:active {
transform: scale(0.98);
}
</style><div id="forest-container"></div>
<div id="progress-bar"><div id="progress-fill"></div></div>
<div id="collection-list"></div>
<style>
#forest-container {
width: 100%;
max-width: 900px;
height: 60vh;
border: 0.2em solid #6a4a0e;
border-radius: 0.5em;
background-size: cover;
background-position: center;
margin: 0 auto 1em;
position: relative; /* Для абсолютного позиционирования грибов */
}
.plant-item {
position: absolute; /* для свободного позиционирования */
cursor: pointer;
width: 60px; /* уменьшенный размер */
height: auto;
transition: transform 0.3s ease;
}
.plant-item:hover {
transform: scale(1.1);
}
#progress-bar {
width: 100%;
max-width: 900px;
height: 1.2em;
background-color: #805900;
border-radius: 0.5em;
margin: 1em auto 0 auto;
}
#progress-fill {
height: 100%;
background-color: #d1b45a;
width: 0%;
border-radius: 0.5em;
transition: width 0.5s ease;
}
#collection-list {
width: 100%;
max-width: 900px;
margin: 1em auto 0 auto;
background: #3e2d0f;
padding: 1em;
border-radius: 0.5em;
color: #f1e4b3;
font-weight: bold;
text-align: center;
}
@media (max-width: 600px) {
#forest-container {
height: 40vh; /* уменьшить высоту леса на телефоне */
}
.plant-item {
width: 40px; /* сделать грибы меньше */
}
#progress-bar {
height: 1em; /* чуть меньше прогрессбар */
}
#collection-list {
font-size: 0.8em; /* чуть меньше шрифт */
}
}
</style>
<<set $sellPrices to $sellPrices or {}>>
<<set $questRumors = []>>
<<character 'witch' 'Witch' 'images/characters/witch.png'>>
<<character 'elara' 'Elara Thorne' 'images/characters/Elara.png'>>
<<character 'dessil1' 'Submissive Dessil' 'images/characters/dessilGirl.png'>>
<<character 'sara' 'Sara – tavern maid' >>
<<character 'lena' 'Lena – street dancer' >>
<<character 'mia' 'Mia – farm milker' >>
<<character 'tanya' 'Tanya – alley slut'>>
<<character 'gina' 'Gina – fish seller'>>
<<character 'pola' 'Pola – bath girl' >>
<<character 'nina' 'Nina – cook helper' >>
<<character 'kira' 'Kira – stable girl'>>
<<set $dessilFemStage to 0>>
<<set $DessilAccess to false>>
<<include "PotionBrewing_Card">>
<<set $twShifts to ($twShifts || 0)>>
<<set $portShifts = 0>>
<<set $tawernDaily = 0>>
<<set $portRep = 0>>
<<set $dessilPotionsStage0 = 0>>
<<set $dessilPotionsStage1 = 0>>
<<set $dessilPotionsStage2 = 0>>
<<set $dessilPotionsStage3 = 0>>
<<set $labKnowledge = $labKnowledge || {
Smelter: false,
"Alchemical Table": false,
Distiller: false
}>>
<<set $dessil = {
trust: 15, suspicion: 0, addiction: 0,
femStage: 0, doseToday: 0, lesson: 0
}>>
<<set $alchemist = { breastSize: 0, assSize: 0, genSize: 0 }>>
<<set $dessilQuests = { active: false }>>
<<set $knowledgeCards = $knowledgeCards || {
potions: [
/* Tier 1 , Crude Furnace */
{ name: "Calming Draught", minTrust: 10, used: false },
{ name: "Softening Tea", minTrust: 12, used: false },
{ name: "Suggestibility Infusion", minTrust: 18, used: false },
{ name: "Body Awareness Tonic", minTrust: 16, used: false },
/* Tier 2 , Smelter */
{ name: "Mild Feminizing Draught", minTrust: 26, used: false },
{ name: "Androgynous Blend", minTrust: 24, used: false },
{ name: "Libido Spark", minTrust: 28, used: false },
/* Tier 3 , Alchemical Table */
{ name: "Feminizing Draught", minTrust: 36, used: false },
{ name: "Sensual Attunement Elixir", minTrust: 34, used: false },
{ name: "Obedience Draught", minTrust: 34, used: false },
/* Tier 4 , Distiller */
{ name: "Aphrodisiac Elixir", minTrust: 40, used: false },
{ name: "Essence of Femininity", minTrust: 44, used: false },
{ name: "Bonding Serum", minTrust: 42, used: false },
],
devices: [
{ name: "Smelter", minTrust: 22, used: false },
{ name: "Alchemical Table", minTrust: 32, used: false },
{ name: "Distiller", minTrust: 42, used: false }
]
}>>
<<set $potionKnowledge = $potionKnowledge || {}>>
<<set $labKnowledge = $labKnowledge || {}>>
<<set $dessilPotionsStage0 to 0>> /* Tier 1: 3 potions */
<<set $dessilPotionsStage1 to 0>> /* Tier 2: 2 potions */
<<set $dessilPotionsStage2 to 0>> /* Tier 3: 3 potions */
<<set $dessilPotionsStage3 to 0>> /* Tier 4: 3 potions */
<<set $witchBasicsDone to false>>
<<set _priceDefaults to {
"Crimson Cap": 5,
"Silver Spore": 8,
"Golden Herb": 15,
"Ethereal Blossom": 25,
"Misty Hollow": 45,
"Shadow Veil": 65,
"Glass": 5
}>>
<<newinv $potions>>
<<set $labDevices to {}>>
<<set $elements to {}>>
<<for _name, _price range _priceDefaults>>
<<if $sellPrices[_name] is undefined>>
<<set $sellPrices[_name] = _price>>
<</if>>
<</for>>
<<set $version = 0.2>>
<<link "Update completed successfully">>
<<goto "Sewers">>
<</link>>
<<script>>
if (!State.variables.questRumors) {
State.variables.questRumors = [];
}
setup.atmosphericRumors = [
"Someone saw a hooded figure sneaking into the old mill when no one was watching.",
"Rumor has it that the smith has been forging strange weapons that hum on their own.",
"I heard the captain of the guard is recruiting spies disguised as street vendors.",
"A noble’s ledger was stolen last week, and the thief hasn’t been found.",
"They whisper that the tavern mistress knows secrets about half the city’s guilds.",
"Someone claims the apothecary is experimenting with potions that grant unnatural strength.",
"I overheard a merchant saying a shipment of rare coins vanished on the road to the south gate.",
"People say the city watch is hiding prisoners in the old bell tower.",
"A strange scholar was asking questions about forbidden rituals near the market.",
"Rumor has it the bakery is receiving flour from a hidden underground source.",
"I heard that the jailer has been secretly letting a few prisoners walk free for bribes.",
"Someone saw a shadowy figure exchanging letters with the librarian after hours.",
"They say a wealthy merchant’s daughter has run off with a foreign adventurer.",
"I overheard guards talking about a spy disguised as a beggar on the streets.",
"People whisper that the new city gates have secret compartments for smuggling goods.",
"A stranger paid a fortune for a single jewel at the market yesterday.",
"Rumor has it that a local bard knows the hidden passwords to the city vault.",
"I heard the blacksmith once served a mysterious order and still keeps their secrets.",
"Someone mentioned seeing flickering lights in the abandoned tower by the river at night."
];
<</script>>
<style>
.witchhouse-lab {
background: radial-gradient(circle at top, #1a1410 0%, #0b0705 40%, #050307 100%);
color: #f3e3d2;
padding: 1.5rem 1.2rem;
}
/* Заголовки в этой комнате */
.witchhouse-lab h2,
.witchhouse-lab h3 {
font-family: "Cinzel", "Times New Roman", serif;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #f5e0c0;
text-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
/* Обычный текст */
.witchhouse-lab p {
font-family: "Cardo", "Georgia", serif;
line-height: 1.6;
color: #f3e3d2;
}
/* Чуть подправим центрирование заголовков */
.witchhouse-lab .centered h2 {
margin-top: 0.5rem;
margin-bottom: 0.7rem;
}
/* Двойные <br><br> – меньше воздуха */
.witchhouse-lab br + br {
line-height: 0.6;
}
/* Канвасы для блоков (вкладок) */
.witchhouse-lab .witch-panel {
max-width: 950px;
margin: 0.8rem auto 1.2rem auto;
padding: 1rem 1.3rem;
background: rgba(10, 7, 4, 0.88);
border-radius: 12px;
border: 1px solid rgba(180, 145, 100, 0.7);
box-shadow:
0 0 18px rgba(0, 0, 0, 0.7),
0 0 8px rgba(200, 160, 110, 0.4);
}
/* Заголовок внутри панели */
.witchhouse-lab .witch-panel .centered h2 {
margin-top: 0.2rem;
margin-bottom: 0.8rem;
}
/* Лёгкий тюнинг списков крафта внутри ведьминого дома */
.witchhouse-lab .crafting-list {
margin-top: 0.4rem;
margin-bottom: 0.2rem;
}
</style>
<div class="witchhouse-lab">
<<do tag "lab">>
<div class="witch-panel">
<div class="centered">
<h2>🔧 Alchemical Devices</h2>
</div>
<div id="alchemy-devices-interface">
<<if !$deviceRecipes>>
<<include "AlchemyDevicesData">>
<</if>>
<<include "AlchemyDevicesUI">>
</div>
</div>
<div class="witch-panel">
<div class="centered">
<h2>⚗️ Element Extraction</h2>
</div>
<<include "AlchemyElementsData">>
<<include "ElementExtractionUI">>
</div>
<div class="witch-panel">
<div class="centered">
<h2>🧪 Potion Brewing</h2>
</div>
<div id="potion-brewing-interface">
<<include "PotionBrewingUI">>
</div>
</div>
<div class="witch-panel">
<<include "PotionsInventoryUI">>
</div>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to the house" WitchHouse>><</button>>
</span>
</div>
</div>
<</do>>
</div>
<<set $deviceRecipes = new Map([
["Crude Furnace", {
id: "Crude Furnace",
tier: 1,
desc: "A basic furnace for simple heating.",
cost: { oak: 10, stone: 15 },
unlocks: ["Tier 1 potions"]
}],
["Smelter", {
id: "Smelter",
tier: 2,
desc: "Smelts ore into alchemical elements.",
cost: { stone: 20, iron: 10 },
unlocks: ["Element extraction"]
}],
["Alchemical Table", {
id: "Alchemical Table",
tier: 3,
desc: "Advanced workstation for complex brews.",
cost: { maple: 15, silver: 5 },
unlocks: ["Tier 3 potions"]
}],
["Distiller", {
id: "Distiller",
tier: 4,
desc: "Refines essences to their purest form.",
cost: { ebony: 10, gold: 8 },
unlocks: ["Tier 4 essences"]
}]
])>>
<<set $oreToElement to {
iron: "Fe",
copper: "Cu",
silver: "Ag",
gold: "Au",
mithril: "Mi",
adamantite: "Ad",
aetherium: "Ae"
}>>
<<set $elements to $elements or {}>><<capture _pname _recipe>>
<<set _recM = _recipe.mushrooms or {}>>
<<set _recE = _recipe.elements or {}>>
<<set _recB = _recipe.basePotions or {}>>
<li class="crafting-item">
<div class="craft-header">
<span class="craft-name"><<= _pname>></span>
</div>
<div class="craft-requires">
Requires:
/* ГРИБЫ */
<<for _mName, _mAmt range _recM>>
<span class="req-mat">
<<= _mName>> × <<= _mAmt>> (<<= $materials.count(_mName)>>)
</span>
<</for>>
/* ГЛАСС */
<<if _recipe.glass>>
<span class="req-glass">
Glass × <<= _recipe.glass>> (<<= $materials.count("Glass")>>)
</span>
<</if>>
/* ЭЛЕМЕНТЫ */
<<for _eSym, _eAmt range _recE>>
<span class="req-mat">
<<= _eSym>> × <<= _eAmt>> (<<= $elements[_eSym] or 0>>)
</span>
<</for>>
/* БАЗОВЫЕ ЗЕЛЬЯ */
<<for _bName, _bAmt range _recB>>
<span class="req-mat">
<<= _bName>> × <<= _bAmt>> (<<= $potions.count(_bName)>>)
</span>
<</for>>
</div>
<div class="craft-actions">
<<set _canBrew = true>>
/* Проверяем ГРИБЫ */
<<for _mName, _mAmt range _recM>>
<<if $materials.count(_mName) < _mAmt>>
<<set _canBrew = false>>
<</if>>
<</for>>
/* Проверяем ГЛАСС */
<<if _recipe.glass and $materials.count("Glass") < _recipe.glass>>
<<set _canBrew = false>>
<</if>>
/* Проверяем ЭЛЕМЕНТЫ */
<<for _eSym, _eAmt range _recE>>
<<if ($elements[_eSym] or 0) < _eAmt>>
<<set _canBrew = false>>
<</if>>
<</for>>
/* Проверяем БАЗОВЫЕ ЗЕЛЬЯ */
<<for _bName, _bAmt range _recB>>
<<if $potions.count(_bName) < _bAmt>>
<<set _canBrew = false>>
<</if>>
<</for>>
<<if _canBrew>>
<span class="craft-link">
<<link "Brew">>
<<set _recipe = $potionRecipes[_pname]>>
/* Списываем ГРИБЫ */
<<for _mName, _mAmt range _recM>>
<<drop $materials _mName _mAmt>>
<</for>>
/* Списываем ГЛАСС */
<<if _recipe.glass>>
<<drop $materials "Glass" _recipe.glass>>
<</if>>
/* Списываем ЭЛЕМЕНТЫ */
<<for _eSym, _eAmt range _recE>>
<<set $elements[_eSym] -= _eAmt>>
<</for>>
/* Списываем БАЗОВЫЕ ЗЕЛЬЯ */
<<for _bName, _bAmt range _recB>>
<<drop $potions _bName _bAmt>>
<</for>>
/* Выдаём зелье */
<<pickup $potions _pname 1>>
<<if $quests.get("witchPotion1").status is "active">>
<<run $questsData.setStatus("witchPotion1", "completed")>>
<</if>>
<<redo "lab">>
<</link>>
</span>
<<else>>
<span class="not-enough">Not enough ingredients</span>
<</if>>
</div>
</li>
<</capture>>
<ul class="crafting-list">
<<for _dev, _recipe range $deviceRecipes>>
<<if _dev is "Crude Furnace" or $labKnowledge[_dev]>>
<<capture _dev _recipe>>
<li class="crafting-item">
<div class="craft-header">
<span class="craft-name"><<=_dev>></span>
</div>
<<if $labDevices[_dev]>>
<div class="craft-requires">Already built and ready to use.</div>
<<else>>
<div class="craft-requires">
Requires:
<<for _mat, _amt range _recipe.cost>>
<span class="req-mat">
<<=_mat>> <<= _amt>>
(<<= $materials.count(_mat) >>)
</span>
<</for>>
</div>
<div class="craft-actions">
<<set _canBuild = true>>
<<for _mat, _amt range _recipe.cost>>
<<if $materials.count(_mat) < _amt>>
<<set _canBuild = false>>
<</if>>
<</for>>
<<if _canBuild>>
<span class="craft-link">
<<link "Build">>
<<for _mat, _amt range _recipe.cost>>
<<drop $materials _mat _amt>>
<</for>>
<<set $labDevices[_dev] = true>>
<<redo "lab">>
<</link>>
</span>
<<else>>
<span class="not-enough">Not enough materials</span>
<</if>>
</div>
<</if>>
</li>
<</capture>>
<</if>>
<</for>>
</ul>
<<if !$labDevices["Smelter"]>>
<p>You need to build a Smelter to extract elements from ore.</p>
<<else>>
<<set _hasOre = false>>
<<for _ore, _symbol range $oreToElement>>
<<if $materials.count(_ore) > 0>>
<<set _hasOre = true>>
<</if>>
<</for>>
<<if !_hasOre>>
<p>You have no ore to process.</p>
<<else>>
<div class="ore-grid">
<<for _ore, _symbol range $oreToElement>>
<<set _qty = $materials.count(_ore)>>
<<if _qty > 0>>
<div class="ore-row">
<div class="ore-info">
<span class="ore-label"><<= _ore>></span>
<span class="ore-qty">(<<= _qty>>)</span>
</div>
<div class="ore-actions">
<<capture _ore, _symbol>>
<<link "Extract 1">>
<<drop $materials _ore 1>>
<<set $elements[_symbol] to ($elements[_symbol] or 0) + 1>>
<<flash `"You extracted 1 " + _symbol + " from " + _ore + "."`>>
<<flashType "success">>
<<Timeout 2000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "lab">>
<</link>>
<<if _qty >= 5>>
<<link "Extract 5">>
<<drop $materials _ore 5>>
<<set $elements[_symbol] to ($elements[_symbol] or 0) + 5>>
<<flash `"You extracted 5 " + _symbol + " from " + _ore + "."`>>
<<flashType "success">>
<<Timeout 2000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "lab">>
<</link>>
<</if>>
<<if _qty >= 10>>
<<link "Extract 10">>
<<drop $materials _ore 10>>
<<set $elements[_symbol] to ($elements[_symbol] or 0) + 10>>
<<flash `"You extracted 10 " + _symbol + " from " + _ore + "."`>>
<<flashType "success">>
<<Timeout 2000>>
<<Theme "dark">>
<<Layout bottom-right>>
<</flash>>
<<redo "lab">>
<</link>>
<</if>>
<</capture>>
</div>
</div>
<</if>>
<</for>>
</div>
<</if>>
<</if>>
<style>
.ore-grid {
display: flex;
flex-direction: column;
gap: 0.8rem;
margin: 1.2rem 0 1.8rem;
background: linear-gradient(110deg, #2a2440 0%, #321d48 100%);
border-radius: 14px;
box-shadow: 0 3px 22px 0 rgba(60,40,110,0.15);
padding: 0.8rem 1.2rem;
}
.ore-row {
display: flex;
align-items: center;
justify-content: space-between;
background: linear-gradient(98deg, #362054 40%, #24202e 120%);
border-radius: 11px;
padding: 0.6rem 1rem;
box-shadow: 0 2px 8px rgba(54,30,60,0.13);
transition: transform 0.1s;
gap: 1.2rem;
}
.ore-row:hover {
transform: scale(1.03);
box-shadow: 0 4px 24px rgba(110,70,200,0.21);
outline: 1px solid #6f52b2;
cursor: default;
}
.ore-info {
display: flex;
align-items: center;
}
.ore-label {
color: #cdb3ff;
font-weight: bold;
font-size: 1.15rem;
letter-spacing: 0.03em;
text-transform: uppercase;
margin-right: 0.7rem;
}
.ore-qty {
font-size: 1rem;
color: #f5eafb;
margin-right: 1.2rem;
font-weight: 500;
text-shadow: 0 1px 4px #311d3e44;
}
.ore-actions {
display: flex;
gap: 0.5rem;
justify-content: flex-end;
align-items: center;
min-width: 220px;
}
.ore-actions a {
font-size: 1rem;
background: linear-gradient(92deg, #7237a5 60%, #431d5e 100%);
color: #fff7fe !important;
padding: 0.26em 1.08em;
border-radius: 5px;
box-shadow: 0 2px 8px #50208038;
cursor: pointer;
user-select: none;
font-weight: 600;
letter-spacing: 0.01em;
outline: none;
display: inline-block;
text-align: center;
text-decoration: none !important;
transition: background 0.14s, box-shadow 0.15s;
}
.ore-actions a:hover,
.ore-actions a:focus {
background: linear-gradient(92deg, #ae63f6 60%, #502080 100%);
box-shadow: 0 4px 19px #a97fff33;
}
.ore-actions a:active {
transform: scale(0.95);
box-shadow: 0 2px 10px #6d49b82c;
}
</style>
<<if $labDevices["Crude Furnace"]>>
<div class="centered"><h3>Herbal brews (Crude Furnace)</h3></div>
<ul class="crafting-list">
<<for _pname, _recipe range $potionRecipes>>
<<if _recipe.machine == "Crude Furnace" and
($knowledgeCards?.potions?.[_pname] or _recipe.tier <= 1)>>
<<include "AlchemyPotionsData">>
<</if>>
<</for>>
</ul>
<</if>>
<<if $labDevices["Smelter"]>>
<div class="centered"><h3>Elemental mixes (Smelter)</h3></div>
<ul class="crafting-list">
<<for _pname, _recipe range $potionRecipes>>
<<if _recipe.machine == "Smelter" and
($knowledgeCards?.potions?.[_pname] or _recipe.tier <= 2)>>
<<include "AlchemyPotionsData">>
<</if>>
<</for>>
</ul>
<</if>>
<<if $labDevices["Alchemical Table"]>>
<div class="centered"><h3>Hormonal formulas (Alchemical Table)</h3></div>
<ul class="crafting-list">
<<for _pname, _recipe range $potionRecipes>>
<<if _recipe.machine == "Alchemical Table" and
($knowledgeCards?.potions?.[_pname] or _recipe.tier <= 3)>>
<<include "AlchemyPotionsData">>
<</if>>
<</for>>
</ul>
<</if>>
<<if $labDevices["Distiller"]>>
<div class="centered"><h3>Essences (Distiller)</h3></div>
<ul class="crafting-list">
<<for _pname, _recipe range $potionRecipes>>
<<if _recipe.machine == "Distiller" and
($knowledgeCards?.potions?.[_pname] or _recipe.tier <= 4)>>
<<include "AlchemyPotionsData">>
<</if>>
<</for>>
</ul>
<</if>>
<h2 class="inventory-title">📦 Your Potions</h2>
<<if $potions.isEmpty()>>
<p class="inventory-empty">You have no potions.</p>
<<else>>
<div class="inventory-grid">
<<for _p range $potions.list>>
<<set _q = $potions.count(_p)>>
<<set _imgPath = "images/icons/" + _p.replace(/ /g,"_").toLowerCase() + ".png">>
<div class="inventory-card">
<<= '<img src="' + _imgPath + '" alt="' + _p + '" class="inventory-icon">' >>
<div class="inventory-name"><<= _p>></div>
<div class="inventory-count">× <<= _q>></div>
</div>
<</for>>
</div>
<</if>>
<<set $potionRecipes to {
/* ===== Tier 1: Crude Furnace ===== */
"Calming Draught": {
tier: 1, machine: "Crude Furnace",
mushrooms: {"Crimson Cap": 3, "Silver Spore": 2},
glass: 1, elements: {}, basePotions: {}
},
"Softening Tea": {
tier: 1, machine: "Crude Furnace",
mushrooms: {"Misty Hollow": 3, "Ethereal Blossom": 2},
glass: 1, elements: {}, basePotions: {}
},
"Suggestibility Infusion": {
tier: 1, machine: "Crude Furnace",
mushrooms: {"Shadow Veil": 2, "Silver Spore": 3},
glass: 1, elements: {}, basePotions: {}
},
"Body Awareness Tonic": {
tier: 1, machine: "Crude Furnace",
mushrooms: {"Golden Herb": 3, "Ethereal Blossom": 2},
glass: 1, elements: {}, basePotions: {}
},
/* ===== Tier 2: Smelter ===== */
"Mild Feminizing Draught": {
tier: 2, machine: "Smelter",
mushrooms: {"Misty Hollow": 3, "Ethereal Blossom": 2},
glass: 1, elements: {Fe: 3, Cu: 2},
basePotions: {"Softening Tea": 1}
},
"Androgynous Blend": {
tier: 2, machine: "Smelter",
mushrooms: {"Crimson Cap": 3, "Shadow Veil": 2},
glass: 1, elements: {Ag: 3},
basePotions: {"Calming Draught": 1}
},
"Libido Spark": {
tier: 2, machine: "Smelter",
mushrooms: {"Crimson Cap": 3, "Golden Herb": 3},
glass: 1, elements: {Cu: 3},
basePotions: {"Body Awareness Tonic": 1}
},
/* ===== Tier 3: Alchemical Table ===== */
"Feminizing Draught": {
tier: 3, machine: "Alchemical Table",
mushrooms: {"Misty Hollow": 4, "Ethereal Blossom": 3},
glass: 1, elements: {Fe: 4, Cu: 3, Ag: 3},
basePotions: {"Mild Feminizing Draught": 2, "Softening Tea": 1}
},
"Sensual Attunement Elixir": {
tier: 3, machine: "Alchemical Table",
mushrooms: {"Golden Herb": 3, "Ethereal Blossom": 3},
glass: 1, elements: {Cu: 3, Ag: 3},
basePotions: {"Libido Spark": 2}
},
"Obedience Draught": {
tier: 3, machine: "Alchemical Table",
mushrooms: {"Shadow Veil": 3, "Misty Hollow": 3},
glass: 1, elements: {Fe: 3, Cu: 3},
basePotions: {"Suggestibility Infusion": 2}
},
/* ===== Tier 4: Distiller ===== */
"Aphrodisiac Elixir": {
tier: 4, machine: "Distiller",
mushrooms: {"Crimson Cap": 4, "Shadow Veil": 3},
glass: 1, elements: {Ag: 4, Au: 3},
basePotions: {"Libido Spark": 2, "Sensual Attunement Elixir": 1}
},
"Essence of Femininity": {
tier: 4, machine: "Distiller",
mushrooms: {},
glass: 1, elements: {Mi: 3, Ae: 3},
basePotions: {"Feminizing Draught": 2}
},
"Bonding Serum": {
tier: 4, machine: "Distiller",
mushrooms: {"Silver Spore": 3, "Ethereal Blossom": 3},
glass: 1, elements: {Au: 3, Ae: 3},
basePotions: {"Obedience Draught": 2, "Calming Draught": 2}
}
}>>
<style>
.dialog-menu {
max-width: 850px;
margin: 2rem auto;
padding: 1.2rem 1.5rem;
background: rgba(35,23,12,.85);
border-radius: 14px;
border: 1px solid #b49064;
box-shadow: 0 0 20px #2a1a12, 0 0 8px #dab989;
}
.dialog-choices {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.dialog-row {
display: flex;
align-items: center;
font-size: 1.25em;
padding: 0.3em 0.8em;
background: rgba(110,85,55,.15);
border-radius: 10px;
cursor: pointer;
transition: background .2s;
}
.dialog-row:hover {
background: rgba(220,180,100,.16);
}
.dialog-icon {
width: 2.2em;
height: 2.2em;
display: inline-block;
margin-right: 0.9em;
vertical-align: middle;
background: none;
}
</style>
<div class="dialog-menu">
<div class="dialog-choices">
<div class="dialog-row"> <span class="dialog-icon">💬</span> Talk </div>
<div class="dialog-row"> <span class="dialog-icon">📚</span> Tutoring </div>
<div class="dialog-row"> <span class="dialog-icon">💖</span> Sexual favours </div>
<div class="dialog-row"> <span class="dialog-icon">🎁</span> Give potion </div>
<div class="dialog-row"> <span class="dialog-icon">❌</span> Exit </div>
</div>
</div>
<style>
.char-menu-main {
display: flex;
gap: 2em;
padding: 2em;
background: #e7dbb0;
border-radius: 16px;
max-width: 900px;
margin: 1em auto;
box-shadow: 0 2px 24px #836f46, 0 0 1px #f4f0df;
border: 1.6px solid #c9ae83;
color: black;
}
.char-menu-list {
width: 160px;
padding: 1.1em 1em;
background: #f3efd6;
border: 1px solid #c9ae83;
border-radius: 8px;
display: flex;
flex-direction: column;
gap: 1em;
}
.char-menu-list .char-select {
display: flex;
align-items: center;
padding: 0.42em 0.7em;
border-radius: 6px;
cursor: pointer;
font-weight: 500;
border: 1.6px solid #c6b69170;
background: #ede5c1;
font-family: inherit;
font-size: 1em;
transition: background .18s;
}
.char-menu-list .char-select.active,
.char-menu-list .char-select:hover {
background: #dac687;
border-color: #bca25a;
color: black;
}
.char-menu-panel {
background: #fcf9ee;
flex: 1;
border-radius: 14px;
padding: 2em 2em 2em 1em;
border: 1.6px solid #c9ae83;
min-width: 380px;
box-shadow:0 0 8px #f6ecd3;
color: black;
}
.char-menu-panel h2 {
margin-bottom: .15em;
font-weight: bold;
font-size: 1.27em;
letter-spacing: .04em;
color: black;
}
.char-stats-row {
margin: .67em 0;
font-size: 1.04em;
color: black;
letter-spacing: .006em;
}
.char-stats-bar {
display: inline-block;
vertical-align: middle;
margin-left: .6em;
}
.char-menu-avatar {
float: right;
max-width: 170px;
border-radius: 11px;
border: 1.5px solid #ac9a64;
box-shadow: 0 0 7px #f3e7c2;
background: #eadaae;
}
</style>
<<set _charList = [
{name: "Джин", avatar: "images/characters/dessil2.jpg"},
{name: "Снейп", avatar: "img_snape.png"},
{name: "Тонкс", avatar: "img_tonks.png"},
{name: "Гермиона", avatar: "images/characters/dessil2.jpg"}
]>>
<<set _selectedChar = $selectedChar or "Гермиона">>
<div class="char-menu-main">
<div class="char-menu-list">
<<for _char range _charList>>
<div class="char-select<<if _selectedChar is _char.name>> active<</if>>">
<<link _char.name>>
<<set $selectedChar = _char.name>>
<<goto "CharacterMenuUI">>
<</link>>
</div>
<</for>>
<label style="font-size: .94em; margin-top: 1em;"><input type="checkbox"> Показать всех</label>
</div>
<div class="char-menu-panel">
<h2>ПЕРСОНАЖИ</h2>
<<if _selectedChar is "Гермиона">>
<div class="char-menu-avatar">
<img scr="images/characters/dessil2.jpg">
</div>
<div>
<b>Имя:</b> Гермиона Грейнджер<br>
<b>Пол:</b> Жен.<br>
<b>Работа:</b> Студент<br>
<b>Рост:</b> 5.2фт <b>Вес:</b> 126фунтов<br>
<b>Ненавидит:</b> Слизерин <b>Нравится:</b> Книги
</div>
<div class="char-stats-row">
Настроение:
<span class="char-stats-bar">
<span style="color:#a10;">■ ■</span>
<span style="color:#ba6;">■ ■ ■ ■</span>
<span style="color:#0c5;">■ ■ ■</span>
<span style="color:#888;">(Весёлое, ур. 0)</span>
</span>
</div>
<div class="char-stats-row">
Уровень доверия:
<span class="char-stats-bar">
<span style="color:#a10;">■</span>
<span style="color:#888;">■ ■ ■ ■ ■ ■ ■ ■ ■</span>
<span style="color:#888;">(ур. 1)</span>
</span>
</div>
<div class="char-stats-row">
Распутность: <span class="char-stats-bar">(невинная, ур.0)</span>
</div>
<div class="char-stats-row">
Репутация: <span class="char-stats-bar">(любимица учителей, ур.0)</span>
</div>
<div class="char-stats-row">
Обучение: <span class="char-stats-bar">(не начато, ур.1)</span>
</div>
<</if>>
<!-- аналогично остальные персонажи -->
</div>
</div>
<<gg>>
<em>I had expected the swamp to be unpleasant, maybe a bit muddy and bleak, but nothing prepared me for its endless, whispering presence. The ground itself seemed to shift as I walked, soft and treacherous, the kind that threatened to eat boots whole and pull a tired soul beneath the moss and muck.
Even the air was heavy,damp, thick with the scent of rotting leaves and something older, something half-forgotten. Fog rolled across the roots like lazy ghosts, and every step was a gamble; my foot might find stable ground or vanish into ankle-deep water, cold and slimy. The light above was a flat gray, too weak to drive out the shadows clinging to the twisting trees. Bird calls, if any, were distant and hushed, as if the swamp swallowed sound as well as lost travelers.
I paused more often than I liked, listening to the chirr of insects and the faint ripple of something moving just beyond sight. Was it wild things, or simply the swamp itself, restless and alive? With every step, my thoughts wandered: how long had I been walking since the border guards had cast me out? How many times had I stumbled, cursed my luck, and wondered if I’d ever see a friendly fire again? The chill crept under my cloak, and my resolve flickered with every twisted branch and sudden pool.
There were moments I almost laughed at myself,a king, once proud, now cursing at thorns at some filthy swamp. Yet there was also something oddly peaceful here: the world’s troubles felt far away, obscured by mist and silence.
That same silence was unsettling, too. No one called out. No distant voices. Only the swamp’s own secrets and my own, trudging through the muck in search of anything resembling warmth or safety. Somewhere deep inside, I felt the first inkling of hope: tales always spoke of wise women living in lands like these, of herbs, magic, and hidden kindness amid a world that preferred cruelty.
If any such refuge existed, maybe it could be found here. So I pressed on, with every careful step, deeper into the wild,feeling simultaneously alone and watched, vulnerable yet determined.
</em>
<</gg>> <br>
<img src="images/slaveRank/witch1.webp" class="scene-image">
<br>
<<gg>>
<em>The swamp’s fog shifted and parted for a flash of movement,a glimpse of pale skin and tangled dark hair slipping between reeds. I blinked, yet the figure was gone, swallowed by shadows and mire once more. For an instant, I wondered if exhaustion had summoned a ghost from my war-darkened memory, but no,there was a definite shape, alive and wary, disappearing toward the center of this wet wilderness.</em>
<em>My heart pounded as I followed what I could see. Each step felt heavier, the earth sucking at my boots with renewed hunger. Twisting roots rose like grasping hands, damp moss covered every surface, and the dim light from the mist gave everything an unreal, otherworldly glow. It was a place where senses play tricks,where the line between friend and threat blurs.</em>
<em>The faintest whisper of footsteps came from deeper in the swamp. A scent of herbs and smoke drifted through the thick air,the signature of someone who lived here, who called this soggy maze home.</em>
<em>A mixture of fear and fascination drove me forward. Had I come searching for shelter or for a witch who had been exiled from the kingdoms? Somewhere beyond the fog, the strange figure waited, and I could only hope she was friend rather than foe.</em>
<</gg>><br>
<<gg>>
<em>
The marsh seemed to change with every step I took, the fog growing denser as I trailed after that fleeting figure. I wasn’t sure if I’d ever find her again,or anything at all,until I spied something unusual ahead. Through the pale curtain of mist, a crooked path of flat stones, half-submerged and ancient, snaked its way toward an unnatural clearing.
I pressed on, boots slipping over moss-slick stone, and soon noticed signs of deliberate care: bundles of dried herbs hanging from low branches, clusters of carved wooden talismans arranged around the edge of the path. Strange patterns, bare outlines of runes, marked the trees and even the rocks. Nothing about it seemed accidental; the subtle order was persuasive, nimble, and quietly intimidating. Was I trespassing on magic itself?
The path led straight to a hut raised atop gnarled stilts, its walls stitched together from uneven timber and covered with a patchwork of faded animal pelts. The roof was thick with straw, drooping over the battered wood like a heavy brow over tired eyes. A battered lantern hung from a post, its flame guttering in the moist breeze, casting a dim halo against the gloom.
I let out a shaky breath. Every instinct screamed caution, yet warmth flickered through the small windows and the air was thick with scents both comforting and unfamiliar,rosemary, charred nettle, something sharp and sour like freshly-crushed berries.
My nerves edged between hope and anxiety: I had found a place built for living, not hiding. Whoever the witch was, she kept her home, and her boundaries, with meticulous care. Was this a sanctuary waiting for the lost… or a fortress built to keep them out?
I paused at the foot of the steps, heart pounding, feeling the eyes of the swamp on my back and the promise of shelter just out of reach.
</em>
<</gg>><br>
<<gg>>
<em>
The steps creaked beneath my weight, each groan echoing a warning. At the small porch, I hesitated,a moment to gather myself and weigh the risk. The hut’s weathered door was carved with unfamiliar symbols, smooth from years of touch and ritual. I raised my hand and knocked, three times, firm and deliberate.
Silence followed. The only answer was the rhythmic drip of water from the eaves and a faint hiss,perhaps wind, perhaps the breath of something watching within.
I stood waiting, nerves prickling. The swamp behind me felt impossibly vast, dangerous now that my retreat was cut off. A shadow moved behind one of the windows, and my heart leapt. I tried once more, softer this time, hoping for kindness instead of confrontation.
The door rattled but did not open. I pressed my ear to the wood, catching whispers of movement: the faint clink of glass, the dull thud of something heavy being set down, and utter stillness. Every instinct screamed for caution, but necessity won. I gripped the handle and pushed gently. It moved, slow and stubborn, swinging open just wide enough to reveal a flicker of firelight,an invitation or a final test.
I stepped into the threshold, holding my breath. The warmth rushed out to meet me, chased by the spicy, earthy fragrance within. Shadows danced among shelves crowded with jars, bundles of roots, and gleaming stones. My eyes darted through the gloom, searching for the witch. What would greet me,a warning spell? Steel? Or perhaps, if luck held, the beginning of a sanctuary?
</em>
<</gg>><br>
<<gg>>
<em>
A sudden movement in the far corner sent my heart leaping,a figure pulling away from the fire's glow, her outline sharp against the dim walls. She was tall, draped in patchwork cloth and wild hair, a silhouette fixed between readiness and fear.
Her eyes flashed, cold and bright. In her right hand she clutched something,a stick, maybe, or the glint of cold steel,held low but ready. The air hummed with a warning, the kind only magic or memory could create.
She did not speak at first. Instead, a silence fell, nearly suffocating. Her stare pinned me to the spot, searching for intent, threat, or weakness. I opened my mouth, but the room itself seemed to resist sound.
Then, finally, she broke the quiet,not with a question, but with a challenge.</em>
<</gg>><br>
<<witch>>
Who are you? Why have you come here? This is my home. The marsh doesn’t welcome guests, and neither do I. If you value your life, turn around and walk back into the mud.
<em>
Her voice was neither cruel nor gentle,it was edged with old wounds and absolute caution. Every muscle in her frame spoke of someone used to fighting for their solitude.
</em>
<</witch>><br>
<<gg>>
<em>
I steeled myself, forcing honesty into every word. </em>I heard about you at the marketplace,<em> I admitted, voice low. </em>They say there’s a woman in the swamp, living alone. Not some sorceress from stories,just someone who knows plants, brews her own tonics, keeps away from the city’s noise. That’s why I sought you out.
<em>
She didn’t move, but her eyes flickered with a mixture of guarded curiosity and old pain.</em>
I’m not here for charity. I need help,need a place to begin again. The city’s alchemist won’t consider me for apprenticeship unless I have somewhere decent to prove myself, somewhere I can actually study and work. I’m not after gold or secrets, just a table, a roof, space for a few tools and parchment. They tell me you have a lab. I hoped you might let me use it,maybe in exchange for work, or cleaning, or whatever you need done.
<em>The words hung between us, fragile as eggshells. </em>Truth is, I’ve lost everything but my will to try again. If you say no, I’ll turn back and keep searching. Just… the world is less cruel when one exile helps another. I hoped you might understand that.
<</gg>><br>
<<witch>>
<em>
She kept silent for a moment, weighing my story against the stories she’d heard and the years she’d survived alone. The grip on her knife loosened, but her eyes stayed sharp.</em>
So you want shelter in a swamp, just to please some city snob and earn yourself a place?<em> She snorted,a sound halfway between laughter and weary regret. </em>City folk talk too much. They call me witch for knowing a few roots and healing bad wounds. They drove me out when the new king’s men came, after strange rumors and fear. Now, even the mud is kinder than the market.
<em>She studied me, searching for signs of arrogance or entitlement. </em> I wasn’t born to magic or hiding. I had neighbors, a small garden, and enough work to fill my hands and feed me well. All gone now. What remains is this hut and a swamp that doesn’t judge,until strangers barge in asking for favors.
<em>Her gaze softened, sadness flickering in the firelight. </em> But you risked the mud and the rumors to find me, not for profit, and not out of fear. You want to learn, not steal. Maybe I remember what it’s like to begin again. Maybe I know the cost of losing everything except stubborn hope.
<em>The knife dropped to the table with a soft clatter. </em>You can use my lab. You can sleep under my roof. I don’t promise kindness each day, or a friend’s easy trust,but if you earn your place, you’ll keep it. The swamp will decide if you belong. Just remember: help me when I ask, learn quietly, and never bring trouble from the city to my door.
<</witch>><br>
<<gg>>
<em>
Relief mixed with a strange guilt,was it luck, pity, or just her own memory that moved her? I nodded, grateful but trying not to overstep.</em>
Thank you. If the swamp and your rules allow me to stay, I’ll do what’s needed and learn quietly. No trouble from the city, no false promises. Just honest work.
<em>
It felt almost like a ceremony as I lowered my pack onto the battered floorboards. The hut’s warmth seeped in,smoke, moss, herbs, and a little hope. Shelves crowded with jars and tools hinted at years of lonely invention; a rickety bed, a patched blanket, and a battered table showed the thin boundary between survival and comfort.</em><</gg>> <br>
<<witch>>
<em>She gestured toward the small lab corner, a place cluttered yet ordered, lit by tallow candles and guarded by careful bundles of dried roots. </em> Choose a spot and settle in. Touch nothing you cannot name, and ask before you use anything at all. I’ve had enough thieves and fools for a lifetime.<</witch>> <br>
<<gg>>
<em>
I nodded again, taking in the details: row upon row of hand-labeled bottles, odd implements, and a scattering of half-written notes. For the first time in months, I let myself hope,I had shelter, purpose, and a chance at new beginnings.
The swamp’s hush now felt gentler, almost protective, as the night thickened around our refuge.
</em>
<</gg>> <br>
<<gg>>
<em>
The fire crackled in the corner, shadows growing long across peeling floorboards. The witch busied herself at a low table, grinding something bitter-scented in a clay bowl. My pack sat awkward and small by the doorway, its meagerness a constant reminder of everything lost.
I swallowed, acutely aware of the strangeness of asking her for more. </em> It’s colder than I thought, out there in the marsh, <em> I started, trying not to sound desperate. </em> Your fire is a gift, but this night,might I sleep next to it? In here, with you?<</gg>><br>
<<witch>><em>She cast me a sidelong look, the lines in her face deepening. </em>My bed is narrow and my patience just as thin, <em>she replied, her tone both defensive and weary. </em>I’ve kept strangers out for years. That’s kept me alive.<</witch>><br>
<<gg>>
<em>I nodded,absorbing her caution, but unable to hide my shivering hope. </em>I’ll keep to myself, I promise. Before this, before chains and wandering, I was a king. Now I have nothing and nowhere, not even a dry corner. I don’t ask comfort, only shelter.
<em>At my words she paused in her work, hand hovering over the bowl. Old memories flickered in her eyes: warmth, hearth-smoke, voices in winter that spoke like friends. For a moment, she seemed far away, drawn behind a quiet sadness.</em><</gg>><br>
<<witch>><em>She broke the silence, voice softer. </em>Long ago, I remembered nights full of laughter, rooms shared with mercy instead of suspicion. But time carves us deep, and teaches us to close the door.<</witch>><br>
<<gg>>
<em>The hut filled with quiet, the only response the marsh wind tapping at the shutters. At last, she let out a breath and moved aside her ragged blanket, patting the empty space beside her with a firm hand. </em><</gg>><br>
<<witch>>Just tonight. We’ll share warmth, if only for the sake of what’s gone. If you trouble my sleep, you leave at dawn.<</witch>><br>
<<gg>>
<em>Relief crashed into me like a wave. I settled next to her, careful not to brush against her arms, listening to her breath and the hush of mud and wild rushes outside. It was not comfort, not the kind I’d known before, but mercy and quiet company are strong medicine in exile. And that night, the swamp felt less like a prison and more like a promise.</em><</gg>><br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Fall asleep with a witch" WitchSleep>><</button>>
</span>
</div>
</div>
<<set $witchMeet to true>>
<<run $questsData.setStatus("findWitch", "completed")>>
<<run $questsData.add("witchPotion1", "First brew", "I need to speak with witch about potions, also I need to find ingridients to make my first potion and build my first alchemy device!", "Potions unlock", "images/characters/witch.png")>>
<<run $questsData.add("dessilUnlock", "Prepare myself before alchemist", "Ask witch about all mushrooms and potions and speak with alchemist", "Alchemist unlock, new potions unlock, new devices unlock", "images/characters/dessil2.jpg")>><<gg>>
<em>
I wasn’t searching for trouble, or for legends, just drifting through the crowd,marketplaces have a way of swallowing intent. My boots scuffed along the gritty stones, past vendors hawking roots and cloth, then in the shaded crush I caught voices just beyond my shoulder.</em><</gg>><br>
<<say 'Buyer 1' >>…she lives out past the willow pools, all alone. Nobody from the town goes near after dusk anymore,<em>one woman hissed as she balanced a basket on her hip.</em><</say>><br>
<<say 'Seller' >><em>Her companion snorted, clearly unconvinced. </em>They say she’s a witch, but it’s old stories. I heard she grew up in the city, just learned herbs from her mother. Doesn’t trust anyone but swamp folk now.<</say>><br>
<<say 'Buyer 2' >><em>A third voice, older and sharp, broke in. </em>You want a true tincture, better than city salves, you go to her,but only if you’re desperate or brave. If your luck turns in the marsh, she might even save you. But don’t bring trouble from the market, or she’ll vanish before you get a word in.<</say>><br>
<<gg>>
<em>I lingered at a stall, pretending to examine dried mushrooms, letting their rumors tumble together. The city’s alchemist needed proof I could survive and learn beyond easy reach. A place to call my own, or at least a real workshop. Maybe the infamous healer of the swamp,who town called witch for convenience,could give me just that, if I found her and earned her trust.
I slipped away with the gossip still swirling around me, mind already mapping the muddy trails out past the willows.
</em>
<</gg>><br>
<<run $questsData.setStatus("newEaves", "completed")>>
<<run $questsData.add(
"findWitch",
"Find the witch",
"At the market, I heard about a witch who knows how to work with herbs. I'll have to go to the swamp and try to find her.",
"Access to the lab",
"images/characters/witch.png"
)>>
<<set _index = $questRumors.findIndex(rumor => rumor.passageName === "WitchEaves")>>
<<if _index >= 0>>
<<run $questRumors.splice(_index, 1)>>
<</if>><<if $witchSleep == 1>>
<<gg>><em> Morning. I wake up from a light touch. The witch stands by the bed completely naked, her skin glistening in the sunlight. Her nipples are erect from the cool air, her thighs slightly apart, revealing a neat strip of hair between them. </em><</gg>>
<img src="images/beggarRank/witchWakeUp.webp" class="scene-image"><br>
<<witch>> <em> She leans over, her breasts swaying heavily. </em> Awake? Good boy. <em> Her hand slides down my chest, grasping my morning erection through the sheet. She jerks me off slowly, looking into my eyes. </em><</witch>>
<<elseif $witchSleep == 2>>
<<gg>><em> Warm breath on my cock wakes me up. My eyes open, her lips wrap around the head, her tongue swirls around the frenulum. Saliva drips down the shaft, she swallows deeper, her cheeks sucking in. </em><</gg>>
<img src="images/beggarRank/witchWakeUp2.webp" class="scene-image"><br>
<<witch>> Mmm... delicious morning protein<em> she mumbles with her mouth full. Her hands massage my balls, her throat squeezing rhythmically. I grab her hair and fuck her mouth. she moans without resistance.</em><</witch>>
<img src="images/beggarRank/witchWakeUp3.webp" class="scene-image"><br>
<<elseif $witchSleep == 3>>
<<witch>><em>She is already sitting on top, her labia spread apart. Her vagina is slippery and hot, the head enters easily, she lowers herself all the way down.</em>
Finally, you've filled me... <em>she exhales, starting to move.</em>
<</witch>>
<img src="images/beggarRank/witchWakeUp4.webp" class="scene-image"><br>
<<witch>><em>Juices flow down my thighs, her clitoris rubs against my pubic bone. She speeds up, her breasts bounce, her nipples stick out.</em>
Cum inside me, impregnate the witch! <em>she screams, orgasming first.</em>
<</witch>>
<img src="images/beggarRank/witchWakeUp5.webp" class="scene-image"><br>
<<elseif $witchSleep == 4>>
<<witch>> You asked for anal? Here you go.<em>She gets on all fours, spreads her buttocks. She lubricates her anus with saliva, sits down slowly, tight and hot. </em>
Fuck, it's stretching me...
<</witch>>
<img src="images/beggarRank/witchWakeUp6.webp" class="scene-image"><br>
<<witch>> She moves carefully at first, then harder. Her intestines squeeze my cock, she cums from anal, screaming profanities. I fill her rectum with cum — she falls, cum dripping from her stretched hole.
<</witch>>
<img src="images/beggarRank/witchWakeUp7.webp" class="scene-image"><br>
<</if>>
<<set $portDaily = 0>>
<<editcycle 'weekdays' change +1>>
<<editcycle 'time' reset>>
<<set $mentorDoseToday = 0>>
<<set $portDaily = 0>>
<<set $tawernDaily = 0>>
<<set $tournamentPart = 0>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Wake up" WitchHouse>><</button>>
</span>
</div>
</div><div class="passage-panel">
<nav class="market-tabs">
<div class="sidebar-button">[[Speak to the witch|WitchSpeak]]</div>
<div class="sidebar-button">[[Go to the lab|WitchHouse_Lab]]</div>
<div class="sidebar-button">[[Sleep with a witch|WitchSleep]]</div>
<div class="sidebar-button">[[Reveal the map|Map]]</div>
</nav>
</div>
<style>
.dialog-choices {
display: flex;
flex-direction: column;
gap: 0.7rem;
}
.dialog-row {
width: 100%;
margin-bottom: 0.4em;
}
.dialog-row button {
width: 100%;
display: flex;
align-items: center;
background: rgba(35,23,12,.85);
border: 2px solid #b49064;
border-radius: 14px;
color: #eacb98;
font-size: 1.3em;
font-family: inherit;
padding: 0.6em 1.2em;
cursor: pointer;
box-shadow: 0 1px 6px rgba(40,28,16,0.18);
text-align: left;
transition: background .2s, box-shadow .24s;
}
.dialog-row button:hover {
background: rgba(180,110,40,.18);
box-shadow: 0 0 6px #dab989;
}
.dialog-icon {
font-size: 1.4em;
margin-right: 1em;
color: #eacb98;
flex-shrink: 0;
}
</style>
<div id="main">
<<include "DialogMenu">>
</div>
<div class="dialog-menu">
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">💬</span> Talk'>>
<<replace "#main">>
<<include "TalkMenu">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⚗️</span> Tutoring'>>
<<replace "#main">>
<<include "TutoringMenu">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">💖</span> Ask for a sexual favour'>>
<<replace "#main">>
<<include "AskFavourMenu">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">❌</span> Exit'>>
<<goto "WitchHouse">>
<</button>>
</div>
</div>
</div>
<div class="dialog-menu">
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">🌿</span> Herbs'>>
<<replace "#main">>
<<include "LessonHerbs">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">🧪</span> Potions'>>
<<replace "#main">>
<<include "LessonPotions">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "AskFavourMenu">>
<</replace>>
<</button>>
</div>
</div>
</div>
<div class="dialog-menu">
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">💖</span> Ask her to wake me up naked'>>
<<set $witchAsk = 1>>
<<replace "#main">>
<<include "wakeAskWitch">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">💖</span> Ask her to wake me up with a blowjob'>>
<<set $witchAsk = 2>>
<<replace "#main">>
<<include "wakeAskWitch">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">💖</span> Ask her to wake me up with sex'>>
<<set $witchAsk = 3>>
<<replace "#main">>
<<include "wakeAskWitch">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">💖</span> Ask her to wake me up with anal sex'>>
<<set $witchAsk = 4>>
<<replace "#main">>
<<include "wakeAskWitch">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "DialogMenu">>
<</replace>>
<</button>>
</div>
</div>
</div>
<<if $witchPatreon is true>>
<div class="dialog-menu">
<<if $witchAsk == 1>>
<<gg>>
Could you wake me up naked?
<</gg>><br>
<<witch>>Are you out of your mind!?<</witch>><br>
<<gg>>
But I support dev content...<</gg>><br>
<<witch>>Fine! I'll make an exception for you.<</witch>><br>
<<set $witchSleep = 1>>
<<elseif $witchAsk == 2>>
<<gg>>
I would have had a wonderful morning if it had started with a blowjob.
<</gg>><br>
<<witch>>Only because you support dev!<</witch>><br>
<<set $witchSleep = 2>>
<<elseif $witchAsk == 3>>
<<gg>>
Instead of morning coffee, how about morning sex?
<</gg>><br>
<<witch>>Why not? After so many months alone, a hard cock inside me certainly won't hurt. <</witch>><br>
<<set $witchSleep = 3>>
<<elseif $witchAsk == 4>>
<<gg>>
How about morning anal? That'll definitely get us both in the mood right from the start of the day.
<</gg>><br>
<<witch>>I am categorically against anal sex! But I cannot reject dev supporter...💖<</witch>><br>
<<set $witchSleep = 4>>
<<else>>
<<witch>>Suggest that again and I'll turn you into an impotent toad.<</witch>><br>
<<gg>>
<em>Maybe the cheat panel will help me change her mind...</em>
<</gg>><br>
<</if>>
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "AskFavourMenu">>
<</replace>>
<</button>>
</div>
</div>
</div><div class="dialog-menu">
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">📜</span> Ask about her past'>>
<<set _witchDialogue = 1>>
<<replace "#main">>
<<include "witchDialogue">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">🕸️</span> The secrets of the swamp'>>
<<set _witchDialogue = 2>>
<<replace "#main">>
<<include "witchDialogue">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⚠️</span> Rules and taboos'>>
<<set _witchDialogue = 3>>
<<replace "#main">>
<<include "witchDialogue">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">🏠</span> Ask her what she knows about Citadels alchemic'>>
<<set _witchDialogue = 4>>
<<replace "#main">>
<<include "witchDialogue">>
<</replace>>
<</button>>
</div>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "DialogMenu">>
<</replace>>
<</button>>
</div>
</div>
</div>
<<if $potionProgress1 >= 4>>
<<set $firstPotionLearn to true>>
<</if>><div class="dialog-menu">
<<if _witchDialogue == 1>>
<<witch>>
<em>Her eyes flickered to the fire, a shadow passing across her face.</em>
Her past is like the swamp,deep, hard to walk, full of things best left undisturbed.
<em>She hesitated, hands still on the ragged blanket. The crackle of flame broke the silence while words gathered behind her lips.</em>
Once, the city was home to me. There were days bright as midsummer, crowded with voices and easy joy. But people shrink from what’s strange, and when the tales started,about me, about the things I could do,it was safety that left first, not hope.
<em>Her voice softened, almost a whisper.</em>
I learned the cost of being noticed. Exile taught me how to heal alone, how to listen to moss and wind for advice, not to men or kings. That’s why you’ll find no pictures here, no old ribbons, no names spoken aloud at night.
<</witch>><br>
<<gg>>
<em>I tried to imagine her, years ago,smiling in crowds, welcomed at festival tables. The silence pressed close between us. Maybe that was all the answer she could bear to give.</em>
<</gg>><br>
<<elseif _witchDialogue == 2>>
<<witch>>
<em>She gave a quiet laugh, rustling through a bundle of dried rushes near the hearth.</em>
The swamp keeps more secrets than any city ever dared. Each mist, each pool,there’s a story there, but few are kind to strangers.
<em>Her fingers traced old runes etched into a bone talisman as she spoke.</em>
If you listen at night, you’ll hear the frogs argue with the wind, and the reeds whisper warnings. Beneath some roots lie bones that never found peace; above them, flowers that only open for moonlight. There are places where the water runs sweet,never drink it. There are lights in the fog,never follow them.
<em>She looked at me, eyes shrewd.</em>
People think the swamp is empty, but it’s crowded with memory and magic. If you respect it, it lets you pass. If you don’t, it swallows you whole.
<</witch>><br>
<<gg>>
<em>I glanced at the candles and the little jars, understanding suddenly how her lessons came not from books, but from listening and surviving. The hush outside seemed heavier, but now I wondered what it hid.</em>
<</gg>><br>
<<elseif _witchDialogue == 3>>
<<witch>>
<em>She held up a crooked finger, her tone suddenly precise and sharp.</em>
This house and this swamp have rules,break them and you’re on your own.
<em>She ticked each point off with deliberate care.</em>
First: Touch nothing unless you ask. Some jars heal, some curse, and some simply bite. Second: Never lie here,truth is the only currency that keeps the marsh quiet. Third: If you light a candle, let it burn to the end. These walls remember broken promises and half-burnt wicks.
<em>Her eyes lingered on the hearth, voice lowered.</em>
No guests. No names spoken of the dead. No gifts given without return. Respect the boundary between shelter and wild,for my mercy ends at the threshold.
<em>She softened a little, straightening the old blanket.</em>
If you’re wise, heed not only my words, but the hush outside. Here, even silence has its laws.
<</witch>><br>
<<gg>>
<em>I nodded slowly, the weight of her warnings settling like dusk. In the swamp, rules weren’t mere advice,they were survival.</em>
<</gg>><br>
<<elseif _witchDialogue == 4>>
<<witch>>
<em>She paused, eyes narrowed as if watching a distant shadow through the window’s muddy glass.</em>
The city’s alchemist? He’s clever,too clever to let anyone near his secrets. His hands are stained with more than herbs and metals; I’ve seen his apprentices come and go, but none stay long.
<em>She poured a pinch of powdered leaf into a tiny dish, voice bitter.</em>
In the city, power tastes of gold and rivalry. He trades in cures, yes, but also in favors. If you seek knowledge, know this: his price is always higher than he first names. Some say he can turn lead to honey and truth to poison. I say,don’t trust a man who keeps his books locked and his heart colder than his lab.
<em>She looked away, thoughtful.</em>
I learned long ago that city alchemy and swamp magic are distant kin, but the city hides its wounds better. If you ever come to his door, guard what you offer,and don’t expect mercy.
<</witch>><br>
<<gg>>
<em>Her words lingered as the fire settled low, mixing warning with a trace of respect; whatever the truth, the city’s alchemist was a force, best met with caution.</em>
<</gg>><br>
<</if>>
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "AskFavourMenu">>
<</replace>>
<</button>>
</div>
</div><div class="dialog-menu">
<div class="dialog-choices">
<<if not $crimsonCapLearn >>
<div class="dialog-row">
<<button '| Learn the features of crimson cap'>>
<<set $witchShroom = 1>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<<if not $silverSporeLearn>>
<div class="dialog-row">
<<button '| Learn the features of silver spore'>>
<<set $witchShroom = 2>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<<if not $goldenHerbLearn>>
<div class="dialog-row">
<<button '| Learn the features of golden herb'>>
<<set $witchShroom = 3>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<<if not $etherealBlossomLearn>>
<div class="dialog-row">
<<button '| Learn the features of ethereal blossom'>>
<<set $witchShroom = 4>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<<if not $mistyHollowLearn>>
<div class="dialog-row">
<<button '| Learn the features of misty hollow'>>
<<set $witchShroom = 5>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<<if not $shadowVeilLearn>>
<div class="dialog-row">
<<button '| Learn the features of shadow veil'>>
<<set $witchShroom = 6>>
<<replace "#main">>
<<include "witchShroom">>
<</replace>>
<</button>>
</div>
<</if>>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "DialogMenu">>
<</replace>>
<</button>>
</div>
</div>
</div>
<div class="dialog-menu">
<div class="dialog-choices">
<<if !$potionKnowledge["Calming Draught"]>>
<div class="dialog-row">
<<button '| Learn how to brew "Calming Draught"'>>
<<set $learnPotion = 1>>
<<replace "#main">>
<<include "potionLesson">>
<</replace>>
<</button>>
</div>
<<else>>
<div class="dialog-row learned">
<span class="dialog-icon">✅</span>
Calming Draught <span style="color:#90ee90">(Learned)</span>
</div>
<</if>>
<<if !$potionKnowledge["Softening Tea"]>>
<div class="dialog-row">
<<button '| Learn how to brew "Softening Tea"'>>
<<set $learnPotion = 2>>
<<replace "#main">>
<<include "potionLesson">>
<</replace>>
<</button>>
</div>
<<else>>
<div class="dialog-row learned">
<span class="dialog-icon">✅</span>
Softening Tea <span style="color:#90ee90">(Learned)</span>
</div>
<</if>>
<<if !$potionKnowledge["Suggestibility Infusion"]>>
<div class="dialog-row">
<<button '| Learn how to brew "Suggestibility Infusion"'>>
<<set $learnPotion = 3>>
<<replace "#main">>
<<include "potionLesson">>
<</replace>>
<</button>>
</div>
<<else>>
<div class="dialog-row learned">
<span class="dialog-icon">✅</span>
Suggestibility Infusion <span style="color:#90ee90">(Learned)</span>
</div>
<</if>>
<<if !$potionKnowledge["Body Awareness Tonic"]>>
<div class="dialog-row">
<<button '| Learn how to brew "Body Awareness Tonic"'>>
<<set $learnPotion = 4>>
<<replace "#main">>
<<include "potionLesson">>
<</replace>>
<</button>>
</div>
<<else>>
<div class="dialog-row learned">
<span class="dialog-icon">✅</span>
Body Awareness Tonic <span style="color:#90ee90">(Learned)</span>
</div>
<</if>>
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "DialogMenu">>
<</replace>>
<</button>>
</div>
</div>
</div>
<style>
.dialog-row.learned {
opacity: 0.7;
background: rgba(34, 139, 34, 0.2) !important;
cursor: default !important;
pointer-events: none;
}
.dialog-row.learned:hover {
background: rgba(34, 139, 34, 0.3) !important;
transform: none !important;
}
</style>
<div class="dialog-menu">
<<if $witchShroom == 1>>
<<witch>>
<em>She places a damp, vivid red mushroom before you, the Crimson Cap.</em>
This one? It’s the swamp’s fire. Crimson Cap thrives in deep, moist places,where roots rot and secrets gather.
<em>She traces the lines under the cap, her voice low and instructive.</em>
Its primary trait is stimulation. In small doses, Crimson Cap forms the heart of the Calming Draught,it soothes nerves, eases restless minds. But go beyond what’s needed, and it stirs heat throughout the body, making skin and spirit sensitive to touch and desire.
In more advanced potions, like Libido Spark or Aphrodisiac Elixir, it unlocks hidden cravings and quickens the pulse. That makes it powerful, and risky. Too much brings dependency, longing, or sudden fits of exhaustion.
<em>Her grip tightens slightly.</em>
Always respect the boundaries. Never harvest a Crimson Cap near decaying roots,their toxins run hot and wild. And when you work with it, be honest. This mushroom reacts to deceit, and if you’re careless or conceal your intentions, it will leave you burned.
<em>She lets go of the cap, leaving it between you.</em>
All lessons with Crimson Cap begin with caution. Its magic tests both the body and the soul.
<</witch>><br>
<<gg>>
<em>I run a fingertip gently over its rough stem, a subtle tingling rising in my hand. The mushroom feels watchful,its power waiting for truth, not trickery.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/crimsonCap.png" alt="Crimson Cap Mushroom">
<h2>Crimson Cap</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In low doses:</span> Eases anxiety, mild relaxant.</div>
<div class="lesson-property"><span>In stronger mixes:</span> Increases desire, sensitivity, body warmth.</div>
<div class="lesson-property"><span>Side effects (overdose):</span> Dependence, fatigue, intense cravings.</div>
<div class="lesson-property"><span>Unique:</span> Reacts poorly to dishonesty, best used when the intentions are clear.</div>
<div class="lesson-property"><span>Harvesting tip:</span> Avoid Crimson Cap near dead roots,they carry potent, sometimes dangerous toxins.</div>
</div>
</div>
<<elseif $witchShroom == 2>>
<<witch>>
<em>She lifts a pale, silvery mushroom and turns it between her fingers. Its faint shimmer catches the firelight.</em>
Silver Spore is quiet by nature. It grows where the fog is thickest, hidden under leaves. It’s a favorite for gentle brews, but can be treacherous if mistaken for the wrong kin.
<em>She lets you see the delicate gills beneath the cap.</em>
In smaller doses, Silver Spore calms the mind,think of Suggestibility Infusion or Mood Tuner. It’s used for teas that settle anxious thoughts, ease stubborn tempers, or help someone listen a little better than usual.
Yet, don’t trust its softness. If mishandled, Silver Spore dampens the will too much, opening the mind to suggestion or control. That’s why it’s the heart of Obedience Draught and Male Suppressor,potions that weaken resistance, blur sharp intentions, make spirits passive.
<em>Her gaze turns serious.</em>
Never use Silver Spore to trick or coerce. Swamp magic always asks for balance; abuse its power and you invite unrest into your own mind.
<em>She sets the mushroom down, voice gentle.</em>
Treat Silver Spore with care. Its magic is subtle, but its memory is long.
<</witch>><br>
<<gg>>
<em>I watched the pale mushroom reflect the fire’s glow, feeling the hint of a chill. Silver Spore was a remedy,and a danger,in hands that forgot respect.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/silverSpore.png" alt="Silver Spore Mushroom">
<h2>Silver Spore</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In low doses:</span> Calms nerves, increases openness. Used for Suggestibility Infusion, Mood Tuner, Calming Draught.</div>
<div class="lesson-property"><span>In higher doses/advanced recipes:</span> Induces passivity, makes mind and spirit more suggestible (Obedience Draught, Male Suppressor).</div>
<div class="lesson-property"><span>Side effects:</span> Overuse may cause lethargy, loss of willpower, excessive docility.</div>
<div class="lesson-property"><span>Warning:</span> Never use to manipulate or rob someone of choice,magical balance is required.</div>
</div>
</div>
<<elseif $witchShroom == 3>>
<<witch>>
<em>She carefully brings forth a golden-hued stalk, its petals bright and scent sweet but earthy.</em>
Golden Herb is prized above all for balance and clarity. You’ll find it in open patches where sunlight lingers, never deep in the shadow. It’s gentle, but its magic is precise.
<em>She brushes the herb with her thumb, then meets your eyes.</em>
In basic remedies,like Body Awareness Tonic,Golden Herb sharpens sensations, awakens the senses, lets the mind feel the body as whole and united. It helps heal confusion or fatigue, restoring focus and natural vitality.
In stronger brews, such as Libido Spark and Sensual Attunement Elixir, it stirs hidden energies, bringing warmth, openness, and confidence. The effect is gentle at first but joy unfolds slowly,as long as the herb is respected.
<em>Her tone turns cautious:</em>
Misuse leads to restlessness, sleepless nights, a fever in the blood that no cold water will quench. Never combine it with too many other stimulating ingredients, or you risk turning pleasure into agitation.
<em>She sets the golden sprig down with respect.</em>
With Golden Herb, light and life walk together. Take only what you need, and remember that every gift has its limit.
<</witch>><br>
<<gg>>
<em>I breathed in its scent, feeling my thoughts sharpen as if from a sudden burst of sunlight. The herb was living proof that gentleness could be powerful.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/goldenHerb.png" alt="Golden Herb">
<h2>Golden Herb</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In low/steady doses:</span> Increases awareness, improves bodily sensation and clarity (Body Awareness Tonic).</div>
<div class="lesson-property"><span>In advanced mixes:</span> Awakens confidence, warmth, sensuality (Libido Spark, Sensual Attunement Elixir).</div>
<div class="lesson-property"><span>Possible side effects if overused:</span> Restlessness, insomnia, excess excitement.</div>
<div class="lesson-property"><span>Lore tip:</span> Only harvest from sunlit patches; shadow-grown herbs risk bitterness or instability.</div>
</div>
</div>
<<elseif $witchShroom == 4>>
<<witch>>
<em>She reveals a blossom that glows faintly in the dim light, petals shimmering with a blue-silver hue.</em>
Ethereal Blossom is the most elusive flower in the swamps. You’ll find it only in places where the ground never dries and mist clings to every surface. Some say it blooms from the dreams of the marsh itself.
<em>She lets you touch the soft, cool petals.</em>
In gentle blends,like Softening Tea,Ethereal Blossom quiets pain, makes the body lighter, eases burdens and sorrow. It’s a favorite among those who heal, and those who hide from old wounds.
In powerful potions, especially anything with Mood tuning or transformation, Ethereal Blossom brings change,sometimes quick, sometimes slow. Its magic is subtle: dreams shift, feelings soften, boundaries become blurred.
<em>Her expression grows intent.</em>
Never gather Ethereal Blossom in anger. It soaks up emotions, gives them back multiplied. Handle with respect, or its magic will twist and confuse what you wish to heal.
<em>She sets the glowing flower down gently.</em>
Treasure it, for the marsh gives so few. And remember: Ethereal Blossom always remembers the hands that dared to pluck it.
<</witch>><br>
<<gg>>
<em>The gentle light of the blossom made the hut appear larger, safer. I felt old aches soften just by gazing at it,magic that was deep and patient, not forceful.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/etherealBlossom.png" alt="Ethereal Blossom">
<h2>Ethereal Blossom</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In soothing blends:</span> Relieves pain, lightens burdens, softens emotions (Softening Tea, Body Awareness Tonic).</div>
<div class="lesson-property"><span>In transformation or mood potions:</span> Blurs boundaries, helps with change, encourages emotional openness.</div>
<div class="lesson-property"><span>Side effects if misused:</span> Confusion, overwhelming emotions, lingering dreams.</div>
<div class="lesson-property"><span>Lore tip:</span> Never harvest or use in anger or haste; respect, patience, and calm bring out its best qualities.</div>
</div>
</div>
<<elseif $witchShroom == 5>>
<<witch>>
<em>She sets a cluster of tiny, pale mushrooms on a woven mat. Their edges seem to blur in the humid air, fading into the mist that seeps under the door.</em>
Misty Hollow mushrooms are both humble and mysterious. They grow wherever the mist lingers longest, hidden beneath dense ferns or in hollow tree roots.
<em>She points to their translucent caps, which seem almost to vanish in the lantern’s glow.</em>
When used in simple teas,like Softening Tea,they dissolve tension, soften what’s rigid in body or mind, and help wounds heal without scars. Few mushrooms are as gentle or as necessary.
In stronger tonics,Feminizing Draught, Mood Tuner, Obedience Draught,Misty Hollow acts as a bridge; it lets other ingredients flow, helps magic spread evenly rather than burn. Its spirit is patience. The magic works slowly, but lasts long.
<em>Her words grow calm and careful:</em>
Harvest on a misty morning. Never dry or boil them harshly; their power slips away with the steam. And never forget: Misty Hollow doesn’t force,it persuades.
<em>She gathers them with reverence.</em>
If you seek transformation, healing, or rest, Misty Hollow is both the door and the key. But use it with tenderness, or its magic will scatter like vapor.
<</witch>><br>
<<gg>>
<em>Even as she spoke, the mushrooms seemed to fade into my hand, leaving only cool dampness and the faintest hint of comfort behind.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/mistyHollow.png" alt="Misty Hollow Mushroom">
<h2>Misty Hollow</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In basic teas:</span> Softens body and spirit, promotes gentle healing (Softening Tea).</div>
<div class="lesson-property"><span>In advanced potions:</span> Acts as a bridge, lets other effects blend, helps transformations settle smoothly (Feminizing Draught, Mood Tuner).</div>
<div class="lesson-property"><span>Best harvested:</span> On misty mornings, never dried harshly.</div>
<div class="lesson-property"><span>Side effects:</span> None when used carefully; magic dissipates if abused or exposed to heat too quickly.</div>
<div class="lesson-property"><span>Lore tip:</span> Use with patience,Misty Hollow’s magic lingers and comforts, never rushes.</div>
</div>
</div>
<<elseif $witchShroom == 6>>
<<witch>>
<em>She draws out a mushroom with an oily black cap, its stem twisting as if to hide from the lantern light.</em>
Shadow Veil is the secret-keeper of the swamps. It grows only under the thickest cover, deep in murky places where roots and night interlace.
<em>She turns the cap slowly so that it catches just a sliver of light.</em>
Shadow Veil’s magic is tied to the unseen. In smaller doses, it dulls fear and softens memories, the heart of Suggestibility Infusion,used when one must listen, not rebel. Yet if you blend more of it, as in Obedience Draught or Male Suppressor, Shadow Veil can silence the will, weave silence over doubts, and even shape dreams to your design.
<em>Her expression turns stern.</em>
It’s the rarest mushroom for controlling,dangerous in careless hands. Too much, and the spirit wanders lost, swallowed by others’ words or by old nightmares. Never mix Shadow Veil with anger or force; it punishes those who seek only power.
<em>She gently places the mushroom away from the rest.</em>
Only harvest Shadow Veil in moonless nights. Speak no lies when you do,the shadows remember every false promise. Show respect, and it gives you wisdom. Abuse it, and it gives you regret.
<</witch>><br>
<<gg>>
<em>I watched its cap gleam dully, feeling the weight of secrets. This was a mushroom meant for mystery, not for comfort.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/shadowVeil.png" alt="Shadow Veil Mushroom">
<h2>Shadow Veil</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>In low doses:</span> Calms fear, makes minds receptive (Suggestibility Infusion).</div>
<div class="lesson-property"><span>In advanced potions:</span> Silences resistance, blurs memory, controls dreams (Obedience Draught, Male Suppressor).</div>
<div class="lesson-property"><span>Side effects/risks:</span> Overuse leads to confused thoughts, spiritual weakness, loss of self.</div>
<div class="lesson-property"><span>Best harvested:</span> Only at night, never with deceit; respect for its power is crucial.</div>
</div>
</div>
<</if>>
<br>
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "LessonHerbs">>
<</replace>>
<</button>>
</div>
</div>
<style>
.lesson-card {
max-width: 520px;
margin: 2.2rem auto 2.8rem auto;
padding: 1.6rem 1.8rem 1.3rem 1.8rem;
background: rgba(35,20,13,0.93);
border-radius: 18px;
border: 2px solid #b49064;
box-shadow: 0 0 24px #231a13, 0 0 10px #dabe90;
font-family: 'Georgia', serif;
color: #f1d6a3;
}
.lesson-card img, .lesson-card .lesson-icon {
display: block;
margin: 0 auto 0.8rem auto;
width: 100px;
height: 100px;
object-fit: contain;
border-radius: 50%;
box-shadow: 0 0 7px #c8a068;
background: rgba(80,55,25,0.20);
}
.lesson-card h2 {
text-align: center;
color: #ffe9b1;
font-size: 1.45em;
margin-bottom: 0.7em;
margin-top: 0;
letter-spacing: 0.03em;
font-weight: bold;
}
.lesson-card .lesson-properties {
margin-top: 0.8em;
padding-left: 0.0em;
}
.lesson-card .lesson-property {
margin-bottom: 0.7em;
font-size: 1.10em;
color: #ead08d;
}
.lesson-card .lesson-property span {
font-weight: bold;
color: #ffd391;
}
</style><div class="dialog-menu">
<<if $learnPotion == 1>>
<<witch>>
<em>She sets three Crimson Caps and two Silver Spores on the old wooden table.</em>
To brew a Calming Draught, you need both fire and fog. Let the Crimson Cap lend its warmth, but temper it with the softness of Silver Spore. The blend eases troubled hearts, calms nerves, and brings gentle rest if brewed with care.
<</witch>><br>
<<gg>>
<em>I watch as the potion’s color shifts from deep red to muted violet. The scent is mild, promising relief after a long day in the marsh.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/calming_draught.png" alt="Calming Draught">
<h2>Calming Draught</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>Main mushrooms:</span> Crimson Cap x3, Silver Spore x2</div>
<div class="lesson-property"><span>Effect:</span> Soothes anxiety, relaxes the body, brings gentle sleep.</div>
<div class="lesson-property"><span>Usage:</span> Use for calming nerves after trouble or fear.</div>
<div class="lesson-property"><span>Warning:</span> Too strong a brew leads to drowsiness or dreams that are hard to wake from.</div>
</div>
</div>
<<set $potionKnowledge["Calming Draught"] = true>>
<<elseif $learnPotion == 2>>
<<witch>>
<em>Smooth pale Misty Hollows and Ethereal Blossoms bubble gently in the novice furnace.</em>
Softening Tea eases pain and stiffness, lets bitterness melt away. The Misty Hollow soothes, the Blossom lifts weight from tired arms and legs. Serve it warm, and you’ll find harshness fading into comfort.
<</witch>><br>
<<gg>>
<em>I breathe in steam that smells of moor and wildflowers. My fingers unclench just from the scent alone.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/softening_tea.png" alt="Softening Tea">
<h2>Softening Tea</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>Main mushrooms:</span> Misty Hollow x3, Ethereal Blossom x2</div>
<div class="lesson-property"><span>Effect:</span> Relieves pain, melts tension, softens the body and spirit.</div>
<div class="lesson-property"><span>Usage:</span> Use for injuries or after arduous tasks.</div>
<div class="lesson-property"><span>Warning:</span> Too hot or too harshly brewed loses its effect; patience is needed.</div>
</div>
</div>
<<set $potionKnowledge["Softening Tea"]= true>>
<<elseif $learnPotion == 3>>
<<witch>>
<em>A swirl of Shadow Veil and Silver Spore is poured into a small clay cup.</em>
Suggestibility Infusion opens the mind, softens certainty, and readies the spirit to listen and learn. Use with care,kind words or useful teachings settle better when the brew is mild.
<</witch>><br>
<<gg>>
<em>I feel ready for anything,just a little more impressionable than I’d like.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/suggestibility_infusion.png" alt="Suggestibility Infusion">
<h2>Suggestibility Infusion</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>Main mushrooms:</span> Shadow Veil x2, Silver Spore x3</div>
<div class="lesson-property"><span>Effect:</span> Opens the mind, makes the spirit receptive.</div>
<div class="lesson-property"><span>Usage:</span> Use when gentle persuasion is needed.</div>
<div class="lesson-property"><span>Warning:</span> Too much can sap the will or leave confusion behind.</div>
</div>
</div>
<<set $potionKnowledge["Suggestibility Infusion"] = true>>
<<elseif $learnPotion == 4>>
<<witch>>
<em>Golden Herb and Ethereal Blossom simmer with careful warmth, watched closely by the witch.</em>
Body Awareness Tonic sharpens sensations, clears fatigue, and brings the body into focus. Ideal for healing confusion, finding balance after weariness, or preparation for deeper magic.
<</witch>><br>
<<gg>>
<em>As I sip, my senses feel newly clear. A gentle energy hums through my hands and feet.</em>
<</gg>><br>
<div class="lesson-card">
<img src="images/icons/body_awareness_tonic.png" alt="Body Awareness Tonic">
<h2>Body Awareness Tonic</h2>
<div class="lesson-properties">
<div class="lesson-property"><span>Main mushrooms:</span> Golden Herb x3, Ethereal Blossom x2</div>
<div class="lesson-property"><span>Effect:</span> Heightens bodily sensation, restores vitality, clears mind-fog.</div>
<div class="lesson-property"><span>Usage:</span> Use for exhaustion, confusion, or energetic imbalance.</div>
<div class="lesson-property"><span>Warning:</span> Excess can cause restlessness or scattered attention.</div>
</div>
</div>
<<set $potionKnowledge["Body Awareness Tonic"] = true>>
<</if>>
<br>
<div class="dialog-choices">
<div class="dialog-row">
<<button '|<span class="dialog-icon">⏪</span> Back'>>
<<replace "#main">>
<<include "TutoringMenu">>
<</replace>>
<</button>>
</div>
</div>
<!-- В самом конце potionLesson, после всех <<elseif>> -->
<<set $basePotions = ["Calming Draught", "Softening Tea", "Suggestibility Infusion", "Body Awareness Tonic"]>>
<<set $allLearned = true>>
<<for _potion range $basePotions>>
<<if !$potionKnowledge[_potion]>>
<<set $allLearned = false>>
<</if>>
<</for>>
<<if $allLearned and !$witchBasicsDone>>
<<set $witchBasicsDone = true>>
<<witch>>
<em>She looks at me with new respect, handing me a small leather pouch.</em>
You've mastered the basics. Take this to Dessil in the city,he'll recognize my mark and know you're ready.
<</witch>>
<<flash "The city alchemist is now available!" "success">>
<</flash>>
<</if>>
<style>
.lesson-card {
max-width: 520px;
margin: 2.2rem auto 2.8rem auto;
padding: 1.6rem 1.8rem 1.3rem 1.8rem;
background: rgba(35,20,13,0.93);
border-radius: 18px;
border: 2px solid #b49064;
box-shadow: 0 0 24px #231a13, 0 0 10px #dabe90;
font-family: 'Georgia', serif;
color: #f1d6a3;
}
.lesson-card img, .lesson-card .lesson-icon {
display: block;
margin: 0 auto 0.8rem auto;
width: 100px;
height: 100px;
object-fit: contain;
border-radius: 50%;
box-shadow: 0 0 7px #c8a068;
background: rgba(80,55,25,0.20);
}
.lesson-card h2 {
text-align: center;
color: #ffe9b1;
font-size: 1.45em;
margin-bottom: 0.7em;
margin-top: 0;
letter-spacing: 0.03em;
font-weight: bold;
}
.lesson-card .lesson-properties {
margin-top: 0.8em;
padding-left: 0.0em;
}
.lesson-card .lesson-property {
margin-bottom: 0.7em;
font-size: 1.10em;
color: #ead08d;
}
.lesson-card .lesson-property span {
font-weight: bold;
color: #ffd391;
}
</style><<set $dessil = {
trust: ($dessil?.trust or 15),
suspicion: ($dessil?.suspicion or 0),
addiction: ($dessil?.addiction or 0),
femStage: ($dessil?.femStage or ($dessilFemStage or 0)), /* ✅ Берёт глобальную */
lesson: ($dessil?.lesson or 0)
}>>
<<set $alchemist = $alchemist || { breastSize: 0, assSize: 0, genSize: 0 }>>
<<set _t = $dessil.trust>>
<<set _s = $dessil.suspicion>>
<<set _a = $dessil.addiction>>
<<set _tLabel = (_t < 20 ? "Wary" : _t < 40 ? "Neutral" : _t < 60 ? "Fond" : _t < 80 ? "Attached" : "Devoted")>>
<<set _sLabel = (_s < 20 ? "Calm" : _s < 40 ? "Doubtful" : _s < 70 ? "Uneasy" : "Paranoid")>>
<<set _aLabel = (_a < 10 ? "Sober" : _a < 30 ? "Tasted" : _a < 60 ? "Needy" : _a < 85 ? "Dependent" : "Hooked")>>
<div class="dessil-hud">
<div class="dessil-hud-header">
<div class="dessil-hud-name">Dessil Raveneye</div>
<div class="dessil-hud-tag">Workshop Alchemist</div>
</div>
<div class="dessil-hud-rows">
<div class="dessil-hud-row">
<span class="dessil-hud-label">Trust</span>
<span style="color:#90c695;"><<= _t>> / 100 , <<= _tLabel>></span>
</div>
<div class="dessil-hud-row">
<span class="dessil-hud-label">Suspicion</span>
<span style="color:#f4c15a;"><<= _s>> / 100 , <<= _sLabel>></span>
</div>
<div class="dessil-hud-row">
<span class="dessil-hud-label">Addiction</span>
<span style="color:#e86b5c;"><<= _a>> / 100 , <<= _aLabel>></span>
</div>
</div>
<div class="dessil-hud-fem">
<span class="dessil-hud-label">Fem</span>
<span class="value"><<= $dessilFemStage>> / 4</span>
</div>
</div>
<<include "Dessil_Status">>
<div class="dessil-panel">
<h3>Time with Master Dessil</h3>
<div class="dessil-quote">
<strong>Dessil:</strong>
If you insist on loitering in my workshop again, you might as well make yourself useful.
</div>
<ul class="dessil-menu">
<<if $dessilFemStage == 0 >>
<li>
<<link "Spend time assisting in the workshop">>
<<goto "DessilLabDay0">>
<</link>>
</li>
<<elseif $dessilFemStage == 1 >>
<li>
<<link "Spend the day assisting in the workshop">>
<<goto "DessilLabDay1">>
<</link>>
</li>
<<elseif $dessilFemStage == 2 >>
<li>
<<link "Spend the day assisting in the workshop">>
<<goto "DessilLabDay2">>
<</link>>
</li>
<<elseif $dessilFemStage == 3 >>
<li>
<<link "Spend the day assisting in the workshop">>
<<goto "DessilLabDay3">>
<</link>>
</li>
<<elseif $dessilFemStage >= 4 >>
<li>
<<link "Use Dessil body">>
<<goto "DessilSexFinal">>
<</link>>
</li>
<</if>>
<li>
<<link "Ask about specific alchemical knowledge">>
<<goto "DessilKnowledge">>
<</link>>
</li>
<<if $dessil.trust gte 45>>
<li>
<<link "Offer him a potion">>
<<goto "DessilOfferPotion">>
<</link>>
</li>
<</if>>
<li>
<<link "Leave for today">>
<<goto "rightCity">>
<</link>>
</li>
</ul>
<div class="dessil-note">
Each visit nudges his trust, suspicion and body a little further.
You decide how fast to push.
</div>
</div>
<<set $dessilTrust = $dessil.trust>>
<<set $dessilSuspicion = $dessil.suspicion>>
<<run $questsData.setStatus("dessilUnlock", "completed")>>
<<set $dessilRound = 0>>
<<include "Dessil_Status">>
<<dessilDayDraw>>
<<include "Dessil_Status">>
<<if typeof $selectedKnowledge === "undefined">>
<div class="dessil-day-root">
<div class="dessil-card dessil-card-empty">
<h3>No topic selected</h3>
<p>Dessil arches a brow. “If you came here just to stand and breathe my air, at least decide what you want to know.”</p>
<div class="dessil-choices">
<<link "Sort your notes and pick a topic">>
<<goto "DessilKnowledge">>
<</link>>
</div>
</div>
</div>
<<return>>
<</if>>
<<set _kind = $selectedKnowledge.type>>
<<set _index = $selectedKnowledge.index>>
<<set _kc = $knowledgeCards>>
<<set _data = (_kind is "potion" ? _kc.potions[_index] : _kc.devices[_index])>>
<<if !_data>>
<div class="dessil-day-root">
<div class="dessil-card dessil-card-empty">
<h3>Something went wrong</h3>
<p>The notes for this topic seem smudged beyond use. Better pick something else.</p>
<div class="dessil-choices">
<<link "Back to your notes">><<goto "DessilKnowledge">><</link>>
</div>
</div>
</div>
<<return>>
<</if>>
<<set _name = _data.name>>
<<if _kind is "potion">>
<<set $knowledgeCards.potions[_index].used = true>>
<<set $potionKnowledge[_name] = true>>
<<else>>
<<set $knowledgeCards.devices[_index].used = true>>
<<set $labKnowledge[_name] = true>>
<</if>>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag"><<if _kind is "potion">>Potion<<else>>Device<</if>></span>
<span class="dessil-card-badge"><<= _name>></span>
</div>
<div class="dessil-card-body">
<<if _data.text>>
<<for _line range _data.text>>
<p><<= _line>></p>
<</for>>
<<else>>
<p>There are no structured notes for this topic yet. Dessil explains in his own, somewhat chaotic way.</p>
<</if>>
<p>He speaks with the dry patience of someone who has explained this many times before, but his gaze lingers on how carefully you listen.</p>
</div>
<div class="dessil-choices">
<<link "Ask a follow-up question">><<goto "DessilKnowledge">><</link>>
<<link "Let the lesson sink in and return to work">><<goto "DessilHub">><</link>>
</div>
<div class="dessil-card-footer">
<span class="dessil-tip">This topic is now marked as learned and will not appear again in the list.</span>
<span class="dessil-round">
Known topics <<= Object.keys($potionKnowledge).length + Object.keys($labKnowledge).length>>
</span>
</div>
</div>
</div><<widget "dessilDayDraw">>
<<set _cards = setup.dessilCards.pool.filter(c =>
c.minFemStage <= $dessil.femStage && c.maxFemStage >= $dessil.femStage
)>>
<<if _cards.length>>
<<set _card = _cards[Math.floor(Math.random() * _cards.length)]>>
<<set $dessilCurrentCard = _card>>
<<include "DessilCardRender">>
<<else>>
<div class="dessil-card-empty">
<em>A typical day in the lab. Nothing special.</em><br>
<<set $dessil.trust += 1>>
</div>
<</if>>
<</widget>>
<<include "Dessil_Status">>
<<set _kc = $knowledgeCards>>
<div class="dessil-panel">
<h3>Questions</h3>
<div class="dessil-quote">
<strong>Dessil:</strong>
You may pester me with questions, if you must. Just be sure you learn something from the answers.
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-body">
<p>You sort through your notes, trying to decide what to ask him about this time.</p>
<h4>Potions:</h4>
<ul class="dessil-menu">
<<for _idx, _item range _kc.potions>>
<<if !_item.used>>
<<capture _idx _item>>
<li>
<<link _item.name>>
<<set $selectedKnowledge = { type: "potion", index: _idx }>>
<<goto "DessilKnowledgeResolve">>
<</link>>
</li>
<</capture>>
<</if>>
<</for>>
<<set _anyPotionLeft = false>>
<<for _idx, _check range _kc.potions>>
<<if !_check.used>>
<<set _anyPotionLeft = true>>
<<break>>
<</if>>
<</for>>
<<if !_anyPotionLeft>>
<li><span>No more potion topics for now.</span></li>
<</if>>
</ul>
<h4>Devices:</h4>
<ul class="dessil-menu">
<<for _dIdx, _dev range _kc.devices>>
<<if !_dev.used>>
<<capture _dIdx _dev>>
<li>
<<link _dev.name>>
<<set $selectedKnowledge = { type: "device", index: _dIdx }>>
<<goto "DessilKnowledgeResolve">>
<</link>>
</li>
<</capture>>
<</if>>
<</for>>
<<set _anyDeviceLeft = false>>
<<for _idx, _check range _kc.devices>>
<<if !_check.used>>
<<set _anyDeviceLeft = true>>
<<break>>
<</if>>
<</for>>
<<if !_anyDeviceLeft>>
<li><span>No more device topics for now.</span></li>
<</if>>
</ul>
</div>
<div class="dessil-card-footer">
<ul class="dessil-choices">
<li>
<<link "Back to Dessil" >>
<<goto "DessilHub">>
<</link>>
</li>
</ul>
</div>
</div>
</div>
</div>
<style>
/* подтягиваем уже существующий стиль кнопок Дессиля */
.dessil-panel .dessil-menu a {
display: block;
padding: 8px 12px;
border-radius: 8px;
text-decoration: none;
color: #f5e6c2;
background: rgba(60,40,20,0.8);
border: 1px solid #7a5527;
text-align: left;
font-weight: 600;
transition: 0.15s all ease-in-out;
}
.dessil-panel .dessil-menu a:hover {
background: #8b6239;
box-shadow: 0 0 10px rgba(255,215,128,0.6);
transform: translateY(-1px);
}
</style>
<ul class="dessil-menu">
<<if $dessilFemStage == 0>>
<<if $dessil.trust >= 50 and $dessil.suspicion <= 40>>
<<if $potions.has("Softening Tea") and !$dessilGivenSofteningTea>>
<li class="dessil-option">
<<link "Give him a Softening Tea">>
<<set $potionGiven = 1>>
<<drop $potions "Softening Tea" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Suggestibility Infusion") and !$dessilGivenSuggestibility>>
<li class="dessil-option">
<<link "Suggestibility Infusion">>
<<set $potionGiven = 2>>
<<drop $potions "Suggestibility Infusion" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Body Awareness Tonic") and !$dessilGivenBodyAware>>
<li class="dessil-option">
<<link "Body Awareness Tonic">>
<<set $potionGiven = 3>>
<<drop $potions "Body Awareness Tonic" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if !($potions.has("Softening Tea") or $potions.has("Suggestibility Infusion") or $potions.has("Body Awareness Tonic"))>>
<li class="dessil-option dessil-locked">
No suitable potions in your inventory.
</li>
<</if>>
<<else>>
<li class="dessil-option dessil-locked">
Dessil is too suspicious or does not trust you enough to accept potions.
</li>
<</if>>
<<elseif $dessilFemStage == 1>>
<<if $dessil.trust >= 60 and $dessil.suspicion <= 30>>
<<if $potions.has("Mild Feminizing Draught") and !$dessilGivenMildFem>>
<li class="dessil-option">
<<link "Mild Feminizing Draught">>
<<set $potionGiven = 4>>
<<drop $potions "Mild Feminizing Draught" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Libido Spark") and !$dessilGivenLibidoSpark>>
<li class="dessil-option">
<<link "Libido Spark">>
<<set $potionGiven = 5>>
<<drop $potions "Libido Spark" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if !($potions.has("Mild Feminizing Draught") or $potions.has("Libido Spark"))>>
<li class="dessil-option dessil-locked">
No suitable potions in your inventory.
</li>
<</if>>
<<else>>
<li class="dessil-option dessil-locked">
Dessil is not ready for stronger potions yet.
</li>
<</if>>
<<elseif $dessilFemStage == 2>>
<<if $dessil.trust >= 70 and $dessil.suspicion <= 20>>
<<if $potions.has("Feminizing Draught") and !$dessilGivenFeminizing>>
<li class="dessil-option">
<<link "Feminizing Draught">>
<<set $potionGiven = 6>>
<<drop $potions "Feminizing Draught" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Sensual Attunement Elixir") and !$dessilGivenSensual and $dessilGivenFeminizing>>
<li class="dessil-option">
<<link "Sensual Attunement Elixir">>
<<set $potionGiven = 7>>
<<drop $potions "Sensual Attunement Elixir" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Obedience Draught") and !$dessilGivenObedience and $dessilGivenSensual>>
<li class="dessil-option">
<<link "Obedience Draught">>
<<set $potionGiven = 8>>
<<drop $potions "Obedience Draught" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if !($potions.has("Feminizing Draught") or $potions.has("Sensual Attunement Elixir") or $potions.has("Obedience Draught"))>>
<li class="dessil-option dessil-locked">
No suitable potions in your inventory.
</li>
<</if>>
<<else>>
<li class="dessil-option dessil-locked">
Dessil is too tense for such invasive brews.
</li>
<</if>>
<<elseif $dessilFemStage == 3>>
<<if $dessil.trust >= 90 and $dessil.suspicion <= 10>>
<<if $potions.has("Essence of Femininity") and !$dessilGivenEssence>>
<li class="dessil-option">
<<link "Essence of Femininity">>
<<set $potionGiven = 9>>
<<drop $potions "Essence of Femininity" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Aphrodisiac Elixir") and !$dessilGivenAphro and $dessilGivenEssence>>
<li class="dessil-option">
<<link "Aphrodisiac Elixir">>
<<set $potionGiven = 10>>
<<drop $potions "Aphrodisiac Elixir" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if $potions.has("Bonding Serum") and !$dessilGivenBonding and $dessilGivenEssence>>
<li class="dessil-option">
<<link "Bonding Serum">>
<<set $potionGiven = 11>>
<<drop $potions "Bonding Serum" 1>>
<<goto "DessinPotionGive">>
<</link>>
</li>
<</if>>
<<if !($potions.has("Aphrodisiac Elixir") or $potions.has("Essence of Femininity") or $potions.has("Bonding Serum"))>>
<li class="dessil-option dessil-locked">
No suitable potions in your inventory.
</li>
<</if>>
<<else>>
<li class="dessil-option dessil-locked">
Dessil is too unstable for final-stage brews.
</li>
<</if>>
<</if>>
</ul>
<ul class="dessil-choices">
<li class="dessil-back">
<<link "Back to Dessil">>
<<goto "DessilHub">>
<</link>>
</li>
</ul>
<style>
.dessil-menu {
list-style: none;
margin: 1rem 0;
padding: 0;
}
.dessil-option {
margin: 0.35rem 0;
}
.dessil-option a.link-internal {
display: block;
padding: 0.55rem 0.9rem;
border-radius: 8px;
background: rgba(20, 12, 8, 0.85);
border: 1px solid #b49064;
color: #f3e3c8;
text-decoration: none;
font-family: "Cardo","Georgia",serif;
transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}
.dessil-option a.link-internal:hover {
background: rgba(60, 40, 25, 0.95);
box-shadow: 0 0 8px rgba(180,145,100,0.6);
transform: translateY(-1px);
}
.dessil-option.dessil-locked {
padding: 0.55rem 0.9rem;
border-radius: 8px;
background: rgba(20, 12, 8, 0.6);
border: 1px dashed #7b5a3a;
color: #b79b7a;
font-style: italic;
}
.dessil-choices {
list-style: none;
margin-top: 1.2rem;
padding: 0;
}
.dessil-back a.link-internal {
display: block;
text-align: center;
padding: 0.7rem 1rem;
border-radius: 10px;
background: #3a2817;
border: 1px solid #c49a54;
color: #f7e5c8;
text-decoration: none;
font-weight: 600;
letter-spacing: 0.03em;
}
.dessil-back a.link-internal:hover {
background: #4a341e;
box-shadow: 0 0 10px rgba(250,210,110,0.45);
}
</style>
<<switch $potionGiven>>
<<case 1>> /* Softening Tea - Tier 1, Stage 0 */
<<dessil>>
<em>He snatches the vial from my hand, eyes burning with resentment.</em> Only because you're my student. Don't think this means I trust you.<br>
<em>He drinks grudgingly. Tension visibly drains from his rigid shoulders, jaw unclenches against his will.</em><br>
I hate this... hate how calm it makes me feel around you. <em>His voice softens unwillingly, gaze flickering with unwanted peace as he slumps slightly.</em>
<</dessil>>
<<case 2>> /* Suggestibility Infusion - Tier 1, Stage 0 */
<<dessil>>
Fine, pupil. Show me your 'progress.' <em>He takes the vial with obvious skepticism, downs it in one go.</em><br>
<em>Pupils suddenly dilate wide.</em> Stand closer while we work. <em>I step forward without thinking twice.</em><br>
That's... dangerous alchemy. But maybe you're right about some things. <em>He leans in unconsciously, hanging on my every word now.</em>
<</dessil>>
<<case 3>> /* Body Awareness Tonic - Tier 1, Stage 0 */
<<dessil>>
This better be educational. <em>He scowls deeply but drinks. Then my finger accidentally grazes his arm.</em><br>
<em>His entire body jerks like lightning hit. Face explodes red, every nerve suddenly screaming awareness.</em><br>
STOP TOUCHING ME! <em>But his trembling hands, hardened nipples through robe, and goosebumps everywhere betray total sensitivity.</em>
<</dessil>>
<<case 4>> /* Mild Feminizing Draught - Tier 2, Stage 1 */
<<dessil>>
This crosses every professional line. You understand that? <em>He stares at the vial for long minutes, finally drinks.</em><br>
<em>Skin visibly smooths before my eyes. Hips soften into subtle curves. Nipples harden painfully against his robe fabric.</em><br>
You've RUINED me as a man... <em>His voice cracks with panic as trembling hands clutch his budding chest.</em>
<</dessil>>
<<case 5>> /* Libido Spark - Tier 2, Stage 1 */
<<dessil>>
<em>Wary sip. Then heat explodes between his legs. Cock tents his robe obscenely, throbbing visibly.</em><br>
Control yourself! This is indecent for an alchemist! <em>But his thighs squeeze together, hips twitching needily toward me.</em><br>
<em>Sweat beads on his forehead. Precum soaks through fabric as he fights the urges I ignited.</em>
<</dessil>>
<<case 6>> /* Feminizing Draught - Tier 3, Stage 2 */
<<dessil>>
This will destroy everything I am. <em>Long trembling hesitation, then gulp. Breasts swell rapidly to A-cups.</em><br>
I'm becoming... a WOMAN?! <em>Ass rounds dramatically, voice jumps an octave higher mid-sentence. Hips sway involuntarily.</em><br>
<em>Feminine whimper escapes as new curves settle, hands cupping heavy new tits in shock.</em>
<</dessil>>
<img src="images/beggarRank/dessilTits.jpg" class="scene-image">
<<case 7>> /* Sensual Attunement Elixir - Tier 3, Stage 2 */
<<dessil>>
<em>He drinks eagerly now. Every touch explodes like lightning.</em><br>
Nngh... touch me EVERYWHERE. Please, mister... <em>Nipples leak milk through robe at my whisper alone, ass clenching desperately.</em><br>
<em>Body arches toward me uncontrollably, small cock growing visibly, begging for contact without words.</em>
<</dessil>>
<img src="images/beggarRank/dessilLactation.webp" class="scene-image">
<<case 8>> /* Obedience Draught - Tier 3, Stage 2 */
<<dessil>>
<em>One sip and he drops to his knees automatically before me, eyes glazing with perfect devotion.</em> Command your master, daddy... please.<br>
<em>Mouth waters visibly, tongue flicking out unconsciously. Hands clasp behind back in perfect submission pose as I stroke his cheek.</em><br>
<em>He sucks my fingers desperately, moaning around them like cock. Precum drips from his twitching cocklette.</em><br>
Anything... everything you desire. <em>I slap his face lightly,he whimpers gratefully, grinding against air.</em>
<</dessil>>
<img src="images/beggarRank/dessilFinger.webp" class="scene-image">
<<case 9>> /* Essence of Femininity - Tier 4, Stage 3 */
<img src="images/beggarRank/dessilPussy.webp" class="scene-image">
<<dessil1>>
<em>Final transformation vial. Perfect hourglass locks permanently. Makeup appears on face, lips plumping seductively as breasts swell to E-cups.</em><br>
I'm yours forever... your perfect girl.
<</dessil1>>
<img src="images/beggarRank/dessilEcup.webp" class="scene-image">
<<gg>>
<em>I squeeze her massive tits,milk sprays across my hands. She moans high-pitched, pussy clenching visibly.<br>
I bend her over the alchemy table, spanking perfect ass red. Each slap makes her curves jiggle hypnotically.</em>
<</gg>>
<img src="images/beggarRank/dessilSpank.webp" class="scene-image">
<<case 10>> /* Aphrodisiac Elixir - Tier 4, Stage 3 */
<<dessil1>>
Need this... NEED YOU! <em>She chugs desperately. Body convulses, pussy squirts untouched across lab floor.</em><br>
<</dessil1>>
<img src="images/beggarRank/dessilWet.webp" class="scene-image">
<<dessil1>>
FUCK ME! USE YOUR ALCHEMIST WHORE! <em>I ram my cock down her throat,she gags happily, tears streaming, makeup ruined.</em><br>
<</dessil1>>
<img src="images/beggarRank/dessilDeepThroat.webp" class="scene-image">
<<gg>>
<em>I mount her like an animal doggystyle, pounding ruined pussy. Ass ripples from each brutal thrust, screams echo through the lab.</em>
<</gg>>
<img src="images/beggarRank/dessilDoggy.webp" class="scene-image">
<<case 11>> /* Bonding Serum - Tier 4, Stage 3 */
<<dessil1>>
<em>She drinks with religious reverence. Heart binds eternally to me as I collar her neck possessively.</em> Master... only you matter now. Forever.<br>
<</dessil1>><br>
<<gg>>
<em>I finger her dripping pussy roughly,she cums instantly, squirting across my hand, legs shaking uncontrollably.</em>
<</gg>><br>
<img src="images/beggarRank/dessilFingering.webp" class="scene-image">
<<dessil1>>
Never leave me... need your commands, your touch, your seed... <em>I breed her missionary deep, cock stretching womb as her eyes roll back, heart-shaped.</em>
<</dessil1>>
<<run $questsData.setStatus("dessilCorrupt", "completed")>>
<<set $collected['dessil_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<img src="images/beggarRank/dessilCreampie.webp" class="scene-image">
<</switch>>
<<switch $potionGiven>>
<<case 1>><<set $dessilGivenSofteningTea = true>>
<<case 2>><<set $dessilGivenSuggestibility = true>>
<<case 3>><<set $dessilGivenBodyAware = true>>
<<case 4>><<set $dessilGivenMildFem = true>>
<<case 5>><<set $dessilGivenLibidoSpark = true>>
<<case 6>><<set $dessilGivenFeminizing = true>>
<<case 7>><<set $dessilGivenSensual = true>>
<<case 8>><<set $dessilGivenObedience = true>>
<<case 9>><<set $dessilGivenEssence = true>>
<<case 10>><<set $dessilGivenAphro = true>>
<<case 11>><<set $dessilGivenBonding = true>>
<</switch>>
<<set $dessil.trust = 0>>
<<set $dessil.suspicion = 60>>
<<set $dessil.addiction += 10>>
<<switch $dessilFemStage>>
<<case 0>>
<<set $dessilPotionsStage0 += 1>>
<<if $dessilPotionsStage0 >= 3>>
<<set $dessilFemStage = 1>>
<</if>>
<<case 1>>
<<set $dessilPotionsStage1 += 1>>
<<if $dessilPotionsStage1 >= 2>>
<<set $dessilFemStage = 2>>
<</if>>
<<case 2>>
<<set $dessilPotionsStage2 += 1>>
<<if $dessilPotionsStage2 >= 3>>
<<set $dessilFemStage = 3>>
<</if>>
<<case 3>>
<<set $dessilPotionsStage3 += 1>>
<<if $dessilPotionsStage3 >= 3>>
<<set $dessilFemStage = 4>>
<</if>>
<</switch>>
<div class="dessil-after-buttons">
<span class="royal-button">
<<button "Back to Dessil">>
<<goto "DessilHub">>
<</button>>
</span>
</div>
<style>
.dessil-after-buttons {
margin-top: 1.5rem;
text-align: center;
}
.dessil-after-buttons .royal-button button {
padding: 0.7rem 1.6rem;
border-radius: 10px;
border: 1px solid #c49a54;
background: #3a2817;
color: #f7e5c8;
font-weight: 600;
letter-spacing: 0.03em;
cursor: pointer;
}
.dessil-after-buttons .royal-button button:hover {
background: #4a341e;
box-shadow: 0 0 10px rgba(250,210,110,0.45);
}
</style>
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Работа</span>
<span class="dessil-card-badge"><<$dessilCurrentCard.id>></span>
</div>
<div class="dessil-card-body"><<$dessilCurrentCard.text>></div>
<ul class="dessil-choices">
<<for _opt range $dessilCurrentCard.options>>
<<link _opt.label>>
<<run $dessilCurrentCard = null>>
<<for _effect range _opt.effects>>
<<if _effect.type == "trust">><<set $dessil.trust += _effect.amount>><</if>>
<<if _effect.type == "suspicion">><<set $dessil.suspicion += _effect.amount>><</if>>
<<if _effect.type == "addiction">><<set $dessil.addiction += _effect.amount>><</if>>
<<if _effect.type == "lesson">><<set $dessil.lesson += _effect.amount>><</if>>
<</for>>
<<goto _opt.next == "random" ? "DessilDay" : _opt.next>>
<</link>>
<</for>>
</ul>
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Lab work</span>
<span class="dessil-card-badge">Stage 0</span>
</div>
<<set _rand to Math.floor(Math.random() * 6)>>
<<switch _rand>>
<<case 0>>
<div class="dessil-card-body">
<p><em>The mortar shakes under my hands. Dessil’s gaze weighs on my neck.</em></p>
<p>'Faster. Precision matters.'</p>
</div>
<<set $resultEvent = "grind">>
<<case 1>>
<div class="dessil-card-body">
<p><em>A line of cloudy vials waits for scrubbing. Bitter vapors sting my nose.</em></p>
<p>'Do not inhale residues, unless you enjoy hallucinations.'</p>
</div>
<<set $resultEvent = "vials">>
<<case 2>>
<div class="dessil-card-body">
<p><em>Mandrake roots sprawl across the board, fibrous and stubborn.</em></p>
<p>'I said thin slices, not butcher work.'</p>
</div>
<<set $resultEvent = "mandrake">>
<<case 3>>
<div class="dessil-card-body">
<p><em>Moonstone dust glitters on the scale pan, trembling with every breath.</em></p>
<p>'One grain too much and the brew goes wild.'</p>
</div>
<<set $resultEvent = "moonstone">>
<<case 4>>
<div class="dessil-card-body">
<p><em>The flame under the retort keeps sputtering, licking the glass unevenly.</em></p>
<p>'Control the fire, or it will control you.'</p>
</div>
<<set $resultEvent = "flame">>
<<case 5>>
<div class="dessil-card-body">
<p><em>Thick extract crawls through the filter cloth, threatening to clog it completely.</em></p>
<p>'Alchemy punishes impatience.'</p>
</div>
<<set $resultEvent = "filter">>
<</switch>>
<ul class="dessil-choices">
<<if $resultEvent == "grind">>
<li>
<<link "Grind perfectly" >>
<<set $resultKey = "grind_good">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Spill some powder" >>
<<set $resultKey = "grind_bad">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "vials">>
<li>
<<link "Work in silence" >>
<<set $resultKey = "vials_silent">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Ask about vapors" >>
<<set $resultKey = "vials_ask">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "mandrake">>
<li>
<<link "Slice clean and thin" >>
<<set $resultKey = "mandrake_good">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Hack it quickly" >>
<<set $resultKey = "mandrake_bad">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "moonstone">>
<li>
<<link "Hold breath, measure exact" >>
<<set $resultKey = "moonstone_good">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Dump a little extra" >>
<<set $resultKey = "moonstone_bad">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "flame">>
<li>
<<link "Steady the flame" >>
<<set $resultKey = "flame_good">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Crank the fire up" >>
<<set $resultKey = "flame_bad">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "filter">>
<li>
<<link "Wait, let it drip" >>
<<set $resultKey = "filter_good">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Press it through" >>
<<set $resultKey = "filter_bad">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
</ul>
<div class="dessil-card-footer">
<span class="dessil-round">Stage 0 · Daily work</span>
<span class="dessil-tip">Small habits shape his opinion of you.</span>
</div>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card end">
<<set _good = [
"grind_good","vials_silent","vials_ask",
"mandrake_good","moonstone_good",
"flame_good","filter_good"
].includes($resultKey)>>
<div class="dessil-card-header">
<span class="dessil-card-tag">Result</span>
</div>
<div class="dessil-card-body">
<<switch $resultKey>>
<<case "grind_good">>
<<set $dessil.trust += 8>><<set $dessil.suspicion -= 5>>
<p>'Finally, your hands remember what I taught.'</p>
<p><em>He does not smile, but the edge in his voice softens.</em></p>
<<case "grind_bad">>
<<set $dessil.trust -= 5>><<set $dessil.suspicion += 8>>
<p>'You call this grinding? That powder is ruined.'</p>
<p><em>He makes a note in his ledger. That never means anything good.</em></p>
<<case "vials_silent">>
<<set $dessil.trust += 9>><<set $dessil.suspicion -= 7>>
<p>'No complaints, no breakages. Acceptable.'</p>
<p><em>Silence suits him; for once he does not sound annoyed.</em></p>
<<case "vials_ask">>
<<set $dessil.trust += 7>><<set $dessil.suspicion -= 10>>
<p>'Curiosity about fumes will keep you alive. Or at least interesting.'</p>
<p><em>For a moment, the lecture sounds almost like praise.</em></p>
<<case "mandrake_good">>
<<set $dessil.trust += 9>><<set $dessil.suspicion -= 11>>
<p>'Even mandrake behaves for a steady hand. Not bad.'</p>
<p><em>The roots lie in neat rows, and his eyes linger on them with grudging respect.</em></p>
<<case "mandrake_bad">>
<<set $dessil.suspicion += 12>>
<p>'Brute force is for butchers, not alchemists.'</p>
<p><em>He brushes the ruined pieces aside like scraps.</em></p>
<<case "moonstone_good">>
<<set $dessil.trust += 11>><<set $dessil.suspicion -= 13>>
<p>'You are learning not to breathe at the wrong moment. Progress.'</p>
<p><em>The dust settles perfectly on the scale; your lungs burn, but his approval is worth it.</em></p>
<<case "moonstone_bad">>
<<set $dessil.trust -= 14>><<set $dessil.suspicion += 13>>
<p>'Too much. If it explodes, you clean the ceiling.'</p>
<p><em>The scale tips, and so does his patience.</em></p>
<<case "flame_good">>
<<set $dessil.trust += 15>><<set $dessil.suspicion -= 10>>
<p>'Controlled fire. Better than most apprentices manage.'</p>
<p><em>The glass gleams in steady orange, and for once he just watches.</em></p>
<<case "flame_bad">>
<<set $dessil.suspicion += 20>>
<p>'Trying to burn my lab already?'</p>
<p><em>The flare dies quickly, but the look he gives me does not.</em></p>
<<case "filter_good">>
<<set $dessil.trust += 14>><<set $dessil.suspicion -= 11>>
<p>'Patience. A rare resource in this city.'</p>
<p><em>Drop by drop, the extract clears; he nods, almost satisfied.</em></p>
<<case "filter_bad">>
<<set $dessil.suspicion += 23>>
<p>'And there goes the filter. Again.'</p>
<p><em>The cloth rips in my hands, and sticky liquid stains the table.</em></p>
<<case "shelf_chest_polite">>
<<set $dessil.trust += 9>><<set $dessil.suspicion -= 12>>
<p>'At least one of us remembers professionalism,' he says, taking the reagent.</p>
<p><em>I keep my eyes strictly on the glassware, not on how the robe fits him.</em></p>
<<case "shelf_chest_stare">>
<<set $dessil.suspicion += 15>><<set $dessil.trust -= 12>>
<p>'If you are done studying my robe, the mixture is waiting,' he snaps.</p>
<p><em>He turns away a little too sharply, fabric pulling across his chest again.</em></p>
<<case "touch_awareness_apology">>
<<set $dessil.trust += 14>><<set $dessil.suspicion -= 13>>
<p>'Good. You understand boundaries. The potion does not.'</p>
<p><em>He flexes his fingers once, as if testing the strange sensitivity.</em></p>
<<case "touch_awareness_probe">>
<<set $dessil.suspicion += 15>><<set $dessil.trust += 21>>
<p>He shudders. 'Are you experimenting on me now? Bold.'</p>
<p><em>Despite the glare, he does not pull away as quickly as he could.</em></p>
<<case "belt_waist_comment">>
<<set $dessil.trust += 12>><<set $dessil.suspicion += 13>>
<p>'Of course it is reshaping me. That was the point,' he says, but a faint color touches his cheeks.</p>
<p><em>My words hang between clinical observation and something more.</em></p>
<<case "belt_waist_ignore">>
<<set $dessil.trust += 14>><<set $dessil.suspicion -= 11>>
<p>'At least you know when not to comment,' he mutters, tightening the belt.</p>
<p><em>He seems oddly relieved that I let the change pass without a joke.</em></p>
<<case "lean_swell_clinic">>
<<set $dessil.trust += 15>><<set $dessil.suspicion -= 22>>
<p>'Increased weight, minor strain on posture. I will adjust the dosage,' he answers, almost grateful for the neutral tone.</p>
<p><em>He straightens, visibly filing the observation away as real data.</em></p>
<<case "lean_swell_tease">>
<<set $dessil.suspicion += 14>><<set $dessil.trust += 18>>
<p>'My chest is none of your concern,' he snaps, voice pitching just a little higher than before.</p>
<p><em>The way he folds his arms only makes the new shape more obvious.</em></p>
<<case "cauldron_bust_help">>
<<set $dessil.trust += 16>><<set $dessil.suspicion -= 22>>
<p>'Good reflexes,' he says as I steady the cauldron before it tips.</p>
<p><em>My hand brushes his robe, feeling the new weight beneath, but I say nothing.</em></p>
<<case "cauldron_bust_joke">>
<<set $dessil.trust += 11>><<set $dessil.suspicion += 16>>
<p>'The robe is not the problem,' he snaps. 'Your sense of humor is.'</p>
<p><em>Still, he tugs the fabric tighter across his chest, clearly self‑conscious.</em></p>
<<case "hips_bump_apology">>
<<set $dessil.trust += 15>><<set $dessil.suspicion -= 12>>
<p>'Lab space is tight,' he concedes, stepping aside just enough for us both to work.</p>
<p><em>The brief warmth of his softer hip lingers against my thigh.</em></p>
<<case "hips_bump_tease">>
<<set $dessil.trust += 15>><<set $dessil.suspicion += 16>>
<p>'Softness is a temporary side effect,' he insists, cheeks coloring.</p>
<p><em>He pointedly keeps his distance after that, but not quite out of reach.</em></p>
<<case "hair_offer_tie">>
<<set $dessil.trust += 16>><<set $dessil.suspicion -= 12>>
<p>He hesitates, then turns his back. 'Do it neatly. I refuse to look ridiculous.'</p>
<p><em>My fingers brush his neck as I tie the longer hair away from his face.</em></p>
<<case "hair_flatter">>
<<set $dessil.trust += 23>><<set $dessil.suspicion += 12>>
<p>'It suits the current form. Nothing more,' he says too quickly.</p>
<p><em>The way he avoids my eyes says otherwise.</em></p>
<<case "strap_ignore">>
<<set $dessil.trust += 14>><<set $dessil.suspicion -= 15>>
<p>He finishes the adjustment in silence, then nods at your notes. 'At least one of us is focused.'</p>
<p><em>I pretend not to hear the relieved sigh he lets out.</em></p>
<<case "strap_ask">>
<<set $dessil.trust += 22>><<set $dessil.suspicion += 14>>
<p>'It is tight, irritating, and unfortunately necessary,' he answers, jaw tense.</p>
<p><em>My question lingers somewhere between concern and curiosity.</em></p>
<<case "bend_breasts_help">>
<<set $dessil.trust += 17>><<set $dessil.suspicion -= 23>>
<p>I catch the shelf before it rattles. 'Thank you,' he says tightly. 'Gravity is… less forgiving now.'</p>
<p><em>I keep my eyes on the jars, not on how his chest settles when he straightens.</em></p>
<<case "bend_breasts_tease">>
<<set $dessil.trust += 11>><<set $dessil.suspicion += 17>>
<p>'I do not require your wardrobe advice,' he snaps, arms crossing under the heavy curve.</p>
<p><em>The gesture only lifts and frames his breasts more, to his obvious annoyance.</em></p>
<<case "hips_sway_match">>
<<set $dessil.trust += 16>><<set $dessil.suspicion -= 21>>
<p>Without a word, I fall into step beside him, adjusting to his new center of balance.</p>
<p><em>He notices, a small, grudging smile flickering at the corner of his mouth.</em></p>
<<case "hips_sway_comment">>
<<set $dessil.trust += 22>><<set $dessil.suspicion += 14>>
<p>'My gait adapted. The experiment is working,' he says, but his ears turn pink.</p>
<p><em>My words hang between observation and admiration.</em></p>
<<case "damp_potion_ignore">>
<<set $dessil.trust += 15>><<set $dessil.suspicion -= 22>>
<p>He follows my gaze to the notes instead of the stain and exhales. 'Good. You are learning what matters.'</p>
<p><em>The way he adjusts his robe says he is still painfully aware of it.</em></p>
<<case "damp_potion_help">>
<<set $dessil.trust += 16>><<set $dessil.suspicion += 21>>
<p>I hand him a clean cloth without comment. 'Efficient and discreet. Acceptable traits,' he murmurs.</p>
<p><em>My averted eyes give him the illusion of privacy he desperately wants.</em></p>
<<case "lingering_touch_hold">>
<<set $dessil.trust += 13>><<set $dessil.suspicion += 15>>
<p>His fingers tense, then relax around mine. 'That is… long enough,' he whispers, not quite pulling away.</p>
<p><em>The contact leaves both of us more aware of how delicate his hand has become.</em></p>
<<case "lingering_touch_pullback">>
<<set $dessil.trust += 17>><<set $dessil.suspicion -= 22>>
<p>I withdraw first, steadying the vial instead. 'Professionalism. Finally,' he says, though his voice is softer.</p>
<p><em>He flexes his hand once, as if missing the brief warmth.</em></p>
<</switch>>
</div>
<<set $dessil.trust = Math.clamp($dessil.trust, 0, 100)>>
<<set $dessil.suspicion = Math.clamp($dessil.suspicion, 0, 100)>>
<div class="dessil-hud">
<div class="dessil-hud-header">
<span class="dessil-hud-name">Dessil</span>
<span class="dessil-hud-tag">Attitude</span>
</div>
<div class="dessil-hud-rows">
<div class="dessil-hud-row">
<span class="dessil-hud-label">Trust</span>
<span class="alch-value">$dessil.trust</span>
</div>
<div class="dessil-hud-row">
<span class="dessil-hud-label">Suspicion</span>
<span class="alch-value">$dessil.suspicion</span>
</div>
</div>
</div>
<div class="dessil-card-footer">
<span class="dessil-round">Stage 0 · Daily work</span>
<span class="dessil-tip">
<<if _good>>He files this under “competent enough”.<<else>>He adds this to the list of your mistakes.<</if>>
</span>
</div>
<ul class="dessil-choices">
<li>
<<link "Back to Dessil">><<goto "DessilHub">><</link>>
</li>
</ul>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Lab work</span>
<span class="dessil-card-badge">Stage 1</span>
</div>
<<set _rand to Math.floor(Math.random() * 4)>>
<<switch _rand>>
<<case 0>>
<div class="dessil-card-body">
<p><em>Reaching for a high shelf, his robe pulls tight across a subtly softer chest.</em></p>
<p>'Eyes on the reagents, not on me.'</p>
</div>
<<set $resultEvent = "shelf_chest">>
<<case 1>>
<div class="dessil-card-body">
<p><em>When your hand brushes his sleeve, he flinches as if the fabric burned him.</em></p>
<p>'The Body Awareness tincture works too well,' he mutters.</p>
</div>
<<set $resultEvent = "touch_awareness">>
<<case 2>>
<div class="dessil-card-body">
<p><em>He adjusts his belt again, fingers lingering where his waist has grown a little narrower.</em></p>
<p>'Stop staring. The potion is behaving exactly as calculated.'</p>
</div>
<<set $resultEvent = "belt_waist">>
<<case 3>>
<div class="dessil-card-body">
<p><em>While he leans over the table, you notice the faintest swell under his robe when he breathes.</em></p>
<p>'If you have feedback on the formula, use words, not your gaze.'</p>
</div>
<<set $resultEvent = "lean_swell">>
<</switch>>
<ul class="dessil-choices">
<<if $resultEvent == "shelf_chest">>
<li>
<<link "Ignore and pass the reagent" >>
<<set $resultKey = "shelf_chest_polite">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Let your eyes linger on his chest" >>
<<set $resultKey = "shelf_chest_stare">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "touch_awareness">>
<li>
<<link "Apologize and pull your hand back" >>
<<set $resultKey = "touch_awareness_apology">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Test it, brush him again deliberately" >>
<<set $resultKey = "touch_awareness_probe">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "belt_waist">>
<li>
<<link "'The formula is reshaping you nicely.'" >>
<<set $resultKey = "belt_waist_comment">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Pretend you saw nothing" >>
<<set $resultKey = "belt_waist_ignore">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "lean_swell">>
<li>
<<link "Ask clinically about side effects" >>
<<set $resultKey = "lean_swell_clinic">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Tease: 'Chest feels heavier yet?'" >>
<<set $resultKey = "lean_swell_tease">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
</ul>
<div class="dessil-card-footer">
<span class="dessil-round">Stage 1 · Subtle changes</span>
<span class="dessil-tip">He notices every glance as much as every mistake.</span>
</div>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Lab work</span>
<span class="dessil-card-badge">Stage 2</span>
</div>
<<set _rand to Math.floor(Math.random() * 4)>>
<<switch _rand>>
<<case 0>>
<div class="dessil-card-body">
<p><em>He leans over the cauldron; the front of his robe brushes the rim, hinting at a new heaviness on his chest.</em></p>
<p>'Careful with the heat. The mixture is already volatile.'</p>
</div>
<<set $resultEvent = "cauldron_bust">>
<<case 1>>
<div class="dessil-card-body">
<p><em>A measuring flask slips; he grabs it, but the motion makes his now‑softer hips bump into you.</em></p>
<p>'Watch where you stand. Space is limited.'</p>
</div>
<<set $resultEvent = "hips_bump">>
<<case 2>>
<div class="dessil-card-body">
<p><em>While sorting ingredients, a lock of longer, softer hair falls into his eyes.</em></p>
<p>'The growth rate is within parameters,' he insists, tucking it back.</p>
</div>
<<set $resultEvent = "hair_comment">>
<<case 3>>
<div class="dessil-card-body">
<p><em>He adjusts the straps under his robe with a quiet hiss; something new is digging into his skin.</em></p>
<p>'Support garments are a necessary compromise,' he mutters.</p>
</div>
<<set $resultEvent = "strap_support">>
<</switch>>
<ul class="dessil-choices">
<<if $resultEvent == "cauldron_bust">>
<li>
<<link "Step in and steady the cauldron" >>
<<set $resultKey = "cauldron_bust_help">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Joke about the robe getting in the way" >>
<<set $resultKey = "cauldron_bust_joke">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "hips_bump">>
<li>
<<link "Step back and apologize" >>
<<set $resultKey = "hips_bump_apology">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Stay close and remark how soft he feels" >>
<<set $resultKey = "hips_bump_tease">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "hair_comment">>
<li>
<<link "Offer to tie his hair back" >>
<<set $resultKey = "hair_offer_tie">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "'It suits you more than you admit.'" >>
<<set $resultKey = "hair_flatter">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "strap_support">>
<li>
<<link "Pretend not to notice, focus on the notes" >>
<<set $resultKey = "strap_ignore">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Ask if the new support is comfortable" >>
<<set $resultKey = "strap_ask">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
</ul>
<div class="dessil-card-footer">
<span class="dessil-round">Stage 2 · Noticeable curves</span>
<span class="dessil-tip">Curiosity and teasing now cut much deeper.</span>
</div>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Lab work</span>
<span class="dessil-card-badge">Stage 3</span>
</div>
<<set _rand to Math.floor(Math.random() * 4)>>
<<switch _rand>>
<<case 0>>
<div class="dessil-card-body">
<p><em>He bends to reach a lower shelf; his now‑full breasts press against the bench, straining the robe.</em></p>
<p>'Do not even think about commenting,' he says without looking back.</p>
</div>
<<set $resultEvent = "bend_breasts">>
<<case 1>>
<div class="dessil-card-body">
<p><em>As he crosses the lab, his hips sway with an unwilling, newly learned rhythm.</em></p>
<p>'The center of balance shifted. That is all,' he mutters.</p>
</div>
<<set $resultEvent = "hips_sway">>
<<case 2>>
<div class="dessil-card-body">
<p><em>He adjusts the front of his robe; a damp patch hints that the latest potion is affecting more than mood.</em></p>
<p>'Side effect. Contained. Focus on the recipe.'</p>
</div>
<<set $resultEvent = "damp_potion">>
<<case 3>>
<div class="dessil-card-body">
<p><em>When you hand him a vial, your fingers brush; his softened, finer hand lingers around yours.</em></p>
<p>'Hold it steady. Your pulse is distracting.'</p>
</div>
<<set $resultEvent = "lingering_touch">>
<</switch>>
<ul class="dessil-choices">
<<if $resultEvent == "bend_breasts">>
<li>
<<link "Wordlessly steady the shelf for him" >>
<<set $resultKey = "bend_breasts_help">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Offer a teasing 'Need a better bra?'" >>
<<set $resultKey = "bend_breasts_tease">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "hips_sway">>
<li>
<<link "Match his new rhythm without a word" >>
<<set $resultKey = "hips_sway_match">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "You walk differently now." >>
<<set $resultKey = "hips_sway_comment">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "damp_potion">>
<li>
<<link "Pretend not to see the damp spot" >>
<<set $resultKey = "damp_potion_ignore">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Quietly offer a cloth and look away" >>
<<set $resultKey = "damp_potion_help">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "lingering_touch">>
<li>
<<link "Hold his hand a heartbeat longer" >>
<<set $resultKey = "lingering_touch_hold">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<li>
<<link "Pull back first, keep it professional" >>
<<set $resultKey = "lingering_touch_pullback">>
<<goto "DessilLabResult0">>
<</link>>
</li>
<</if>>
</ul>
<div class="dessil-card-footer">
<span class="dessil-round">Stage 3 · Fully altered</span>
<span class="dessil-tip">Every touch and glance now lands directly on exposed nerves.</span>
</div>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card">
<div class="dessil-card-header">
<span class="dessil-card-tag">Private session</span>
<span class="dessil-card-badge">Fully bound</span>
</div>
<<set _rand to Math.floor(Math.random() * 4)>>
<<switch _rand>>
<<case 0>>
<!-- BENCH RIDE -->
<div class="dessil-card-body">
<p><em>Tonight I want to have your pussy, but will it be hard or... Should I edge you ?</em></p>
<p>'I am ready,' she whispers. 'Use me as you planned.'</p>
</div>
<<set $resultEvent = "sex_bench_ride">>
<<case 1>>
<!-- DESK ORAL -->
<div class="dessil-card-body">
<p><em>The desk is cluttered with notes; beneath it, Dessil kneels between my legs, lips already parted for me.</em></p>
<p>'No one will disturb us,' she promises. 'Let me focus on you.'</p>
</div>
<<set $resultEvent = "sex_desk_oral">>
<<case 2>>
<!-- RACK + POTIONS -->
<div class="dessil-card-body">
<p><em>Leather straps hold her against the restraint frame, breasts rising and falling as potion‑glossed skin shivers under my gaze.</em></p>
<p>'You will decide when I am allowed to finish,' she says, half‑plea, half‑mantra.</p>
</div>
<<set $resultEvent = "sex_rack_potions">>
<<case 3>>
<!-- WORSHIP / KNEEL -->
<div class="dessil-card-body">
<p><em>She waits on her knees at my feet, hands resting on her thighs, eyes lowered and lips already wet.</em></p>
<p>'Command me. I exist for that now,' she breathes.</p>
</div>
<<set $resultEvent = "sex_worship_kneel">>
<</switch>>
<ul class="dessil-choices">
<<if $resultEvent == "sex_bench_ride">>
<li>
<<link "Make her ride me hard on the bench" >>
<<set $resultKey = "sex_bench_ride_hard">>
<<goto "DessilSexResult">>
<</link>>
</li>
<li>
<<link "Slow, edging rhythm until she begs" >>
<<set $resultKey = "sex_bench_ride_edge">>
<<goto "DessilSexResult">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "sex_desk_oral">>
<li>
<<link "Hold her head and use her throat">>
<<set $resultKey = "sex_desk_oral_throat">>
<<goto "DessilSexResult">>
<</link>>
</li>
<li>
<<link "Make her worship me slowly, licking every inch">>
<<set $resultKey = "sex_desk_oral_worship">>
<<goto "DessilSexResult">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "sex_rack_potions">>
<li>
<<link "Edge her with tiny potion doses and denial" >>
<<set $resultKey = "sex_rack_potions_edge">>
<<goto "DessilSexResult">>
<</link>>
</li>
<li>
<<link "Overwhelm her, push her through multiple orgasms" >>
<<set $resultKey = "sex_rack_potions_overload">>
<<goto "DessilSexResult">>
<</link>>
</li>
<</if>>
<<if $resultEvent == "sex_worship_kneel">>
<li>
<<link "Make her kiss and lick every part of me" >>
<<set $resultKey = "sex_worship_full">>
<<goto "DessilSexResult">>
<</link>>
</li>
<li>
<<link "Have her beg and recite how completely she belongs to me" >>
<<set $resultKey = "sex_worship_pledge">>
<<goto "DessilSexResult">>
<</link>>
</li>
<</if>>
</ul>
<div class="dessil-card-footer">
<span class="dessil-round">Private · Random scenario</span>
<span class="dessil-tip">Every visit, a different way to remind her who owns her.</span>
</div>
</div>
</div>
<div class="dessil-day-root">
<div class="dessil-card end">
<div class="dessil-card-header">
<span class="dessil-card-tag">Aftermath</span>
<span class="dessil-card-badge">Used</span>
</div>
<div class="dessil-card-body">
<<switch $resultKey>>
<<case "sex_bench_ride_hard">>
<p><img src="images/beggarRank/dessilLap.webp" class="scene-image"></p> <br>
<p>
I slam her down onto my lap again and again, feeling her new weight bounce against my chest.
Every time I drive up into her, she shouts, voice breaking high. “Ah! Gods, it’s so deep… don’t stop, don’t you dare to stop…”
</p><br>
<p><img src="images/beggarRank/dessilRide.webp" class="scene-image"></p><br>
<p>
I lock my hands on her hips and pound her until her legs shake and her breasts are slapping messily against me.
“Ride,” I growl into her ear, and she does, crying my name. “I’m yours, $name” she babbles, half‑sobbing. “Break me if you want, just keep using me, please, please…”
</p>
<br>
<p><img src="images/beggarRank/dessilCreampie1.webp" class="scene-image"></p><br>
<<case "sex_bench_ride_edge">>
<p><img src="images/beggarRank/dessilSlow.webp" class="scene-image"></p><br>
<p>
I make her sink down slow, almost all the way, then hold her there and grind in tiny, cruel circles.
Her thighs tremble around me, slick and hot, every breath a whine. “You know exactly what you’re doing,” she gasps. “You’re keeping me right on the edge…”
</p><br>
<p>
When I stop completely, buried just shallow enough to tease, she breaks.
“No, no, don’t freeze there,” she begs, fingers digging into my shoulders. “Let me cum, please. I’ll be good tomorrow, I’ll do whatever you want in the lab, just… don’t leave me hanging like this.”
</p><br>
<<case "sex_desk_oral_throat">>
<p><img src="images/beggarRank/dessilUnderTable.webp" class="scene-image"></p><br>
<p>
Under my desk she takes me to the hilt, throat tightening around me as I hold her by the hair and use her mouth.
Each thrust punches out a gag and a wet, desperate swallow, tears clinging to her lashes as she forces herself to relax for me.
</p><br>
<p><img src="images/beggarRank/dessilUnderTable1.webp" class="scene-image"></p><br>
<p>
I keep her down until her nails drum frantically against my thigh, then let her pull back just enough to gasp.
She licks her lips, voice hoarse. “Don’t go easy on me,” she whispers. “If you want my throat, take it. Shove me back under and don’t stop until you’re empty in me.”
</p><br>
<p><img src="images/beggarRank/dessilUnderTable2.webp" class="scene-image"></p><br>
<<case "sex_desk_oral_worship">>
<p>
Tonight I let her worship. She starts with a slow kiss at the base, then drags her tongue up every sensitive vein,
pausing wherever I twitch under her mouth. “You taste… perfect,” she breathes between licks. “Thank you for letting me have you like this.”
</p><br>
<p><img src="images/beggarRank/dessilUnderTable3.webp" class="scene-image"></p><br>
<p>
My fingers rest lazy in her hair as I guide her where I want; every little correction earns me a muffled moan.
“Tell me where you want to finish,” she begs softly. “On my tongue, over my face, down my throat… Just say it, and I’ll hold still and take it all for you.”
</p><br>
<p>
"Your tongue" I said commandly
</p><br>
<p><img src="images/beggarRank/dessilUnderTable4.webp" class="scene-image"></p><br>
<<case "sex_rack_potions_edge">>
<p><img src="images/beggarRank/dessilLeather.webp" class="scene-image"></p>
<p>
Strapped to the frame, she jerks at every drop of potion I let drip over her nipples and between her thighs.
Her back arches hard, chains rattling as she cries out, trying to grind against a hand that keeps stopping just before release.
</p><br>
<p><img src="images/beggarRank/dessilLeather1.webp" class="scene-image"></p><br>
<p>
I stroke her right up to the brink and take it away, again and again, until her voice is raw.
“Please, I can’t, I can’t take another almost,” she sobs, eyes wild. “Either let me cum or make me break, but don’t keep me burning, I’m begging you… I’ll drink whatever you brew, just please…”
</p><br>
<p><img src="images/beggarRank/dessilLeather2.webp" class="scene-image"></p><br>
<<case "sex_rack_potions_overload">>
<p><img src="images/beggarRank/dessilLeather3.webp" class="scene-image"></p><br>
<p>
This time I push her over instead of holding her back. The mix hits her nerves like lightning; orgasms roll through her so fast she can’t separate one from the next.
Her legs spasm uselessly, toes curling, words dissolving into wrecked screams as her soaked body jerks against the straps.
</p><br>
<p><img src="images/beggarRank/dessilLeather4.webp" class="scene-image"></p><br>
<p>
“N‑no more, I’m empty, I’m… I’ve got nothing left,” she gasps, and then another climax rips through her and she screams my name anyway.
I watch her fall apart on it, and she chokes out, “Take it, take all of me, I don’t need it, just keep your hands on me, keep me like this, I’m yours…”
</p><br>
<p><img src="images/beggarRank/dessilLeather5.webp" class="scene-image"></p><br>
<<case "sex_worship_full">>
<p>
Kneeling at my feet, she works her way up my body like I'm some temple idol.
Lips trace ankles → calves → inner thigh, each kiss slower, wetter, tongue lingering longer.
Her hands slide up my legs, nails dragging just enough to mark without breaking skin.
</p><br>
<p><img src="images/beggarRank/dessilCrawl.webp" class="scene-image"></p><br>
<p>
Hand in her hair steers: here, higher, *closer*.
"Yes," she breathes hot against cock, "I'll remember every inch..."
Mouth opens. slow at first, lips stretching wide, then deeper.
Saliva drips down chin as head bobs rhythmic, throat working to take more.
</p><br>
<p><img src="images/beggarRank/dessilCrawl1.webp" class="scene-image"></p><br>
<p>
Grip tightens "Faster." She obeys instantly, sloppy now, gagging but pushing through.
Hands brace on thighs, spit-slick sounds fill room.
Tension builds hips buck forward, fucking her face.
She moans around shaft, eyes watering, makeup ruined, completely surrendered.
</p><br>
<p><img src="images/beggarRank/dessilCrawl2.webp" class="scene-image"></p><br>
<p>
"Swallow." Final thrust—deep, pulsing.
She gulps convulsively, throat working, some spills from corner of mouth.
Pulls back gasping, strings of saliva/cum connecting lips to cock.
Collapses at feet, trembling, owned.
</p><br>
<p><img src="images/beggarRank/dessilCrawl3.webp" class="scene-image"></p><br>
<p>
Wipes her chin, looks up: "Did I please you?"
</p><br>
<<case "sex_worship_pledge">>
<p><img src="images/beggarRank/dessilWorsh.webp"></p><br>
<p>
I keep her forehead against my thigh, fingers twisted in her hair, and make her speak slowly.
“My body is yours,” she recites, voice shaking. I tug, and she repeats it louder. “My magic is yours. My time is yours. My pleasure is whatever you decide to give me.”
</p><br>
<p>
When I finally let her look up, the usual sharpness in her eyes is gone, melted into something soft and devoted.
“Give me orders I can’t undo,” she whispers. “Keep me on my knees, in your bed, chained in this lab, I’ll thank you for every command, as long as it’s yours.”
</p><br>
<</switch>>
</div>
<div class="dessil-card-footer">
<span class="dessil-round">Trust: <<$dessil.trust>> | Suspicion: <<$dessil.suspicion>></span>
<span class="dessil-tip">When I finally let her go, the last word on her tongue is still my name.</span>
</div><br>
<ul class="dessil-choices">
<li>
<<link "Send her to clean up" >>
<<goto "DessilHub">>
<</link>>
</li>
</ul>
</div>
</div>
<<gg>>
Excuse me. Are you the one in charge here?
<</gg>><br>
<<elara>>
Depends.
<em>Hazel eyes flick up, quick scan from boots to face.</em> If you’re here to complain about the noise, no. If you’re here to spend coin or make me some,then yes.
<</elara>><br>
<<gg>>
Former slave, currently unemployed beggar.
Looking for part‑time work before the universe remembers to screw me again.
<</gg>><br>
<<elara>>
<em>One eyebrow arches.</em>
Honest. That’s new.
What exactly can you do, besides bleed tragic backstory all over my floor?
<</elara>><br>
<<gg>>
Carry trays. Keep orders straight.
Pretend drunk nobles are funny when they aren’t.
And I don’t steal. Not anymore, at least.
<</gg>><br>
<<elara>>
“Not anymore” is doing a lot of work in that sentence.
<em>She wipe a mug, still watching.</em>
You ever worked a room like this before, or just imagining it’s easier than chains?
<</elara>><br>
<<gg>>
Worked a noble’s manor. Their banquets.
Less vomit on the tables, more on the carpets.
I can move through a crowd without being noticed. Or noticed, if that pays better.
<</gg>><br>
<<elara>>
Sometimes it does.
Here’s the thing, apprentice: tavern work is simple, but it’s not easy.
You show late, drop one tray, start a brawl we didn’t charge extra for,
and I throw you out faster than an empty keg.
<</elara>><br>
<<gg>>
And if I don’t?
<</gg>><br>
<<elara>>
Then you get coin in hand at the end of each shift and a place that doesn’t care who owned you yesterday.
Part‑time. Three nights a week to start.
You buss tables, run drinks, clean after close. No credit, no tabs in your name, and you don’t disappear when it gets loud.
<</elara>><br>
<<gg>>
What about tips?
<</gg>><br>
<<elara>>
Half yours, half goes to the house.
If I notice customers asking for you by name, we talk again.
If I notice them asking where their drinks are,same talk, different outcome.
<</elara>><br>
<<gg>>
Sounds almost fair.
What do you want right now?
<</gg>><br>
<<elara>>
Right now I want that corner table served before the dice players flip it,
and someone to mop later who isn’t me.
So.
<em>She lean in slightly across the counter.</em>
Do you actually want this job, or were you just hoping to be told “no” so you can feel wronged about it?
<</elara>><br>
<<gg>>
I want the job.
Part‑time. Cash at the end of the night.
You shout, I move.
<</gg>><br>
<<elara>>
Good answer.
We’ll call this a trial week. You fuck it up, you were “just helping out for a night.”
You don’t fuck it up, you’re on the roster.
<</elara>><br>
<<gg>>
Got it. Where do I start?
<</gg>><br>
<<elara>>
Aprons are on the hook by the kitchen door.
Take one, tie it tight, and start clearing empties from the left side of the room.
If someone grabs your ass, smile once. If they try again, you call me, not your fists.
I get to break the regulars. You just get paid.
<</elara>><br>
<<gg>>
And if they ask who I am?
<</gg>><br>
<<elara>>
You’re the new hire.
If you last the week, maybe you get a proper introduction.
Now move, part‑timer. You’re on my clock.
<</elara>><br>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class = "royal-button">
<<button "Back to tawern" Tawern>><</button>>
</span>
</div>
</div>
<<run $questsData.setStatus("tawernAsk", "completed")>>
<<run $questsData.add(
"corruptElara",
"Romance with Elara",
"I like Elara. Maybe I can romance her? I need to try to win her favor.",
"Elara?",
"images/characters/Elara.png"
)>>
<<run $questsData.add(
"tavernPromotion",
"Tavern promotion",
"I need to ask for a promotion, but I need some tavern reputation before... (atleast 10 and maybe... like 20 work shifts ?",
"More money per shift",
"images/characters/Elara.png"
)>>
<<run $questsData.add(
"tavernScenes",
"All tavern Events",
"I'm sure a lot can happen in a tavern, but will I see it all? ",
"",
"images/characters/Elara.png"
)>><<if $twShifts == 2>>
<<set $twEventSeen_T1 = true>>
<<gg>>
The shift’s almost over when one of the regulars – a flushed woman in a half‑laced dress –
staggers up to the counter with a mug and a grin too wide for her face.
<</gg>><br>
<<gg>>
I catch her elbow before she kisses the floor.
Bad idea.
That just means she ends up kissing me instead – or trying to.
<</gg>><br>
<<say 'Drunk woman'>>
<em>Her perfume is cheap and sweet; her breath is wine and bad decisions.
Before I can step back, she’s pressed against my side at the end of the bar,
one hand fisting in my shirt, the other already sliding down my hip toward your thigh.</em>
<</say>><br>
<<gg>>
Easy there.
Bar’s not going anywhere.
<</gg>><br>
<<say 'Drunk woman'>>
<em>She laughs into my shoulder, a hot, sloppy sound, fingers kneading my leg like I am
some kind of particularly interesting cushion.</em>
<</say>><br>
<ul class="choice-list">
<li>
<<link "Gently push her away">>
<<set $twResult = "T1_Polite">>
<<goto "TavernWorkResult">>
<</link>>
</li><br>
<li>
<<link "Let her grope me for a while">>
<<set $twResult = "T1_Frot">>
<<goto "TavernWorkResult">>
<</link>>
</li><br>
<li>
<<link "Lead her upstairs to a free room">>
<<set $twResult = "T1_Room">>
<<goto "TavernWorkResult">>
<</link>>
</li>
</ul>
<<elseif $twShifts == 4>>
<<set $twEventSeen_T2 = true>>
<<gg>>
Back room. Crates. Splinters. Sweat.
Exactly the kind of glamorous work people imagine when they hear “tavern job”.
<em>I hook my arms under a stack of bottles and stagger a step back,
hips bumping the shelves behind me.</em>
<</gg>><br>
<<say 'Serving girl'>>
Look at those arms.
Elara’s been hiding the good stock in the cellar.
<</say>><br>
<<say 'Second girl'>>
Nah, look lower.
Bet the real muscles are under that belt.
<</say>><br>
<<gg>>
<em>Something tugs at the back of my waistband. Then the front.
Laughter bubbles up on both sides as quick fingers snap my belt,
tug the hem of my shirt, test the looseness of my laces.</em>
Hey.
Hands.
I’m carrying glass here.
<</gg>><br>
<<say 'Serving girl'>>
Then you’d better not drop anything.
<</say>><br>
<<gg>>
<em>I am wedged between crates and warm bodies, one girl pressed to my side,
the other behind me, both of them delighted with every flinch.</em>
<</gg>><br>
<ul class="choice-list">
<li>
<<link "Stand there and take it">>
<<set $twResult = "T2_Stoic">>
<<goto "TavernWorkResult">>
<</link>>
</li><br>
<li>
<<link "Grab one by the waist and fire back a joke">>
<<set $twResult = "T2_Flirty">>
<<goto "TavernWorkResult">>
<</link>>
</li><br>
<li>
<<link "Pin one to the wall and take charge">>
<<set $twResult = "T2_Aggressive">>
<<goto "TavernWorkResult">>
<</link>>
</li>
</ul>
<<elseif $twShifts == 7>>
<<set $twEventSeen_T8 = true>>
<<gg>>
Back door run again.
Empty kegs out, fresh ones in, try not to lose any fingers in the process.
Nothing unusual.
Until someone speaks from the shadows.
<em>A shape peels itself out of the dark by the rear entrance, coat too nice for a dock rat,
boots too quiet for anyone honest. A crate rests at his feet, small but heavy‑looking.</em>
<</gg>><br>
<<say 'Smuggler'>>
Eh.
You.
You’re the reliable one, aren’t you?
Always moving, never talking.
<</say>><br>
<<gg>>
Depends who’s asking.
And what they’re paying.
<</gg>><br>
<<say 'Smuggler'>>
<em>He grins, showing a glint of gold where a tooth should be.</em>
My friends call me “someone else”.
And I pay better than the tavern, for less work.
One crate.
Through the kitchen and up to the attic.
No questions, no receipts.
<</say>><br>
<<say 'Smuggler'>>
<em>He nudges the crate with his boot; it doesn’t budge much.
The wood is reinforced, edges banded in metal. Whatever’s inside isn’t cheap.</em>
<</say>><br>
<<say 'Smuggler'>>
The lady of the house doesn’t need to know.
You and I, we have… a side understanding.
What do you say?
<</say>><br>
<ul class="choice-list">
<li>
<<link "Refuse and report this to Elara later">>
<<set $twResult = "T8_Refuse_Report">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Take the money, promise, and never open the door">>
<<set $twResult = "T8_Scam">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Agree to move the crate for a cut">>
<<set $twResult = "T8_Smuggle">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
</ul>
<<elseif $twShifts == 10>>
<<set $twEventSeen_T6 = true>>
<<gg>>
<em>
She’s back.
Same corner table, same expensive boots crossed at the ankle,
same bottle of wine that costs more than my weekly pay.
Soft lamplight paints her jewelry in warm gold; the rest of the room blurs around her.
I’ve been topping up her glass all evening, trading the occasional smile
when Elara isn’t looking directly my way.</em>
<</gg>><br>
<<say 'Regular lady'>>
$name , come here for a moment.
I want to give you a tip.
<</say>><br>
<<gg>>
You already did.
Twice.
<</gg>><br>
<<say 'Regular lady'>>
Not that kind.
This one comes with interest.
Sit.
On my lap.
<em>She pats her thigh once, then simply waits, sure I’ll obey,
as if the whole tavern were just an extension of her couch at home.</em>
<</say>><br>
<ul class="choice-list">
<li>
<<link "Refuse politely">>
<<set $twResult = "T6_Refuse">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Sit on her lap and keep it (mostly) tame">>
<<set $twResult = "T6_LapTame">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Settle in and let her touch myself">>
<<set $twResult = "T6_LapIntense">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
</ul>
<<elseif $twShifts == 14>>
<<set $twEventSeen_T5 = true>>
<<gg>>
Storeroom.
Again.
Only this time the shelves look lighter and the money box heavier.
Good night.
For the tavern, at least.
<em>I'm stacking empty crates when the door swings shut behind me with a solid thunk.
A moment later, soft laughter fills the dim room, warm as the lantern light.</em>
<</gg>><br>
<<say 'Serving girl'>>
There you are.
Our little money magnet.
<</say>><br>
<<say 'Second girl'>>
Elara’s humming at the counter.
The till’s so full it’s going to burst.
We thought someone deserved a celebration.
<</say>><br>
<<gg>>
<em>Four hands catch me, one at my sleeve, one at my belt, pulling me deeper between sacks
and barrels until the storeroom door is just a slice of light behind their shoulders.</em>
<</gg>><br>
<<say 'Serving girl'>>
Relax.
You’ve been carrying everyone else all night.
Let us carry you for a bit.
<</say>><br>
<ul class="choice-list">
<li>
<<link "Laugh it off and refuse">>
<<set $twResult = "T5_Refuse">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Let them undress me and just watch">>
<<set $twResult = "T5_WatchMasturbate">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Join in and take both of them">>
<<set $twResult = "T5_Threesome">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
</ul>
<<elseif $twShifts == 18>>
<<set $twEventSeen_T10 = true>>
<<gg>>
Hallway is quiet.
Too quiet, for this place.
<em>Then I hear it, a low, breathy moan bleeding through the wood of a closed door,
followed by a muffled laugh and the squeak of bedsprings protesting their workload.</em>
<</gg>><br>
<<gg>>
Great.
Either someone’s dying very slowly, or having an excellent time.
Both are technically my problem.
<em>I step closer, knuckles hovering over the door.
Another moan, higher this time, definitely not pain.</em>
<</gg>><br>
<<say 'Serving girl'>>
<em>(behind the door)</em>
Oh, gods, yes, right there…
Wait, did you hear something?
<</say>><br>
<<say 'Client lady'>>
If it’s who I think it is…
we might be in <em>desperate</em> need of assistance.
<</say>><br>
<<gg>>
<em>The moans quiet just enough that I can hear a rustle of movement,
bare feet on floorboards, then the latch clicks.</em>
<</gg>><br>
<ul class="choice-list">
<li>
<<link "Pretend I never heard anything and walk away">>
<<set $twResult = "T10_Leave">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Step inside to 'check on them'">>
<<set $twResult = "T10_EnterSoft">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Step in, close the door behind me and let them pull me in">>
<<set $twResult = "T10_EnterHard">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
</ul>
<<run $questsData.setStatus("tavernScenes", "completed")>>
<<else>>
<<set $randomEvent = random(1, 100)>>
<<if $randomEvent <= 20>>
<<set $randomScene = "bustFlash">>
<<elseif $randomEvent <= 35>>
<<set $randomScene = "flirt">>
<<elseif $randomEvent <= 45>>
<<set $randomScene = "drunkTip">>
<<else>>
<<set $randomScene = "normal">>
<</if>>
<<goto "TavernRandomScene">>
<</if>>
<<set $twShifts += 1>>
<<set $tawernDaily += 1>>/*
Expected variables:
$twRep - tavern reputation (0+)
$twShifts - how many shifts worked
$twDirty - counter of dirty decisions
$twDirtyBranch - criminal route (true/false)
$elaraTrust - Elara's personal trust (0+)
*/
<<if !$twRep>> <<set $twRep = 0>> <</if>>
<<if !$twShifts>> <<set $twShifts = 0>> <</if>>
<<if !$twDirty>> <<set $twDirty = 0>> <</if>>
<<if $twDirtyBranch is undefined>> <<set $twDirtyBranch = false>> <</if>>
<<if !$elaraTrust>> <<set $elaraTrust = 0>> <</if>>
<<set _canPromoteRank1 = ($twRank == 0 && $twRep >= 20 && $twShifts >= 3 && !$twDirtyBranch)>>
<<set _canPromoteRank2 = ($twRank == 1 && $twRep >= 40 && $elaraTrust >= 3 && !$twDirtyBranch)>>
<div id="elara-stats-panel">
<div class="stat-row">
<span class="stat-label">Tavern rep:</span>
<span class="stat-value"><<print $twRep>></span>
</div>
<div class="stat-row">
<span class="stat-label">Dirty rep:</span>
<span class="stat-value <<if $twDirtyBranch>>stat-bad<</if>>">
<<print $twDirty>>
<<if $twDirtyBranch>> (Elara route locked)<</if>>
</span>
</div>
<div class="stat-row">
<span class="stat-label">Shifts worked:</span>
<span class="stat-value"><<print $twShifts>></span>
</div>
<div class="stat-row">
<span class="stat-label">Elara's trust:</span>
<span class="stat-value"><<print $elaraTrust>></span>
</div>
</div>
<div class="tavern-dialog">
/* --- DIRTY BRANCH ANY REP --- */
<<if $twDirtyBranch>>
<<if $twDirty >= 4>>
<<elara>>
I heard about last night.
<em>Her eyes stay flat; only the beads at her neck click, one against another.</em>
Profitable. Messy. Not the kind of story I tell the tax man.
Next time, try to leave fewer witnesses.
<</elara>><br>
<<elseif $twDirty >= 2>>
<<elara>>
Relax. If I wanted you gone, we wouldn’t be talking at the counter.
<em>Her gaze flicks to a shadowed booth, then back, sharp again.</em>
I knew what I was buying when I let you handle the dirty work.
Just don’t mistake usefulness for trust.
<</elara>><br>
<<else>>
<<elara>>
Look who walked in.
<em>Her mouth twitches, almost a smile, strangled before it’s born.</em>
You’re not someone I trust,but you do make me coin.
What do you want?
<</elara>><br>
<</if>>
<<else>>
/* --- CLEAN ROUTE: VERY LOW REP (0–9) --- */
<<if $twRep < 10>>
<<elara>>
You look tired, but not tired enough to skip your shift.
<em>She wipes a ring of ale off the counter with the side of her wrist, barely glancing up.</em>
Don’t break anything, don’t start anything, don’t steal anything.
Do that, and we both get through the evening.
<</elara>><br>
<<if $twShifts == 0>>
<<elara>>
First night nerves?
<em>Her brow arches, amused.</em>
Good. Fear keeps me sharp. Try to keep it, just don’t spill it on the floor.
<</elara>><br>
<</if>>
/* --- LOW REP (10–19) --- */
<<elseif $twRep < 20>>
<<elara>>
So you survived another shift.
<em>Hazel eyes skim over me, boots, hands, face, fast, weighing, judging.</em>
Right now you’re just an extra pair of hands to me. Useful hands, but still.
What do you need?
<</elara>><br>
<<if $twShifts >= 2>>
<<elara>>
If you’re here to quit, pick a worse time.
<em>Her glance snaps to the door, to the tables, then back in a heartbeat.</em>
I’m three hands short and one barrel behind.
So unless you’re dying, grab an apron.
<</elara>><br>
<</if>>
/* --- MID REP (20–34) --- */
<<elseif $twRep < 35>>
<<elara>>
There you are.
<em>Her shoulders drop by a finger’s width, as if some invisible weight slides off.</em>
For a moment I thought I’d have to hire another idiot.
Glad you proved me wrong. For now.
<</elara>><br>
<<if $twRank == 0>>
<<elara>>
You’re still on rookie pay, but the room is starting to recognize you.
<em>She tilts her head toward the tables.</em>
Keep it steady and I might stop calling you “extra hands”.
<</elara>><br>
<<else>>
<<elara>>
Customers ask for you by description, you know.
<em>A quick, sharp smirk ghosts across her lips.</em>
“Where’s the one who actually brings what I ordered?”
Don’t make me regret letting them learn your name.
<</elara>><br>
<</if>>
/* --- SOLID REP (35–49) --- */
<<elseif $twRep < 50>>
<<elara>>
You’re late by two heartbeats.
<em>Her fingers tap the counter,one, two,then still, amused.</em>
Lucky for you, I’m starting to expect you to show up.
Unlucky for you, that means I also expect you to fix my problems.
<</elara>><br>
<<if $twRank >= 1>>
<<elara>>
Notice it?
<em>Her chin tips toward the room; less shouting, fewer broken chairs.</em>
That’s your work. Don’t let them forget it,and don’t let it go to your head.
<</elara>><br>
<</if>>
/* --- HIGH REP (50+) --- */
<<else>>
<<if $elaraTrust < 2>>
<<elara>>
You’re good at making my life easier.
<em>Her gaze lingers on me a second too long, then moves on.</em>
Keep that up and maybe I’ll start telling you why I bother with all this.
For now,pretend you don’t notice I said that.
<</elara>><br>
<<elseif $elaraTrust < 4>>
<<elara>>
If I’d had someone like you back when I started…
<em>Her eyes drift past me to old ghosts, then snap back, hard again.</em>
…this place would either be twice as rich or already burned down.
Let’s aim for “twice as rich”.
<</elara>><br>
<<elara>>
And yes, I see the way you look at me.
<em>Her mouth curves, not quite a smile.</em>
For now, call it professional curiosity. It’s safer that way.
<</elara>><br>
<<else>>
<<elara>>
Good. You came.
<em>The word slips out softer than she likes, before she can wrap it in sarcasm.</em>
I’ve got work I can only hand to someone whose name I’m willing to say to the guard,
and whose face I don’t want to see on a wanted poster.
<</elara>><br>
<<elara>>
You’ve become more than staff to me.
<em>She leans in, elbows on the counter, studying me openly now.</em>
So don’t make me choose between the tavern and you.
I will pick the tavern. But I won’t like it.
<</elara>><br>
<</if>>
<</if>>
<</if>>
</div>
<div class="dessil-panel">
<ul class="dessil-menu">
<li>
<<link "Talk about work">>
<<goto "ElaraSpeak-Work">>
<</link>>
</li>
<<if $elaraTrust >= 3 && !$elaraRomanceLocked && !$elaraRomance1>>
<li>
<<link "Elara wants to speak after my shift">>
<<goto "Elara_Romance1">>
<</link>>
</li>
<</if>>
<<if $elaraTrust >= 13 && $twRep >= 12 && !$elaraIllnessSeen && $elaraRomance3>>
<li>
<<link "Elara is sick">>
<<goto "Elara_Illness">>
<</link>>
</li>
<</if>>
<<if $elaraRomance1 && $elaraTrust >= 6 && !$elaraRomance2 && !$elaraRomanceLocked>>
<<link "Elara is in heat">>
<<goto "Elara_Romance2">>
<</link>>
<</if>>
<<if $elaraRomance1 && $twDirty >=1 && !$elaraRomanceLocked && !$elaraJealous>>
<<link "Elara is jealous of me?">>
<<goto "Elara_Jealousy">>
<</link>>
<</if>>
<<if $elaraTrust >= 4 && $twShifts >= 15 && !$elaraQuestActive>>
<<link "Elara asking for help">>
<<goto "Elara_Help">>
<</link>>
<</if>>
<<if $elaraRomance2 && $elaraTrust >= 10 && !$elaraRomance3 && !$elaraRomanceLocked && $twShifts >= 15>>
<<link "Elara wants me">>
<<goto "Elara_Romance3">>
<</link>>
<</if>>
<<if $elaraRomance3>>
<<link "Have sex with Elara">>
<<goto "Elara_Repeat_Sex">>
<</link>>
<</if>>
<<if $twShifts >= 20 && $twRep >= 10 && !$elaraPromotion>>
<<link "Ask Elara for promotion">>
<<goto "Elara_Promotion">>
<</link>>
<</if>>
<li>
<<link "Leave">>
You step away from the counter, leaving Elara to her ledgers.
<<goto "Tawern">>
<</link>>
</li>
</ul>
</div> <<if $twDirtyBranch>>
<<elara>>
Work is work.
<em>Her fingers tap the counter twice,coin, coin.</em>
You bring in money, I pretend not to see how.
And you don’t ask why I won’t put you in charge of anyone else.
<</elara>><br>
<<elara>>
You want more shifts, talk to the board, you know the schedule.
<em>Her gaze slides past you to the posting by the door.</em>
Just don’t crawl back to me crying when the guard starts asking about missing purses.
<</elara>><br>
<<else>>
<<if $twRank == 0>>
<<elara>>
You’re still on something like probation.
<em>She flips a page in the ledger with the edge of a fingernail.</em>
You work your shifts, don’t break the furniture, don’t dig in my guests’ pockets,
and we’re fine.
<</elara>><br>
<<elara>>
Earn some reputation, then we’ll talk about something more serious
than rags and trays.
<</elara>><br>
<<elseif $twRank == 1>>
<<elara>>
As a worker, you’re doing fine.
<em>The battered ledger snaps shut under her hand.</em>
Your shifts bring steady coin, few complaints, decent tips.
<</elara>><br>
<<elara>>
Keep it that way.
Every time you shut down a fight before the guard hears it,
a little candle lights up in my cold heart.
Don’t blow it out.
<</elara>><br>
<<else>>
<<elara>>
Right now you’re not just staff.
<em>Her eyes stay on you a beat too long, weighing.</em>
You’re the one I can leave the room to and not worry about the tavern.
<</elara>><br>
<<elara>>
Any ideas about drinks, work, night deals with respectable people,bring them to me.
I’ll listen.
That doesn’t mean I’ll say yes.
<</elara>><br>
<</if>>
<</if>>
<div class="dessil-panel">
<ul class="dessil-menu">
<li>
<<link "Back to conversation">>
<<goto "SpeakElara">>
<</link>>
</li>
</ul>
</div>
<<switch $twResult>>
/***** T1: Polite *****/
<<case "T1_Polite">>
<<gg>>
I catch her wandering hand, wrap my fingers around her wrist and peel it off my thigh.
<</gg>><br>
<<gg>>
Easy.
You’re drunk, I’m working, and Elara has knives.
Let me get you some water instead.
<</gg>><br>
<<say 'Drunk woman'>>
<em>For a heartbeat she pouts, lips wobbling – then hiccups, giggles,
and lets me steer her back to a stool where she can slump safely against the wall.</em>
You’re no fun.
…thanks anyway.
<em>She waves me off with a boneless hand, already sliding toward the kind of sleep
that smells like wine and regret but causes no more trouble.</em>
<</say>><br>
<<set $twRep += 1>>
/***** T1: Frot *****/
<<case "T1_Frot">>
<<gg>>
I should pull away.
I don’t.
<</gg>><br>
<img src="images/beggarRank/drunk1.webp" class="scene-image"><br>
<<say 'Drunk woman'>>
<em>Her hand settles high on my thigh, thumb tracing lazy circles just shy of where
things get truly unprofessional. Her body presses along my side – soft, warm, heavy with wine.</em>
<br>
See? You like having me here.
Bar’s warmer this way.
<br>
<em>She nuzzles my arm, fingers wandering higher, dragging slow pressure through fabric
with all the clumsy enthusiasm of the very drunk. Heat curls low in my belly in spite of myself.</em>
<br>
<em>After a couple of minutes her grip loosens. Her head lolls onto the polished wood, lashes fluttering.
Whatever she was reaching for – me, the mug, the world – slips away. She’s already halfway to sleep.</em>
<</say>><br>
<<gg>>
Sweet dreams.
Try not to drown in your own drool.
<</gg>><br>
/***** T1: Room – выбор внутри результата *****/
<<case "T1_Room">>
<<gg>>
All right, come on.
If you’re going to drape yourself over me, at least do it somewhere I won’t get in the way.
<</gg>><br>
<<say 'Drunk woman'>>
<em>I slip her arm over my shoulders. She comes willingly, giggling into my neck as I steer her away from the bar, up the narrow back stairs toward the empty rooms. Her hand never leaves my thigh.</em>
Ooh, private service.
Didn’t know the house offered that.
<em>I get her to a free room with a half‑made bed and the faint smell of soap and old smoke. She stumbles inside, still clinging, fingers already fumbling at my belt.</em>
<</say>><br>
<ul class="choice-list">
<li>
<<link "Just tuck her in and leave">>
<<set $twResult = "T1_TuckIn">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
<li>
<<link "Indulge in a quick mutual release">>
<<set $twResult = "T1_Petting">>
<<goto "TavernWorkResult">>
<</link>><br>
</li>
</ul>
/***** T1: Tuck in *****/
<<case "T1_TuckIn">>
<<gg>>
Easy, tiger.
Hands off the help.
<em>I catch her wrists, gently pry them away from my belt and guide her down onto the mattress. The bed creaks; she doesn’t care, already melting into the blankets.</em>
Sleep it off.
If you still want to climb someone in the morning, pick a guest who isn’t on the clock.
<em>She mumbles something that might be thanks, might be my name, then drifts into soft, steady breathing.</em>
<</gg>><br>
<<set $twRep += 1>>
/***** T1: Petting *****/
<<case "T1_Petting">>
<<gg>>
I really shouldn’t.
But the door has a lock, and the tavern has survived five minutes without me before.
<em>I nudge the door shut with my heel; the latch clicks.
Her hands are already back on me, clumsy, eager, dragging fabric out of the way.
I return the favor, fingers sliding under the hem of her dress, finding heat and wetness waiting.</em>
Keep your voice down.
We don’t charge for the show.
<</gg>><br>
<img src="images/beggarRank/drunk2.webp" class="scene-image"><br>
<<say 'Drunk woman'>>
<em>She tries. Mostly. Her moans are half‑bitten, buried against my neck as my hands work each other hard and fast, the world shrinking to shared breath, rough fabric, the slick slide of skin on skin.</em>
<em>Release hits her first,a shudder that runs the length of her body, fingers digging into your shoulders. Yours follows a heartbeat later, sharp and hot, leaving you both panting in the dim room.</em>
<</say>><br>
<<set $twDirty += 1>>
<<gg>>
<em>She sags back onto the mattress, a lazy smile softening her features.
Before I can say anything clever, she’s already drifting off, breath evening into slow, deep sleep.</em>
Figures.
I do all the work and you get the nap.
<</gg>><br>
<<case "T2_Stoic">>
<<gg>>
I grit my teeth and focus on not dropping the crate.
<em>Hands tug at my waistband, flick at the button of my trousers,
brushing just close enough to make my pulse jump, never quite committing.</em>
<</gg>><br>
<<say 'Serving girl'>>
Look, she’s turning red.
Think we broke him.
<</say>><br>
<<say 'Second girl'>>
No, that’s just all the blood rushing south.
Be nice, we need him walking.
<</say>><br>
<<gg>>
<em>My face burns; I manage a strangled noise that might be a protest,
might be a whimper. The girls dissolve into giggles and finally peel away,
skirts swishing as they dart back toward the door.</em>
<</gg>><br>
<<gg>>
Right.
Great talk.
Glad we had this.
<</gg>><br>
<<set $twRep -= 1>>
/***** T2: Flirty (grab waist, joke back) *****/
<<case "T2_Flirty">>
<<gg>>
If you’re going to undress me, at least buy me a drink first.
<em>I twist, shifting the crate to one hip and snag the nearer girl by the waist,
dragging her in against me before she can dodge.</em>
<</gg>><br>
<<say 'Serving girl'>>
Oh?
Listen to that, mouth on him after all.
<</say>><br>
<<say 'Second girl'>>
Careful, he bites.
Or we can hope.
<</say>><br>
<<gg>>
<em>My free hand settles at the small of her back, fingers spreading over the thin fabric.
For a heartbeat her breath catches; then she grins, cheeks flushed for a new reason.</em>
<</gg>><br>
<<gg>>
If you’re done checking the goods, I’ve got actual cargo to move.
Unless you two plan on helping.
<</gg>><br>
<<say 'Second girl'>>
<em>The girls exchange a look, then retreat a step, laughter softer now,
edges shaded with a sliver of respect.</em>
We’ll help.
By admiring from a safe distance.
Can’t risk damaging tavern property.
<</say>><br>
/***** T2: Aggressive (pin to wall, sexual content) *****/
<<case "T2_Aggressive">>
<<gg>>
You want to play?
Fine.
Let’s play.
<em>I slam the crate down on a nearby shelf and step into the closer girl,
catching her wrists and pinning them above her head against the rough wooden wall.
Her eyes go wide, then darken, pupils blooming.</em>
<</gg>><br>
<<say 'Serving girl'>>
Oh,
…oh.
<</say>><br>
<<say 'Second girl'>>
That’s my cue to leave.
Don’t chip his teeth, yeah?
<em>The second girl ducks out with a peel of laughter, skirts flashing as she vanishes through the door,
leaving me alone with the first, her chest rising against mine in quick, shallow breaths.</em>
<</say>><br>
<<gg>>
Tease someone carrying glass again, and we’ll have a different conversation.
<br>
<em>My mouth crashes into hers before she can answer.
She melts into it, fingers flexing uselessly in my grip as I press her tighter to the wall,
my thigh sliding between hers, feeling the heat there as she grinds down on me without thinking.</em>
<</gg>><br>
<img src="images/beggarRank/servingSkirt.webp" class="scene-image"><br>
<<gg>>
<em>My free hand slips under her skirt, knuckles brushing bare skin,
finding the slick proof of how much the “game” has gotten to her.
Her answering whimper vibrates against my tongue.</em>
<br>
<em>It’s quick and rough: my fingers working her in tight circles while she bucks against my thigh,
one of her hands finally tearing free to clutch at my hair.
By the time she comes apart, shuddering, biting down on a moan, my own arousal throbs,
straining against my trousers.</em>
<</gg>><br>
<<say 'Serving girl'>>
Go back…
before Elara notices the missing glasses.
And before I drag you somewhere with a lock.
<em>She straightens her skirt with shaking hands, cheeks flushed,
and slips past my back toward the noise of the tavern, legs not entirely steady.</em>
<</say>><br>
<<case "T6_Refuse">>
<<gg>>
I can’t.
If Elara sees me sitting on a customer instead of serving them,
she’ll use me to plug the next keg.
<</gg>><br>
<<say 'Regular lady'>>
<em>The lady’s smile cools by a few degrees; her fingers drum once
on the empty space where my thigh could have been.</em>
<br>
Shame.
I thought you were bolder than that.
Perhaps I misjudged.
<br>
<em>She waves me away with a lazy flick of her wrist, attention slipping back to her wine.
The next time I pass, her eyes slide right through me, polite and distant.</em>
<</say>><br>
<<set $twRep -= 1>>
<<case "T6_LapTame">>
<<gg>>
All right.
Just for a moment.
<br>
<em>I step closer and ease myself onto her lap, careful not to spill the tray.
Her body is warm and solid beneath me, perfume a subtle blend of spice and sweet fruit.</em>
<</gg>><br>
<<say 'Regular lady'>>
There we go.
Much better.
You work so hard; it’s only fair someone takes care of you once in a while.
<br>
<em>Her arm slides around my waist, drawing me back against her chest.
Fingers settle high on my thigh, thumb tracing slow circles through the fabric,
never quite straying far enough to be obvious from across the room.</em>
<</say>><br>
<<gg>>
You do realize other people can see us.
<</gg>><br>
<<say 'Regular lady'>>
Other people see a generous patron and a grateful server.
Only we know where my hand really is.
Two minutes.
Then I let you go.
Deal?
<br>
<em>She leans in, breath warm against my ear, words low and filthy enough
to make my skin prickle, each syllable a promise she has no intention of keeping, tonight.</em>
<</say>><br>
<<gg>>
<em>Just when my pulse starts to genuinely pound, she squeezes my thigh once and releases me.</em>
<</gg>><br>
<<say 'Regular lady'>>
Back to work, darling.
Consider this a… down payment.
<</say>><br>
<<case "T6_LapIntense">>
<<gg>>
If this gets me fired, you’re hiring me.
<br>
<em>I sink down fully onto her lap, letting my weight rest against her.
Her arm coils around my middle at once, pulling me snug against her chest,
the curve of her body fitting against mine like a chair made just for me.</em>
<</gg>><br>
<<say 'Regular lady'>>
Oh, I could find… uses for you.
Now relax.
Pretend we’re just talking about the wine.
<br>
<em>She presses her lips to my ear, a slow, deliberate kiss that sends a shiver down my spine.
Her hand starts where it should,on my upper thigh,then slides lower, knuckles brushing the inside
of my leg, thumb nudging a little too close to where I am growing hard.</em>
<</say>><br>
<<gg>>
The wine is… very full‑bodied.
<</gg>><br>
<<say 'Regular lady'>>
<em>Her soft laugh vibrates against my back.
She shifts, turning slightly so I am half‑straddling her knee.
Every tiny movement grinds me down against the firm muscle of her leg;
heat coils low in my belly, pulse pounding in places that have nothing to do with my heart.</em>
<br>
That’s it.
Just breathe.
I’ll do the rest.
<br>
<em>Her palm comes to rest over the front of my trousers, fingers spreading possessively,
massaging slow, maddening circles as I rock, just barely,against her knee.
From the rest of the room, it looks like an intimate conversation.
From where I'm sitting, it feels like the edge of a very bad idea.</em>
<</say>><br>
<<run setup.money.add(10)>>
<<gg>>
<em>Right before I tip over that edge, she withdraws.
Her hand smooths my clothes back into place; her leg stills.
I'm left deliciously frustrated, heat simmering under my skin.</em>
<</gg>><br>
<<say 'Regular lady'>>
Off you go.
I have to leave before I do something I won’t regret.
<br>
<em>She slips a heavy coin pouch into my hand as I stand,
then rises with a perfectly innocent smile, cloak settling around her shoulders.</em>
<</say>><br>
<<gg>>
<em>By the time I’ve caught my breath, she’s already gliding toward the door.
To anyone watching, she’s just a satisfied customer leaving after a pleasant evening.</em>
<</gg>><br>
<<case "T5_Refuse">>
<<gg>>
As tempting as “celebration” sounds,
I like having a job.
And knees that still work.
<br>
<em>They halt, hands still on my clothes, then share a look over my shoulder.
One of them snorts; the other outright laughs.</em>
<</gg>><br>
<<say 'Serving girl'>>
Hear that?
They think Elara doesn’t celebrate hard workers.
<</say>><br>
<<say 'Second girl'>>
They also think we’re going to stop if they ask nicely.
That’s cute.
<</say>><br>
<<gg>>
<em>But they do step back, eventually, palms raised in surrender.</em>
<</gg>><br>
<<say 'Serving girl'>>
Fine, hero.
We’ll let you escape this time.
Go count your tips and pretend you’re not curious.
<</say>><br>
<<set $twRep -= 1>>
<<case "T5_WatchMasturbate">>
<<gg>>
…Fine.
But if anyone catches us, I’m telling them it was your idea.
<br>
<em>I let my back rest against a stack of burlap sacks, the rough fabric scratching through my shirt.
Quick fingers are already at my belt, tugging it loose, undoing buttons with far too much practice.</em>
<</gg>>
<br>
<<say 'Serving girl'>>
Look at that.
Success really does go to his head.
All of them.
<</say>><br>
<<gg>>
<em>They push my trousers down just enough, leaving me sitting on a crate like some sort of
altar piece while they step back a pace, trading wicked grins.</em>
<</gg>><br>
<<say 'Second girl'>>
You worked hard.
You get to sit and enjoy the view.
Hands where we can see them, though.
We’re not doing all the work.
<</say>><br>
<<gg>>
<em>Skirts hitch up.
Fingers slide between their own thighs, circling slow and lazy at first, then faster as the air thickens
with panting breaths and the soft slap of skin on skin. Their eyes never leave me.</em>
<</gg>><br>
<img src="images/beggarRank/servingSkirt1.webp" class="scene-image"><br>
<<gg>>
This is,
definitely not in the job description.
<br>
<em>Heat pools low as I wrap my own hand around myself, stroking in time with their rhythm.
They whisper comments between gasps, about my face, my body, how I look right now,
every word a little shove toward the edge.</em>
<</gg>>
<img src="images/beggarRank/servingSkirt2.webp" class="scene-image"><br>
<<gg>>
<br>
<em>By the time the first girl shudders, biting her lip to swallow a moan, I'm right behind her,
spilling over my fingers and the edge of the crate, breath ragged.</em>
<</gg>><br>
<<say 'Second girl'>>
That’s better.
Now it really feels like a celebration.
We should do this again the next time the till is full.
<</say>><br>
<<case "T5_Threesome">>
<<gg>>
You pulled me in here.
Now you get to find out if that was a good idea.
<br>
<em>The words barely leave my mouth before I catch the nearest girl by the hips <br>
and spin her around, pressing her back against a stack of sacks. She gasps,
then grins, eyes bright.</em>
<</gg>><br>
<<say 'Serving girl'>>
Oh, we are in so much trouble.
<</say>><br>
<<say 'Second girl'>>
Only if he stops.
Don’t stop.
<</say>><br>
<<gg>>
<em>Clothes become a blur,skirts rucked up, my belt yanked open, fingers everywhere.
One girl sinks to her knees in front of me, mouth hot and eager around me,
while the other crowds my side, kissing my neck, my jaw, dragging my hand
between her thighs to feel how ready she already is.</em>
<br>
<em>I pull the kneeling girl up and bend the other forward over a low stack of grain sacks.
She laughs breathlessly, bracing herself as I push into her, tight and slick,
the second girl clinging to me from the front, stealing kisses between my groans.</em>
<</gg>><br>
<img src="images/beggarRank/servingSex1.webp" class="scene-image"><br>
<<gg>>
<em>It’s fast and rough, has to be.
Any second, the door could slam open and Elara could be standing there with that look. </em>
<</gg>> <br>
<img src="images/beggarRank/servingSex2.webp" class="scene-image"><br>
<<gg>>
I drive them both hard, one crying out muffled into the burlap,
the other gasping against my shoulder as my fingers work her to match my pace.</em>
<</gg>><br>
<img src="images/beggarRank/servingSex3.webp" class="scene-image"><br>
<<gg>>
<em>When I finally come, it’s with both of them shuddering around me,one clenching down on me from the inside,
the other shaking against my hand, teeth sunk into my collar to catch her scream.</em>
<</gg>><br>
<<say 'Serving girl'>>
Okay… okay…
That counts as a bonus.
We should make “good day” a regular thing.
<</say>><br>
<<gg>>
<em>We all separate in a flurry of breathless giggles and frantic straightening of clothes,
wiping skin clean on whatever cloth I can reach. By the time I step back into the main room,
I look almost respectable, if no one looks too closely.</em>
<</gg>><br>
<<case "T10_Leave">>
<<gg>>
<em>I hover there for a heartbeat longer, then let my hand fall away from the door.</em>
<br>
Whatever’s happening in there is above my pay grade.
And definitely not in the cleaning rota.
<br>
<em>I turn on my heel and walk back down the hallway,
pretending the faint chorus of moans and laughter behind me is just the wind.</em>
<</gg>><br>
<<set $twRep -= 1>>
<<gg>>
<em>By the time I reach the stairs, my heart has stopped hammering,
but I can’t quite shake the feeling that I just dodged something,
or missed it.</em>
<</gg>><br>
<<case "T10_EnterSoft">>
<<gg>>
<em>I knock once and push the door open a crack.</em>
Everything all right in,
<</gg>><br>
<img src="images/beggarRank/lesbianSex1.webp" class="scene-image"><br>
<<gg>>
<em>The rest of the question dies.
The serving girl is sprawled on the bed in nothing but rumpled linens and a grin;
the client lays beside her, hair loose, clothes half‑undressed, both flushed and breathing hard.</em>
<</gg>><br>
<<say 'Serving girl'>>
Oh, look.
Help arrived.
We were just saying we could use an extra pair of hands.
<</say>><br>
<<say 'Client lady'>>
Or two.
Come in, close the door.
You wouldn’t want the hallway to hear us suffering, would you?
<</say>><br>
<<gg>>
<em>I step inside before my brain can talk my feet out of it.
The door shuts behind me with a soft click that sounds far louder than it should.</em>
<br>
<em>As I move closer, the client’s gaze drops,lingering on the tell‑tale strain at the front of my trousers.
Her smile widens, slow and pleased.</em>
<</gg>><br>
<<say 'Client lady'>>
Someone’s been working very hard tonight.
We should reward dedication.
<</say>><br>
<<gg>>
<em>Between the two of them, my belt doesn’t stand a chance.
In moments I'm sitting on the edge of the bed, clothes pushed just far enough out of the way,
while soft fingers and softer mouths explore me.</em>
<br>
<em>The serving girl’s hand wraps around me, stroking slow and teasing;
the client leans over her shoulder, tongue tracing the sensitive curve of my neck,
whispering filth into my ear as her own hand disappears between her thighs.</em>
<</gg>><br>
<img src="images/beggarRank/lesbianSex2.webp" class="scene-image"><br>
<<gg>>
<em>They don’t let me finish,too careful, too cruel.
Just as the pressure becomes a sharp ache, they ease off, leaving me hard, slick, and throbbing.</em>
<</gg>><br>
<<say 'Serving girl'>>
Patrol the hallway all you like.
We’ll scream for help again if we need you.
<</say>><br>
<<gg>>
<em>They shoo me toward the door with wicked smiles,
already tangling back together as I stumble out into the cool air of the corridor,
heart pounding.</em>
<</gg>><br>
<<case "T10_EnterHard">>
<<gg>>
<em>I slip inside and shut the door firmly, turning the key without breaking eye contact.</em>
<br>
<</gg>>
<img src="images/beggarRank/lesbianSex3.webp" class="scene-image"><br>
<<gg>>
All right.
Who’s in need of “assistance”?
<br>
<em>The serving girl laughs breathlessly.
She and the client share a look that’s half‑conspiracy, half‑challenge.</em>
<</gg>><br>
<<say 'Serving girl'>>
Both of us.
Obviously.
<</say>><br>
<<say 'Client lady'>>
Start with whoever you catch first.
<</say>><br>
<<gg>>
<em>I barely take a step before they’re on me,one behind, arms looping around my chest,
the other in front, fingers already at my laces. My back hits the door;
quick hands drag my trousers down, freeing the proof of exactly how “on patrol” I was.</em>
<</gg>><br>
<<gg>>
<em>The client sinks to her knees for just a moment, lips wrapping around me in a hot,
slick rush that rips a groan from my throat, while the serving girl kisses me hard,
one hand guiding my fingers under her shift.</em>
<</gg>><br>
<img src="images/beggarRank/lesbianSex4.webp" class="scene-image"><br>
<<gg>>
<em>It doesn’t stay like that for long.
Soon I’ve got the serving girl bent over the edge of the bed,
her hands fisted in the blankets as I drive into her,
while the client presses against my side, kissing my shoulder,
my neck, fingers stroking me wherever she can reach.</em>
<</gg>><br>
<img src="images/beggarRank/lesbianSex5.webp" class="scene-image"><br>
<<gg>>
<em>The pace is frantic,there’s no time for gentle.
The bed creaks, their moans grow louder, my own breath coming in harsh grunts
as the tight heat around me drags me closer and closer to the edge.</em>
<</gg>><br>
<<gg>>
<em>She's clenching around me. That’s enough to tip me over; I thrust hard one last time,
spilling with a choked groan while the second woman shudders against my side,
hand working between her own thighs.</em>
<</gg>><br>
<img src="images/beggarRank/lesbianSex6.webp" class="scene-image"><br>
<<say 'Serving girl'>>
That…
counts as a successful patrol.
<</say>><br>
<<say 'Client lady'>>
You should check on this room more often.
For safety.
<</say>><br>
<<gg>>
<em>I clean up as best I can with shaking hands while they giggle and straighten their clothes.
By the time I step back into the hallway, they’re already tangled together again on the bed,
door closing behind me on a last peel of laughter.</em>
<</gg>><br>
<<set $twDirty += 1>>
/***** T8: Refuse and tell Elara (чистый вариант) *****/
<<case "T8_Refuse_Report">>
<<gg>>
No deal.
If I don’t know what’s in the crate, it doesn’t walk through this door.
Not on my shift.
<em>His smile thins, the gold in his teeth suddenly a lot less charming.</em>
<</gg>><br>
<<say 'Smuggler'>>
You’re one of <em>those</em>.
Honest.
Unfortunate.
<</say>><br>
<<gg>>
Unfortunate for who depends on what’s inside that box.
You want it in this building, you talk to the owner.
Otherwise you and your crate can keep each other warm outside.
<</gg>><br>
<<say 'Smuggler'>>
<em>He studies me for a long, measuring heartbeat, then snorts and hauls the crate back up into his arms.</em>
<br>
Fine.
Enjoy your wages.
If you change your mind, you know where the back door is.
<br>
<em>He fades into the alley like he was never there, leaving only damp footprints and a sour twist in my gut.</em>
<</say>><br>
<<set $twRep += 1>>
<<set $elaraTrust += 2>>
<<gg>>
<em>Later that night, when the hall has emptied, I tell Elara about the offer.
Her jaw tightens at the word “crate”, relaxes again when she realizes I said no.</em>
<</gg>><br>
<<elara>>
Good.
The day I have to worry about my staff sneaking other people’s business through my walls
is the day I sell this place and walk into the river.
You?
You’re not that problem.
<</elara>><br>
/***** T8: Take money, never deliver (кидок) *****/
<<case "T8_Scam">>
<<gg>>
How much are we talking?
For “no questions, no receipts”.
<</gg>><br>
<<say 'Smuggler'>>
<em>His grin returns in full, sharp and satisfied.
Coins jingle as he pulls a small pouch from inside his coat and weighs it in his hand,
then drops it into mine.</em>
<br>
Enough for you to forget you ever saw my face.
Half now.
Half when the crate is sitting pretty in the attic.
<</say>><br>
<<gg>>
<em>The weight of the money is comforting and ugly at the same time.</em>
<br>
Leave it by the door.
I’ll take care of the rest.
<br>
<br><br>
<em>He does.
By the time I finish the next round through the hall, both smuggler and crate are waiting where I told him.
Where they stay.
And stay.
Until he gets tired of waiting.</em>
<</gg>><br>
<<run setup.money.add(60)>>
<<set $twDirty += 1>>
<<set $twRep -= 1>>
<<gg>>
<em>Two nights later I spot him at the far end of the street when I step out to dump slops.
His eyes meet yours, cold and flat.
He doesn’t come in.</em>
<br>
Guess word’s going to get around.
But at least it won’t reach Elara.
Probably.
<</gg>><br>
<<case "T8_Smuggle">>
<<gg>>
All right.
One crate.
One time.
If anyone asks, I’ve never seen you before in my life.
<</gg>><br>
<<say 'Smuggler'>>
<em>His grin turns wolfish.</em>
<br>
That’s the spirit I was looking for.
Here,payment up front.
I’m not the trusting sort, but I respect initiative.
<</say>><br>
<<gg>>
<em>He presses a heavier pouch into my palm this time, the coins inside clinking low and promising.
Between the two of us, I wrestle the crate through the back door, across the dark kitchen,
and up the narrow service stairs.</em>
<br><br>
<em>Every creak of the boards sounds like a shout.
Every distant laugh from the hall might be Elara’s voice calling my name.
By the time I slide the crate into a shadowed corner of the attic, my shirt is sticking to my back with sweat.</em>
<</gg>><br>
<<run setup.money.add(200)>>
<<set $twDirty += 2>>
<<say 'Smuggler'>>
Perfect.
No labels, no ledgers.
If anyone asks, the rats brought it up here.
<br>
<em>He claps me on the shoulder, then vanishes back the way I came,
leaving ne alone with a crate full of whatever trouble I just invited into the building.</em>
<</say>><br>
<<gg>>
If this comes back to bite me,
it’s going to have a lot of teeth.
<br>
<em>Back in the hall, the night carries on as if nothing happened.
Only I and the shadows over the attic know any different.</em>
<</gg>><br>
<</switch>>
<<set $twResult = null>>
<<run setup.money.add(20)>>
<<if $elaraPromotion>>
<<run setup.money.add(20)>>
<</if>>
<ul class="choice-list">
<li>
<<link "Get back to work">>
<<if $twDirty >= 3 && !$twDirtyBranch>>
<<set $twDirtyBranch = true>>
<<goto "Elara_DirtyBranch">>
<<elseif $twDirty >= 2 && $twDirty < 3 && !$twWarnedByElara>>
<<set $twWarnedByElara = true>>
<<goto "Elara_DirtyWarning">>
<<else>>
<<set $twShifts += 1>>
<<goto "Tawern">>
<</if>>
<</link>>
</li> </ul>
<<elara>>
We need to talk.
<<em>>Door slams shut behind you. Key turns in the lock.<<em>>
<</elara>>
<p>
<<em>>Her face is stone, but her hands shake as she slides a crumpled note across the counter. Smudged ink, shaky handwriting: <strong>"He took advantage. While I slept."</strong><</em>>
</p>
<<elara>>
Explain.
Before I call the guard.
<<em>>Voice low. Final.<<em>>
<</elara>>
<ul class="choice-list">
<li><<link "Blame the drink. The girls. Anything.">>
<<set $elaraTrust = 0>>
<<goto "Elara_Dirty">>
<</link>></li>
<li><<link "No excuses. Take the hit.">>
<<set $elaraTrust -= 1>>
<<goto "Elara_Dirty">>
<</link>></li>
</ul>
<<set $twEventSeen_ElaraWarning = true>>
<<elara>>
A word.
<em>Her voice cuts through the post-shift quiet like a knife through butter. No guests left, just me, her, and the smell of spilled ale.</em>
<br>
<em>She leans on the counter, forearms braced, hazel eyes fixed on me. Beads at her neck click softly, one, two, like a countdown.</em>
<br>
I hear things.
Not from you.
From girls who work here.
From customers who linger too long.
<em>Her gaze flicks to your hands, then back up.</em>
<</elara>><br>
<<gg>>
What kind of things?
<</gg>><br>
<<elara>>
The kind where you're not carrying trays the whole time.
Where doors close a little too long in the back.
Where someone wakes up sore and missing a memory.
<em>She straightens, arms folding across her chest.</em>
<</elara>><br>
<<elara>>
You're good help.
But good help doesn't make me explain to the guard why my staff thinks the storeroom is a brothel.
<</elara>><br>
<ul class="choice-list">
<li><<link "Admit it. Promise to stop.">>
<<set $twDirty -=1>>
<<set $elaraTrust += 1>>
<<set $ElaraWarnChoice = 1>>
<<goto "Elara_Warning_Clean">>
<</link>></li><br>
<li><<link "Deny everything. Play dumb.">>
<<set $twDirty += 1>>
<<goto "Elara_Warning_Clean">>
<<set $ElaraWarnChoice = 2>>
<</link>></li>
</ul>
<<if $ElaraWarnChoice == 1>>
<<elara>>
Good.
That's what I needed to hear.
<em>Her shoulders drop a fraction, tension bleeding out.<em>
Keep it that way, and we forget this conversation happened.
<em>>One nod. Dismissal. You leave with her watching your back.</em><</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to work">>
<<goto "Tawern">>
<</link>><br>
</li></ul>
<<elseif $ElaraWarnChoice == 2>>
<<elara>>
<em>Lips thin. Eyes narrow.</em>
Don't.
Next time I won't ask.
I'll act.
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to work">>
<<goto "Tawern">>
<</link>>
</li></ul>
<</if>><<elara>>
<<em>>She doesn't blink. Doesn't move. Just watches as my words hang in the air like smoke.</em>>
Lies don't clean sheets.
Or heal bruises.
<em>Her voice is gravel now.</em>
You're done with girls here.
Trays only.
No corners. No "helping" anyone to bed.
One more word like this, and you're out.
<em>Door unlocks with a click.</em>
Get to work.
Prove you're worth the rope I'm not hanging you with.
<</elara>><br>
<<set $elaraRomanceLocked = true>>
<ul class="choice-list">
<li>
<<link "Get back to work">>
<<goto "Tawern">>
<</link>>
</li></ul><<set $elaraRomance1 = true>>
<<set $elaraTrust += 1>>
<<elara>>
<em>Rush hour ends. Hall quiets. She catches my eye from across the bar, nods toward the empty storeroom. Door clicks shut behind us both.</em>
You.
<em>She leans against barrels, arms crossed, but her eyes... those trace my face, my hands, my shoulders.</em>
You're not like the others.
<</elara>> <br>
<<gg>>
How so?
<</gg>><br>
<<elara>>
They grab. They break things. They leave messes.
You... <em>steps closer, voice drops</em> hold it together.
Trays. Girls. This place.
<em>Me.</em>
I notice.
<</elara>><br>
<<gg>>
<em>Beads at her neck catch lantern light. Smell of herbs, ale, her... clean sweat and something warmer. Distance shrinks to inches.</em>
<</gg>><br>
<<elara>>
Question is...
<em>fingertips brush my knuckles</em>
Do you notice... me?</em>
<</elara>><br>
<ul class="choice-list">
<li><<link "More than you know.">>
<<set $lust += 2>>
<<goto "Elara_Flirt_Yes">>
<</link>></li><br>
<li><<link "You're the boss. Hard not to.">>
<<set $elaraTrust += 1>>
<<goto "Elara_Flirt_Work">>
<</link>></li>
</ul>
<<set $elaraTrust -= 1>>
<<set $elaraJealousySeen = true>>
<<elara>>
<em>She grabs my wrist, pulls me into the storeroom. Door slams. Single lantern swings, shadows dance on her furious face.</em><br>
<em>Voice low, venomous.</em>
So.
Lira's telling everyone how you "helped her to bed".
Mira giggles about the storeroom.
And now I hear you're the one who finds all the drunk girls so...helpful.
<</elara>><br>
<<gg>>
It's not,
<</gg>><br>
<<elara>>
<em>Steps forward. Press me against the shelves.</em>
Don't.
I see you.
The way you look at them.
The way they look at you now.
<em>Hand on my chest, not gentle.</em>
Was I wrong about you?
<</elara>><br>
<ul class="choice-list">
<li><<link "Apologize. Swear it meant nothing.">>
<<set $elaraTrust += 1>>
<<set $twDirty -= 1>>
<<goto "Elara_Jealousy_Apology">>
<</link>></li><br>
<li><<link "Deny it. Call it tavern gossip.">>
<<set $twDirty += 1>>
<<goto "Elara_Jealousy_Deny">>
<</link>></li>
</ul>
<<set $elaraJealous to true>><<elara>>
<em>Eyes soften. Hand slides up to my neck.</em>
Good.
<em>Pulls me closer, lips brush my ear.</em>
Prove it.
<em>Teeth graze my jaw. Breath hot.<em>
Only me.
No one else.
<em> storeroom door stays shut five minutes longer than it should.</em>
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li>
</ul>
<<elara>>
<em>Laughs,cold, sharp.</em>
Liar.
<em>Shoves you back. Door flies open.</em>
Get out.
Work.
But don't talk to me.
<em>Walks away. Back rigid.</em>
<</elara>><br>
<<set $elaraTrust -= 1>>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<elara>>
<em>Her laugh, low, real. Hand slides up my arm, pulls me against barrels. Lips hover, not quite touching.</em>
Good answer.
Stick around after close sometime.
<em>thumb traces my jaw</em>
We might... inventory. Properly.
<</elara>><br>
<<gg>><em>Door opens. She straightens apron. Wink. Back to work. But her eyes find mine across the hall all night.</em> <</gg>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<elara>>
Smart man.
<em>smiles, sharp and approving</em>
But don't think I don't see you looking.
Keep looking.
Just... <em>leans in, whispers</em> only at me.
<em>She brushes past,deliberate. Hip against mine. Back to the bar like nothing happened.</em><</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<set $elaraTrust += 3>>
<<set $elaraQuestActive = true>>
<<gg>>
<em>Late. Hall empty. She sits at the bar, ledger open, head in hands. Red ink everywhere—numbers don't lie.</em> <</gg>><br>
<<elara>>
Three months behind.
Lenders circling.
One more bad week...
<em>gestures at the tavern</em>
...gone.
<</elara>><br>
<<gg>>
What do you need?
<</gg>><br>
<<elara>>
Delivery. Dawn. Docks.
Small pouch. No questions.
<em>slides coin across counter</em>
Double if clean.
<</elara>><br>
<<gg>>
<em>Dawn. Docks stink of fish, tar, desperation. Seedy merchant, scarred face, quick nod. Pouch heavy in pocket. No trouble.</em>
<</gg>><br>
<<elara>>
<em>Back at tavern. Her face lights,first real smile in weeks. Ledger snaps shut.</em><br>
Perfect.
<em>pulls me behind bar, hands grip shoulders<em>
You're not help anymore.
You're <em>mine.</em><br>
<em>steps closer, voice drops</em><br>
...ask anytime you want.
<em>Lips brush cheek. Warm. Promise kept. Her hand lingers on my chest one beat too long.</em>
<</elara>><br>
<<run setup.money.add(20)>>
<<gg>>
<em>Debt paid. Trust earned. Door to her world cracks open.</em> <</gg>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul><<set $elaraRomance2 = true>>
<<set $elaraTrust += 1>>
<<set $lust += 4>>
<<gg>> <em>Shift ends. Hall empty. She locks storeroom, pulls me inside. Door clicks. Lantern swings low.</em>
<</gg>> <br>
<<elara>>
Closer.
<em>hand on my chest, pushing me against shelves</em>
I need to know.
Can I trust these hands?
<</elara>><br>
<<gg>>
<em>Her fingers slide up my arms, testing. Mine find her waist. Beads cool against my skin. Heat builds slow.</em>
<</gg>> <br>
<<elara>>
<em>breath catches</em>
Good.
<em>lips brush my neck, not quite kiss</em>
More tomorrow.
If you stay clean.
<</elara>><br>
<ul class="choice-list">
<li><<link "Her neck. Her waist. Slow.">>
<<set $elaraTrust += 1>>
<<goto "Elara_Petting_Slow">>
<</link>></li><br>
<li><<link "Hands higher. Test limits.">>
<<set $lust += 2>>
<<goto "Elara_Petting_Bold">>
<</link>></li>
</ul>
<<gg>> <em>Fingers trace collarbone, waist, hips. Her hands mirror mine. Breathing syncs. No rush. Door stays shut ten minutes.</em>
<</gg>> <br>
<<elara>>
<em>flushed, smiling</em>
Perfect.
See you tomorrow.
<em>one last touch, lingering</em>
Same time.
<em>She straightens apron. Business again. But her walk has new sway.</em><</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul><<gg>>
<em>Hands bolder, thighs, breasts through fabric. She gasps, pulls my hair, not away. Heat spikes. Stopped short of more.</em>
<</gg>><br>
<<elara>>
<em>eyes dark</em>
Hungry.
But not yet.
<em>bites lip</em>
Prove you deserve this.
<em>She leaves first. I adjust clothes. Tension hums all night.</em>
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<set $elaraRomance3 = true>>
<<set $elaraTrust += 2>>
<<elara>>
Enough waiting.
<em>locks door, took off her dress, beads scatter across floor</em>
You earned every inch.
Take it. All.
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat3.webp" class="scene-image"><br>
<<gg>>
<em>hands touching here everywhere, she's already wet</em>
Been waiting too.
<</gg>><br>
<<elara>>
<em>shoves me against wall, nails rake chest</em>
Harder than you dreamed.
<em> thighs clamp my hips</em>
Prove it.
<</elara>><br>
<ul class="choice-list">
<li><<link "Counter. Fuck her raw.">>
<<goto "Elara_Sex_Counter_Hard">>
<</link>></li><br>
<li><<link "Bed. Own her slow.">>
<<set $elaraTrust += 1>>
<<goto "Elara_Sex_Bed_Deep">>
<</link>></li>
</ul>
<<run $questsData.setStatus("corruptElara", "completed")>>
<<set $collected['elara_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<<elara>>
<em>jumps up, thighs vise my waist like iron</em>
<em>counter EXPLODES under her ass, wood splinters, mugs shatter</em>
FUCK! <em> My cock RAMS through her soaked folds, balls-deep first thrust</em>
<em>She's FLOODED</em> dripping down my thighs, coating everything!
<</elara>><br>
<img src="images/beggarRank/ElaraRomance2.webp.webp" class="scene-image"><br>
<<gg>>
<em> I grab her throat... not choking, owning!</em>
<em>her massive tits SLAP my chest, nipples scrape raw</em>
Take it slut!<em>hips SNAP brutal, counter shakes, she SCREAMS</em>
Every <em>pounding</em> inch IS MINE!
<</gg>><br>
<img src="images/beggarRank/ElaraRomance3.webp" class="scene-image"><br>
<<elara>>
<em>nails rip my back to bloody ribbons</em>
DEEPER<em>legs crush my ribs, pussy CLENCHES like fist</em>
<em>her juices squirt hot with every thrust</em>
I'm<em>eyes roll back, body CONVULSES</em>cumming<em>gushing endless</em>!
<</elara>><br>
<img src="images/beggarRank/ElaraRomance4.webp" class="scene-image"><br>
<<gg>>
<em>faster, destroy herhips blur, counter COLLAPSES</em>
Gonna <em>FLOOD</em> you<em>balls tighten, cock THROBS massive</em>
<em>I EXPLODE, rope after rope paints her womb white</em>
<em> She MILKS every drop, shaking, ruined, bred</em>.
<</gg>><br>
<img src="images/beggarRank/ElaraRomance1.webp" class="scene-image"><br>
<<elara>>
<em>wrecked, panting, cum leaks down thighs</em>
God... <em>licks your blood off fingers</em>
You broke me.
<em>kisses savage, tasting herself</em>
Tomorrow. Harder.
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul><<elara>>
<em>drags me upstairs, rips door open, throws me onto bed</em>
<em>straddles, blouse explodes, tits swing free, heavy, perfect</em>
Watch me DEVOUR you.
<em>grabs my cock, guides it to her SLICK entrance</em>
<em>sinks, inch by agonizing inch, till she's STUFFED full</em>
Fuck <em>eyes cross, drool escapes</em>, so... thick!
<</elara>><br>
<img src="images/beggarRank/ElaraDeep1.webp" class="scene-image"><br>
<<gg>>
<em>hands CRUSH her asscheeks, yank her down, balls slap wet</em>
<em>her clit grinds perfect on my pelvis, electric</em>
Ride it<em>she bounces SLAM after SLAM, bedframe CRACKS</em>
<em>tits hypnotic, slapping, bouncing, begging to be sucked</em>
You are tight little queen.
<</gg>><br>
<<elara>>
<em>leans forward, tits smother my face</em>
Suck <em>nipples diamond-hard in my mouth</em>
<em>hips circle DEVASTATING, walls ripple, suck my soul</em>
I'M <em>body seizes, back arches impossible</em> BREAKING!
<em>SQUIRTS violent, sheets soaked, she SCREAMS my name</em>
$name !!!
<</elara>><br>
<img src="images/beggarRank/ElaraDeep2.webp" class="scene-image"><br>
<<gg>>
<em>flip her, missionary DESTRUCTION</em>
<em>legs over shoulders, pound womb-deep, relentless</em>
Gonna CLAIM you<em> her pussy CHOKES my cock</em>
<em>balls boil, ERUPTION, pumping thick ropes direct to cervix</em>
<em>she convulses endless, milking, draining, OWNING me</em>
MINE.
<</gg>><br>
<img src="images/beggarRank/ElaraDeep3.webp" class="scene-image"><br>
<<elara>>
<em>wrecked, cum-stuffed, trembling</em>
<em>pulls me down, kisses possessive, primal</em>
Stay buried in me.
<em>legs lock, won't let go</em>
All. Night.
<</elara>><br>
<<set $elaraTrust += 1>>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<elara>>
Shift over.
<em>locks door, eyes hungry</em>
Which way tonight?
<</elara>><br>
<ul class="choice-list">
<li><<link "Quick. Back room. Now.">>
<<goto "Elara_Repeat_Quick">>
<</link>></li><br>
<li><<link "Slow. Your room.">>
<<set $elaraTrust += 1>>
<<goto "Elara_Repeat_Slow">>
<</link>></li><br>
<li><<link "Rough. Break me.">>
<<goto "Elara_Repeat_Rough">>
<</link>></li>
</ul><<elara>>
<em>storeroom, skirt up, my cock in</em>
YES <em>braces against shelves, takes every thrust</em>
<em>cums fast, biting my shoulder</em>
Fuck, go work. <em>don't go please...</em>.
<</elara>><br>
<img src="images/beggarRank/ElaraQuick.webp" class="scene-image"><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<elara>>
<em>Candlelight casts golden glow across her flushed skin as she straddles me slowly, eyes burning with unspoken need. </em> Been waiting for this, <em> she breathes, fingers trembling as they undress her skirt, letting it slide down inch by silken inch, revealing the slick heat between her thighs. </em>
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat4.webp" class="scene-image"><br>
<<elara>>
<em>Guides me inside with agonizing slowness, velvet walls enveloping tight, warm. </em>Gods, you're huge, <em> she gasps, sinking fully, hips circling languid, savoring every ridge. Her hands roam my chest possessive, nails dragging light trails that make me throb deeper.</em>
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat5.webp" class="scene-image"><br>
<<elara>>
<em>Rocks deliberate, building rhythm unhurried forward grind, back arch, breasts swaying hypnotic before my eyes. </em>Feel how wet you make me, <em>she moans husky, leaning close, lips brushing ear as her breath hitches rhythmic. Tension coils endless, her inner muscles fluttering teasing.</em>
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat6.webp" class="scene-image"><br>
<<elara>>
<em>Pace quickens subtle, controlled, her gasps turning whimpers. </em>Don't stop... right there, <em> fingers digging shoulders as she trembles on edge. Finally shatters whispering my name, walls pulsing vise-tight, drawing my hot release deep into her quivering core, bodies locked shuddering.</em>
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat7.webp" class="scene-image"><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul><<elara>>
<em>pins me down, nails rake bloody</em>
<em>rides savage, tits slap, screams echo</em>
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat1.webp" class="scene-image"><br>
<<elara>>
BREAK me <em>convulses, squirts, collapses</em>
More. Tomorrow.
<</elara>><br>
<img src="images/beggarRank/ElaraRepeat2.webp" class="scene-image"><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul><<set $elaraTrust += 2>>
<<set $elaraIllnessSeen = true>>
<<elara>>
<em>coughing, pale, blankets piled high</em>
I've got a bad fever.
<em>shoves keys into your hand</em>
Tavern's yours. Three days.
Don't. <em>coughs violent</em> Burn it down.
<</elara>><br>
<<gg>>
I got it.
<</gg>><br>
<<gg>>
<em>Day 1: chaos, fights break out, I smash tables, order returns</em>
Drunk swings at me <em>one punch, he's down</em>
Girls whisper: <em>You are the boss now.</em>
<</gg>><br>
<<gg>>
<em>Day 2: suppliers argue prices I stare them down, they fold
Ledger balanced. Profits up.</em>
<em>girls bring me ale: "For the new boss"</em>
<</gg>><br>
<<gg>>
<em>Day 3: Elara downstairs, weak but walking
Hall spotless. Gold doubled.
she stares, impressed</em>
<</gg>><br>
<<elara>>
<em>grips my arm, eyes shining</em>
You didn't just hold it.
You improved it.
<em>pulls me close</em>
This place... ours now.
<em>kisses forehead</em>
Thank you. <br> Also, 200 coins for your hardwork.
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<run setup.money.add(200)>><<set $elaraPromotion to true>>
<<elara>>
Twenty shifts.
<em>slides ledger acrossm my name in black ink</em>
No scandals. No debts.
You run this place as good as me.
<</elara>><br>
<<gg>>
What now?
<</gg>><br>
<<elara>>
Now?
<em>hands you keys, master set</em>
You're my right hand.
Handle suppliers. Watch the girls.
<em>double your pay goes straight pocket</em>
My cut of trouble? Yours now.
<</elara>><br>
<<elara>>
One rule:
<em>eyes lock hard</em>
Don't make me regret this.
<</elara>><br>
<<elara>>
Keys stay yours.
<em>bonus 20 gold every shift, automatic</em>
Work.
<</elara>><br>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<run $questsData.setStatus("tavernPromotion", "completed")>><<switch $randomScene>>
<<case "bustFlash">>
<<gg>>
<em>serving girl "accidentally" spills ale down her front</em>
Gods, <em>blouse clings transparent, nipples hard through wet fabric</em><</gg>> <br>
<img src="images/beggarRank/wetServe.jpg" class="scene-image">
<<gg>>
Customers stare. She winks at me.
<</gg>><br>
<<case "flirt">>
<<say 'Customer'>>Hey handsome. Another round?<</say>><br>
<<gg>>
<em>her foot slides up my calf under table</em>
Coming right up.
<</gg>><br>
<<case "drunkTip">>
<<say 'Drunk patron'>>
You're too pretty for this job!
<em>throws 5 gold at my feet</em>
Should be dancing, not serving!
<</say>><br>
<<run setup.money.add(5)>>
<<case "normal">>
<<gg>>
Solid night. Trays full, fights minimal, gold steady.
<em>Elara nods approval from the bar</em>
<</gg>><br>
<<set $twRep += 1>>
<<set $elaraTrust+= 1>>
<</switch>>
<<set $randomScene = "">>
<ul class="choice-list">
<li>
<<link "Get back to tavern">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<run setup.money.add(20)>>
<<gg>>
<em>strange guy in vyshyvanka</em>
<</gg>> <br>
<<say 'Who Eela'>>
Vyshyvanka! 100 gold!
<</say>> <br>
<<gg>> How much really? <</gg>> <br>
<<say 'Who Eela'>>
ONE HUDRED! <em> throws vyshyvanka with holes</em>
<</say>> <br>
<ul class="choice-list">
<<if setup.money.get() >= 100 && !$hasVyshyvanka>>
<li><<link "Buy (-100g)">>
<<run setup.money.spend(100)>>
<<set $hasVyshyvanka = true>>
<<say 'Who Eela'>> Dyakuyu, brother! <</say>>
<</link>></li>
<</if>>
<li><<link "Back to bazaar">>
<<goto "Bazaar>>
<</link>></li>
</ul><<gg>> Who Eela, you okay? <</gg>> <br>
<<say 'Who Eela'>>
<em>sitting under table with bottle, vyshyvanka soaked</em>
E-la-ra! Give cre-dit for sa-mo-gon!
<em>spills drink, writes on floor</em>
"When I die... bury me... in TA-VER-N!"
<</say>><br>
<<gg>> You drunk again? <</gg>><br>
<<say 'Who Eela'>>
<em>laughs hysterical</em>
Drunk? I TA-VER-N PO-et! SA-MO-GON pro-pHeT!
<em>sees me clearly</em>
You! New boy! Take sa-mo-gon! Pay with PO-EM!<br>
"In tavern red mugs shine so bright, <br>
Elara's smile lights up the night!"
<</say>><br>
<ul class="choice-list">
<li><<linkreplace "Buy samogon (-2g)">>
<<run setup.money.spend(2)>>
<<say 'Who Eela'>> DYA-ku-yu, brother! Best ta-VER-n! <em>drinks more</em> <</say>><br>
<</linkreplace>></li>
<li><<linkreplace "Ask tavern prophecy">>
<<say 'Who Eela'>> C-r-a-t-e! At-tic! E-la-ra mad! <</say>>
<</linkreplace>>
</li>
<li>
<<link "Get back to work">>
<<goto "Tawern">>
<</link>>
</li></ul>
<<set $whoEelaMet to true>><<set $portShifts += 1>>
<<if $portShifts == 1 && !$portEventSeen_P1>>
<<set $portEventSeen_P1 = true>>
<<set $portResult = "P1_FirstDay">>
<<elseif $portShifts == 4 && !$portEventSeen_P2>>
<<set $portEventSeen_P2 = true>>
<<set $portResult = "P2_FightHelp">>
<<elseif $portShifts == 8 && !$portEventSeen_P3>>
<<set $portEventSeen_P3 = true>>
<<set $portResult = "P3_CaptainTrust">>
<<elseif $portShifts == 11 && !$portEventSeen_P4>>
<<set $portEventSeen_P4 = true>>
<<set $portResult = "P4_SmugglerWhisper">>
<<else>>
<<set $portRandom = random(2,9)>>
<<set $portResult = "R" + $portRandom>>
<</if>>
<<goto "PortWorkResult">>
<<run $questsData.setStatus("portWorkAsk", "completed")>>
<<switch $portResult>>
<<case "P1_FirstDay">>
<<say 'Dock Foreman'>> New hands? Don't fall in water. Grab crate.<</say>> <br>
<ul class="choice-list">
<li><<link "Work hard">> <<set $portRep += 1>>
<<goto "PortHub">><<run setup.money.add(15)>><</link>></li><br>
<li><<link "Slack off">> <<run setup.money.add(8)>>
<<goto "PortHub">><</link>></li>
</ul>>
<<case "P2_FightHelp">>
<<say 'Dock Foreman'>> Break up that fight! <</say>>
<ul class="choice-list"><br>
<li><<link "Jump in">> <<set $portRep += 2>> <<goto "PortHub">> <</link>></li><br>
<li><<link "Watch">> <<set $portRep -= 1>> <<goto "PortHub">> <</link>></li>
</ul>>
<<case "P3_CaptainTrust">>
<<say 'Captain'>> Watch my cargo. Get paid.<</say>><br>
<ul class="choice-list">
<li><<link "Agree">> <<set $portRep += 2>> <<goto "PortHub">> <<run setup.money.add(40)>> <<set $portCaptainTrust = true>> <</link>></li><br>
<li><<link "No">> <<goto "PortHub">> <<set $portRep -= 2>> <</link>></li>
</ul>>
<<case "P4_SmugglerWhisper">>
<<say 'Smuggler'>> Special cargo. Extra gold?<</say>><br>
<ul class="choice-list">
<li><<link "Yes">> <<goto "PortHub">> <<set $portRep -= 2>> <<run setup.money.add(70)>> <</link>></li><br>
<li><<link "Report">> <<set $portRep += 2>> <<goto "PortHub">> <</link>></li>
</ul>>
/* РАНДОМ */
<<case "R2">>
<<gg>> <em>sailor girls drying wet shirts</em> Nice view.<</gg>> <br>
<img src="images/beggarRank/sailorWet.jpg" class="scene-image"><br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R3">>
<<gg>> Sailors tip you for help.<</gg>> <<run setup.money.add(20)>> <br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R4">>
<<gg>> Catch falling crate. Dockers nod.<</gg>> <<set $portRep += 1>><br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R5">>
<<gg>> <em>strange locked crates loaded</em> Heavy stuff.<</gg>> <br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul><<set $portRep += 1>>
<<case "R6">>
<<gg>> Help docker in quick brawl.<</gg>> <<set $portRep += 1>><br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R7">>
<<gg>> <em>siren song from ship lures you</em> Sweet voice.<</gg>> <br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R8">>
<<gg>> Captain pours whiskey: "Good work."<</gg>> <<set $portRep += 1>> <<run setup.money.add(10)>> <br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<<case "R9">>
<<gg>> Normal shift. Steady gold.<</gg>> <<run setup.money.add(10)>> <br>
<ul class="choice-list"> <li><<link "End shift">> <<goto "PortHub">> <</link>></li> </ul>
<</switch>>
<<run setup.money.add(20)>>
<<set $portDaily += 1>>
<<script>>
console.log("portResult:", State.variables.portResult);
console.log("portShifts:", State.variables.portShifts);
<</script>>
<<gg>>
Docks. Fish, salt, sailors shouting.
($portRep reputation)
<</gg>> <br>
<ul class="choice-list">
<<if $portDaily <= 1>>
<li><<link "Start work shift">> <<goto "PortWork">> <</link>></li>
<</if>>
<li><<link "Leave">> <<goto "Port">> <</link>></li>
</ul>
<<gg>> <em>I kick aside a pile of rotting vegetable peels and something glints in the mud a solid gold coin, pristine amidst the filth. As I pick it up, I see it's no ordinary coin finely crafted, heavy, clearly worth a fortune.</em>
<em>The market falls silent. Merchants freeze mid-shout. Eyes widen as the golden gleam spreads through the crowd. Whispers ripple: "Pure gold... that much? Impossible..."</em><</gg>><br>
<<gg>>Holy shit... this is real gold. I'm rich! <br>
<em>Suddenly, eight desperate women push through the stunned crowd, eyes locked on my treasure. Each radiates raw hunger for that single coin.</em>
<</gg>><br>
<<sara>>
<em>Tavern maid Sara steps forward first, tight blouse showing ample cleavage, biting her lip nervously.</em>
That gold... let me earn it with my mouth. <em>Parts lips slowly</em> I'll worship your cock properly.
<</sara>><br>
<<lena>>
<em>Market girl Lena, simple dress hugging her curves, eyes wide with excitement.</em> <br>
<em>Lifts skirt hem teasingly </em> My pussy aches for that coin's weight. Make it mine.
<</lena>><br>
<<mia>>
<em>Farm girl Mia, healthy curves filling her bodice, fresh from milking.</em>
My full breasts need attention. <em>Cups them invitingly </em> Coin for your personal milking.
<</mia>><br>
<<tanya>>
<em>Street girl Tanya, short skirt and low blouse, hips swaying confidently.</em>
All my holes wait for use. <em>Turns showing firm ass</em> Pick any, coin seals the deal.
<</tanya>><br>
<<gina>>
<em>Fishwife Gina, apron tied tight over generous hips, sea-salt fresh on smooth skin.</em>
My warm pussy grips like ocean waves. <em>Traces curves </em> Coin for sailor's delight.
<</gina>><br>
<<pola>>
<em>Laundry maid Pola, damp dress clinging perfectly, soap scent alluring.</em>
Let me wash your cock clean. <em>Touches collarbone seductively </em> Coin for slippery service.
<</pola>><br>
<<nina>>
<em>Cook Nina, apron accentuating full figure, kitchen warmth in her cheeks.</em>
My hot mouth cooks pleasure. <em>Licks lips slowly </em> Coin for five-star service.
<</nina>><br>
<<kira>>
<em>Stable girl Kira, strong legs in tight breeches, fresh and ready.</em>
Ride me like finest stallion. <em>Flexes thighs </em> Coin makes me your champion mount.
<</kira>><br>
<<gg>> <em>Lucky find just became tournament jackpot. These sluts will destroy each other for this. </em>
Listen up. This gold is mine. You want it? Fight for it. Four days, eight women, Bazaar arena. Two advance daily. Winner gets coin AND my cock.
<em>They nod eagerly, eyes burning with competitive lust. Crowd cheers the spectacle.</em><</gg>><br>
<<set $royalTournamentActive = true>>
<<set $tournamentTier = 1>>
<<set $tournamentPart = 0>>
<<set $tournamentStage1 = 0>>
<<set $tournamentStage2 = 0>>
<<set $tournamentStage3 = 0>>
<<set $saraSeen1 to false>>
<<set $lenaSeen1 to false>>
<<set $miaSeen1 to false>>
<<set $tanyaSeen1 to false>>
<<set $ginaSeen1 to false>>
<<set $polaSeen1 to false>>
<<set $ninaSeen1 to false>>
<<set $kiraSeen1 to false>>
<<set $saraSeen2 to false>>
<<set $lenaSeen2 to false>>
<<set $miaSeen2 to false>>
<<set $tanyaSeen2 to false>>
<<set $ginaSeen2 to false>>
<<set $polaSeen2 to false>>
<<set $ninaSeen2 to false>>
<<set $kiraSeen2 to false>>
<<set $saraSeen3 to false>>
<<set $lenaSeen3 to false>>
<<set $miaSeen3 to false>>
<<set $tanyaSeen3 to false>>
<<set $ginaSeen3 to false>>
<<set $polaSeen3 to false>>
<<set $ninaSeen3 to false>>
<<set $kiraSeen3 to false>>
<div class="centered">
<div style="text-align:center; margin-top:2em;">
<span class="royal-button">
<<button "Back to bazaar" Bazaar>><</button>>
</span>
</div>
</div><<set $royalTournamentActive to true>>
<<set $panel1 to false>>
<<if $tournamentStage1 == 4 and $tournamentTier == 1>>
<<set $tournamentTier = 2>>
<<elseif $tournamentStage2 == 2 and $tournamentTier == 2>>
<<set $tournamentTier = 3>>
<</if>>
<div style="background: linear-gradient(135deg, #1a0f0f 0%, #2d1b14 50%, #0f0a08 100%); padding: 2em; border-radius: 15px; box-shadow: inset 0 0 50px rgba(0,0,0,0.8), 0 10px 40px rgba(0,0,0,0.9); margin: 1em 0;">
<h2 style="font-family: 'Trajan Pro', serif; font-size: 3em; color: #d4af37; text-align: center; text-shadow: 0 0 40px #d4af37, 3px 3px 8px #000; background: linear-gradient(90deg, rgba(212,175,55,0.2), rgba(212,175,55,0.5), rgba(212,175,55,0.2)); padding: 1em; border: 4px double #d4af37; margin: 0 0 0.5em 0; border-radius: 10px;">
🏟️ PATREON GOLD ARENA — TIER $tournamentTier 🏟️
</h2>
<p style="font-family: 'Cinzel', serif; font-size: 1.4em; color: #f5e6b3; text-align: center; font-weight: 700; text-shadow: 2px 2px 6px #000; margin: 0; letter-spacing: 2px; text-transform: uppercase;">
Cum, sweat, and champion holes. Choose your gladiators!
</p>
</div>
<div id="scene-panel"></div>
<div id="scene-panel2"></div>
<<do tag "tournament">>
<<if $tournamentPart < 2>>
<<switch $tournamentTier>>
<<case 1>>
<ul class="choice-list">
<<if !$saraTier2 and !$saraSeen1>>
<li><<link "Sara">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "SaraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "SaraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$lenaTier2 and !$lenaSeen1>>
<li><<link "Lena">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "LenaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "LenaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$miaTier2 and !$miaSeen1>>
<li><<link "Mia">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "MiaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "MiaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$tanyaTier2 and !$tanyaSeen1>>
<li><<link "Tanya">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "TanyaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "TanyaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$ginaTier2 and !$ginaSeen1>>
<li><<link "Gina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "GinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "GinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$polaTier2 and !$polaSeen1>>
<li><<link "Pola">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "PolaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "PolaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$ninaTier2 and !$ninaSeen1>>
<li><<link "Nina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "NinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "NinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if !$kiraTier2 and !$kiraSeen1>>
<li><<link "Kira">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "KiraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "KiraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
</ul>
<<case 2>>
<ul class="choice-list">
<<if $saraTier2 and !$saraSeen2>>
<li><<link "Sara">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "SaraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "SaraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $lenaTier2 and !$lenaSeen2>>
<li><<link "Lena">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "LenaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "LenaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $miaTier2 and !$miaSeen2>>
<li><<link "Mia">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "MiaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "MiaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $tanyaTier2 and !$tanyaSeen2>>
<li><<link "Tanya">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "TanyaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "TanyaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $ginaTier2 and !$ginaSeen2>>
<li><<link "Gina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "GinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "GinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $polaTier2 and !$polaSeen2>>
<li><<link "Pola">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "PolaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "PolaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $ninaTier2 and !$ninaSeen2>>
<li><<link "Nina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "NinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "NinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $kiraTier2 and !$kiraSeen2>>
<li><<link "Kira">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "KiraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "KiraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
</ul>
<<case 3>>
<ul class="choice-list">
<<if $saraTier3 and !$saraSeen3>>
<li><<link "Sara">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "SaraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "SaraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $lenaTier3 and !$lenaSeen3>>
<li><<link "Lena">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "LenaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "LenaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $miaTier3 and !$miaSeen3>>
<li><<link "Mia">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "MiaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "MiaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $tanyaTier3 and !$tanyaSeen3>>
<li><<link "Tanya">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "TanyaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "TanyaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $ginaTier3 and !$ginaSeen3>>
<li><<link "Gina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "GinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "GinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $polaTier3 and !$polaSeen3>>
<li><<link "Pola">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "PolaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "PolaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $ninaTier3 and !$ninaSeen3>>
<li><<link "Nina">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "NinaTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "NinaTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
<<if $kiraTier3 and !$kiraSeen3>>
<li><<link "Kira">>
<<if $panel1 is false>>
<<replace "#scene-panel">><<include "KiraTournamentScenes">><</replace>>
<<set $panel1 to true>>
<<else>>
<<replace "#scene-panel2">><<include "KiraTournamentScenes">><</replace>>
<</if>>
<<redo "tournament">>
<</link>></li>
<</if>>
</ul>
<</switch>>
<</if>>
<</do>>
<<switch $tournamentTier>>
<<case 1>>
<<sara>>
<em>Slowly drops to her knees before me in the Bazaar dirt, her tavern apron still tied around waist, fingers trembling slightly as they fumble with my trouser buttons, breath hot against my crotch </em> Oh gods, let me taste that cock for your golden coin, please... <em>Lips part slowly, soft pink tongue extends hesitantly at first then with growing hunger as cockhead touches her mouth, swirling delicate circles around sensitive tip while saliva begins dripping down shaft in glistening strings, her eyes locked upward begging for approval. Sucks gently 30 seconds building rhythm, then pulls off with wet POP, lips swollen and shining </em> Did my mouth please you enough to advance me?
<</sara>>
<img src="images/beggarRank/sara1.png" class="scene-image"> <br>
<<set $saraSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Sarah as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $saraTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<sara>>
<em>Grabs base of my shaft firmly with calloused tavern-working hand, other hand braces against my thigh for leverage as she forces entire throbbing length down her throat inch by brutal inch </em> My tavern throat fucks better than any pussy you've ever known! <em>Nose finally presses against my pubic bone after prolonged struggle, throat muscles visibly bulging around cock's shape beneath pale skin, rhythmic gagging contractions massage entire length while tears well in corner of eyes, saliva bubbles profusely from stretched lips running down chin to soak apron completely. Continues deepthroating 45 seconds, throat rippling perfectly, then pulls off coughing thick saliva ropes connecting lips to glistening shaft </em> My throat's champion material!
<</sara>>
<img src="images/beggarRank/sara2.png" class="scene-image"> <br>
<<set $saraSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Sarah as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $saraTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<sara>>
<em>Both rough hands grip my ass cheeks hard enough to bruise, pulling my hips forward violently as she slams face onto cock repeatedly like weapon </em> This throat was MADE for your champion cock, USE IT! <em>Head pistons forward with animal desperation, tears now streaming freely down flushed cheeks mixing with rivers of thick saliva flooding from brutally stretched lips, throat visibly distending with each violent thrust creating obscene bulging outline, gagging sounds turn wetter and more desperate as she chokes herself into oblivion for victory. After 60+ seconds of brutal facefucking, body suddenly convulses violently, throat spasms around cock as she orgasms from abuse alone, collapses backward pulling off with massive wet GURGLE, throat gaping open, face destroyed by fluids </em> I'M... YOUR... CHAMPION...
<</sara>>
<img src="images/beggarRank/sara3.png" class="scene-image"> <br>
<<set $saraSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Sara as the winner of the tournament">>
<<goto "Bazaar">>
<<set $royalTournamentActive = false>>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>>
<<switch $tournamentTier>>
<<case 1>>
<<lena>>
<em>Lifts market skirt slowly before me in Bazaar dirt, simple dress hugging curves tightly, fingers teasing hem upward revealing creamy thighs and damp cotton panties clinging to swollen cameltoe</em> Oh please, feel how wet my pussy gets for your golden coin... <em>Grabs my hand firmly, presses palm against soaked crotch, guides fingers tracing pussy lips through fabric, wetness seeping instantly, hips rocking gently building rhythm 30 seconds, steps back leaving fingers glistening with arousal, pussy visibly throbbing through panties</em> Did my dripping cunt impress you enough to advance me, sir?
<</lena>>
<img src="images/beggarRank/lena1.png" class="scene-image"> <br>
<<set $lenaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Lena as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $lenaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<lena>>
<em>Rips soaked panties aside exposing glistening pink pussy lips already parted with arousal, yanks trousers down urgently revealing throbbing erection </em> Watch how my market pussy fucks better than any tavern slut's holes! <em>Straddles thighs grabbing shaft base, slides swollen pussy lips up down entire length coating cock creamy juices, clit grinding hard against sensitive underside, hips thrusting desperately 45 seconds building speed wetness, cockhead nudging entrance teasingly each pass, dismounts leaving shaft shining pussy glaze dripping thighs</em> My cunt deserves that champion coin!
<</lena>>
<img src="images/beggarRank/lena2.png" class="scene-image"> <br>
<<set $lenaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Lena as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $lenaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<lena>>
<em>Pushes flat onto Bazaar crate, rips skirt completely off bunching waist, climbs atop straddling powerfully eyes wild competitive lust</em> This pussy BORN to milk champion cock for victory! <em>Grabs cock aiming perfectly, impales balls-deep single downward thrust, tight velvet walls gripping every inch, rides reverse cowgirl brutal intensity slamming ass down loud wet slapping, pussy juices squirting balls thighs each violent descent, pounds 60+ seconds shattering intensity until body convulses violently, cunt clamps crushing cock orgasmic spasms, floods completely gushing release collapsing forward panting heavily pussy twitching</em> I'M... YOUR... PUSSY... CHAMPION...
<</lena>>
<img src="images/beggarRank/lena3.png" class="scene-image"> <br>
<<set $lenaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Lena as the winner in the tournament">>
<<set $royalTournamentActive = false>>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<mia>>
<em>Rips farm bodice open before me in Bazaar dirt revealing massive milk-heavy breasts spilling forward, nipples already darkening with arousal, grabs both my hands roughly pressing deep into soft overflowing titflesh </em> Feel these champion udders for your golden coin, sir... <em>Fingers sink completely into warm creamy breasts, nipples hardening instantly against palms, she squeezes my hands milking herself gently building pressure 30 seconds, thin milk beads appear on tips trickling down fingers, steps back chest heaving leaving hands sticky with lactation, nipples glistening erect</em> Did my milky tits please you enough to advance me?
<</mia>>
<img src="images/beggarRank/mia1.png" class="scene-image"> <br>
<<set $miaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li> <<link "Select Mia as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $miaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<mia>>
<em>Pushes my face forward burying between perfect sweat-slicked cleavage, strong farmgirl hands cradle head possessively forcing mouth onto left nipple </em> Taste fresh champion milk straight from source! <em>Lips seal around thick nipple, warm sweet lactation floods mouth immediately, tongue instinctively sucks harder drawing steady stream, right breast leaks untouched dripping down stomach, continues feeding 45 seconds milk production increasing rhythmically, pulls head back with wet POP lips coated white, both nipples throbbing visibly erect leaking steadily </em>My udders produce for victors only!
<</mia>>
<img src="images/beggarRank/mia2.png" class="scene-image"> <br>
<<set $miaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Mia as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $miaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<mia>>
<em>Grabs throbbing cock firmly between both massive milk-slicked breasts squeezing together creating perfect warm tit-pussy tunnel </em> These tits FUCK better than any champion hole! <em>Slides cock deep into creamy cleavage tunnel, milk leaking constantly lubricating perfect strokes, nipples rub shaft tip each upward thrust, builds speed brutally fast 60+ seconds breasts slapping rhythmically, sudden lactation orgasm sprays milk fountain both directions soaking faces chests completely, releases cock standing proud glistening white milk rivers running down shaft </em> I'M... YOUR... MILK... CHAMPION...
<</mia>>
<img src="images/beggarRank/mia3.png" class="scene-image"> <br>
<<set $miaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<li> <ul class="choice-list">
<<link "Select Mia as the winner in the tournament">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<tanya>>
<em>Bends forward over Bazaar crate before me lifting short street skirt slowly revealing perfect firm ass cheeks framed by thong strap disappearing between, spreads legs wide exposing both glistening pussy and tight pink asshole winking invitingly </em> Check all my champion holes for that golden coin, sir... <em>Reaches back grabbing both my hands guiding firmly, right hand presses against dripping pussy lips parting folds easily, left hand two fingers circle teasing puckered asshole clenching hungrily, rocks hips back against palms 30 seconds building desperate rhythm coating fingers slick juices both holes, steps forward leaving hands dripping connecting strings arousal air</em> Did my perfect holes please you enough to advance me?
<</tanya>>
<img src="images/beggarRank/tanya1.png" class="scene-image"> <br>
<<set $tanyaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"> <li>
<<link "Select Tanya as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $tanyaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<tanya>>
<em>Spins around dropping low squatting perfectly balanced, rips thong aside exposing both holes spread wide naturally, grabs throbbing cock urgently stroking base firmly</em> Street pussy AND ass fuck better combined than any single hole! <em>Shuffles forward impaling pussy first balls-deep single thrust soaking cock instantly, rides 20 seconds pussy gripping rhythmically, pulls off suddenly spins reverse slamming asshole down entire length stretching tight ring obscenely, bounces anal 25 seconds ass cheeks slapping loudly, dismounts both holes gaping slightly dripping mixed juices down thighs leaving cock shining double glaze</em> My double holes dominate completely!
<</tanya>>
<img src="images/beggarRank/tanya2.png" class="scene-image"> <br>
<<set $tanyaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Tanya as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $tanyaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<tanya>>
<em>Drops to knees before me ripping skirt off completely, grabs cock urgently pushing between spread ass cheeks slick with pussy juice lubing perfect slide</em> My champion ass DEVOURS cock completely for victory! <em>Shuffles backward impaling asshole balls-deep single motion, tight ring stretches perfectly around shaft gripping every inch, slams ass back repeatedly 60+ seconds cheeks rippling violently creating loud wet slapping symphony, inner walls milk desperately building crushing pressure, hits shattering anal orgasm asshole spasming rhythmically around cock flooding hot juices down balls, collapses forward panting hole twitching releasing glistening shaft</em> I'M... YOUR... ASS... CHAMPION...
<</tanya>>
<img src="images/beggarRank/tanya3.png" class="scene-image"> <br>
<<set $tanyaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Tanya as the winner in the tournament">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<gina>>
<em>Ties fishwife apron tighter before me in Bazaar dirt emphasizing generous hips and heavy breasts, reaches down spreading thighs wide revealing sea-salt glistening pussy lips already swollen with arousal</em> Feel my ocean-wet pussy for your golden coin, sir... <em>Grabs my hand pressing firmly against slick folds, guides fingers sliding easily between warm slippery lips, ocean-scented juices coating palm instantly, rocks hips forward-back 30 seconds building slick rhythm, clit throbbing against fingertips visibly, steps back leaving hand dripping strings connecting to visibly parted glistening pussy lips</em> Did my fisherman's cunt please you enough to advance me?
<</gina>>
<img src="images/beggarRank/gina1.png" class="scene-image"> <br>
<<set $ginaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list">
<li><<link "Select Gina as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $ginaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<gina>>
<em>Rips apron down exposing full heavy breasts and slick pussy completely, grabs throbbing cock urgently slicking palm with pussy juice first</em> My fishwife pussy fucks deeper than any landlubber hole! <em>Straddles powerfully forward impaling herself balls-deep single downward thrust, warm velvety walls grip every inch perfectly, rides forward facing 25 seconds breasts bouncing hypnotically slapping rhythmically, spins reverse without pulling off slamming ass down 20 seconds cheeks rippling wetly, dismounts pussy gaping slightly dripping copious cream down thighs leaving cock shining thick white glaze</em> My cunt catches champion sperm!
<</gina>>
<img src="images/beggarRank/gina2.png" class="scene-image"> <br>
<<set $ginaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"> <li>
<<link "Select Gina as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $ginaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<gina>>
<em>Pushes me against fish stall leaning back spreading thighs wide bracing hands behind, grabs cock aiming perfectly at swollen entrance</em> This pussy NETS champion cock forever! <em>Thrusts hips forward impaling completely single motion, strong fisherman's legs lock around waist pulling impossibly deeper, slams pussy against me violently 60+ seconds wet squelching symphony echoing through stalls, inner walls ripple massaging desperately milking effect building crushing intensity, hits shattering squirting orgasm flooding thighs completely hot gushing release, legs tremble releasing slowly panting pussy twitching visibly releasing glistening shaft</em> I'M... YOUR... OCEAN... CHAMPION...
<</gina>>
<img src="images/beggarRank/gina3.png" class="scene-image"> <br>
<<set $ginaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Gina as the winner in the tournament">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<pola>>
<em>Pulls laundry damp dress tighter before me in Bazaar dirt clinging perfectly to curves, pours bucket water slowly over chest creating translucent effect revealing dark erect nipples pressing fabric urgently</em> Feel my soapy wet body for your golden coin, sir... <em>Grabs both my hands pressing against soaked clinging breasts, guides palms sliding smoothly over wet fabric tracing hardened nipples circling slowly, water mixed soap suds coating fingers slickly, rocks chest forward-back 30 seconds building slippery rhythm, steps back dress completely transparent nipples throbbing visibly dripping water</em> Did my wet soapy tits please you enough to advance me?
<</pola>>
<img src="images/beggarRank/pola1.png" class="scene-image"> <br>
<<set $polaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Pola as the winner in the second round">>
<<set $tournamentStage1 += 1>>
<<set $polaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<pola>>
<em>Rips soaked dress down exposing perfect soapy breasts dripping steadily, grabs throbbing cock coating palm with soap bubbles first</em> My laundry pussy washes cock cleaner than any bathhouse slut! <em>Straddles thighs forward dropping low, slides soapy pussy lips up down entire shaft creating perfect slick frictionless glide, bubbles popping loudly with each thrust, clit grinding desperately against cock underside, continues slippery grinding 45 seconds building creamy white foam both directions, dismounts leaving cock sparkling clean shining soap glaze dripping thighs</em> My cunt cleans champions perfectly!
<</pola>>
<img src="images/beggarRank/pola2.png" class="scene-image"> <br>
<<set $polaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Pola as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $polaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<pola>>
<em>Pushes me against laundry cart bending backward spreading thighs wide gripping sides firmly, grabs cock slicking with soap handful first</em> This soapy pussy POLISHES champion cock to perfection! <em>Thrusts hips upward impaling completely single motion, wet soapy walls grip every inch sliding frictionlessly perfect, slams pussy against me violently 60+ seconds bubbles exploding wet slapping symphony everywhere, inner walls massage rhythmically through soap lubrication building unbearable slick pressure, hits shattering slippery orgasm flooding hot soapy gush both directions, collapses trembling pussy twitching releasing sparkling clean shaft</em> I'M... YOUR... SOAP... CHAMPION...
<</pola>>
<img src="images/beggarRank/pola3.png" class="scene-image"> <br>
<<set $polaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Pola as the winner in the second round">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<nina>>
<em>Unwraps cook's apron slightly before me in Bazaar dirt revealing generous curves underneath, dips fingers into jar warm honey spreading slowly across full lips and chin dripping golden strands</em> Taste my sweet cooking for your golden coin, sir... <em>Grabs my hand pulling toward mouth, guides fingers across sticky lips collecting honey beads, slides two fingers deep into warm wet mouth sucking hungrily tongue swirling coating completely, continues sucking licking 30 seconds building delicious rhythm, pulls off with wet POP lips glistening honey strings connecting fingertips</em> Did my honey mouth please you enough to advance me?
<</nina>>
<img src="images/beggarRank/nina1.png" class="scene-image"> <br>
<<set $ninaSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"> <li>
<<link "Select Nina as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<set $ninaTier2 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<nina>>
<em>Rips apron down exposing full heavy breasts and soft stomach, grabs throbbing cock slathering thick cream coating from mixing bowl first</em> My cook mouth fucks hotter than oven fire! <em>Drops low taking entire length deep throat single motion, warm mouth envelops completely tongue working underneath shaft rhythmically, throat muscles massage steadily while saliva mixes creamy thick lubricant, bobs head steadily 45 seconds building perfect cooking suction, pulls off coughing thick sweet cream ropes connecting swollen lips glistening cockhead</em> My mouth cooks champion loads perfectly!
<</nina>>
<img src="images/beggarRank/nina2.png" class="scene-image"> <br>
<<set $ninaSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Nina as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $ninaTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<nina>>
<em>Pushes me against kitchen stall counter bending backward spreading thighs gripping edge firmly, grabs cock dipping in warm butter pot first</em> This cook pussy BAKES champion cock from inside! <em>Thrusts hips upward impaling balls-deep single slick motion, hot buttered walls grip every inch perfectly, slams pussy rhythmically against me 60+ seconds wet sticky slapping everywhere, inner walls massage desperately through creamy lubrication building crushing pressure, hits shattering buttery orgasm flooding hot sticky gush coating thighs balls completely, collapses panting pussy twitching releasing glistening butter-slick shaft</em> I'M... YOUR... COOK... CHAMPION...
<</nina>>
<img src="images/beggarRank/nina3.png" class="scene-image"> <br>
<<set $ninaSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Nina as the winner in the tournament">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>><<switch $tournamentTier>>
<<case 1>>
<<kira>>
<em>Strips tight stable breeches halfway down muscular thighs before me in Bazaar dirt revealing powerful legs and firm ass cheeks flexing powerfully, grabs both my hands pressing against rock-hard quads</em> Feel these champion rider thighs for your golden coin, sir... <em>Fingers dig into corded muscle, guides hands upward stroking inner thighs dangerously close heat source, thighs flex rhythmically squeezing palms powerfully 30 seconds building riding tempo, steps back breeches still low muscular ass glistening sweat thighs parted invitingly</em> Did my strong riding legs please you enough to advance me?
<</kira>>
<img src="images/beggarRank/kira1.png" class="scene-image"> <br>
<<set $kiraSeen1 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Kira as the winner in the first round">>
<<set $tournamentStage1 += 1>>
<<goto "Bazaar">>
<<set $kiraTier2 to true>>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 2>>
<<kira>>
<em>Rips breeches completely off kicking aside revealing perfect muscular ass and strong pussy mound, grabs throbbing cock positioning between powerful thighs</em> These stable thighs FUCK harder than any horse rider! <em>Squeezes thighs tight trapping cock completely in muscular vice grip, slides up down entire length 25 seconds building crushing pressure, spins reverse pressing ass cheeks against shaft grinding powerfully 20 seconds muscles rippling rhythmically, releases thighs leaving cock trapped between slick sweaty muscular walls throbbing red</em> My thighs crush champion cock perfectly!
<</kira>>
<img src="images/beggarRank/kira2.png" class="scene-image"> <br>
<<set $kiraSeen2 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"><li>
<<link "Select Kira as the winner in the second round">>
<<set $tournamentStage2 += 1>>
<<set $kiraTier3 to true>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<<case 3>>
<<kira>>
<em>Pushes me backward onto hay bales flat, climbs atop knees straddling powerfully gripping shoulders, grabs cock aiming at muscular pussy entrance</em> This champion pussy RIDES cock to total destruction! <em>Impales balls-deep single powerful downward thrust, steel-strong thighs power slamming motion 60+ seconds ass cheeks slapping violently against thighs, pussy walls grip crushingly powerful milking every inch desperately, hits shattering muscular orgasm thighs clamping vise-like crushing cock completely flooding hot gushing release, collapses forward panting pussy clenching rhythmically releasing battered glistening shaft</em> I'M... YOUR... RIDER... CHAMPION...
<</kira>>
<img src="images/beggarRank/kira3.png" class="scene-image"> <br>
<<set $kiraSeen3 = true>>
<<do tag "tournament">>
<<if $tournamentPart == 2>>
<ul class="choice-list"> <li>
<<link "Select Kira as the winner in the tournament">>
<<if !$collected['tournament_collection'] >>
<<set $collected['tournament_collection'] = true>>
<<flash "You earned new card">>
<<flashType "success">>
<<Timeout 3000>>
<<Delay 500>>
<<Theme "dark">>
<<Layout "bottom-right">>
<</flash>>
<</if>>
<<set $royalTournamentActive = false>>
<<goto "Bazaar">>
<</link>>
</li></ul>
<</if>>
<</do>>
<</switch>>
<<set $tournamentPart += 1>>