Skip to content
Snippets Groups Projects
Commit 069a4342 authored by lowercasedonkey's avatar lowercasedonkey
Browse files

begin custom slave delivery to js

parent 4158a141
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,15 @@ new App.DomPassage("Murder Attempt", ...@@ -46,6 +46,15 @@ new App.DomPassage("Murder Attempt",
} }
); );
new App.DomPassage("SE custom slave delivery",
() => {
V.nextButton = "Continue";
V.nextLink = "Scheduled Event";
V.returnTo = "Scheduled Event";
return App.Events.customSlaveDelivery();
}
);
/* ### Random Events ### */ /* ### Random Events ### */
new App.DomPassage("JS Random Event", new App.DomPassage("JS Random Event",
......
App.Events.customSlaveDelivery = function() {
V.customSlaveOrdered = 0;
V.encyclopedia = "Enslaving People";
const el = new DocumentFragment();
const delivery = generateDelivery();
const {
He, His,
he, him
} = getPronouns(delivery);
const cost = slaveCost(delivery) * 2;
App.UI.DOM.appendNewElement("p", el, "A slave dealer has submitted a slave to satisfy the order you posted.");
App.UI.DOM.appendNewElement("p", el, "As usual, the asking price is quite high, to cover the costs of finding a slave to order. In compensation, you can freely decline the slave and keep the order open, or even modify it later.", "scene-intro");
App.UI.DOM.appendNewElement("p", el, App.Desc.longSlave(delivery, {market: "generic"}));
App.UI.DOM.appendNewElement("p", el, `${His} price is ${cashFormat(cost)}.`);
const result = App.UI.DOM.appendNewElement("p", el);
if (V.cash >= cost) {
App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
"Accept the offered slave",
() => {
cashX(forceNeg(cost), "slaveTransfer", delivery);
if (V.customSlaveOrderedReorder) {
delete V.customSlaveOrderedReorder;
}
jQuery(result).empty().append(`${He} has been reasonably broken by the dealer that offered ${him} to you. ${He} has also picked up on the fact that ${he} was specially selected, and is a little hopeful that this means ${he} may be treated well. ${He} is now awaiting your instructions.`, App.UI.newSlaveIntro(delivery));
}
));
} else {
App.UI.DOM.appendNewElement("div", result, App.UI.DOM.disabledLink("Accept the offered slave", [`You lack the necessary funds to accept the offered slave.`]), "note");
}
App.UI.DOM.appendNewElement("div", result, App.UI.DOM.link(
"Reject this offer and place the same order again",
() => {
V.customSlaveOrdered = 1;
V.customSlaveOrderedReorder = 1;
},
[],
V.nextLink
));
return el;
function generateDelivery() {
const pram = {
mature: 0,
nationality: (V.customSlave.nationality !== "Nationality is unimportant") ? V.customSlave.nationality : undefined,
ageOverridesPedoMode: 1
};
if (V.customSlave.age === 2) {
pram.minAge = V.minimumSlaveAge;
pram.maxAge = 2;
} else if (V.customSlave.age === 4) {
pram.minAge = 3;
pram.maxAge = 4;
} else if (V.customSlave.age === 6) {
pram.minAge = 5;
pram.maxAge = 6;
} else if (V.customSlave.age === 9) {
pram.minAge = 7;
pram.maxAge = 9;
} else if (V.customSlave.age === 12) {
pram.minAge = 10;
pram.maxAge = 12;
} else if (V.customSlave.age === 14) {
pram.minAge = 13;
pram.maxAge = 14;
} else if (V.customSlave.age === 17) {
pram.minAge = 15;
pram.maxAge = 17;
} else if (V.customSlave.age === 19) {
pram.minAge = 18;
pram.maxAge = 19;
} else if (V.customSlave.age === 20) {
pram.minAge = 20;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 24) {
pram.minAge = 20;
pram.maxAge = 24;
} else if (V.customSlave.age === 25) {
pram.minAge = 25;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 29) {
pram.minAge = 25;
pram.maxAge = 29;
} else if (V.customSlave.age === 30) {
pram.minAge = 30;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 39) {
pram.minAge = 30;
pram.maxAge = 39;
} else if (V.customSlave.age === 40) {
pram.minAge = 40;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 49) {
pram.minAge = 40;
pram.maxAge = 49;
} else if (V.customSlave.age === 50) {
pram.minAge = 50;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 59) {
pram.minAge = 50;
pram.maxAge = 59;
} else if (V.customSlave.age === 60) {
pram.minAge = 60;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 69) {
pram.minAge = 60;
pram.maxAge = 69;
} else if (V.customSlave.age === 70) {
pram.minAge = 70;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 79) {
pram.minAge = 70;
pram.maxAge = 79;
} else if (V.customSlave.age === 80) {
pram.minAge = 80;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 89) {
pram.minAge = 80;
pram.maxAge = 89;
} else if (V.customSlave.age === 90) {
pram.minAge = 90;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 99) {
pram.minAge = 90;
pram.maxAge = 99;
} else if (V.customSlave.age === 100) {
pram.minAge = 100;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 109) {
pram.minAge = 100;
pram.maxAge = 109;
} else if (V.customSlave.age === 110) {
pram.minAge = 110;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 119) {
pram.minAge = 110;
pram.maxAge = 119;
} else if (V.customSlave.age === 120) {
pram.minAge = 120;
pram.maxAge = V.retirementAge - 1;
} else if (V.customSlave.age === 129) {
pram.minAge = 120;
pram.maxAge = 129;
} else {
pram.minAge = 130;
pram.maxAge = V.retirementAge - 1;
}
if (V.customSlave.race !== "ethnicity is unimportant") {
pram.race = V.customSlave.race;
}
const delivery = GenerateNewSlave((V.customSlave.sex === 2) ? "XY" : "XX", pram);
if (V.customSlave.sex === 2) {
delivery.dick = V.customSlave.dick;
delivery.balls = V.customSlave.balls;
delivery.scrotum = delivery.balls;
delivery.foreskin = delivery.dick;
} else {
if (V.customSlave.virgin === 0) {
delivery.vagina = V.customSlave.virgin;
}
delivery.labia = V.customSlave.labia;
delivery.vaginaLube = V.customSlave.vaginaLube;
delivery.skill.vaginal = V.customSlave.skills;
if (V.customSlave.sex === 3) {
delivery.dick = V.customSlave.dick;
delivery.balls = V.customSlave.balls;
delivery.scrotum = delivery.balls;
delivery.foreskin = delivery.dick;
if (delivery.dick === 0) {
delivery.clit = V.customSlave.clit;
delivery.foreskin = delivery.clit;
}
} else {
delivery.clit = V.customSlave.clit;
}
}
/* I have no clue what I'm doing here */
if (V.customSlave.heightMod === "greatly below average") {
delivery.height = Math.round(Height.random(delivery, {skew: -5, spread: 0.15, limitMult: [-5, -2]}));
} else if (V.customSlave.heightMod === "below average") {
delivery.height = Math.round(Height.random(delivery, {skew: -1, limitMult: [-2, 0]}));
} else if (V.customSlave.heightMod === "normal") {
delivery.height = Math.round(Height.random(delivery, {limitMult: [-1, 1]}));
} else if (V.customSlave.heightMod === "above average") {
delivery.height = Math.round(Height.random(delivery, {skew: 1, limitMult: [0, 2]}));
} else {
delivery.height = Math.round(Height.random(delivery, {skew: 5, spread: 0.15, limitMult: [2, 5]}));
}
if (V.customSlave.intelligence === 3) {
delivery.intelligence = random(96, 100);
} else if (V.customSlave.intelligence === 2) {
delivery.intelligence = random(51, 95);
} else if (V.customSlave.intelligence === 1) {
delivery.intelligence = random(15, 50);
} else if (V.customSlave.intelligence === -1) {
delivery.intelligence = random(-50, -16);
} else if (V.customSlave.intelligence === -2) {
delivery.intelligence = random(-95, -51);
} else if (V.customSlave.intelligence === -3) {
delivery.intelligence = random(-100, -96);
} else {
delivery.intelligence = random(-15, 15);
}
delivery.intelligenceImplant = V.customSlave.intelligenceImplant;
if (V.customSlave.analVirgin === 0) {
delivery.anus = V.customSlave.analVirgin;
}
if (V.customSlave.voice && V.customSlave.voice !== -1) {
delivery.voice = V.customSlave.voice;
} else {
delivery.voice = random(0, 3);
}
setHealth(delivery, V.customSlave.health * 80, 0, 0, 0, 0);
delivery.muscles = V.customSlave.muscles;
delivery.weight = V.customSlave.weight;
delivery.face = V.customSlave.face;
delivery.lips = V.customSlave.lips;
if (V.customSlave.skin !== "left natural") {
delivery.origSkin = V.customSlave.skin;
delivery.skin = getGeneticSkinColor(delivery);
}
delivery.boobs = V.customSlave.boobs;
delivery.butt = V.customSlave.butt;
delivery.skill.anal = V.customSlave.skills;
delivery.skill.oral = V.customSlave.skills;
delivery.skill.entertainment = V.customSlave.skill.whore;
delivery.skill.whoring = V.customSlave.skill.whore;
delivery.skill.combat = V.customSlave.skill.combat;
delivery.eye.left.vision = V.customSlave.eye.left.vision;
delivery.eye.right.vision = V.customSlave.eye.right.vision;
delivery.hears = V.customSlave.hears;
delivery.smells = V.customSlave.smells;
delivery.tastes = V.customSlave.tastes;
delivery.arm = V.customSlave.arm;
delivery.leg = V.customSlave.leg;
delivery.weekAcquired = V.week;
delivery.origin = "You purchased $him by special order.";
delivery.career = "a slave";
delivery.sexualFlaw = either("none");
delivery.behavioralFlaw = either("none");
delivery.devotion = random(-10, 10);
delivery.trust = random(-10, 10);
return delivery;
}
};
...@@ -173,7 +173,7 @@ App.Entity.CustomSlaveOrder = class CustomSlaveOrder { ...@@ -173,7 +173,7 @@ App.Entity.CustomSlaveOrder = class CustomSlaveOrder {
/** hearing /** hearing
* Values as in SlaveState. * Values as in SlaveState.
* @type {number} * @type {FC.Hearing}
*/ */
this.hears = 0; this.hears = 0;
......
:: SE custom slave delivery [nobr]
<<set $customSlaveOrdered = 0, $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $encyclopedia = "Enslaving People">>
<<if $customSlave.nationality != "Nationality is unimportant">>
<<set _nationality = $customSlave.nationality>>
<</if>>
<<set _pram = {mature: 0, nationality: _nationality, ageOverridesPedoMode: 1}>>
<<if $customSlave.age == 2>>
<<set _pram.minAge = $minimumSlaveAge>>
<<set _pram.maxAge = 2>>
<<elseif $customSlave.age == 4>>
<<set _pram.minAge = 3>>
<<set _pram.maxAge = 4>>
<<elseif $customSlave.age == 6>>
<<set _pram.minAge = 5>>
<<set _pram.maxAge = 6>>
<<elseif $customSlave.age == 9>>
<<set _pram.minAge = 7>>
<<set _pram.maxAge = 9>>
<<elseif $customSlave.age == 12>>
<<set _pram.minAge = 10>>
<<set _pram.maxAge = 12>>
<<elseif $customSlave.age == 14>>
<<set _pram.minAge = 13>>
<<set _pram.maxAge = 14>>
<<elseif $customSlave.age == 17>>
<<set _pram.minAge = 15>>
<<set _pram.maxAge = 17>>
<<elseif $customSlave.age == 19>>
<<set _pram.minAge = 18>>
<<set _pram.maxAge = 19>>
<<elseif $customSlave.age == 20>>
<<set _pram.minAge = 20>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 24>>
<<set _pram.minAge = 20>>
<<set _pram.maxAge = 24>>
<<elseif $customSlave.age == 25>>
<<set _pram.minAge = 25>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 29>>
<<set _pram.minAge = 25>>
<<set _pram.maxAge = 29>>
<<elseif $customSlave.age == 30>>
<<set _pram.minAge = 30>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 39>>
<<set _pram.minAge = 30>>
<<set _pram.maxAge = 39>>
<<elseif $customSlave.age == 40>>
<<set _pram.minAge = 40>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 49>>
<<set _pram.minAge = 40>>
<<set _pram.maxAge = 49>>
<<elseif $customSlave.age == 50>>
<<set _pram.minAge = 50>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 59>>
<<set _pram.minAge = 50>>
<<set _pram.maxAge = 59>>
<<elseif $customSlave.age == 60>>
<<set _pram.minAge = 60>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 69>>
<<set _pram.minAge = 60>>
<<set _pram.maxAge = 69>>
<<elseif $customSlave.age == 70>>
<<set _pram.minAge = 70>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 79>>
<<set _pram.minAge = 70>>
<<set _pram.maxAge = 79>>
<<elseif $customSlave.age == 80>>
<<set _pram.minAge = 80>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 89>>
<<set _pram.minAge = 80>>
<<set _pram.maxAge = 89>>
<<elseif $customSlave.age == 90>>
<<set _pram.minAge = 90>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 99>>
<<set _pram.minAge = 90>>
<<set _pram.maxAge = 99>>
<<elseif $customSlave.age == 100>>
<<set _pram.minAge = 100>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 109>>
<<set _pram.minAge = 100>>
<<set _pram.maxAge = 109>>
<<elseif $customSlave.age == 110>>
<<set _pram.minAge = 110>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 119>>
<<set _pram.minAge = 110>>
<<set _pram.maxAge = 119>>
<<elseif $customSlave.age == 120>>
<<set _pram.minAge = 120>>
<<set _pram.maxAge = $retirementAge-1>>
<<elseif $customSlave.age == 129>>
<<set _pram.minAge = 120>>
<<set _pram.maxAge = 129>>
<<else>>
<<set _pram.minAge = 130>>
<<set _pram.maxAge = $retirementAge-1>>
<</if>>
<<if $customSlave.race != "ethnicity is unimportant">>
<<set _pram.race = $customSlave.race>>
<</if>>
<<if $customSlave.sex == 2>>
<<set _delivery = GenerateNewSlave("XY", _pram)>>
<<set _delivery.dick = $customSlave.dick>>
<<set _delivery.balls = $customSlave.balls>>
<<set _delivery.scrotum = _delivery.balls>>
<<set _delivery.foreskin = _delivery.dick>>
<<else>>
<<set _delivery = GenerateNewSlave("XX", _pram)>>
<<if $customSlave.virgin == 0>>
<<set _delivery.vagina = $customSlave.virgin>>
<</if>>
<<set _delivery.labia = $customSlave.labia>>
<<set _delivery.vaginaLube = $customSlave.vaginaLube>>
<<set _delivery.skill.vaginal = $customSlave.skills>>
<<if $customSlave.sex == 3>>
<<set _delivery.dick = $customSlave.dick>>
<<set _delivery.balls = $customSlave.balls>>
<<set _delivery.scrotum = _delivery.balls>>
<<set _delivery.foreskin = _delivery.dick>>
<<if _delivery.dick == 0>>
<<set _delivery.clit = $customSlave.clit>>
<<set _delivery.foreskin = _delivery.clit>>
<</if>>
<<else>>
<<set _delivery.clit = $customSlave.clit>>
<</if>>
<</if>>
/* I have no clue what I'm doing here */
<<if $customSlave.heightMod == "greatly below average">>
<<set _delivery.height = Math.round(Height.random(_delivery, {skew: -5, spread: .15, limitMult: [-5, -2]}))>>
<<elseif $customSlave.heightMod == "below average">>
<<set _delivery.height = Math.round(Height.random(_delivery, {skew: -1, limitMult: [-2, 0]}))>>
<<elseif $customSlave.heightMod == "normal">>
<<set _delivery.height = Math.round(Height.random(_delivery, {limitMult: [-1, 1]}))>>
<<elseif $customSlave.heightMod == "above average">>
<<set _delivery.height = Math.round(Height.random(_delivery, {skew: 1, limitMult: [0, 2]}))>>
<<else>>
<<set _delivery.height = Math.round(Height.random(_delivery, {skew: 5, spread: .15, limitMult: [2, 5]}))>>
<</if>>
<<if $customSlave.intelligence == 3>>
<<set _delivery.intelligence = random(96,100)>>
<<elseif $customSlave.intelligence == 2>>
<<set _delivery.intelligence = random(51,95)>>
<<elseif $customSlave.intelligence == 1>>
<<set _delivery.intelligence = random(15,50)>>
<<elseif $customSlave.intelligence == -1>>
<<set _delivery.intelligence = random(-50,-16)>>
<<elseif $customSlave.intelligence == -2>>
<<set _delivery.intelligence = random(-95,-51)>>
<<elseif $customSlave.intelligence == -3>>
<<set _delivery.intelligence = random(-100,-96)>>
<<else>>
<<set _delivery.intelligence = random(-15,15)>>
<</if>>
<<set _delivery.intelligenceImplant = $customSlave.intelligenceImplant>>
<<if $customSlave.analVirgin == 0>>
<<set _delivery.anus = $customSlave.analVirgin>>
<</if>>
<<if (def $customSlave.voice) && ($customSlave.voice != -1)>>
<<set _delivery.voice = $customSlave.voice>>
<<else>>
<<set _delivery.voice = random(0,3)>>
<</if>>
<<run setHealth(_delivery, $customSlave.health * 80, 0, 0, 0, 0)>>
<<set _delivery.muscles = $customSlave.muscles>>
<<set _delivery.weight = $customSlave.weight>>
<<set _delivery.face = $customSlave.face>>
<<set _delivery.lips = $customSlave.lips>>
<<if $customSlave.skin != "left natural">>
<<set _delivery.origSkin = $customSlave.skin>>
<<set _delivery.skin = getGeneticSkinColor(_delivery)>>
<</if>>
<<set _delivery.boobs = $customSlave.boobs>>
<<set _delivery.butt = $customSlave.butt>>
<<set _delivery.skill.anal = $customSlave.skills>>
<<set _delivery.skill.oral = $customSlave.skills>>
<<set _delivery.skill.entertainment = $customSlave.skill.whore>>
<<set _delivery.skill.whoring = $customSlave.skill.whore>>
<<set _delivery.skill.combat = $customSlave.skill.combat>>
<<set _delivery.eye.left.vision = $customSlave.eye.left.vision>>
<<set _delivery.eye.right.vision = $customSlave.eye.right.vision>>
<<set _delivery.hears = $customSlave.hears>>
<<set _delivery.smells = $customSlave.smells>>
<<set _delivery.tastes = $customSlave.tastes>>
<<set _delivery.arm = $customSlave.arm>>
<<set _delivery.leg = $customSlave.leg>>
<<set _delivery.weekAcquired = $week>>
<<set _delivery.origin = "You purchased $him by special order.">>
<<set _delivery.career = "a slave">>
<<set _delivery.sexualFlaw = either("none")>>
<<set _delivery.behavioralFlaw = either("none")>>
<<set _delivery.devotion = random(-10,10)>>
<<set _delivery.trust = random(-10,10)>>
<<set _slaveCost = slaveCost(_delivery)>>
<<set _slaveCost = _slaveCost*2>>
<<setLocalPronouns _delivery>>
A slave dealer has submitted a slave to satisfy the order you posted.
<br><br>
//As usual, the asking price is quite high, to cover the costs of finding a slave to order. In compensation, you can freely decline the slave and keep the order open, or even modify it later.//
<br><br>
<<includeDOM App.Desc.longSlave(_delivery, {market: "generic"})>>
<br><br>
$His price is <<print cashFormat(_slaveCost)>>.
<br><br>
<span id="result">
<<if $cash >= _slaveCost>>
<<link "Accept the offered slave">>
<<run cashX(forceNeg(_slaveCost), "slaveTransfer", _delivery)>>
<<replace "#result">>
$He has been reasonably broken by the dealer that offered $him to you. $He has also picked up on the fact that $he was specially selected, and is a little hopeful that this means $he may be treated well. $He is now awaiting your instructions.
<<includeDOM App.UI.newSlaveIntro(_delivery)>>
<<if def $customSlaveOrderedReorder>><<run delete $customSlaveOrderedReorder>><</if>>
<</replace>>
<</link>>
<<else>>
//You lack the necessary funds to accept the offered slave.//
<</if>>
<br>
<<link "Reject this offer and place the same order again">>
<<set $customSlaveOrdered = 1>>
<<set $customSlaveOrderedReorder = 1>>
<<goto $nextLink>>
<</link>>
</span>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment