From 1ffdadf61c71407d434c22e4688e696baaa62654 Mon Sep 17 00:00:00 2001 From: klorpa <30924131+klorpa@users.noreply.github.com> Date: Wed, 27 Feb 2019 20:11:50 -0600 Subject: [PATCH] Checks --- src/js/vignettes.js | 29 +++++++++++++++---------- src/uncategorized/PETS.tw | 6 ++--- src/uncategorized/RESS.tw | 4 ++-- src/uncategorized/nextWeek.tw | 8 +++---- src/uncategorized/peCombatTraining.tw | 7 ++++-- src/uncategorized/remoteSurgery.tw | 8 +++---- src/uncategorized/surgeryDegradation.tw | 1 + 7 files changed, 37 insertions(+), 26 deletions(-) diff --git a/src/js/vignettes.js b/src/js/vignettes.js index 7586914ecb9..7ab3913750c 100644 --- a/src/js/vignettes.js +++ b/src/js/vignettes.js @@ -2913,7 +2913,7 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig } else if (V.arcologies[0].FSMaturityPreferentialist !== "unset") { if (slave.visualAge <= 20) { vignettes.push({ - text: `${he} gratified a citizen who wants to keep his fetish for young ${boy} in the closet,`, + text: `${he} gratified a citizen who wants to keep his fetish for young ${boy}s in the closet,`, type: "rep", effect: 1, }); @@ -3520,25 +3520,32 @@ window.GetVignette = /** @param {App.Entity.SlaveState} slave */ function GetVig } } if (canWalk(slave)) { - if (slave.amp === 0) { + vignettes.push({ + text: `${he} was so horny that ${he} sleepwalked into your room and performed oral sex on you, and then woke up when ${he} bruised ${his} shin,`, + type: "health", + effect: -1, + }); + } else { + if (slave.missingArms === 3) { + if (slave.releaseRules === "permissive" || slave.releaseRules === "masturbation") { + vignettes.push({ + text: `due to the obvious difficulties in ${his} mobility, ${he} spent a lot of time masturbating in bed,`, + type: "health", + effect: 0, + }); + } + } else { vignettes.push({ - text: `${he} was so horny that ${he} sleepwalked into your room and performed oral sex on you, and then woke up when ${he} bruised ${his} shin,`, + text: `${he} was so desperate for sexual relief that ${he} almost threw out ${his} back from trying to hump ${his} own bed,`, type: "health", effect: -1, }); } - if (slave.releaseRules === "permissive" || slave.releaseRules === "masturbation") { - vignettes.push({ - text: `due to the obvious difficulties in ${his} mobility, ${he} spent a lot of time masturbating in bed,`, - type: "health", - effect: 0, - }); - } } } if (slave.health < -20) { vignettes.push({ - text: `${he} has a bad cough and spends a lot of time napping,`, + text: `${he} has a bad cough and spent a lot of time napping,`, type: "health", effect: 0, }); diff --git a/src/uncategorized/PETS.tw b/src/uncategorized/PETS.tw index 9630f1e64b5..f26d6a96520 100644 --- a/src/uncategorized/PETS.tw +++ b/src/uncategorized/PETS.tw @@ -120,7 +120,7 @@ As you pass the entrance to the hall of cells where <<EventNameLink>> breaks bit <<case "comforting attendant">> -You decide to knit up care's raveled sleave with a break in the spa. You have your own bath, of course, but the female company is always nice even if you aren't actively using the spa's resting inhabitants. The steam in the warm pool room is turned up very high, and you can hardly see. As you lower yourself into the warm water, you see <<EventNameLink>> across from you, sitting in the water against the pool wall. $He's holding $subSlave.slaveName in $his arms, rubbing a comforting hand up and down _his2 back and murmuring into _his2 ear. $subSlave.slaveName has _his2 head <<if ($activeSlave.boobs > 2000)>>almost hidden between $activeSlave.slaveName's massive tits<<elseif ($activeSlave.boobs > 1000)>>between $activeSlave.slaveName's huge boobs<<elseif ($activeSlave.boobs > 300)>>between $activeSlave.slaveName's breasts<<else>>against $activeSlave.slaveName's flat chest<</if>>, but it's a nonsexual embrace. You can't hear what $activeSlave.slaveName is saying, but it's clearly comforting; $subSlave.slaveName has a happy little smile on _his2 face and has _his2 eyes closed in relaxation. +You decide to knit up care's raveled sleave with a break in the spa. You have your own bath, of course, but the <<if $seeDicks != 100>>female <</if>>company is always nice even if you aren't actively using the spa's resting inhabitants. The steam in the warm pool room is turned up very high, and you can hardly see. As you lower yourself into the warm water, you see <<EventNameLink>> across from you, sitting in the water against the pool wall. $He's holding $subSlave.slaveName in $his arms, rubbing a comforting hand up and down _his2 back and murmuring into _his2 ear. $subSlave.slaveName has _his2 head <<if ($activeSlave.boobs > 2000)>>almost hidden between $activeSlave.slaveName's massive tits<<elseif ($activeSlave.boobs > 1000)>>between $activeSlave.slaveName's huge boobs<<elseif ($activeSlave.boobs > 300)>>between $activeSlave.slaveName's breasts<<else>>against $activeSlave.slaveName's flat chest<</if>>, but it's a nonsexual embrace. You can't hear what $activeSlave.slaveName is saying, but it's clearly comforting; $subSlave.slaveName has a happy little smile on _his2 face and has _his2 eyes closed in relaxation. <<default>> <br>ERROR: bad PETS event $PETSevent @@ -160,7 +160,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo You shove $activeSlave.slaveName hard, forcing a surprised shriek out of $him as $he crashes forward into $subSlave.slaveName's <<if $subSlave.boobs > 2000>>helpfully pillowlike bosom<<elseif $subSlave.boobs > 500>>healthy tits<<else>>chest<</if>>, and then ram your pelvis up against $him, pinning $him against $his patient. $subSlave.slaveName's eyelids flicker, but _he2 does not wake up, despite your assault <<if canPenetrate($activeSlave)>>shoving $activeSlave.slaveName's cock as far up _his2 asshole as it will go<<else>>trapping $activeSlave.slaveName's hands between them and pushing $his fingers even farther up $subSlave.slaveName's asshole<</if>>. $activeSlave.slaveName tries to shift a little, but receives a peremptory push back to where $he was. $He realizes $he's to lie still and take what's coming to $him, and $he does $his best to relax. <br><br> <<if $PC.dick == 1>> - <<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>> + <<if canDoVaginal($activeSlave)>> <<if $activeSlave.vagina > 2>> $His roomy cunt takes your brutal thrusting without trouble. To communicate your message, $he needs to be uncomfortable, so you deliberately force $him down farther and fuck $him at an awkward angle. Your harsh pounding begins to force groans out of $him. <<elseif $activeSlave.vagina > 1>> @@ -182,7 +182,7 @@ You decide to knit up care's raveled sleave with a break in the spa. You have yo <<set $analTotal += 1>> <</if>> <<else>> - <<if ($activeSlave.vagina > 0) && !($activeSlave.chastityVagina)>> + <<if canDoVaginal($activeSlave)>> <<if $activeSlave.vagina > 2>> To communicate your message, $he needs to be uncomfortable, so you carefully form your fingers into a beak shape and push your fist up inside $him. $He screams as your knuckles push past $his pussylips, and then starts to groan as you fistfuck $his lewd cunt. <<elseif $activeSlave.vagina > 1>> diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 519a41c46e2..ea86f1591ec 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -5105,7 +5105,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <br><<link "Remove $his male genitalia">> <<replace "#result2">> You ask $him if $he enjoyed the last time $he used $his dick and if it was worth crossing you, because it will not happen again. Restrained as $he is, the most $he can do is cry and beg. Once $he comes to after the surgery, $he faces $his new body; @@.mediumorchid;$he's now a surgical null@@ and $he's @@.gold;the only one to blame@@ for $his @@.red;suffering.@@ Every other rebellious slave is @@.gold;horrified by the example.@@ - <<set $activeSlave.trust -= 30, $activeSlave.devotion -= 25, $activeSlave.health -= 20, $activeSlave.dick = 0, $activeSlave.foreskin = 0, $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dickAccessory = "none", $activeSlave.chastityPenis = 0, $activeSlave.chastityPenis = 0>> + <<set $activeSlave.trust -= 30, $activeSlave.devotion -= 25, $activeSlave.health -= 20, $activeSlave.dick = 0, $activeSlave.foreskin = 0, $activeSlave.balls = 0, $activeSlave.scrotum = 0, $activeSlave.dickAccessory = "none", $activeSlave.chastityPenis = 0>> <<set $slaves.forEach(function(s) { if (s.devotion < -50) { s.trust -= 15; } })>> <<run cashX(forceNeg($surgeryCost*2), "slaveSurgery", $activeSlave)>> <</replace>> @@ -9262,7 +9262,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <</if>> and have gentle vaginal sex in the missionary position <<if $PC.vagina == 1>><<if $PC.dick == 1>>, your own pussy moving back and forth gently at the base of your dick as you fuck $him<</if>><</if>>. $He gasps at the first penetration, but you take it slowly and lavish attention on $his lips, breasts, and nipples. Soon $he's shamelessly enjoying $himself. $His first vaginal sex is crowned with an abdominal-clenching orgasm. $He @@.hotpink;adores $his kind <<= WrittenMaster()>>.@@ <<set $activeSlave.devotion += 10, $activeSlave.vaginalCount++, $activeSlave.vagina = 1, $vaginalTotal++>> - <<if ($activeSlave.chastityVagina)>><<set $activeSlave.vaginalAccessory = "none">><</if>> + <<if ($activeSlave.chastityVagina == 1>><<set $activeSlave.chastityVagina = 0>><</if>> <<if canImpreg($activeSlave, $PC)>> <<= knockMeUp($activeSlave, 25, 0, -1)>> <</if>> diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index 320c201a101..292057afd60 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -147,11 +147,11 @@ <<elseif $slaves[_i].rivalry < 0>> <<set $slaves[_i].rivalryTarget = 0, $slaves[_i].rivalry = 0>> <</if>> - <<if $slaves[_i].vagina < 0 && $slaves[_i].vaginalAccessory != "none">> - <<set $slaves[_i].vaginalAccessory = "none">> + <<if $slaves[_i].vagina < 0 && ($slaves[_i].vaginalAccessory != "none" || $slaves[_i].chastityVagina != 0)>> + <<set $slaves[_i].vaginalAccessory = "none", $slaves[_i].chastityVagina = 0>> <</if>> - <<if $slaves[_i].dick == 0 && $slaves[_i].dickAccessory != "none">> - <<set $slaves[_i].dickAccessory = "none">> + <<if $slaves[_i].dick == 0 && ($slaves[_i].dickAccessory != "none" || $slaves[_i].chastityPenis != 0)>> + <<set $slaves[_i].dickAccessory = "none", $slaves[_i].chastityPenis = 0>> <</if>> /% Fix some possible floating point rounding errors, and bring precision to one decimal place. %/ <<run SlaveStatClamp($slaves[_i])>> diff --git a/src/uncategorized/peCombatTraining.tw b/src/uncategorized/peCombatTraining.tw index 99adb7898ab..8c7a35327a5 100644 --- a/src/uncategorized/peCombatTraining.tw +++ b/src/uncategorized/peCombatTraining.tw @@ -35,12 +35,15 @@ The feed from the small armory next door shows $him doing the latter. $He has fi <<replace "#result">> Over the feed, you tell $activeSlave.slaveName that $he can have $his choice of sexual release if $he scores well on the next set of targets. $He concentrates desperately, trying to ignore $his mounting arousal as $he imagines enjoying <<if $activeSlave.fetish == "none">>passionate sexual<<elseif $activeSlave.fetish == "boobs">>breast<<else>>$activeSlave.fetish<</if>> play. $He barely makes the stated score, and hurries smiling in for $his reward. $He feels @@.hotpink;closer to you,@@ but is distracted from any real learning and does not become a better fighter. <<set $activeSlave.devotion += 4>> - <<if ($activeSlave.vagina > -1) && !($activeSlave.chastityVagina)>> + <<if canDoVaginal($activeSlave)>> <<set $activeSlave.vaginalCount += 1>> <<set $vaginalTotal += 1>> - <<else>> + <<elseif canDoAnal($activeSlave)>> <<set $activeSlave.analCount += 1>> <<set $analTotal += 1>> + <<else>> + <<set $activeSlave.oralCount += 1>> + <<set $oralTotal += 1>> <</if>> <</replace>> <</link>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 70d25de441a..f7d34271bbc 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1123,23 +1123,23 @@ Work on $his sex: <<if ($activeSlave.vagina > -1) && ($activeSlave.dick > 0)>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> + | [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$activeSlave.chastityVagina = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> <</if>> <<elseif $activeSlave.vagina > -1>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> - | [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> + | [[Remove pussy|Surgery Degradation][$activeSlave.vagina = -1,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregSource = 0,$activeSlave.vaginalSkill = 0,$activeSlave.vaginalAccessory = "none",$activeSlave.chastityVagina = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave),$activeSlave.health -= 20,$surgeryType = "vaginaRemoval"]] <<if $activeSlave.ovaries == 1>>//This will remove $his ovaries as well//<</if>> <</if>> <</if>> <<if $activeSlave.indentureRestrictions < 1 && ($activeSlave.breedingMark != 1 || $propOutcome == 0)>> <<if ($activeSlave.vagina == -1) && ($activeSlave.dick != 0)>> - | [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.ballType = "human",$activeSlave.vasectomy = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "mtf"]] + | [[Convert genitalia to female|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.chastityPenis = 0,$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.scrotum = 0,$activeSlave.balls = 0,$activeSlave.ballType = "human",$activeSlave.vasectomy = 0,$activeSlave.vagina = 0,$activeSlave.preg = -2,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "mtf"]] <</if>> <<if ($activeSlave.vagina == -1) && ($activeSlave.dick == 0) && ($surgeryUpgrade == 1)>> | [[Create a vagina|Surgery Degradation][$activeSlave.vagina = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 40, $surgeryType = "ntf"]] <</if>> <<if ($activeSlave.dick > 0) && ($seeExtreme == 1)>> - | [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "chop"]] + | [[Remove penis|Surgery Degradation][$activeSlave.dick = 0,$activeSlave.dickAccessory = "none",$activeSlave.chastityPenis = 0,$activeSlave.dickTat = 0,$activeSlave.foreskin = 0,$activeSlave.vaginalSkill = 0,cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 20, $surgeryType = "chop"]] <</if>> <<if ($activeSlave.foreskin > 0) && $activeSlave.dick > 0>> <<if $activeSlave.indentureRestrictions < 2>> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 0c74c2f04cc..b1828036418 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -1511,6 +1511,7 @@ As the remote surgery's long recovery cycle completes, <</if>> <</if>> Naturally, @@.red;$his health has been greatly affected@@ by such serious surgery. + <<set $activeSlave.chastityVagina = 0>> <<set $activeSlave.vaginalAccessory = "none">> <<if $activeSlave.cervixImplant == 1>> <<set $activeSlave.cervixImplant = 0>> -- GitLab