Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
<<widget "initVars">>
<<setdefault $body to {}>>
<<setdefault $breasts to {}>>
<<setdefault $ass to {}>>
<<setdefault $rerolls to { body: 0, game: 0 }>>
<<setdefault $rerolls.encounterPicks to 0>>
<<setdefault $rerolls.freeBodyPick to false>>
<<setdefault $skills to { attack: 0, outwit: 0, seduce: 0 }>>
<<setdefault $effects to { boost1: {}, penalty1: {}, drawbacks: {} }>>
<<setdefault $drawbacks to []>>
<<setdefault $seen to []>>
<<initOptions>>
<</widget>>
<<widget "initOptions">>
<<set $bodyOptions to [{
name: "Human",
description: "You're relieved to discover that the only thing alien about your body is the feeling of your new 'assets'. Without the distraction of an alien body, it should be easier to focus on getting out of here.",
effect: "''Unremarkable'': You gain +1 to all your ''Outwit'' rolls.",
image: "img/body/body_h.jpg"
}, {
name: "Twi'lek",
description: "Brightly colored skin highlights your new curves for all to see. You have a hard time imagining anyone who wouldn't want to spend a night with your luscious new form.",
effect: "''Exotic beauty'': You gain +1 to all your ''Seduce'' rolls.",
image: "img/body/body_twi.jpg"
}, {
name: "Zabrak",
description: "Your new body is strikingly beautiful. But you're also bright red, with ominous face tatoos and wicked-looking horns. You flex your biceps. Maybe you can catch someone by surprise.",
effect: "''Intimidating'': You gain +1 to all your ''Attack'' rolls.",
image: "img/body/body_z.jpg"
}, {
name: "Togruta",
description: "You run your hands over your orange skin with a shudder. Everything is so sensitive- your nipples stand erect as you trace your finger across your breasts, and your skin tingles with the slightest touch. Your senses are so acute, you can even feel the barest hint of the Force flowing through you. It's not enough to force-choke someone, but it might help bend luck in your favor.",
effect: "''Force Sensitive'': Twice per game, you can reroll one of your dice.",
image: "img/body/body_tog.jpg"
}, {
name: "Mirialan",
description: "You're immediately overwhelmed by emotions- pain, fear, pleasure, rage. They're coming from all around you. Almot as if you can read the feelings of those in your vicinity. Peeking out the open cell door, you see a human in a guard uniform, exactly where you sensed him to be. This should make getting out of here a little easier.",
effect: "''Empath'': Twice per game, you can pick your encounter instead of it being randomly assigned.",
image: "img/body/body_m.png"
}, {
name: "Pleasure Droid",
description: "Light glints off your metalic body, and servomotors whirr as you tilt your head down to examine yourself. As far as you can tell, everything about you is now mechanical. You briefly consider using your new robotic strength to muscle your way out of here, but the idea of hurting a living being (even to save yourself!) now seems unfathomable. Luckly, it seems you are now fluent in over three million forms of communication. And from the erotic images flashing through your data core, it seems like you've been programmed to communicate a little more carnally than the average protocol droid.",
effect: "''Restraining Bolt'': You cannot make ''Attack'' rolls. However, you gain +1 to all ''Outwit'' or ''Seduce'' rolls.",
image: "img/body/body_droid.png"
}]>>
<<set $breastOptions to [{
name: "Tiny",
description: "Not very noticable, but at least they won't get in the way.",
effect: "Gain +1 to all ''Attack'' rolls.",
image: "img/body/breast_tiny.jpg"
}, {
name: "Modest",
description: "Not much to look at, but at some tactical cleavage might distract anyone you're trying to sweet-talk.",
effect: "Gain +1 to all ''Outwit'' rolls.",
image: "img/body/breast_modest.jpg"
}, {
name: "Natural",
description: "A quick flash of these is enough to get any sapient creature hot and bothered.",
effect: "Gain +1 to all ''Seduce'' rolls.",
image: "img/body/breast_natural.png"
}, {
name: "Endowed",
description: "Big and pillowy. Very attractive, but will make combat a challenge.",
effect: "Gain +2 to all ''Seduce'' rolls. But take a -1 penalty to all ''Attack'' rolls.",
image: "img/body/breast_endowed.jpg"
}, {
name: "Enormous",
description: "Just plain inconvenient.",
effect: "Get a -1 penalty to ''all'' skills.",
image: "img/body/breast_enormous.jpg"
}]>>
<<set $assOptions to [{
name: "Fit",
description: "Toned and flat, perfect for acrobatics.",
effect: "Gain +1 to all ''Attack'' rolls.",
image: "img/body/ass_fit.jpg"
}, {
name: "Bubble",
description: "Firm, round and bouncy. A potent distraction.",
effect: "Gain +1 to all ''Outwit'' rolls.",
image: "img/body/ass_bubble.jpg"
}, {
name: "Full",
description: "Soft and plush. Your backside sways sensually as you walk.",
effect: "Gain +1 to all ''Seduce'' rolls.",
image: "img/body/ass_full.jpg"
}, {
name: "Thicc",
description: "Juicy and jiggly, with a lot to love. Might throw off your center of balance if you try to fight.",
effect: "Gain +2 to all ''Seduce'' rolls. But take a -1 penalty to all ''Attack'' rolls.",
image: "img/body/ass_thicc.jpg"
}, {
name: "Ridiculous",
description: "Forget fighting, with this caboose you'll be struggling to get through doors!",
effect: "Get a -1 penalty to ''all'' skills.",
image: "img/body/ass_ridiculous.jpg"
}]>>
<<set $drawbackOptions to [{
name: "Ditzy",
description: "Like, why would I want to escape? Having sex is fun!",
effect: "Reduces ''Outwit'' by 1.",
image: "img/drawback/ditz.jpg",
repeatable: true,
weight: 2,
}, {
name: "Messy",
description: "Ewwww, I need to find a place to clean up.",
effect: "Reduces ''Seduce'' by 1.",
image: "img/drawback/messy.png",
repeatable: true,
weight: 2
}, {
name: "Obedient",
description: "Why am I even trying? I should just give in.",
effect: "Reduces ''Attack'' by 1.",
image: "img/drawback/obedient.png",
repeatable: true,
weight: 2,
}, {
name: "Cum Addict",
description: "Cum just tastes sooo good. How did I ever live without?",
effect: "You cannot use ''Seduce'' in encounters without a penis present.",
image: "img/drawback/addict.jpg",
repeatable: false
}, {
name: "Buckethead",
description: "I can't see a thing in this helmet!",
effect: "You gain +2 ''Attack''. However, for every encounter there is a 50% chance you cannot use attack at all.",
image: "img/drawback/bucket.jpg",
repeatable: false
}, {
name: "Cumdump",
description: "So.. much.. cum.. I'm still recovering from the last load!",
effect: "When you fail an encounter, there is a 1/3 chance it counts as a ''Critical Fail'' instead.",
image: "img/drawback/cum.jpg",
repeatable: false
}, {
name: "Bad Luck",
description: "The odds are not in my favour.",
effect: "For every encounter roll, two numbers are rolled and the lowest number counts.",
image: "img/drawback/luck.jpg",
repeatable: false
}, {
name: "Gagged",
description: "A good slave does not speak her mind.",
effect: "You cannot use ''Outwit'' for ''two'' encounters after getting this drawback.",
image: "img/drawback/gagged.jpg",
repeatable: true
}, {
name: "Ruined",
description: "Fuck, I'm not going to be able to walk for a while..",
effect: "You cannot use ''Seduce'' for ''two'' encounters after getting this drawback.",
image: "img/drawback/ruin.jpg",
repeatable: true
}, {
name: "Frozen",
description: "Hello? Can someone let me out of here? Please?",
effect: "You cannot use ''Attack'' for ''two'' encounters after getting this drawback.",
image: "img/drawback/frozen.jpeg",
repeatable: true
}, {
name: "Slave Collar",
description: "How do I get this thing off my neck?",
effect: "Increases ''Seduce'' by 1, but reduces all other skills by 1",
image: "img/drawback/collar.jpeg",
repeatable: false
}, {
name: "Corrupted",
description: "Force-choke me harder, Master!",
effect: "You feel a dark lust building inside you... but otherwise, nothing changes. For now atleast, as this may affect your escape's outcome.",
image: "img/drawback/dark.jpg",
repeatable: false
}, {
name: "Mindfucked",
description: "...haahh... more...fuck me more...",
effect: "+1 ''Seduce''. Every time you attempt a Seduce roll, lose 1 ''Outwit''.",
image: "img/drawback/mindfuck.jpg",
repeatable: false
}, {
name: "Creamed",
description: "Oh shit- did he finish inside me?",
effect: "<<if $body.name == 'Pleasure Droid'>>
You feel hot seed burst into your synthetic pussy, dripping out to run down your thighs. Luckily, droids can't get pregnant... right?
<<else>>You feel hot seed burst into your fertile womb, immediately raising some uncomfortable questions about genetic compatibility between aliens. But there's no time to worry about getting knocked up now- you still need to escape.
<</if>>",
image: "img/drawback/cream.jpeg",
repeatable: false
},]>>
<<set $endingOptions to [{
name: "Smuggler",
description: "Sneaking past Jabba’s guards has left you with a talent for trickery. And as it turns out, the average Imperial officer isn’t all
that much smarter than a Gammorrean. By using your wits and keeping a low profile, you’re eventually moving enough illegal merchandise to amass
a small fortune and afford your own ship. Time to hit the Sabbac tables!",
requirement: "Escape with an ''Outwit'' of 3 or higher.",
image: "img/end/end_smuggler.jpg",
}, {
name: "Bounty Hunter",
description: "Fighting your way through Jabba’s Palace was no easy feat, and it didn’t go unnoticed by the galactic underworld. You start
receiving offers almost immediately- capture some smuggler, bring him to his creditor, earn a pile of cash. By showing some skin to distract
targets, you find that you can be very effective. Before long, if someone on Tatooine wants someone else dead, you’re the one they call.",
requirement: "Escape with an ''Attack'' of 3 or higher.",
image: "img/end/end_bounty.jpeg",
}, {
name: "Diplomat",
description: "Your new body makes you a natural people pleaser, and you’re quickly picked up as a diplomatic attaché for the Tatooine planetary
government. Your duties include attending parties alongside local officials, escorting foreign dignitaries, and engaging in “physical
negotiations” to secure important treaties. You’re very popular among your colleagues.",
requirement: "Escape with a ''Seduce'' of 3 or higher.",
image: "img/end/end_diplo.jpg",
}, {
name: "Star Whore",
description: "You successfully teased, fucked, and flirted your way out of the palace, but you might’ve gotten a little too good at leading
people on. Your reputation preceeds you throughout the galaxy. Wherever you go in your new life, there’ll always be someone trying to get in
your pants, and who are you to say no to a good time? If someone asks you for sex, you’ll always answer with an enthusiastic yes, regardless
of who’s asking, or what they want you to do.",
requirement: "Escape with a ''Seduce'' of 5 or higher.",
image: "img/end/end_whore.jpg",
}, {
name: "Helpless",
description: "Your new body is many things, but it's not meant for fighting. Regardless of your wits or inner strength, in a physical
confrontation you're weak and defenseless. If someone decides to hold you down and fuck you, there's nothing you can do about it.",
requirement: "Escape with a negative ''Attack''.",
image: "img/end/end_weak.jpg",
}, {
name: "Jedi",
description: "By finding balance within your mind and body, you unlock a latent connection with the Force. With some training, you’ll be able to
harness this great power to do good across the galaxy.",
requirement: "''All skills'' 2 or higher (1+ if force sensitive) and less than 5 ''Drawbacks''.",
image: "img/end/end_jedi.jpg",
}, {
name: "Sith",
description: "By focusing on your most base desires, you find you can draw on the dark side of the Force. For most, anger and lust is a
distraction, but with some training it can become the source of a great and evil power.",
requirement: "''One skill'' 4 or higher (3+ if force sensitive) and 5 or more ''Drawbacks''.",
image: "img/end/end_sith.jpg",
}, {
name: "Airhead",
description: "You seem to have misplaced some of your mental faculties on your way out of the palace. You're not sure if you were brainwashed
or simply fucked stupid, but your thoughts are all pink and fuzzy now! Good thing you don't need smarts to look pretty!",
requirement: "End with a negative ''Outwit''. You have the feeling that it could have been a lot worse.",
image: "img/end/end_airhead.png",
}, {
name: "Braindead",
description: "Your journey through the palace completely destroyed all but the most basic parts of your mind. Forget speaking in complete
sentences, even organizing coherent thoughts is going to be a challenge from here on out. Regardless of your drawbacks, you're probably not
good for much beyond a life as a mindless sex doll.",
requirement: "End with an ''Outwit'' of -4 or less.",
image: "img/end/end_braindead.jpeg",
}, {
name: "Monster Bait",
description: "Your close encounters with Jabba’s beasts left you covered in their sticky pheremones. The many monstrous beasts of the galaxy will
now see you as a potential mate, and will act accordingly. Watch out for trash compactors!",
requirement: "Escape while having encountered one of the great monsters.",
image: "img/end/end_monster.jpg",
}, {
name: "Morale Officer",
description: "You’ve escaped Jabba’s palace only to land in the waiting arms of the Empire. Given the choice between service to the Emperor and
summary execution, you enlist as a morale officer at the Tatooine garrison, tasked with attending to the needs of the troops. I’m sure you can
find a way to keep them all satisfied.",
requirement: "End with 4 or more ''Drawbacks'' and have pledged allegiance to the empire.",
image: "img/end/end_morale.jpg",
}, {
name: "Pregnant",
description: "Despite the complexities of alien biology, life, uh... finds a way. A few months after leaving the palace you start to notice some
nausea, mood swings, and a noticeable bump on your belly. You might have some suspicion of who (or what) the father is, but there's no easy way
to know. Now you have a choice: find whatever passes for late-term contraception on Tatooine, or prepare for life as a single mother.",
requirement: "Finish with the ''Creamed'' drawback.",
image: "img/end/end_preg.jpg",
},]>>
<</widget>><<if $drawbacks.length>>\
You have currently collected ''$drawbacks.length'' drawback<<if $drawbacks.length > 1>>s<</if>>.\
<<else>>\
You do not have any drawbacks yet. Let's see how long you can keep that up..\
<</if>>
<<if $drawbacks.length < 10>>\
Beware- if you get 10 or more drawbacks before you can escape, ''you lose!''
<</if>>\
<<if $effects.disableAttack>>\
<<if $effects.drawbacks.buckethead>>\
You cannot use the ''Attack'' stat because of the Buckethead drawback.
<<else>>\
You cannot use the ''Attack'' stat <<if $body.name === 'Pleasure Droid'>>because you are a Pleasure Droid<<elseif $effects.disableAttack === true>>permanently<<else>>for ''$effects.disableAttack'' more encounter<<if $effects.disableAttack > 1>>s<</if>><</if>>.
<</if>>\
<<elseif $drawbacks.includes('Frozen')>>\
The Frozen drawback has worn off.
<</if>>\
<<if $effects.disableOutwit>>\
You cannot use the ''Outwit'' stat <<if $effects.disableOutwit === true>>permanently<<else>>for ''$effects.disableOutwit'' more encounter<<if $effects.disableOutwit > 1>>s<</if>><</if>>.
<<elseif $drawbacks.includes('Gagged')>>\
The Gagged drawback has worn off.
<</if>>\
<<if $effects.disableSeduce>>\
<<if $effects.drawbacks.cumaddict>>\
You cannot use the ''Seduce'' stat because of the Cum Addict drawback.
<<else>>\
You cannot use the ''Seduce'' stat <<if $effects.disableSeduce === true>>permanently<<else>>for ''$effects.disableSeduce'' more encounter<<if $effects.disableSeduce > 1>>s<</if>><</if>>.
<</if>>\
<<elseif $drawbacks.includes('Ruined')>>\
The Ruined drawback has worn off.
<</if>>\
<<nobr>>
<div class='current-drawbacks'>
<<set _items to Drawbacks.getCurrentDrawbacks()>>
<<for _item range _items>>
<<drawbackItem _item true>>
<</for>>
</div>
<</nobr>>
<<switch $drawbacks.length>>\
<<case 1>>You still feel like yourself. Be careful, it could get much, much worse.
<<case 2 3>>Intrusive thoughts of servitude cloud your mind. No- you're not a slave! Not yet, anyways.
<<case 4 5>>Something's wrong here, but it's hard to pin down. Did you normally think about sex this often? Have Gammoreans always looked... attractive?
<<case 6 7>>It's getting hard to imagine going back to your old life, if you do get out of here. Maybe serving your master is your true purpose?
<<case 8 9>>This escape isn't exactly going as planned, but is that really so bad? The last few shreds of your resolve are alarmed to think you could get used to life as a palace slave.
<<case 10 11 12 13 14>>You failed your escape and you are now a totally broken sex slave.
<</switch>>\<<widget "drawbackItem">><<nobr>>
<<set _item to $args[0]>>
<div class='option drawback-item'>
<<if $args[1]>><<displayimage _item.image _item.name `_item.description + '<br><br>' + _item.effect`>><<else>>[img[_item.image]]<</if>>
<div>
<h3>_item.name</h3>
<p><em>_item.description</em></p>
<p>_item.effect</p>
<<if _item.repeatable && _item.count > 1>>
<span class='count'>x<<-_item.count>></span>
<</if>>
</div>
</div>
<</nobr>><</widget>>
<<widget "drawbackEffect">>
<<silently>>
<<set _name to $args[0]>>
<<switch _name>>
<<case "Ditzy">>
<<set $skills.outwit -= 1>>
<<case "Messy">>
<<set $skills.seduce -= 1>>
<<case "Obedient">>
<<set $skills.attack -= 1>>
<<case "Buckethead">>
<<set $skills.attack += 2>>
<<case "Slave Collar">>
<<set $skills.outwit -= 1>>
<<set $skills.attack -= 1>>
<<set $skills.seduce += 1>>
<<case "Mindfucked">>
<<set $skills.seduce += 1>>
<<case "Gagged">>
<<if $effects.disableOutwit !== true>>
<<if !$effects.disableOutwit>><<set $effects.disableOutwit to 0>><</if>>
<<set $effects.disableOutwit += 2>>
<</if>>
<<case "Ruined">>
<<if $effects.disableSeduce !== true>>
<<if !$effects.disableSeduce>><<set $effects.disableSeduce to 0>><</if>>
<<set $effects.disableSeduce += 2>>
<</if>>
<<case "Frozen">>
<<if $effects.disableAttack !== true>>
<<if !$effects.disableAttack>><<set $effects.disableAttack to 0>><</if>>
<<set $effects.disableAttack += 2>>
<</if>>
<</switch>>
<</silently>>
<</widget>>
<<widget "undoDrawbackEffect">>
<<silently>>
<<set _name to $args[0]>>
<<switch _name>>
<<case "Ditzy">>
<<set $skills.outwit += 1>>
<<case "Messy">>
<<set $skills.seduce += 1>>
<<case "Obedient">>
<<set $skills.attack += 1>>
<<case "Buckethead">>
<<set $skills.attack -= 2>>
<<case "Slave Collar">>
<<set $skills.outwit += 1>>
<<set $skills.attack += 1>>
<<set $skills.seduce -= 1>>
<<case "Mindfucked">>
<<set $skills.seduce -= 1>>
<<case "Gagged">>
<<if $effects.disableOutwit !== true && $effects.disableOutwit > 0>>
<<set $effects.disableOutwit to Math.max(0, $effects.disableOutwit - 2)>>
<</if>>
<<case "Ruined">>
<<if $effects.disableSeduce !== true && $effects.disableSeduce > 0>>
<<set $effects.disableSeduce to Math.max(0, $effects.disableSeduce - 2)>>
<</if>>
<<case "Frozen">>
<<if $effects.disableAttack !== true && $effects.disableAttack > 0>>
<<set $effects.disableAttack to Math.max(0, $effects.disableAttack - 2)>>
<</if>>
<</switch>>
<</silently>>
<</widget>>
<<widget "adddrawback">>
<<silently>>
<<run $drawbacks.push($args[0])>>
<<drawbackEffect $args[0]>>
<</silently>>
<</widget>>
<<widget "removeDrawback">>
<<silently>>
<<set _i to $drawbacks.indexOf($args[0])>>
<<if _i >= 0>>
<<run $drawbacks.deleteAt(_i)>>
<<undoDrawbackEffect $args[0]>>
<</if>>
<</silently>>
<</widget>>
<<widget "rolldrawbacks">><<nobr>>
<<if !_drawbackRolls>><<set _drawbackRolls to []>><</if>>
<<set _count to +$args[0] || 1>>
<<for _i = 0; _i < _count; _i++>>
<<set _id to 'drawback-roll' + _i>>
<<capture _i, _id>>
<<rolldrawback-internal _i>>
<</capture>>
<</for>>
<</nobr>><</widget>>
<<widget 'rolldrawback-internal'>><<nobr>>
<<if !_drawbackRolls[_i]>>
<<set _drawbackRolls[_i] to Drawbacks.rollNewDrawback()>>
<</if>>
<<div _id>>
You gain a drawback: ''_drawbackRolls[_i].name''
<<drawbackinfo _drawbackRolls[_i]>>
<<if $rerolls.game > 0>>
<<span 'reroll'>>
<<button 'Reroll ($rerolls.game)'>>
<<set $rerolls.game -= 1>>
<<set _drawbackRolls[_i] to Drawbacks.rollNewDrawback()>>
<<replace `'.' + _id`>>
<<rolldrawback-internal _i>>
<</replace>>
<</button>>
<</span>>
<</if>>
<</div>>
<</nobr>><</widget>>
<<widget 'applydrawbacks'>><<silently>>
<<if _drawbackRolls>>
<<for _i = 0; _i < _drawbackRolls.length; _i++>>
<<adddrawback _drawbackRolls[_i].name>>
<</for>>
<</if>>
<</silently>><</widget>>
<<widget 'drawbackinfo'>><<nobr>>
<<click '(?)'>>
<<script>>
Dialog.setup();
Dialog.wiki('<<drawbackItem $args[0]>>');
Dialog.open();
<</script>>
<</click>>
<</nobr>><</widget>><<widget "encounterUI">>
<div class='encounter-body'>
<<displayimage _image _title>>
<div>
<h2>_title</h2>
_encounter
<br><br>
<div class='stats'>
''<<if _attack > 0>>Attack: _attack<<else>>Cannot be attacked<</if>>''<br>
''<<if _outwit > 0>>Outwit: _outwit<<else>>Cannot be outwit<</if>>''<br>
''<<if _seduce > 0>>Seduce: _seduce<<else>>Cannot be seduced<</if>>''<br>
</div>
<br>
<span class='roll'></span>
<div class='rolls'>
<<set _boosts to Encounter.effectiveBoosts() >>
<<set _noAttack to _attack <= 0 || $effects.disableAttack > 0>>
<<set _noOutwit to _outwit <= 0 || $effects.disableOutwit > 0>>
<<set _noSeduce to _seduce <= 0 || $effects.disableSeduce > 0>>
<<span _noAttack && 'disabled'>>
<<button 'Roll Attack <<if _boosts.attack>>(<<printnum _boosts.attack>>)<</if>>'>><<encounterRoll attack>><</button>>
<</span>>
<<span _noOutwit && 'disabled'>>
<<button 'Roll Outwit <<if _boosts.outwit>>(<<printnum _boosts.outwit>>)<</if>>'>><<encounterRoll outwit>><</button>>
<</span>>
<<span _noSeduce && 'disabled'>>
<<button 'Roll Seduce <<if _boosts.seduce>>(<<printnum _boosts.seduce>>)<</if>>'>><<encounterRoll seduce>><</button>>
<</span>>
<<if $effects.drawbacks.buckethead>><br>You cannot attack due to the <<span 'drawback'>>Buckethead<</span>> drawback<</if>>
<<if $effects.drawbacks.cumaddict>><br>You cannot seduce due to the <<span 'drawback'>>Cum Addict<</span>> drawback<</if>>
<<if _noAttack && _noOutwit && _noSeduce>>
<br><br>
You are so pathetic, you cannot do anything at all.
<br>You will just have to <<click 'take it raw'>><<encounterAutoFail>><</click>>.
<</if>>
<<if Config.debug && $encounterTestMode>>
<br><br>
<div>
Force:
<<button 'Success'>><<encounterRoll '' success>><</button>>
<<button 'Fail'>><<encounterRoll '' fail>><</button>>
<<button 'Crit'>><<encounterRoll '' crit>><</button>>
</div>
<</if>>
</div>
<div id='encounterResult'></div>
</div>
</div>
<</widget>>
<<widget "encounterRoll">>
<<set _skill to $args[0]>>
<<set _roll to Encounter.rollNumber()>>
<<set _bonus to Encounter.effectiveBoost(_skill)>>
<<set _finalRoll to _roll + _bonus>>
<<set _result to $args[1] || Encounter.getResult(_skill, _roll, _finalRoll)>>
<<replace '.roll'>>
<<if settings.rollDiceEffect>>
<<shake 1200ms>><</shake>>
<<run Encounter.rollDiceEffect('.roll .shake', 1200, 1, 6)>>
<</if>>
<</replace>>
<<replace '.rolls'>>
<<timed `settings.rollDiceEffect ? '1200ms' : '0ms'` transition>>
<<replace '.roll'>><</replace>>
<<replace '.rolls'>>
You rolled _roll + _bonus = <<span 'finalRoll'>>_finalRoll.<</span>>
<<if $effects.drawbacks.badluck>>
<br>Your roll was lowered by <<= $effects.drawbacks.badluck - _roll>> due to <<span 'drawback'>>Bad Luck<</span>>.
<</if>>
<<if $rerolls.game > 0>>
<<span 'reroll'>>
<<button 'Reroll ($rerolls.game)'>>
<<set $rerolls.game -= 1>>
<<encounterRoll _skill>>
<</button>>
<</span>>
<</if>>
<br><br>
Result: <<span 'result ' + _result>>
<<switch _result>>
<<case 'success'>>Success
<<case 'fail'>>Failure
<<case 'crit'>>Critical Fail
<<default>>_result
<</switch>>
<</span>>
<<if $effects.drawbacks.cumdump>><br>Failure turned critical due to the <<span 'drawback'>>Cum Dump<</span>> drawback.<</if>>
<<if _skill == 'seduce' && Drawbacks.has('Mindfucked')>>\
<<set $effects.drawbacks.mindfucked to true>>
<br>Your ''Outwit'' will be lowered by 1 due to the <<span 'drawback'>>Mindfucked<</span>> drawback.
<</if>>
<br>
----
<br>
<<print temporary()[_result]>>
<</replace>>
<</timed>>
<</replace>>
<</widget>>
<<widget "encounterAutoFail">>
<<set _result to 'crit'>>
<<replace '.roll'>><</replace>>
<<replace '.rolls'>>
You rolled <<span 'finalRoll'>>0.<</span>>
<br><br>
Result: <<span 'result ' + _result>>Critical Fail<</span>>
<br>
----
<br>
<<print temporary()[_result]>>
<</replace>>
<</widget>>
<<widget "encounterEnd">>
/* Reset 'boost next roll with skill' */
<<if _skill && $effects.boost1[_skill] > 0>>
<<set $effects.boost1[_skill] to 0>>
<</if>>
<<if _skill && $effects.penalty1[_skill] > 0>>
<<set $effects.penalty1[_skill] to 0>>
<</if>>
<<if $effects.boost1.any > 0>>
<<set $effects.boost1.any to 0>>
<</if>>
<<if $effects.penalty1.any > 0>>
<<set $effects.penalty1.any to 0>>
<</if>>
/* Tick down 'skill disabled for x turns' */
<<if $effects.disableAttack !== true && $effects.disableAttack > 0>>
<<set $effects.disableAttack -= 1>>
<</if>>
<<if $effects.disableOutwit !== true && $effects.disableOutwit > 0>>
<<set $effects.disableOutwit -= 1>>
<</if>>
<<if $effects.disableSeduce !== true && $effects.disableSeduce > 0>>
<<set $effects.disableSeduce -= 1>>
<</if>>
/* Mindfucked effect */
<<if $effects.drawbacks.mindfucked>>
<<set $skills.outwit -= 1>>
<</if>>
/* Cleanup */
<<set $effects.drawbacks to {}>>
<</widget>>
<<widget 'encounteroptions'>>
<<div 'encounter-action'>>
<<link _encounter_link_text>>
<<replace '.encounter-action'>>
<<randomencounter _weighted_encounter_options>>
<</replace>>
<</link>>
<<if !$nextEncounter && $rerolls.encounterPicks>>
<<set _pick_text to $body.name == 'Mirialan' ? 'Use your Mirialan force to sense what is to come.' : 'Look ahead at what is to come.'>>
<<if $rerolls.encounterPicks !== true>><<set _pick_text += ' ($rerolls.encounterPicks remaining)'>><</if>>
<br>or<br>
<<link _pick_text>>
<<set $rerolls.encounterPicks -= 1>>
<<replace '.encounter-action' transition>>
You sense multiple dangers up ahead. Pick your next encounter:<br>
<<for _i = 0; _i < _encounter_options.length; _i++>>
<<link _encounter_options[_i].description _encounter_options[_i].name>><</link>><br>
<</for>>
<</replace>>
<</link>>
<</if>>
<</div>>
<</widget>>!Slave Quarters
<<div 'cover'>>[img[img/loc/cell2.jpeg]]<</div>>
Your cell seems to be just one of many burrowed into the rock beneath Jabba's luxurious palace. If you can navigate its twisting hallways without getting caught, hopefully you can find a staircase to the next floor.
<<encounters `$nextEncounter == 'Jailer' ? 'The jail guard focuses its attention on you' : 'Explore the area..'`>>\
<<option 'Jailer' 2>>An unassuming human male sits outside your cell. He seems bored.
<<option 'Gamorrean Guard' 2>>A hulking, if dim-witted, alien patrols the halls.
<<option 'Oola' 1>>In the cell next to yours, a young Twi'lek is also thinking of escape.
<</encounters>>You face a jail guard in the hallways:
<<encounter "Jailer" "img/encounter/cells_jailer.jpg" 4 4 4>>
The guard outside your cell might be bigger than you, but he's only human. Maybe you can talk him into letting you go?\
<<success>>
You beat the guard. Confident from your vicory, you move on to the Palace Halls.
You gain ''+1 to your next attack roll''.
<<if $body.name == 'Pleasure Droid'>>Though, as a Pleasure Droid, that seems completely useless to you.<</if>>
<<link "Let's go" 'Palace Halls'>>
<<if !$effects.boost1.attack>><<set $effects.boost1.attack to 0>><</if>>
<<set $effects.boost1.attack += 1>>
<</link>>
<<fail>>
The Jailer decides to release you in exchange for a blowjob.
<<rolldrawbacks 1>>
You advance to the Palace Halls to see the Medical Droid.
<<link "To the Medbay" 'Palace Halls'>>
<<applydrawbacks>>
<<set $nextEncounter to 'Medical Droid'>>
<</link>>
<<crit>>
You're in no position to bargain, and the jailer knows it. He puts you in your place, giving you 1 Drawback and returning you to the Slave Quarters
<<rolldrawbacks 1>>
<<link "Back to your cell.." 'Slave Quarters'>>
<<applydrawbacks>>
<</link>>
<</encounter>>You encounter a gamorrean guard:
<<encounter "Gamorrean Guard" "img/encounter/cells_gammorean.jpg" 7 3 5>>
These brutish aliens patrol all over Jabba's palace. This one doesn't look particularly smart, but makes up for that in muscle.\
<<success>>
You beat the guard. Confident from your vicory, you move on to the Palace Halls.
You gain ''+1 to your next attack roll''.
<<if $body.name == 'Pleasure Droid'>>Though, as a Pleasure Droid, that seems completely useless to you.<br><</if>>\
<<link "Let's go" 'Palace Halls'>>
<<setdefault $effects.boost1.attack to 0>>
<<set $effects.boost1.attack += 1>>
<</link>>
<<fail>>
The creature overpowers you, and you return to the Slave Quarters covered in its cum.
You take a ''-1 penalty to your next seduce roll''.
<<link "Back to your cell.." 'Slave Quarters'>>
<<setdefault $effects.penalty1.seduce to 0>>
<<set $effects.penalty1.seduce += 1>>
<</link>>
<<crit>>
It turns out the Gamorrean had friends. They quickly strip you of both your clothes and your dignity, leaving you exhausted and sore in the Slave Quarters.
<<rolldrawbacks 1>>
<<link "Back to your cell.." 'Slave Quarters'>>
<<applydrawbacks>>
<</link>>
<</encounter>>You find another slave girl as she is being harassed by the guards:
<<encounter "Oola" "img/encounter/cells_oola.jpg" 2 4 6>>
This beautifull Twi'lek has no intention of being Rancor food. And if that means you have to take her place in the pit, so be it.
<<success>>
Watching Oola in action has given you a few pointers in using your new body. You gain ''+1 to all future seduce rolls'' and move on to the Palace Halls.
<<link "Continue" 'Palace Halls'>>
<<set $skills.seduce += 1>>
<</link>>
<<fail>>
Oola tricks you and hands you over to the nearest guard, while she attempts to escape.
<<rolldrawbacks 1>>
<<link "Continue" 'Slave Quarters'>>
<<applydrawbacks>>
<<set $nextEncounter to 'Jailer'>>
<</link>>
<<crit>>
Oola successfully convinces your captors that you should take her place to face the Rancor. The guards prompty pick you up and carry you over to the Monster Pits.
<<link "Uh oh.. " 'Monster Pits'>>
<<set $nextEncounter to 'Rancor'>>
<</link>>
<</encounter>>!Palace Halls
<<div 'cover'>>[img[img/loc/halls.jpeg]]<</div>>
Having escaped the prisoner dungeon, you wander the palace halls.
<<encounters `$nextEncounter == 'Medical Droid' ? 'Look around for the medbay' : 'Explore the area..'`>>\
<<option 'Bommar Monk' 1>>One of the palace's oldest inhabitants dreams silently in your path.
<<option 'Gamorrean Guard 2' 2>>A hulking, dim-witted alien guard lurks down the hall to your left.
<<option 'Medical Droid' 2>> One hall leads to a mechanical intelligence, seemingly programmed to do no harm.
<<option 'Mysterious Figure' 1>>One being, incredibly strong in the Force, overwhelms your senses the instant you focus on the hallway to your right.
<</encounters>>You encounter an eight legged robot, carrying it's brain in a jar:
<<encounter "B'ommar Monk" "img/encounter/halls_monk.jpg" 2 2 0>>
The spider-like creature is scary looking, but it doesn't seem to notice you, or at least it doesn't seem to care.
<<success>>
You get past the robot and manage to salvage one of the creature's spikey bionic legs.
<br> You gain ''+1 Attack''.
<<link "Continue to Jabba's Dais" "Jabbas Dais">>
<<set $skills.attack += 1>>
<</link>>
<<fail>>
The monk can't really do anything to stop you, but getting outplayed by a brain in a jar is pretty humiliating.
<br>You continue to Jabba's Dais but take a ''-1'' penalty on your next roll.
<<link "Get out of here" "Jabbas Dais">>
<<setdefault $effects.penalty1.any to 0>>
<<set $effects.penalty1.any += 1>>
<</link>>
<<crit>>
Somehow, not only did you lose a fight with a helpless brain in a jar even with the element of suprise, but you didn't even stand a chance.
<br>You manage to go on but pick up two drawbacks.
<<rolldrawbacks 2>>\
<<link "Continue to Jabba's Dais." "Jabbas Dais">>
<<applydrawbacks>>
<</link>>
<</encounter>>You encounter a gamorrean guard:
<<encounter "Gamorrean Guard" "img/encounter/halls_gammorean.jpg" 7 3 5>>
These brutish aliens patrol all over Jabba's palace. This one doesn't look particularly smart, but makes up for that in muscle.
<<success>>
You beat the guard. Confident from your vicory, you move on to Jabba's Dais.
You gain ''+1 to your next attack roll''.
<<if $body.name == 'Pleasure Droid'>>Though, as a Pleasure Droid, that seems completely useless to you.<</if>>
<<link "Continue to Jabba's Dais" "Jabbas Dais">>
<<setdefault $effects.boost1.attack to 0>>
<<set $effects.boost1.attack += 1>>
<</link>>
<<fail>>
The creature overpowers you, and you return to the Slave Quarters covered in its cum.
You take a ''-1 penalty to your next seduce roll''.
<<link "Back to your cell.." 'Slave Quarters'>>
<<setdefault $effects.penalty1.seduce to 0>>
<<set $effects.penalty1.seduce += 1>>
<</link>>
<<crit>>
It turns out the Gamorrean had friends. They quickly strip you of both your clothes and your dignity, leaving you exhausted and sore in the Slave Quarters.
<<rolldrawbacks 1>>
<<link "Back to your cell.." 'Slave Quarters'>>
<<applydrawbacks>>
<</link>>
<</encounter>>As you sneak through the halls, a metal arm grabs your wrist and drags you into a side room.
//"Come! Come! It is time for your checkup!"//
<<encounter "Medical Droid" "img/encounter/halls_med.jpg" 4 5 0>>
It takes out an impressive set of crazy tools and syringes.
I'm sure it has good intentions.
<<success>>
The droid offers to change your body or remove a drawback, then lets you go on your way.
<<set _toRemove to $drawbacks.random()>>\
<<if $breasts.name != 'Tiny'>>\
<<link "Reduce Breasts size by one." "Jabbas Dais">>
<<run Drawbacks.adjustBreasts(-1)>>
<</link>>
<</if>><<if $ass.name != 'Flat'>>
<<link "Reduce Ass size by one." "Jabbas Dais">>
<<run Drawbacks.adjustAss(-1)>>
<</link>>
<</if>><<if _toRemove>>
<<link "Remove drawback __//_toRemove//__." "Jabbas Dais">>
<<removeDrawback _toRemove>>
<</link>>
<</if>>
<<link "Continue without change." "Jabbas Dais">><</link>>
<<fail>>
//"You may notice some swelling"//, the droid says, plunging a needle full of pink fluid into your arm.
<<set _target to random(0, 1) == 0 ? 'breasts' : 'ass'>>
<<if _target == 'breasts' && $breasts.name == 'Enormous'>>\
Your feel your enormous breasts tingle but nothing happens.\
<<elseif _target == 'ass' && $ass.name == 'Ridiculous'>>\
Your ridiculously sized ass tingles but nothing happens.\
<<else>>\
Your feel your ''_target'' inflating. It's size increases by one category.
<</if>>
<<link "Exit back the hall." "Palace Halls">>
<<if _target == 'breasts'>><<run Drawbacks.adjustBreasts(1) >>
<<elseif _target == 'ass'>><<run Drawbacks.adjustAss(1) >>
<</if>>
<</link>>
<<crit>>
The droid descends on you with a flurry of needles and scalpels.
<<if $breasts.name == 'Enormous'>>Your feel your enormous breasts tingle but nothing happens.
<<else>>Your ''breasts'' swell and increase size by one category.
<</if>>\
<<if $ass.name == 'Ridiculous'>>Your feel your ridiculously sized ass tingle but nothing happens.
<<else>>Your ''ass'' swells and increases size by one category.
<</if>>\
<<rolldrawbacks 1 >>
<<link "Crawl back to the hallway." "Palace Halls">>
<<applydrawbacks>>
<<run Drawbacks.adjustBreasts(1) >>
<<run Drawbacks.adjustAss(1) >>
<</link>>
<</encounter>>You see a strange figure moving around the halls:
<<encounter "Mysterious Hooded Figure" 'img/encounter/halls_jedi.jpg' 10 6 5>>
Whoever this guy in the black cloak is, the guards don't seem to notice him. And is that a lightsaber on his belt, or is he just happy to see me?
<<success>>
This Jedi isn't interested in you. He seems to have his own reasons to be this deep in the palace.
<<link "Advance to Jabba's Dais." "Jabbas Dais">><</link>>
<<fail>>
You could swear you saw someone, but it must've slipped your mind. It's probably not important.
You feel lightheaded and gain the ''Ditzy'' <<drawbackinfo `Drawbacks.get('Ditzy')`>> drawback.
<<link "Continue walking.." "Jabbas Dais">>
<<adddrawback 'Ditzy'>>
<</link>>
<<crit>>
What were you thinking about again? By the time you regain your senses, you've wandered all the way back to where you started.
You are thoroughly confused..
You gain the drawback: ''Ditzy'' <<drawbackinfo `Drawbacks.get('Ditzy')`>>
You get ''-1 to your next Outwit'' roll.
<<link 'You find yourself back at your cell.' 'Slave Quarters'>>
<<adddrawback 'Ditzy'>>
<<setdefault $effects.penalty1.outwit to 0>>
<<set $effects.penalty1.outwit += 1>>
<</link>>
<</encounter>>!Jabba's Dais
<<div 'cover'>>[img[img/loc/dais.jpg]]<</div>>
In the heart of the palace you stumble upon Jabba's audience chamber. You shiver by the sight and stench of his slimey body.
<<if $nextEncounter == 'Jabba the Hutt'>>
<<randomencounter 'Jabba the Hutt'>>
<<else>>
<<encounters 'Look around..'>>\
<<option 'Jabba the Hutt' 2>>Your mind recoils from a putrid aura of lust and gluttony.
<<option 'Salacious Crumb' 1>>A small creature cackles in sadistic glee.
<<option 'Princess Leia' 1>>A daring adventurer in need of aid lies chained and uncomfortable.
<<option 'Bib Fortuna' 2>>A sleazy slave trader with a weakness for dancing girls wheels and deals on the periphery.
<</encounters>>
<</if>>You find yourself before Jabba, the disgusting creature running this whole operation:
<<encounter "Jabba the Hutt" 'img/encounter/dais_jabba.jpg' 6 7 5>>
The big slug himself. Jabba might be ugly, be he's a shrewd negotiator and stronger than he looks. He gestures for you to dance.
<<success>>
Impressed by your spirit, Jabba puts you in a golden bikini and drags you to his Sail Barge.
You gain ''+1 to Seduce and Attack''.
<<link "Advance to the Sail Barge" 'Sail Barge'>>
<<set $skills.attack += 1>>
<<set $skills.seduce += 1>>
<</link>>
<<fail>>
Jabba fishes a small slimey creature out of a tank and laughs as he shoves it down your throat. You feel something begin to swell \
as the slimey creature wriggles in your gut.
<<set _target to random(0, 1) == 0 ? 'breasts' : 'ass'>>
<<if _target == 'breasts' && $breasts.name == 'Enormous'>>\
Your feel your enormous breasts tingle but nothing happens.
<<elseif _target == 'ass' && $ass.name == 'Ridiculous'>>\
Your ridiculously sized ass tingles but nothing happens.
<<else>>\
Whatever Jabba just fed you seems to be altering your body. Your ''_target'' is increased by ''one'' category.
<</if>>\
<<link "Return to Jabba's Dais" "Jabbas Dais">>
<<run console.log('fail link click')>>
<<run console.log(`_target`)>>
<<if _target == 'breasts'>><<run Drawbacks.adjustBreasts(1) >>
<<elseif _target == 'ass'>><<run Drawbacks.adjustAss(1) >>
<</if>>
<</link>>
<<crit>>
Angry at your pitiful excuse at dancing, Jabba gestures at one of his goons and you feel the floor drop from under you.
<<rolldrawbacks 1 >>
<<link "You fall down the hole in the floor." "Monster Pits">>
<<applydrawbacks>>
<<set $nextEncounter to "Rancor">>
<</link>>
<</encounter>>A tiny creature is eyeing you from the corner of the room. He suddenly approaches and clings to your body.
<<encounter "Salacious Crumb" "img/encounter/dais_crumb.jpg" 2 4 8>>
Jabba's creepy court jester. Forget the Rancor- if this cackling pervert ends up fucking you, you might as well die of embarrasment.
<<success>>
You manage to avoid the creature by catching the eye of one of Jabba's other guests.
Gain ''+1'' to your ''next roll''.
<<link 'Return to the Dais' 'Jabbas Dais'>>
<<setdefault $effects.boost1.any to 0>>
<<set $effects.boost1.any += 1>>
<<set $excludeEncounter to 'Salacious Crumb'>>
<</link>>
<<fail>>
In an unguarded moment, you feel something warm and tiny poke its way into your ass. The little cretin is actually fucking you! \
You'll never live this down.
<<rolldrawbacks 1>>
<<link 'Return to the Dais' 'Jabbas Dais'>>
<<applydrawbacks>>
<<set $excludeEncounter to 'Salacious Crumb'>>
<</link>>
<<crit>>
Crumb cackles from behind you, and all of a sudden you feel warm spunk dripping down your thigh. You didn't even feel him back there!
<<rolldrawbacks 2>>
<<link 'Return to the Dais' 'Jabbas Dais'>>
<<applydrawbacks>>
<<set $excludeEncounter to 'Salacious Crumb'>>
<</link>>
<</encounter>>You see Jabba leering at Leia, his pet princess. This gives you an idea:
<<encounter 'Princess Leia' 'img/encounter/dais_leia.jpg' 4 7 5>>
Jabba keeps the Princess within easy reach at all times. Maybe she'd be willing to help you escape?
<<success>>
Leia agrees to help you out, giving you some helpful advice and convincing Jabba to let you onto his next cruise, \
where you might be able to escape.
You gain ''+1 Outwit''.
<<link 'Escape to the Sail Barge' 'Sail Barge'>>
<<set $skills.outwit += 1>>
<</link>>
<<fail>>
Jabba overhears your plans and tugs Leia offstage. Now his attention is fully on you.
<<link 'Face Jabba' 'Jabbas Dais'>>
<<set $nextEncounter to 'Jabba the Hutt'>>
<</link>>
<<crit>>
Leia has got her own plan to escape, and it involves using you as a distraction.
<<rolldrawbacks 1>>
<<link 'You are dragged to the Pits' 'Monster Pits'>>
<<applydrawbacks>>
<<set $nextEncounter to 'Rancor'>>
<</link>>
<</encounter>>Bib Fortuna, Jabba's right hand, takes a special interest in you:
<<encounter 'Bib Fortuna' 'img/encounter/dais_bib.jpg' 5 6 6>>
Jabba's greasy majordomo seems to have a thing for dancing girls. \
Maybe you can leverage that into getting one step closing to escaping.
<<success>>
You manage to convince the oily Twi'lek to let you on Jabba's next sail barge ride.
You gain ''+1 Outwit''.
<<link 'Advance to the Sail Barge' 'Sail Barge'>>
<<set $skills.outwit += 1>>
<</link>>
<<fail>>
The shrewd alien agrees to help, but wants a night with you in return.
<<rolldrawbacks 1>>
<<link 'Agree and advance to the Sail Barge with the drawback' 'Sail Barge'>>
<<applydrawbacks>>
<</link>>
or
<<link 'Disagree and return to the Palace Halls without drawbacks' 'Palace Halls'>><</link>>
<<crit>>
Maybe trying to negotiate with an underworld crime boss wasn't the best idea. Before you know it, \
Fortuna has talked you into a one-night-stand, and then locked you back into your old cell.
<<rolldrawbacks 1>>
<<link 'Back to your cell..' 'Slave Quarters'>>
<<applydrawbacks>>
<</link>>
<</encounter>>!Sail Barge
<<div 'cover'>>[img[img/loc/barge.jpg]]<</div>>
You're on a luxurious sand yacht with Jabba and his exclusive guests in the desert of Tatooine.
<<encounters 'Look around the barge..'>>\
<<option 'Jabba the Hutt 2' 2>>A familiar, slimy being of greed and malevolence suns itself on the upper deck.
<<option 'Boba Fett' 2>>A ruthless hunter stands guard.
<<option 'Gamorrean Guard 3' 1>>A porcine guard keeps charge of the dancers.
<<option 'Inconspicuous Palace Guard' 1>>A potential ally stands in the guise of an enemy.
<</encounters>>Jabba now relaxes luxuriously on his sail barge, one grubby hand gripping the chain around your neck.
<<encounter 'Jabba the Hutt' 'img/encounter/barge_jabba.jpg' 7 8 6>>
Still a gross and slimy slug. He orders you to dance. When he's satisfied maybe you can find a way off this thing.
<<success>>
You slip from Jabba's grip and leap off the edge of the barge into, the dunes below.
You gain ''+1 to your next roll''.
<<link 'Into the dunes.' 'Tatooine Dunes'>>
<<setdefault $effects.boost1.any to 0>>
<<set $effects.boost1.any += 1>>
<</link>>
<<fail>>
Jabba tires of your company and passes you on to one of his other guests.
<<rolldrawbacks 1>>
<<link 'You wander the barge.' 'Sail Barge'>>
<<applydrawbacks>>
<<set $excludeEncounter to 'Jabba the Hutt 2'>>
<</link>>
<<crit>>
Jabba cackles as his goons prod you along the plank over the Sarlacc pit.
<<rolldrawbacks 1>>
<<link 'uh oh..' 'Monster Pits'>>
<<applydrawbacks>>
<<set $nextEncounter to 'Sarlacc'>>
<</link>>
<</encounter>>You face Boba Fett, the infamous bounty hunter and special guest to Jabba's slave operation.
<<encounter 'Boba Fett' 'img/encounter/barge_boba.png' 9 7 7>>
The bounty hunter is just looking for some entertainment right now, but he's still a force to be reckoned with.\
If you can get rid of him somehow you might be able to slip away.
<<success>>
You easily outplay Fett and run off into the desert, elated to have beaten the bounty hunter.
You gain ''+1 Attack''.
<<link 'Into the dunes.' 'Tatooine Dunes'>>
<<set $skills.attack += 1>>
<</link>>
<<fail>>
Despite your best effects, the bounty hunter sticks to you like glue. But he //is// a mercenary- maybe you can make a deal?
<<rolldrawbacks 2>>
<<link 'Advance with the drawbacks' 'Tatooine Dunes'>>
<<applydrawbacks>>
<</link>>
or
<<link 'Return to Jabba without the new drawbacks' 'Jabbas Dais'>><</link>>
<<crit>>
Boba does not take kindly to being tricked. He orders you to the plank for some top notch entertainment.
<<rolldrawbacks 1>>
<<link 'Onto the plank..' 'Monster Pits'>>
<<applydrawbacks>>
<<set $nextEncounter to 'Sarlacc'>>
<</link>>
<</encounter>>One of the guards take a perverted interest in you:
<<encounter "Gamorrean Guard" "img/encounter/barge_gammorean.jpg" 7 3 5>>
Even on the barge these brute guards are everywhere, acting as bodyguards for Jabba and the guests.
<<success>>
You manage to escape its grips and escape off the barge into the sand below.
You gain ''+1 to your next attack roll''.
<<if $body.name == 'Pleasure Droid'>>Though, as a Pleasure Droid, that seems completely useless to you.<</if>>
<<link "Into the dunes." "Tatooine Dunes">>
<<setdefault $effects.boost1.attack to 0>>
<<set $effects.boost1.attack += 1>>
<</link>>
<<fail>>
The creature overpowers you, and you return to the Slave Quarters covered in its cum.
You take a ''-1 penalty to your next seduce roll''.
<<link "Back to your cell.." 'Slave Quarters'>>
<<setdefault $effects.penalty1.seduce to 0>>
<<set $effects.penalty1.seduce += 1>>
<</link>>
<<crit>>
The brute signals for the other guards to join in. They quickly strip you of both your clothes and your dignity, \
leaving you exhausted and sore as they take you back to your cell.
<<rolldrawbacks 1>>
<<link "Back to your cell.." 'Slave Quarters'>>
<<applydrawbacks>>
<</link>>
<</encounter>>You see someone dressed as a Palace Guard, but there is something off about him..
<<encounter 'Conspicuously Inconspicuous Palace Guard' 'img/encounter/barge_lando.jpg' 5 4 5>>
This guy clearly isn't one of the palace guards, but he's doing his best to pretend. \
Hopefully he won't rat you out to keep his flimsy cover.
<<success>>
As it turns out, Lando is here to help! He helps you remove one drawback of choice and you can sneak off into the dunes below.
<<if $drawbacks.length > 0>>
Remove drawback: \
<<listbox "_toRemove" autoselect>>\
<<optionsfrom [].concatUnique($drawbacks)>>\
<</listbox>>
<<else>>
You have no drawbacks that Lando can help you with.
<</if>>
<<link 'Sneak down off the Barge' 'Tatooine Dunes'>>
<<if _toRemove>><<removeDrawback _toRemove>><</if>>
<</link>>
<<fail>>
Ever the businessman, Lando offers a trade: you get his dick wet, and he'll cover your escape into the dunes.
<<rolldrawbacks 1>>
<<link 'Lando helps you escape.' 'Tatooine Dunes'>>
<<applydrawbacks>>
<</link>>
<<crit>>
The untrustworthy scoundrel sells you out!
<<rolldrawbacks 1>>
<<link 'Back to the barge.' 'Sail Barge'>>
<<applydrawbacks>>
<</link>>
<</encounter>>!Tatooine Dunes
<<div 'cover'>>[img[img/loc/dunes.jpg]]<</div>>
You've made it out! Vast stretches of desert reach as far as the eye can see.
As if surviving the palace and it's inhabintants wasn't bad enough, being left alone in \
this harsh environment might not be any better.
<<encounters 'Keep walking..'>>\
<<option 'Sand People'>>A group of native desert nomads watch your progress over the dunes.
<<option 'Bantha'>>A pack of large grazing beasts stand between you and Mos Eisley.
<<option 'IG-88'>>A merciless mechanical hunter tracks your footprints through the sand.
<</encounters>>A piercing wail sounds over the dunes, and suddenly you're beset on all sides by an army of sand people!
<<encounter 'Sand People' 'img/encounter/dunes_tusken.jpg' 6 4 8>>
Their intentions are unclear, but chances are good they'll sell you straight back to Jabba.
<<success>>
The Tuskens are numerous, but they're not very bright. You're able to make them to let you go.
<<link 'Continue to Mos Eisley' 'Mos Eisley'>><</link>>
<<fail>>
Your worst fears are realized, and you are taken right back in Jabba's palace. \
And what's worse, apparently you're only worth fifteen credits!
<<rolldrawbacks 1>>
<<link 'Back to the palace..' 'Jabbas Dais'>>
<<applydrawbacks>>
<</link>>
<<crit>>
The Sand People don't seem interested in returing you to Jabba. Instead, they carry you back to their camp for their own use!
You're chained up in the middle of their camp, destined to be little more than a glorified sex doll for the rest of your life.
<<box 350px auto center>><<displayimage 'img/defeat/sandpeople_defeat.jpg'>><</box>>
<<link 'Game Over!' 'Game Over'>><</link>>
<</encounter>>While stumbling through the desert, you come across a herd of enormous hairy beasts:
<<encounter 'Banthas' 'img/encounter/dunes_bantha.jpg' 8 6 6>>
They should be docile enough.. unless they're in heat.
<<success>>
The herd turns out to belong to a local moisture farmer, who helpfully guides you to freedom.
<<link 'Advance to Mos Eisley' 'Mos Eisley'>><</link>>
<<fail>>
One ornery male is in heat, and your options quickly become either run and get trampled, or bend over and get bred. \
You choose the latter, emerging from the ordeal sore and gaping, but able to stumble on to civilization.
You gain a drawback: ''Ruined'' <<drawbackinfo `Drawbacks.get('Ruined')`>>
<<rolldrawbacks 1>>
<<link "Broken, you carry on." "Mos Eisley">>
<<applydrawbacks>>
<<adddrawback 'Ruined'>>
<</link>>
<<crit>>
By the time the entire herd has had their way with you, you're so delirious you can't tell which way is north.
You gain a drawback: ''Ruined'' <<drawbackinfo `Drawbacks.get('Ruined')`>>
<<rolldrawbacks 1>>
<<link "You lay motionless in the desert." "Tatooine Dunes">>
<<applydrawbacks>>
<<adddrawback 'Ruined'>>
<<set $excludeEncounter to 'Bantha'>>
<</link>>
<</encounter>>An ominous feeling bestokes you as if you are being hunted. Out of nowhere, you are grabbed by a pair of cold metal claws..
<<encounter 'IG-88' 'img/encounter/dunes_ig.jpg' 9 6 0>>
Jabba must have sent this unrelenting bounty hunter after you. If you can't break away, he'll take you back to the palace!
<<success>>
You successfully lose the assassin droid in the dunes and stumble to Mos Eisley exhausted but alive.
You gain ''+1 Attack''.
<<link 'Advance to Mos Eisley' 'Mos Eisley'>>
<<set $skills.attack += 1>>
<</link>>
<<fail>>
IG-88 offers to let you go, in exchange for letting out some of its more sadistic tendencies on you.
<<rolldrawbacks 2>>
<<link 'Accept and continue with the new drawbacks' 'Mos Eisley'>>
<<applydrawbacks>>
<</link>>
or
<<link "Refuse and be returned to Jabba without drawbacks" 'Jabbas Dais'>><</link>>
<<crit>>
If you ever need someone tracked down, hire IG-88. The droid effectively captures you and returns you to your rightful owner.
<<rolldrawbacks 2>>
<<link 'You are dragged through the desert..' 'Jabbas Dais'>>
<<applydrawbacks>>
<</link>>
<</encounter>>!Mos Eisley
<<div 'cover'>>[img[img/loc/mos_eisley.jpg]]<</div>>
Finally you reach civilization. Mos Eisley is a populair desert town on Tatooine, \
surely there is someone around here to help you finally get out of here..
<<encounters 'Stroll around the town..'>>\
<<option 'Figrin Dan' 2>>Wailing music floats out of the cantina.
<<option 'Imperial Patrol' 2>>A group of Imperial soldiers patrol the streets.
<<option 'Jawas' 1>>Scavengers hawk their wares on a street corner. Their beady eyes follow you through town.
<<option 'Bossk' 1>>A reptilian alien tracker has your scent.
<</encounters>>You hear some faint music travelling across the streets. You follow the sound and reach a busy cantina:
<<encounter "Figrin D'an and the Modal Nodes" 'img/encounter/mos_band.jpg' 6 7 9>>
Chalmun's famous cantina house band features four of the best jizz-wailers in the sector, \
and they're very eager to show you just how good they are.. at jizz. It's a music gengre.
<<success>>
You dance the night away with the band, learning some new sultry dance moves in the process.
You think you could get used to this..
You gain ''+1 Seduce''.
<<link 'Continue to your new life!' 'New Life'>>
<<set $skills.seduce += 1>>
<</link>>
<<fail>>
The band's hipnotic tunes sweep you off you feet. By the time they're about an hour into their set, \
sucking off random patrons starts to seem like a good idea.
<<rolldrawbacks 1>>
<<link 'Continue to your new life..' 'New Life'>>
<<applydrawbacks>>
<</link>>
<<crit>>
You're seduced by the band's smooth moves, and meet up with them after the show for some jizz of a different sort.
You wake up backstage sticky and sore. //"Go and clean yourself up you dirty whore"//, you hear as they promptly throw you out.
<<rolldrawbacks 1>>
<<link "You're kicked to the curb.." 'Mos Eisley'>>
<<applydrawbacks>>
<</link>>
<</encounter>>You stuble across a patrol of Imperial Troopers:
<<encounter 'Imperial Patrol' 'img/encounter/mos_patrol.jpg' 9 5 6>>
They didn't find the droid they were looking for, but they find you quite attractive. Better get \
out of here before they stop you for questioning.
<<success>>
The Emipre's Finest are good, but you are better. You manage to avoid the patrols and settle in to your new life in Mos Eisley
You gain ''+1 Outwit''.
<<link 'On to your new life.' 'New Life'>>
<<set $skills.outwit += 1>>
<</link>>
<<fail>>
The troopers put you under arrest, but it's just a thinly veiled excuse for a strip search. One hands you a recruiting pamphlette, \
and you're tempted to join up...
You lose ''-1 Outwit''.
<<link 'Start your new life..' 'New Life'>>
<<set $skills.outwit -= 1>>
<<set $failedImperialPatrol to true>>
<</link>>
<<crit>>
The stormtroopers take you to the platoon garrison for 'reconditioning'. Once they've finished with you, you can barely think \
about anything besides your love for the Emperor.
You lose ''-2 Outwit''.
<<rolldrawbacks 2>>
<<link 'Start your new life..' 'New Life'>>
<<set $skills.outwit -= 2>>
<<set $failedImperialPatrol to true>>
<<applydrawbacks>>
<</link>>
<</encounter>>Suddenly you are ganged up by a group of tiny sand dwellers:
<<encounter 'Jawas' 'img/encounter/mos_jawas.jpg' 5 8 6>>
These pint-sized nomads don't seem like much of a threat, but there's a LOT of them. You can't help but wonder where they keep \
getting new droids to sell..
<<success>>
The Jawas try to scam you into buying an R5 with a faulty motivator, but you catch on to their plans and refuse.
You gain ''+1 Outwit''.
<<link 'Advance to your new life.' 'New Life'>>
<<set $skills.outwit += 1>>
<</link>>
<<fail>>
<<if $body.name == 'Pleasure Droid'>>\
The Jawas are facinated by your Pleasure Droid body. They can surely ask some credits for you to be used by an Empire patrol.
You are rushed to the spaceport, abused by some soldiers and left broken on the streets.
<<rolldrawbacks 2>>
<<link 'Return to Mos Eisley.' 'Mos Eisley'>>
<<applydrawbacks>>
<</link>>
<<else>>\
The Jawas quickly realize you have no money, and start hurling random junk at you. One gets you good on the forehead, leaving you dazed.
You lose ''-1 Outwit''.
<<rolldrawbacks 1>>
<<link 'Back to town..' 'Mos Eisley'>>
<<set $skills.outwit -= 1>>
<<applydrawbacks>>
<</link>>
<</if>>
<<crit>>
<<if $body.name == 'Pleasure Droid'>>\
The Jawas are fascinated by your Pleasure Droid body, but think you could be sluttier.
They rewrite you programming and take you to the spaceport to sell as a sex toy.
<<rolldrawbacks 3>>
<<link 'You manage to escape into the dunes.' 'Tatooine Dunes'>>
<<applydrawbacks>>
<</link>>
<<else>>\
The Jawas ponder how to get as much money out of you as possible. By turning you into a slutty sex droid of course!
They put your brain in a decommissioned pleasure droid, rewrite your programming to be extra slutty \
and sell you at the spaceport for some rough action.
Your body turns into a ''Pleasure Droid''.
<<rolldrawbacks 2>>
<<link 'You manage to escape into the dunes.' 'Tatooine Dunes'>>
<<applydrawbacks>>
<<run Drawbacks.adjustBody('Pleasure Droid')>>
<</link>>
<</if>>\
<</encounter>>Suddenly you run into Bossk, a mercyless bounty hunter sent by Jabba to capture and return you:
<<encounter 'Bossk' 'img/encounter/mos_bossk.jpg' 8 7 8>>
This Trandoshan has a terrifying reputation, taking an animalistic glee in hunting and tormenting his prey.
You're his prey, if you were wondering.
<<success>>
It takes some doing, but eventually the tenacious bounty hunter is off your tail.
You gain ''+1 attack''.
<<link 'Now free, you advance to your new life.' 'New Life'>>
<<set $skills.attack += 1>>
<</link>>
<<fail>>
Bossk prepares to furfills his job and take you back to Jabba. Though, he is willing to let you go if he \
can use your body however you like..
<<rolldrawbacks 2>>
<<link 'Be used, take all drawbacks and continue to your new life.' 'New Life'>>
<<applydrawbacks>>
<</link>>
or
<<link "Take only the //first// drawback, and be taken back to Jabba's barge." 'Sail Barge'>>
<<set _drawbackRolls to [_drawbackRolls[0]]>>
<<applydrawbacks>>
<</link>>
<<crit>>
Bossk delights in his latest capture, using you as his personal sex toy all the way back to the palace.
<<rolldrawbacks 2>>
<<link 'You are returned to Jabba.' 'Jabbas Dais'>>
<<applydrawbacks>>
<</link>>
<</encounter>>!Congratulations!
You've endured the horrors of Jabba's palace, and managed to avoid life as one of his many sex slaves. \
You might've made it out in one piece, but you're still stuck on Tatooine, and your ordeal has changed you...
<<linkreplace 'Reveal your ending.'>>\
<<nobr>>
<<div 'newlife-result'>>
You've gathered <<= $drawbacks.length>> drawbacks, resulting in the following ending:
<br><br>
----
<br><br>
<<switch $drawbacks.length>>
<<case 0 1>>
<<displayimage 'img/end/end_01.jpg'>>
<h2>Offworld</h2>
Not only have you made it out of the palace with your personality intact, you've miraculously gotten a ride offworld!
The galaxy is your oyster- you could disappear into the endless city of Coruscant, sign up for the fledgeling Rebellion, or tour the
outer rim with a smuggling crew, just for starters.
<<case 2 3>>
<<displayimage 'img/end/end_23.jpg'>>
<h2>On the Run</h2>
You’ve made it out of the palace, but it’s not happily ever after. You’re alone and broke in the body of a slave girl, your head is
constantly clouded by thoughts of sex, and to make matters worse Jabba’s goons are still looking for you. You’ll probably need to lose
your dignity and pay a few “favors” to a local smuggler if you ever want to get off this damn planet.
<<case 4 5>>
<<displayimage 'img/end/end_45.jpg'>>
<h2>Working Girl</h2>
You’ve emerged from the palace a different person. Sure, you’ve still got your memories of your old life, but experiencing sex as an alien
woman was eye-opening, and you just can’t get enough. Luckily, the seedy underbelly of Mos Eisley has plenty of people willing toss a few
credits your way for the chance to satisfy you, and some of them even use protection!
<<case 6 7>>
<<displayimage 'img/end/end_67.png'>>
<h2>Junkie</h2>
Everyone has their poison. For some, it’s spice. For others, it’s death sticks. For you, it’s sex. If you’re not getting railed at least a
couple times a day, you’ll find your thoughts drifting back to sex until it’s all you can think about. Better find someone with good stamina
to shack up with quickly- the longer you go without, the lower your inhibitions (and standards) will get.
<<case 8 9>>
<<displayimage 'img/end/end_89.jpg'>>
<h2>Slave at Heart</h2>
There’s no sugarcoating it, your time in the palace has turned you into a subservient slut. You feel so empty when you don’t have someone to
satisfy. If you can’t find a new master to serve soon, you might find yourself going back to the palace of your own free will.
<<default>>
<<displayimage 'img/end/end_10.jpg'>>
<h2>Broken Slave</h2>
As punishment for your failed escape attempts, you’ve been designated as the palace cocksleeve. Day and night blend together into a constant
sea of pleasure as you are ravaged in every hole. Your orgasmic torture seems endless, but in the back of your mind you know that eventually,
the Rancor will get hungry.
<</switch>>
<</div>>
<</nobr>>
<<link 'Reveal special endings' 'Special Ends'>><</link>>
<</linkreplace>>!Monster Pits
<<randomencounter `['Rancor', 'Sarlacc']`>>
<<set $seenMonsterPits to true>>You find yourself in a dark cave. The disgusting odor is enough to make you gag.
The ground shakes as you hear something large and heavy approach.
<<linkreplace 'You brace yourself..'>>\
<<timed 600ms>>\
<<shake 2500ms>>\
<<encounter "Rancor" "img/encounter/pit_rancor.jpg" 10 5 7>>
A huge and brutal monster with enough power to crumble your body to dust.
Hopefully you won't end up among the bones scattered around your feet.
<<success>>
In the midst of your desperate fight for survival, you spot a small crevice in the walls of the Rancor’s pit. You barely squeeze through, \
leaving the hungry creature gnashing its teeth behind you, and keep crawling until you see sunlight.
<<link 'Crawl through the crevice.' 'Tatooine Dunes'>><</link>>
<<fail>>
Luckily the rancor isn’t hungry, but it’s another use in mind for you. You barely survive its merciless pounding, waking up in a bacta tank \
with a medical droid staring at your bruised body.
You gain the ''Ruined'' <<drawbackinfo `Drawbacks.get('Ruined')`>> drawback.
<<link "You get dragged away to the medbay." "Palace Halls">>
<<adddrawback 'Ruined'>>
<<set $nextEncounter to 'Medical Droid'>>
<</link>>
<<crit>>
The brute monster uses you as a relief for all of it's sexual frustrations. When it's done with you you are thrown aside like a broken sextoy.
Your death is fast and brutal, but at least your final screams offered some entertainment for the palace's guests.
<<box 100% auto center>><<displayimage 'img/defeat/rancor_defeat.jpeg'>><</box>>
<<link 'Game Over.' 'Game Over'>><</link>>
<</encounter>>
<</shake>>\
<</timed>>\
<</linkreplace>>\You dangle over a large pit in the vast sandy dessert of Tatooine.
<<linkreplace 'Look into the pit..'>>\
<<timed 600ms>>\
<<shake 2500ms>>\
<<encounter "Sarlacc" "img/encounter/pit_sarlacc.jpg" 10 6 8>>
The Great Pit of Carkoon lies beneath you, full of gnashing teeth and tentacles.
<<success>>
You escape the monster’s clutches just in time, and begin the long trek through the dunes to freedom.
<<link 'Escape into the dunes.' 'Tatooine Dunes'>><</link>>
<<fail>>
After hours spent violating you with its tentacles, the Sarlacc becomes bored and drops your twitching body to the dunes. Jabba’s barge is \
nowhere in sight- maybe you can make a run for it!
You gain the ''Ruined'' <<drawbackinfo `Drawbacks.get('Ruined')`>> drawback.
<<rolldrawbacks 1>>
<<link "Escape into the dunes." "Tatooine Dunes">>
<<applydrawbacks>>
<<adddrawback 'Ruined'>>
<</link>>
<<crit>>
The Sarlacc swallows you whole, keeping you bound tightly in its gullet with its slimy tentacles. Legends say it can take a Sarlacc almost/
a thousand years to digest its food…
<<box 350px auto center>><<displayimage 'img/defeat/sarlacc_defeat.jpeg'>><</box>>
<<link 'Game Over.' 'Game Over'>><</link>>
<</encounter>>
<</shake>>\
<</timed>>\
<</linkreplace>>!Game Over
You've gotten 10 ''Drawbacks''. Any chance of escaping evaporates along with the last of your willpower.
<<box 480px auto center>>\
<<displayimage 'img/end/end_10.jpg'>>
<</box>>\
As punishment for your failed escape attempts, you’ve been designated as the palace cocksleeve. Day and night blend together into a constant sea of pleasure as you are ravaged in every hole. Your orgasmic torture seems endless, but in the back of your mind you know that eventually, the Rancor will get hungry.
<<click 'Better luck next time.'>>
<<run UI.restart() >>
<</click>>!Special Endings
<<nobr>>
<<pickendings>>
<<if $specialEnds.length > 0>>
You managed to find $specialEnds.length special ending<<if $specialEnds.length > 1>>s<</if>>.
<<else>>
Not everyone is special or important, looks like you'll have to carve out a life here as nothing more than an
astonishingly attractive former dancing girl. How awful for you.
<</if>>
<br>You have found a total of <<print Endings.getSeen().length>> / $endingOptions.length endings.
<<if $preventEndings>>
<br><em>Note: unlocked endings are not saved because a custom difficulty or testing features have been used.</em>
<</if>>
<br><br>
<<for _ending range $specialEnds>>
<<set _item to Endings.get(_ending)>>
<<if _item.name == 'Sith' && $effects.corruptedJedi>>
What do we have here? A promising young Jedi turned to the dark side by the power of <<span 'drawback'>>Corruption<</span>>!
<</if>>
<<div 'ending-option'>>
<<displayimage _item.image>>
<h2>_item.name</h2>
_item.description
<br><br>
<em>_item.requirement</em>
<</div>>
<</for>>
<</nobr>>
<<return 'Return to regular ending'>>
<<click 'Reveal possible endings'>>
<<script>>
Dialog.setup('Special Endings', "endings");
Dialog.wiki(Story.get("Ending Options").processText());
Dialog.open();
<</script>>
<</click>>
<<click 'Restart game'>>
<<run Endings.hasSeenEnd(true)>>
<<run UI.restart()>>
<</click>><<widget 'pickendings'>><<silently>>
<<set $specialEnds to []>>
<<if $skills.outwit >= 3>>
<<run $specialEnds.push('Smuggler')>>
<</if>>
<<if $skills.attack >= 3>>
<<run $specialEnds.push('Bounty Hunter')>>
<</if>>
<<if $skills.seduce >= 3>>
<<run $specialEnds.push('Diplomat')>>
<</if>>
<<if $skills.seduce >= 5>>
<<run $specialEnds.push('Star Whore')>>
<</if>>
<<if $skills.attack <= -1>>
<<run $specialEnds.push('Helpless')>>
<</if>>
<<if $skills.outwit <= -4>>
<<run $specialEnds.push('Braindead')>>
<<elseif $skills.outwit <= -1>>
<<run $specialEnds.push('Airhead')>>
<</if>>
<<set _r to ($body.name == 'Mirialan' || $body.name == 'Togruta') ? 1 : 2>>
<<if $drawbacks.length < 5 && ($skills.attack >= _r && $skills.outwit >= _r && $skills.seduce >= _r) && $body.name != 'Pleasure Droid'>>
<<if Drawbacks.has('Corrupted')>>
<<run $specialEnds.push('Sith')>>
<<set $effects.corruptedJedi to true>>
<<else>>
<<run $specialEnds.push('Jedi')>>
<</if>>
<</if>>
<<set _z to ($body.name == 'Mirialan' || $body.name == 'Togruta') ? 3 : 4>>
<<if $drawbacks.length >= 5 && ($skills.attack >= _z || $skills.outwit >= _z || $skills.seduce >= _z) && $body.name != 'Pleasure Droid'>>
<<run $specialEnds.push('Sith')>>
<</if>>
<<if $seenMonsterPits>>
<<run $specialEnds.push('Monster Bait')>>
<</if>>
<<if $drawbacks.length >= 4 && (Drawbacks.has('Buckethead') || $failedImperialPatrol)>>
<<run $specialEnds.push('Morale Officer')>>
<</if>>
<<if $body.name != 'Pleasure Droid' && Drawbacks.has('Creamed')>>
<<run $specialEnds.push('Pregnant')>>
<</if>>
<<if !$preventEndings>>
<<run Endings.save($specialEnds)>>
<</if>>
<</silently>><</widget>><<if $preventEndings>>
Warning: endings achieved this run will not be saved because a custom difficuly or testing features have been used.
<br><br>
<</if>>
<<div 'ending-options'>>
<<for _option range $endingOptions>>
<div>
<<if Endings.hasSeen(_option)>>
<<displayimage _option.image>>
<div>
<h3>_option.name</h3>
_option.description
<h5>Unlocked by:</h5><em>_option.requirement</em>
/*<em>_option.requirement</em>
<br><<linkreplace 'more'>>_option.description<</linkreplace>>*/
</div>
<<else>>
<img src='img/locked.png' class='locked'>
<div>
<h3>?</h3>
_option.requirement
</div>
<</if>>
<br><br>
</div>
<</for>>
<</div>>!Escape
You start with a ''$body.name'' body, ''$breasts.name'' breasts and a ''$ass.name'' ass.
<<div 'final-body'>>
<<displayimage $body.image $body.name `$body.description + '<br><br>' + $body.effect`>>
<<displayimage $breasts.image $breasts.name `$breasts.description + '<br><br>' + $breasts.effect`>>
<<displayimage $ass.image $ass.name `$ass.description + '<br><br>' + $ass.effect`>>
<</div>>
Now that your character is complete, it's time to start trying to get out of here.
----
!!!Encounter Tutorial
<<nobr>>
<<if recall('seenEncounterTutorial')>>
<<linkreplace "Show">>
<<include "Encounter Tutorial">>
<</linkreplace>>
<<else>>
<<include "Encounter Tutorial">>
<<run memorize('seenEncounterTutorial', true)>>
<</if>>
<</nobr>>
----
[[Start your escape!|Slave Quarters]]<span class='tutorial'>\
Each time you enter a new area, you get a random encounter.
Each encounter has a score for Attack, Outwit and Seduce. Choose one score to try and beat. A random number between 1-6 is rolled and gets added to your bonusses and drawbacks. \
You ''Succeed'' the encounter if your roll plus any bonusses and drawbacks is //__<<if $meetNotBeat>> equal or <</if>>higher__// than your opponent's score, otherwise you ''Fail'' the encounter. If you fail the encounter and \
your roll was a //1//, it counts as a ''Critical Fail'', which carries harsh penalties.
</span>\
!!!!Example
<<encounter "Mouse Droid" "img/encounter/mouse_droid.jpg" 1 1 1>>\
It looks quite harmless.\
<<success>>
See? It's going to be easy.
<<fail>>
Bad luck I guess.
<<crit>>
How do you mess even this up?
<</encounter>><<div 'body-parts'>>
<<if $body.name>>
<<div 'body-part'>>
<<displayimage $body.image $body.name `$body.description + '<br><br>' + $body.effect`>>
$body.name
<</div>>
<</if>>
<<if $breasts.name>>
<<div 'body-part'>>
<<displayimage $breasts.image $breasts.name `$breasts.description + '<br><br>' + $breasts.effect`>>
$breasts.name
<</div>>
<</if>>
<<if $ass.name>>
<<div 'body-part'>>
<<displayimage $ass.image $ass.name `$ass.description + '<br><br>' + $ass.effect`>>
$ass.name
<</div>>
<</if>>
<</div>>
<<if $difficulty>>
<<set _boosts to Encounter.effectiveBoosts() >>
<br>
Attack: <strong><<printnum $skills.attack>></strong> <<if _boosts.attack != $skills.attack>> (<<printnum `_boosts.attack - $skills.attack`>>)<</if>>
<br>
Outwit: <strong><<printnum $skills.outwit>></strong> <<if _boosts.outwit != $skills.outwit>> (<<printnum `_boosts.outwit - $skills.outwit`>>)<</if>>
<br>
Seduce: <strong><<printnum $skills.seduce>></strong> <<if _boosts.seduce != $skills.seduce>> (<<printnum `_boosts.seduce - $skills.seduce`>>)<</if>>
<br>
<br>
Drawbacks: <<print $drawbacks.length>> / 10
<</if>><<if $difficulty>>
<<click "Drawbacks">>
<<script>>
Dialog.setup('Current Drawbacks', "drawbacks");
Dialog.wiki(Story.get("Current Drawbacks").processText());
Dialog.open();
<</script>>
<</click>>
<</if>>
<<if Endings.hasSeenEnd()>>
<<click "Endings">>
<<script>>
Dialog.setup('Special Endings', "endings");
Dialog.wiki(Story.get("Ending Options").processText());
Dialog.open();
<</script>>
<</click>>
<</if>>
<<if $difficulty && settings.debug>>
<<click "Check vars">><<checkvars>><</click>>
<<click "Test Encounter">>
<<script>>
Dialog.setup('Test', 'encounter-test');
Dialog.wiki(Story.get("Encounter Test").processText());
Dialog.open();
<</script>>
<</click>>
<<click "Test Drawback">>
<<script>>
Dialog.setup('Test', 'drawback-test');
Dialog.wiki(Story.get("Drawback Test").processText());
Dialog.open();
<</script>>
<</click>>
<</if>>Pick encounter to test:
<<listbox '_encounter'>>
<<optionsfrom Encounter.getAll()>>
<</listbox>>
<<click 'Start'>>
<<set $preventEndings to true>>
<<set $encounterTestMode to true>>
<<set $instantRoll to true>>
<<goto _encounter>>
<<run Dialog.close()>>
<</click>>Pick drawback to gain:
<<set _options to $drawbackOptions.map(o => (
(o.repeatable || !$drawbacks.includes(o.name) ? o.name : null)
))
.filter(o => o)
.sort((a, b) => a.localeCompare(b))>>\
<<listbox '_drawback'>>
<<optionsfrom _options>>
<</listbox>>
<<click 'Add'>>
<<if _drawback>><<adddrawback _drawback>><</if>>
<<run UIBar.update()>>
<<run Dialog.close()>>
<</click>><<widget "displayimage">><<nobr>>
<<click [img[$args[0]]]>>
<<set _image to $args[0]>>
<<set _title to $args[1]>>
<<set _caption to $args[2]>>
<<script>>
Dialog.setup(temporary().title, "display-image");
Dialog.wiki('<<displayimage-popup>>');
Dialog.open();
<</script>>
<</click>>
<</nobr>><</widget>>
<<widget "displayimage-popup">>
[img[_image]]
<<if _caption>><div>_caption</div><</if>>
<</widget>>
<<widget "printnum">><<print ($args[0] >= 0 ? '+' : '') + $args[0]>><</widget>>!Ass
<<if $rerolls.freeBodyPick>>
And finally your ass size:
<<pickAss>>
<<else>>
And finally your ass size:
<div class='body-roll'><<button "Roll">><<rollAss>><</button>></div>\
<div class="body-result part" />\
<</if>><<widget "pickAss">>
<div class='body-options part'>
<<for _i = 0; _i < $assOptions.length; _i += 1>>
<div class='option'>
<<displayimage $assOptions[_i].image $assOptions[_i].name $assOptions[_i].description>>
<h3>$assOptions[_i].name</h3>
<<div 'text'>>$assOptions[_i].effect<</div>>
<<capture _i>><<link `"Pick " + $assOptions[_i].name` Escape>><<set $ass to $assOptions[_i]>><<assEffect>><</link>><</capture>>
<br>
</div>
<</for>>
</div>
<</widget>>
<<widget "rollAss">>
<<if random(0, 5) == 0>>
<<replace '.body-roll'>>
You got lucky! You may pick your own ass size this time:
<br><br>
<<pickAss>>
<</replace>>
<<replace '.body-result'>><</replace>>
<<else>>
<<for !$ass.name || $ass == _prevAss>><<set $ass to $assOptions.random()>><</for>>
<<replace '.body-roll'>><</replace>>
<<replace '.body-result'>>
<<if $ass && $rerolls.body > 0>>
<<button "Reroll">>
<<set $rerolls.body -= 1>>
<<set _prevAss to $ass>>
<<rollAss>>
<</button>>
<span>Rerolls remaining: $rerolls.body</span>
<br><br>
<</if>>
----
<h2>$ass.name</h2>
<div class='option'>
<<displayimage $ass.image>>
<div>
<div>$ass.description</div>
<br>
<div>$ass.effect</div>
<br>
<<link `"Continue with " + $ass.name` Escape>><<assEffect>><</link>>
</div>
</div>
<</replace>>
<</if>>
<</widget>>
<<widget "assEffect">>
<<switch $ass.name>>
<<case "Fit">>
<<set $skills.attack += 1>>
<<case "Bubble">>
<<set $skills.outwit += 1>>
<<case "Full">>
<<set $skills.seduce += 1>>
<<case "Thicc">>
<<set $skills.seduce += 2>>
<<set $skills.attack -= 1>>
<<case "Ridiculous">>
<<set $skills.attack -= 1>>
<<set $skills.outwit -= 1>>
<<set $skills.seduce -= 1>>
<</switch>>
<</widget>>
<<widget "undoAssEffect">>
<<switch $ass.name>>
<<case "Fit">>
<<set $skills.attack -= 1>>
<<case "Bubble">>
<<set $skills.outwit -= 1>>
<<case "Full">>
<<set $skills.seduce -= 1>>
<<case "Thicc">>
<<set $skills.seduce -= 2>>
<<set $skills.attack += 1>>
<<case "Ridiculous">>
<<set $skills.attack += 1>>
<<set $skills.outwit += 1>>
<<set $skills.seduce += 1>>
<</switch>>
<</widget>>!Body
<<set $preventEndings to $preventEndings || $meetNotBeat>>\
<<if $preventEndings>>\
<<span 'drawback'>><em>Note: with this <<if $difficulty == 'custom'>>custom <</if>>difficulty, any unlocked special endings will not be saved.</em><</span>>
<</if>>\
<<if $rerolls.freeBodyPick>>
Start by picking your body:
<<nobr>>
<div class='body-options'>
<<for _i = 0; _i < $bodyOptions.length; _i += 1>>
<div class='option'>
<<displayimage $bodyOptions[_i].image $bodyOptions[_i].name `$bodyOptions[_i].description + '<br><br>' + $bodyOptions[_i].effect`>>
<h3>$bodyOptions[_i].name</h3>
<<div 'text'>>$bodyOptions[_i].effect<</div>>
<<capture _i>><<link `"Pick " + $bodyOptions[_i].name` Breasts>><<set $body to $bodyOptions[_i]>><<bodyEffect>><</link>><</capture>>
<br>
</div>
<</for>>
</div>
<</nobr>>
<<else>>
Press the button below to reveal your new body.
<div class='body-roll'><<button "Roll">><<rollBody>><</button>></div>\
<div class="body-result" />\
<</if>><<widget "rollBody">>
<<for !$body.name || $body == _prevBody>><<set $body to $bodyOptions.random()>><</for>>
<<replace '.body-roll'>><</replace>>
<<replace '.body-result'>>
<<if $body.name && $rerolls.body > 0>>
<<button "Reroll">>
<<set $rerolls.body -= 1>>
<<set _prevBody to $body>>
<<rollBody>>
<</button>>
<span>Rerolls remaining: $rerolls.body</span>
<br><br>
<</if>>
----
<h2>$body.name</h2>
<div class='option'>
<<displayimage $body.image>>
<div>
<div>$body.description</div>
<br>
<div>$body.effect</div>
<br>
<<link `"Continue as " + $body.name` Breasts>><<bodyEffect>><</link>>
</div>
</div>
<</replace>>
<</widget>>
<<widget "bodyEffect">>
<<switch $body.name>>
<<case "Human">>
<<set $skills.outwit += 1>>
<<case "Twi'lek">>
<<set $skills.seduce += 1>>
<<case "Zabrak">>
<<set $skills.attack += 1>>
<<case "Togruta">>
<<set $rerolls.game += 2>>
<<case "Mirialan">>
<<set $rerolls.encounterPicks += 2>>
<<case "Pleasure Droid">>
<<set $effects.disableAttack to true>>
<<set $skills.outwit += 1>>
<<set $skills.seduce += 1>>
<</switch>>
<</widget>>
<<widget "undoBodyEffect">>
<<switch $body.name>>
<<case "Human">>
<<set $skills.outwit -= 1>>
<<case "Twi'let">>
<<set $skills.seduce -= 1>>
<<case "Zabrak">>
<<set $skills.attack -= 1>>
<<case "Togruta">>
<<set $rerolls.game to Math.max(0, $rerolls.game - 2)>>
<<case "Mirialan">>
<<set $rerolls.encounterPicks to Math.max(0, $rerolls.encounterPicks - 2)>>
<<case "Pleasure Droid">>
<<set $effects.disableAttack to 0>>
<<set $skills.outwit -= 1>>
<<set $skills.seduce -= 1>>
<</switch>>
<</widget>>!Breasts
<<if $rerolls.freeBodyPick>>
Next up, breast size:
<<pickBreasts>>
<<else>>
Next up, breast size:
<div class='body-roll'><<button "Roll">><<rollBreasts>><</button>></div>\
<div class="body-result part" />\
<</if>><<widget "pickBreasts">>
<div class='body-options part'>
<<for _i = 0; _i < $breastOptions.length; _i += 1>>
<div class='option'>
<<displayimage $breastOptions[_i].image $breastOptions[_i].name $breastOptions[_i].description>>
<h3>$breastOptions[_i].name</h3>
<<div 'text'>>$breastOptions[_i].effect<</div>>
<<capture _i>><<link `"Pick " + $breastOptions[_i].name` Ass>><<set $breasts to $breastOptions[_i]>><<breastsEffect>><</link>><</capture>>
<br>
</div>
<</for>>
</div>
<</widget>>
<<widget "rollBreasts">>
<<if random(0, 5) == 0>>
<<replace '.body-roll'>>
You got lucky! You may pick your own breast size this time:
<br><br>
<<pickBreasts>>
<</replace>>
<<replace '.body-result'>><</replace>>
<<else>>
<<for !$breasts.name || $breasts == _prevBreasts>><<set $breasts to $breastOptions.random()>><</for>>
<<replace '.body-roll'>><</replace>>
<<replace '.body-result'>>
<<if $breasts && $rerolls.body > 0>>
<<button "Reroll">>
<<set $rerolls.body -= 1>>
<<set _prevBreasts to $breasts>>
<<rollBreasts>>
<</button>>
<span>Rerolls remaining: $rerolls.body</span>
<br><br>
<</if>>
----
<h2>$breasts.name</h2>
<div class='option'>
<<displayimage $breasts.image>>
<div>
<div>$breasts.description</div>
<br>
<div>$breasts.effect</div>
<br>
<<link `"Continue with " + $breasts.name` Ass>><<breastsEffect>><</link>>
</div>
</div>
<</replace>>
<</if>>
<</widget>>
<<widget "breastsEffect">>
<<switch $breasts.name>>
<<case "Tiny">>
<<set $skills.attack += 1>>
<<case "Modest">>
<<set $skills.outwit += 1>>
<<case "Natural">>
<<set $skills.seduce += 1>>
<<case "Endowed">>
<<set $skills.seduce += 2>>
<<set $skills.attack -= 1>>
<<case "Enormous">>
<<set $skills.attack -= 1>>
<<set $skills.outwit -= 1>>
<<set $skills.seduce -= 1>>
<</switch>>
<</widget>>
<<widget "undoBreastsEffect">>
<<switch $breasts.name>>
<<case "Tiny">>
<<set $skills.attack -= 1>>
<<case "Modest">>
<<set $skills.outwit -= 1>>
<<case "Natural">>
<<set $skills.seduce -= 1>>
<<case "Endowed">>
<<set $skills.seduce -= 2>>
<<set $skills.attack += 1>>
<<case "Enormous">>
<<set $skills.attack += 1>>
<<set $skills.outwit += 1>>
<<set $skills.seduce += 1>>
<</switch>>
<</widget>>!!Pick game difficulty
!!!Easy
You may choose your <strong>Body</strong> freely and may reroll up to <strong>two</strong> dice per game, at any point.
<<link "Easy start" Body>>\
<<set $difficulty to 'easy'>>\
<<set $rerolls.freeBodyPick to true>>\
<<set $rerolls.body to 0>>\
<<set $rerolls.game to 2>>\
<</link>>
!!!Normal
You may reroll <strong>one</strong> option when chosing your Body, and <strong>one</strong> dice per game, at any point.
<<link "Normal start" Body>>\
<<set $difficulty to 'normal'>>\
<<set $rerolls.body to 1>>\
<<set $rerolls.game to 1>>\
<</link>>
!!!Hard
You may reroll <strong>one</strong> option when chosing your Body. Start with the <strong>Cum Addict</strong> drawback.
<<link "Hard start" Body>>\
<<set $difficulty to 'hard'>>\
<<set $rerolls.body to 1>>\
<<set $rerolls.game to 0>>\
<<adddrawback "Cum Addict">>\
<</link>>
!!!Rancor Chow
You do not get any free rerolls. Start the game with the <strong>Bad Luck</strong> drawback.
<<link "Ruin me" Body>>\
<<set $difficulty to 'hardest'>>\
<<set $rerolls.body to 0>>\
<<set $rerolls.game to 0>>\
<<adddrawback "Bad Luck">>\
<</link>>
<<linkreplace "Custom">>\
<h3>Custom difficulty</h3>\
<<numberbox "_bodyRolls" 0>> Body rerolls | <label><<checkbox '_freeBody' false true>> Pick freely</label>
<<numberbox "_gameRolls" 0>> Game rerolls
<<numberbox "_encounterPicks" 0>> Encounter picks
<<numberbox "_randDrawbacks" 0>> Random drawbacks
<label><<checkbox '$meetNotBeat' false true>> Meet, not beat encounters</label>
<<link "Start" Body>>\
<<set $difficulty to 'custom'>>\
<<set $rerolls.freeBodyPick to _freeBody>>\
<<set $rerolls.body to _bodyRolls>>\
<<set $rerolls.game to _gameRolls>>\
<<set $rerolls.encounterPicks to _encounterPicks>>\
<<set $preventEndings to _bodyRolls > 2 || _gameRolls > 2 || $meetNotBeat>>
<<if _randDrawbacks > 0>>
<<rolldrawbacks _randDrawbacks>>
<<applydrawbacks>>
<</if>>
<</link>>
<</linkreplace>>
<<nobr>>
<<if Config.debug>>
<<link "Random Body" Escape>>
<<set $difficulty to 'custom'>>
<<set $body to $bodyOptions.random()>>
<<set $breasts to $breastOptions.random()>>
<<set $ass to $assOptions.random()>>
<<bodyEffect>><<breastsEffect>><<assEffect>>
<</link>>
<</if>>
<</nobr>>\
----Public v2.6.0<<include "Menu Stats">><<include "Menu Buttons">><<initVars>>!Introduction
You are put in the body of a slave inside the depths of Jabba's palace. Staying there will mean an endless \
life of being low value entertainment for Jabba and his guests for sure, so you start to plan your escape.
This game is a <abbr title='Roll Your Own Adventure'>RYOA</abbr>, which means that luck of the draw is \
a large part of the core gameplay. Because of this, one run might seem brutally hard while another feels like a breeze. \
If this happens, you are encouraged to have another go.
Can you can find all of the different encounters and endings?
Original content by __u/DenaliFic__ from <a href='https://www.reddit.com/r/nsfwcyoa/comments/p5deui/occyoa_escape_from_jabbas_palace_v24_a_more/'>here (reddit.com)</a>.
Interactive version by __u/Royeurs__.
----
<<set $versionCode to 1>>\
<<initOptions>>\
<div id='start'>\
This work of fiction contains content of a sexual nature and is inappropriate for minors. \
All characters depicted are at least 18 years of age.
<<link "I am an adult - Start game">>\
<<replace '#start'>>\
<<include Difficulty>>\
<</replace>>\
<</link>>\
</div>