diff --git a/Changelog.txt b/Changelog.txt index e05f052f6d78d31f49c678848d1a8e876dc34d51..c864fabf5890497caca59103ccdc7299dba09f47 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -4,6 +4,8 @@ Pregmod 0 -scar system added + -partial amputation and amp rework underway + -four wip FSs now neighbor ready -player slave impregnation bug fixed -fixes and cleaning diff --git a/devNotes/limb functions.md b/devNotes/limb functions.md index fcfe49a8c728ca9166d5e46f2dd9b0f358d5aca7..9d0029e31e4708438d4eadc80bba7a323c83dc40 100644 --- a/devNotes/limb functions.md +++ b/devNotes/limb functions.md @@ -67,6 +67,30 @@ Most functions can be used like this, though some are more specialized. `hasAllNaturalLimbs(slave)`: True if slave has all limbs and all are natural. +`hasLeftArm(slave)`: + True if slave has a left arm. + +`hasRightArm(slave)`: + True if slave has a right arm. + +`hasLeftLeg(slave)`: + True if slave has a left leg. + +`hasRightLeg(slave)`: + True if slave has a right leg. + +`getLeftArmID(slave)`: + Returns limb ID of the left arm. + +`getRightArmID(slave)`: + Returns limb ID of the right arm. + +`getLeftLegID(slave)`: + Returns limb ID of the left leg. + +`getRightLegID(slave)`: + Returns limb ID of the right leg. + `idToDescription(id)`: Returns a very short description of the specified limb ID. 0: "amputated"; @@ -79,11 +103,3 @@ Most functions can be used like this, though some are more specialized. `getLimbCount(slave, id)`: Returns count of specified limb ID. - -`hasLimb(slave, limb)`: - True if slave has specified limb. - Allowed values for limb: "left arm", "right arm", "left leg", "right leg". - -`getLimbID(slave, limb)`: - Returns limb ID of the specified limb. - Allowed values for limb: "left arm", "right arm", "left leg", "right leg". diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js index 2ffbc4002047ec8c59b788154d8f755f6e17dccd..22b19bccb7a787595964db76ad883cbadc4c9381 100644 --- a/src/art/vector/VectorArtJS.js +++ b/src/art/vector/VectorArtJS.js @@ -49,7 +49,7 @@ App.Art.vectorArtElement = (function() { ArtVectorAnalAccessories(); ArtVectorButt(); ArtVectorLeg(); - if (slave.amp !== 1) { + if (hasAnyLegs(slave)) { ArtVectorFeet(); /* includes shoes and leg outfits*/ } ArtVectorTorso(); @@ -186,10 +186,7 @@ App.Art.vectorArtElement = (function() { } function setArmType() { - if (slave.amp === 1) { - leftArmType = "None"; - rightArmType = "None"; - } else { + if (hasAnyArms(slave)) { if (slave.devotion > 50) { leftArmType = "High"; rightArmType = "High"; @@ -208,6 +205,14 @@ App.Art.vectorArtElement = (function() { leftArmType = "Mid"; rightArmType = "Mid"; } + if (!hasLeftArm(slave)) { + leftArmType = "None"; + } else if (!hasRightArm(slave)) { + rightArmType = "None"; + } + } else { + leftArmType = "None"; + rightArmType = "None"; } } @@ -671,13 +676,14 @@ App.Art.vectorArtElement = (function() { /* - changed arm calculation block position*/ /* - added brackets to make boolean logic run */ - if (slave.amp === 1) { /* Many amputee clothing art files exist, but draw nothing.They are excluded for now to reduce on rendering time - res.appendChild(useSvg("Art_Vector_Arm_Right_None")); - res.appendChild(useSvg("Art_Vector_Arm_Left_None")); - */ - } else { /* is not amputee or has limbs equipped so running arm calculation block */ - if (slave.amp === 0) { - res.appendChild(useSvg(`Art_Vector_Arm_Right_${rightArmType}`)); + /* Many amputee clothing art files exist, but draw nothing.They are excluded for now to reduce on rendering time. This is usually indicated by hasLeftArm(slave) checks and similar. + res.appendChild(useSvg("Art_Vector_Arm_Right_None")); + res.appendChild(useSvg("Art_Vector_Arm_Left_None")); + */ + + /* left */ + if (hasLeftArm(slave)) { + if (getLeftArmID(slave) === 1) { res.appendChild(useSvg(`Art_Vector_Arm_Left_${leftArmType}`)); if (slave.muscles >= 6) { if (leftArmType === "High") { @@ -689,7 +695,26 @@ App.Art.vectorArtElement = (function() { } else if (leftArmType === "Rebel") { res.appendChild(useSvg("Art_Vector_Arm_Left_Rebel_MLight")); } + } + } else if (getLeftArmID(slave) === 2) { + res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticBasic_${rightArmType}`)); + } else if (getLeftArmID(slave) === 3) { + res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticSexy_${rightArmType}`)); + } else if (getLeftArmID(slave) === 4) { + res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticBeauty_${rightArmType}`)); + } else if (getLeftArmID(slave) === 5) { + res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticCombat_${rightArmType}`)); + } else if (getLeftArmID(slave) === 6) { + res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticSwiss_${rightArmType}`)); + } + } + + /* right */ + if (hasRightArm(slave)) { + if (getRightArmID(slave) === 1) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_${rightArmType}`)); + if (slave.muscles >= 6) { if (rightArmType === "High") { res.appendChild(useSvg("Art_Vector_Arm_Right_High_MLight")); } else if (rightArmType === "Mid") { @@ -698,104 +723,113 @@ App.Art.vectorArtElement = (function() { res.appendChild(useSvg("Art_Vector_Arm_Right_Low_MLight")); } } - } else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */ - if (slave.amp === -1) { - res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticBasic_${rightArmType}`)); - res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticBasic_${leftArmType}`)); - } else if (slave.amp === -2) { - res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticSexy_${rightArmType}`)); - res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticSexy_${leftArmType}`)); - } else if (slave.amp === -3) { /* Reverting beauty limbs to regular SVG */ - res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticBeauty_${rightArmType}`)); - res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticBeauty_${leftArmType}`)); - } else if (slave.amp === -4) { - res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticCombat_${rightArmType}`)); - res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticCombat_${leftArmType}`)); - } else if (slave.amp === -5) { - res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticSwiss_${rightArmType}`)); - res.appendChild(useSvg(`Art_Vector_Arm_Left_ProstheticSwiss_${leftArmType}`)); - } + } else if (getRightArmID(slave) === 2) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticBasic_${rightArmType}`)); + } else if (getRightArmID(slave) === 3) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticSexy_${rightArmType}`)); + } else if (getRightArmID(slave) === 4) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticBeauty_${rightArmType}`)); + } else if (getRightArmID(slave) === 5) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticCombat_${rightArmType}`)); + } else if (getRightArmID(slave) === 6) { + res.appendChild(useSvg(`Art_Vector_Arm_Right_ProstheticSwiss_${rightArmType}`)); } - /* shiny clothing */ - if (V.seeVectorArtHighlights === 1) { - if (wearingLatex === true || slave.clothes === "body oil") { - /* only some arm positions have art (feel free to add more) */ - if (leftArmType === "High") { - res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_High")); - } else if (leftArmType === "Mid") { - res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_Mid")); - } else if (leftArmType === "Low") { - res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_Low")); - } + } + + /* shiny clothing */ + if (V.seeVectorArtHighlights === 1) { + if (wearingLatex === true || slave.clothes === "body oil") { + /* only some arm positions have art (feel free to add more) */ + if (leftArmType === "High") { + res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_High")); + } else if (leftArmType === "Mid") { + res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_Mid")); + } else if (leftArmType === "Low") { + res.appendChild(useSvg("Art_Vector_Arm_Outfit_Shine_Left_Low")); } } - /* TODO: simplify selection (select prefix, infix and suffix and combine instead of using switch statements) */ - switch (slave.clothes) { - case "a biyelgee costume": - case "a burkini": - case "a button-up shirt": - case "a button-up shirt and panties": - case "a cheerleader outfit": - case "a dirndl": - case "a gothic lolita dress": - case "a hanbok": - case "a hijab and blouse": - case "a huipil": - case "a kimono": - case "a klan robe": - case "a long qipao": - case "a military uniform": - case "a mounty outfit": - case "a nice maid outfit": - case "a nice nurse outfit": - case "a police uniform": - case "a red army uniform": - case "a schoolgirl outfit": - case "a slutty klan robe": - case "a slutty nurse outfit": - case "a slutty qipao": - case "a sweater": - case "a sweater and cutoffs": - case "a sweater and panties": - case "a t-shirt": - case "a t-shirt and jeans": - case "a t-shirt and panties": - case "a t-shirt and thong": - case "an oversized t-shirt": - case "an oversized t-shirt and boyshorts": - case "battlearmor": - case "battledress": - case "clubslut netting": - case "conservative clothing": - case "cutoffs and a t-shirt": - case "lederhosen": - case "nice business attire": - case "slutty business attire": - case "slutty jewelry": - case "sport shorts and a t-shirt": - case "Western clothing": + } + + /* TODO: simplify selection (select prefix, infix and suffix and combine instead of using switch statements) */ + switch (slave.clothes) { + case "a biyelgee costume": + case "a burkini": + case "a button-up shirt": + case "a button-up shirt and panties": + case "a cheerleader outfit": + case "a dirndl": + case "a gothic lolita dress": + case "a hanbok": + case "a hijab and blouse": + case "a huipil": + case "a kimono": + case "a klan robe": + case "a long qipao": + case "a military uniform": + case "a mounty outfit": + case "a nice maid outfit": + case "a nice nurse outfit": + case "a police uniform": + case "a red army uniform": + case "a schoolgirl outfit": + case "a slutty klan robe": + case "a slutty nurse outfit": + case "a slutty qipao": + case "a sweater": + case "a sweater and cutoffs": + case "a sweater and panties": + case "a t-shirt": + case "a t-shirt and jeans": + case "a t-shirt and panties": + case "a t-shirt and thong": + case "an oversized t-shirt": + case "an oversized t-shirt and boyshorts": + case "battlearmor": + case "battledress": + case "clubslut netting": + case "conservative clothing": + case "cutoffs and a t-shirt": + case "lederhosen": + case "nice business attire": + case "slutty business attire": + case "slutty jewelry": + case "sport shorts and a t-shirt": + case "Western clothing": + if (hasRightArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Right_${rightArmType}`)); + } + if (hasLeftArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_${clothing2artSuffix(slave.clothes)}_Left_${leftArmType}`)); - break; - /* manually handle special cases */ - case "a schutzstaffel uniform": - case "a slutty schutzstaffel uniform": + } + break; + /* manually handle special cases */ + case "a schutzstaffel uniform": + case "a slutty schutzstaffel uniform": + if (hasRightArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Right_${rightArmType}`)); + } + if (hasLeftArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_SchutzstaffelUniform_Left_${leftArmType}`)); - break; - case "a hijab and abaya": - case "a niqab and abaya": - case "a burqa": + } + break; + case "a hijab and abaya": + case "a niqab and abaya": + case "a burqa": + if (hasRightArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_HijabAndAbaya_Right_${rightArmType}`)); + } + if (hasLeftArm(slave)) { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_HijabAndAbaya_Left_${leftArmType}`)); - break; - case "a slave gown": - /* only some arm positions have art (feel free to add more) */ + } + break; + case "a slave gown": + /* only some arm positions have art (feel free to add more) */ + if (hasLeftArm(slave)) { if (leftArmType !== "Rebel") { res.appendChild(useSvg(`Art_Vector_Arm_Outfit_SlaveGown_Left_${leftArmType}`)); } - } - } /* close .amp check */ + } + } } function ArtVectorBalls() { @@ -1118,17 +1152,17 @@ App.Art.vectorArtElement = (function() { } function ArtVectorButt() { - if (slave.amp === 0) { + if (getLeftLegID(slave) === 1) { res.appendChild(useSvg(`Art_Vector_Butt_${buttSize}`)); - } else if (slave.amp === -1) { + } else if (getLeftLegID(slave) === 2) { res.appendChild(useSvg(`Art_Vector_Butt_ProstheticBasic_${buttSize}`)); - } else if (slave.amp === -2) { + } else if (getLeftLegID(slave) === 3) { res.appendChild(useSvg(`Art_Vector_Butt_ProstheticSexy_${buttSize}`)); - } else if (slave.amp === -3) { /* reverted to regular SVG to match description */ + } else if (getLeftLegID(slave) === 4) { /* reverted to regular SVG to match description */ res.appendChild(useSvg(`Art_Vector_Butt_ProstheticBeauty_${buttSize}`)); - } else if (slave.amp === -4) { + } else if (getLeftLegID(slave) === 5) { res.appendChild(useSvg(`Art_Vector_Butt_ProstheticCombat_${buttSize}`)); - } else if (slave.amp === -5) { + } else if (getLeftLegID(slave) === 6) { res.appendChild(useSvg(`Art_Vector_Butt_ProstheticSwiss_${buttSize}`)); } } @@ -1729,23 +1763,25 @@ App.Art.vectorArtElement = (function() { } else if (slave.shoes === "flats") { res.appendChild(useSvg("Art_Vector_Shoes_Flat")); } else { - if (slave.amp === 0) { + if (hasBothNaturalLegs(slave)) { res.appendChild(useSvg("Art_Vector_Feet_Normal")); - } else if (slave.PLimb === 1 || slave.PLimb === 2) { - if (slave.amp === -1) { - res.appendChild(useSvg("Art_Vector_Feet_ProstheticBasic")); - } else if (slave.amp === -2) { - res.appendChild(useSvg("Art_Vector_Feet_ProstheticSexy")); - } else if (slave.amp === -3) { - res.appendChild(useSvg("Art_Vector_Feet_ProstheticBeauty")); - } else if (slave.amp === -4) { - res.appendChild(useSvg("Art_Vector_Feet_ProstheticCombat")); - } else if (slave.amp === -5) { + } else { + if (getLeftLegID(slave) === 6 || getRightLegID(slave) === 6) { res.appendChild(useSvg("Art_Vector_Feet_ProstheticSwiss")); + } else if (getLeftLegID(slave) === 5 || getRightLegID(slave) === 5) { + res.appendChild(useSvg("Art_Vector_Feet_ProstheticCombat")); + } else if (getLeftLegID(slave) === 4 || getRightLegID(slave) === 4) { + res.appendChild(useSvg("Art_Vector_Feet_ProstheticBeauty")); + } else if (getLeftLegID(slave) === 3 || getRightLegID(slave) === 3) { + res.appendChild(useSvg("Art_Vector_Feet_ProstheticSexy")); + } else if (getLeftLegID(slave) === 2 || getRightLegID(slave) === 2) { + res.appendChild(useSvg("Art_Vector_Feet_ProstheticBasic")); + } else if (getLeftLegID(slave) === 1 || getRightLegID(slave) === 1) { + res.appendChild(useSvg("Art_Vector_Feet_Normal")); } } } - if (stockings !== undefined && slave.amp !== 1) { + if (stockings !== undefined && hasAnyLegs(slave)) { if (slave.shoes === "heels") { res.appendChild(useSvg(`Art_Vector_Shoes_Heel_${stockings}_${legSize}`)); } else if (slave.shoes === "pumps") { @@ -1815,7 +1851,7 @@ App.Art.vectorArtElement = (function() { outfit = clothing2artSuffix(slave.clothes); } if (outfit !== undefined) { - if (slave.amp !== 1) { + if (hasAnyLegs(slave)) { if (slave.clothes !== "a slutty qipao" && slave.clothes !== "harem gauze" && slave.clothes !== "slutty jewelry" && slave.clothes !== "Western clothing") { /* these clothes have a stump/leg outfit, but no butt outfit */ res.appendChild(useSvg(`Art_Vector_Butt_Outfit_${outfit}_${buttSize}`)); } @@ -2502,7 +2538,7 @@ App.Art.vectorArtElement = (function() { function ArtVectorLeg() { /* Selection of matching SVG based on amputee level */ - if (slave.amp === 0) { + if (hasBothNaturalLegs(slave)) { res.appendChild(useSvg(`Art_Vector_Leg_${legSize}`)); if (slave.muscles >= 97) { res.appendChild(useSvg(`Art_Vector_Leg_${legSize}_MHeavy`)); @@ -2511,19 +2547,29 @@ App.Art.vectorArtElement = (function() { } else if (slave.muscles >= 30) { res.appendChild(useSvg(`Art_Vector_Leg_${legSize}_MLight`)); } - } else if (slave.amp === 1) { + } else if (!hasAnyLegs(slave)) { res.appendChild(useSvg("Art_Vector_Stump")); - } else if (slave.PLimb === 1 || slave.PLimb === 2) { /* slave is an amputee and has PLimbs equipped */ - if (slave.amp === -1) { - res.appendChild(useSvg(`Art_Vector_Leg_ProstheticBasic_${legSize}`)); - } else if (slave.amp === -2) { - res.appendChild(useSvg(`Art_Vector_Leg_ProstheticSexy_${legSize}`)); - } else if (slave.amp === -3) { - res.appendChild(useSvg(`Art_Vector_Leg_ProstheticBeauty_${legSize}`)); - } else if (slave.amp === -4) { - res.appendChild(useSvg(`Art_Vector_Leg_ProstheticCombat_${legSize}`)); - } else { /* slave.amp === -5 */ + } else { + /* show the best leg */ + if (getLeftLegID(slave) === 6 || getRightLegID(slave) === 6) { res.appendChild(useSvg(`Art_Vector_Leg_ProstheticSwiss_${legSize}`)); + } else if (getLeftLegID(slave) === 5 || getRightLegID(slave) === 5) { + res.appendChild(useSvg(`Art_Vector_Leg_ProstheticCombat_${legSize}`)); + } else if (getLeftLegID(slave) === 4 || getRightLegID(slave) === 4) { + res.appendChild(useSvg(`Art_Vector_Leg_ProstheticBeauty_${legSize}`)); + } else if (getLeftLegID(slave) === 3 || getRightLegID(slave) === 3) { + res.appendChild(useSvg(`Art_Vector_Leg_ProstheticSexy_${legSize}`)); + } else if (getLeftLegID(slave) === 2 || getRightLegID(slave) === 2) { + res.appendChild(useSvg(`Art_Vector_Leg_ProstheticBasic_${legSize}`)); + } else { + res.appendChild(useSvg(`Art_Vector_Leg_${legSize}`)); + if (slave.muscles >= 97) { + res.appendChild(useSvg(`Art_Vector_Leg_${legSize}_MHeavy`)); + } else if (slave.muscles >= 62) { + res.appendChild(useSvg(`Art_Vector_Leg_${legSize}_MMedium`)); + } else if (slave.muscles >= 30) { + res.appendChild(useSvg(`Art_Vector_Leg_${legSize}_MLight`)); + } } } } @@ -2706,7 +2752,7 @@ App.Art.vectorArtElement = (function() { } if (V.seeVectorArtHighlights === 1) { if (wearingLatex === true) { - if (slave.amp !== 0) { + if (hasLeftArm(slave)) { res.appendChild(useSvg("Art_Vector_Torso_Outfit_Shine_Shoulder")); } if (slave.preg <= 0) { @@ -2722,7 +2768,7 @@ App.Art.vectorArtElement = (function() { App.Art.legacyVectorArtElement = function() { const filePath = "resources/vector"; - const skinFilePath = `${filePath}/body/white`; + /* const skinFilePath = `${filePath}/body/white`; */ /** * @param {App.Entity.SlaveState} slave @@ -2757,39 +2803,37 @@ App.Art.legacyVectorArtElement = function() { underArmHStyle = slave.underArmHStyle; /* Shoulder width and arm or no arm */ - if (slave.amp !== 1) { - if (slave.devotion > 50) { - leftArmType = "high"; - rightArmType = "high"; - } else if (slave.trust >= -20) { - if (slave.devotion < -20) { - leftArmType = "rebel"; - rightArmType = "low"; - } else if (slave.devotion <= 20) { - leftArmType = "low"; - rightArmType = "low"; - } else { - leftArmType = "mid"; - rightArmType = "high"; - } + if (slave.devotion > 50) { + leftArmType = "High"; + rightArmType = "High"; + } else if (slave.trust >= -20) { + if (slave.devotion < -20) { + leftArmType = "Rebel"; + rightArmType = "Low"; + } else if (slave.devotion <= 20) { + leftArmType = "Low"; + rightArmType = "Low"; } else { - leftArmType = "mid"; - rightArmType = "mid"; + leftArmType = "Mid"; + rightArmType = "High"; } + } else { + leftArmType = "Mid"; + rightArmType = "Mid"; + } - if (wearingLatex === false) { + if (wearingLatex === false) { + if (!hasRightArm(slave)) { addSkinImg(res, `arm right ${rightArmType}`, skinFilter); - if (slave.underArmHStyle === "bushy") { - addImg(res, `hair/underArm ${underArmHStyle} right`, underArmFilter); - } - } else { - if (slave.fuckdoll !== 0) { - rightArmType = "mid"; - } - addImg(res, `outfit/arm right ${rightArmType} latex`); } - } else if (wearingLatex === false && slave.underArmHStyle === "bushy") { - addImg(res, `hair/underArm ${underArmHStyle} right`, underArmFilter); + if (slave.underArmHStyle === "bushy") { + addImg(res, `hair/underArm ${underArmHStyle} right`, underArmFilter); + } + } else if (!hasRightArm(slave)) { + if (slave.fuckdoll !== 0) { + rightArmType = "mid"; + } + addImg(res, `outfit/arm right ${rightArmType} latex`); } /* Hair Aft */ @@ -2811,7 +2855,7 @@ App.Art.legacyVectorArtElement = function() { } /* Butt */ - if (slave.amp !== 1) { + if (hasAnyLegs(slave)) { if (slave.butt > 6) { buttSize = 3; } else if (slave.butt > 4) { @@ -2845,18 +2889,18 @@ App.Art.legacyVectorArtElement = function() { } else { legSize = "wide"; } - if (slave.amp === 1) { + if (!hasAnyLegs(slave)) { legSize = `stump ${legSize}`; } - if (wearingLatex === true && slave.amp !== 1) { + if (wearingLatex === true && hasAnyLegs(slave)) { addImg(res, `outfit/leg ${legSize} latex`); } else { addSkinImg(res, `leg ${legSize}`, skinFilter); } /* Feet */ - if (slave.amp !== 1) { + if (hasAnyLegs(slave)) { if (slave.shoes === "heels") { shoesType = "heel"; } else if (slave.shoes === "extreme heels") { @@ -2910,28 +2954,21 @@ App.Art.legacyVectorArtElement = function() { addImg(res, `outfit/torso ${torsoSize} straps`); } - if (slave.amp !== 1) { - if (wearingLatex === false) { - if (leftArmType === "high") { - addSkinImg(res, `arm left ${leftArmType}`, skinFilter); - if (slave.underArmHStyle === "bushy") { - addImg(res, `hair/underArm ${underArmHStyle} left`, underArmFilter); - } - } else { - if (slave.underArmHStyle === "bushy") { - addImg(res, `hair/underArm ${underArmHStyle} left`, underArmFilter); - } - addSkinImg(res, `arm left ${leftArmType}`, skinFilter); - } + if (wearingLatex === false) { + if (hasLeftArm(slave) && leftArmType === "high") { addSkinImg(res, `arm left ${leftArmType}`, skinFilter); - } else { - if (slave.fuckdoll !== 0) { - leftArmType = "mid"; - } - addImg(res, `outfit/arm left ${leftArmType} latex`); } - } else if (wearingLatex === false && slave.underArmHStyle === "bushy") { - addImg(res, `hair/underArm ${underArmHStyle} left`, underArmFilter); + if (slave.underArmHStyle === "bushy") { + addImg(res, `hair/underArm ${underArmHStyle} left`, underArmFilter); + } + if (hasLeftArm(slave) && leftArmType !== "high") { + addSkinImg(res, `arm left ${leftArmType}`, skinFilter); + } + } else if (hasLeftArm(slave)) { + if (slave.fuckdoll !== 0) { + leftArmType = "mid"; + } + addImg(res, `outfit/arm left ${leftArmType} latex`); } /* Vagina */ diff --git a/src/cheats/mod_EditNeighborArcologyCheat.tw b/src/cheats/mod_EditNeighborArcologyCheat.tw index b9bbeabf9659c7fc0bb7e81adc9b4f4492542ea7..b4903162a27617c78d1962945a63e5439f3ba785 100644 --- a/src/cheats/mod_EditNeighborArcologyCheat.tw +++ b/src/cheats/mod_EditNeighborArcologyCheat.tw @@ -17,7 +17,7 @@ <<set _seed.delete($arcologies[_eca].direction)>> /* remove directions already in use */ <</for>> <<set _govtypes = ["a committee", "a corporation", "an individual", "an oligarchy", "direct democracy", "elected officials"]>> - <<set $activeArcology = {name: "Arcology X-", direction: _seed.random(), government: _govtypes.random(), honeymoon: 0, prosperity: 50, ownership: 50, minority: 20, PCminority: 0, demandFactor:0, FSSupremacist: "unset", FSSupremacistRace: 0, FSSubjugationist: "unset", FSSubjugationistRace: 0, FSGenderRadicalist: "unset", FSGenderFundamentalist: "unset", FSPaternalist: "unset", FSDegradationist: "unset", FSBodyPurist: "unset", FSTransformationFetishist: "unset", FSYouthPreferentialist: "unset", FSMaturityPreferentialist: "unset", FSSlimnessEnthusiast: "unset", FSAssetExpansionist: "unset", FSPastoralist: "unset", FSPhysicalIdealist: "unset", FSChattelReligionist: "unset", FSRomanRevivalist: "unset", FSAztecRevivalist: "unset", FSEgyptianRevivalist: "unset", FSEdoRevivalist: "unset", FSArabianRevivalist: "unset", FSChineseRevivalist: "unset", FSNull: "unset", FSRepopulationFocus: "unset", FSHedonisticDecadence: "unset", FSCummunism: "unset", FSIncestFetishist: "unset", FSRestart: "unset", embargo: 1, embargoTarget: -1, influenceTarget: -1, influenceBonus: 0, rival: 0}>> + <<set $activeArcology = {name: "Arcology X-", direction: _seed.random(), government: _govtypes.random(), honeymoon: 0, prosperity: 50, ownership: 50, minority: 20, PCminority: 0, demandFactor:0, FSSupremacist: "unset", FSSupremacistRace: 0, FSSubjugationist: "unset", FSSubjugationistRace: 0, FSGenderRadicalist: "unset", FSGenderFundamentalist: "unset", FSPaternalist: "unset", FSDegradationist: "unset", FSIntellectualDependency: "unset", FSSlaveProfessionalism: "unset", FSBodyPurist: "unset", FSTransformationFetishist: "unset", FSYouthPreferentialist: "unset", FSMaturityPreferentialist: "unset", FSStatuesqueGlorification: "unset", FSPetiteAdmiration: "unset", FSSlimnessEnthusiast: "unset", FSAssetExpansionist: "unset", FSPastoralist: "unset", FSPhysicalIdealist: "unset", FSChattelReligionist: "unset", FSRomanRevivalist: "unset", FSAztecRevivalist: "unset", FSEgyptianRevivalist: "unset", FSEdoRevivalist: "unset", FSArabianRevivalist: "unset", FSChineseRevivalist: "unset", FSNull: "unset", FSRepopulationFocus: "unset", FSHedonisticDecadence: "unset", FSCummunism: "unset", FSIncestFetishist: "unset", FSRestart: "unset", embargo: 1, embargoTarget: -1, influenceTarget: -1, influenceBonus: 0, rival: 0}>> <<if $arcologies.length < 4>> /* X-4 is reserved for player's arcology, so X-1 is available */ <<set $activeArcology.name += ($arcologies.length)>> diff --git a/src/cheats/mod_EditNeighborArcologyCheatWidget.tw b/src/cheats/mod_EditNeighborArcologyCheatWidget.tw index 25012d357518216583f7c641e53f914cb706bd0b..49464c9065e4b094cc57fca7ec0a28c27bfbcc00 100644 --- a/src/cheats/mod_EditNeighborArcologyCheatWidget.tw +++ b/src/cheats/mod_EditNeighborArcologyCheatWidget.tw @@ -122,6 +122,16 @@ Call as <<EditNeighborCheat>> <br> + '' $arcologies[_i].name Intellectual Dependency (unset or 1-100):'' $arcologies[_i].FSIntellectualDependency + <br><<textbox "$arcologies[_i].FSIntellectualDependency" $arcologies[_i].FSIntellectualDependency>> + + <br> + + '' $arcologies[_i].name Slave Professionalism (unset or 1-100):'' $arcologies[_i].FSSlaveProfessionalism + <br><<textbox "$arcologies[_i].FSSlaveProfessionalism" $arcologies[_i].FSSlaveProfessionalism>> + + <br> + '' $arcologies[_i].name Body Purist (unset or 1-100):'' $arcologies[_i].FSBodyPurist <br><<textbox "$arcologies[_i].FSBodyPurist" $arcologies[_i].FSBodyPurist>> @@ -142,6 +152,16 @@ Call as <<EditNeighborCheat>> <br> + '' $arcologies[_i].name Petite Admiration (unset or 1-100):'' $arcologies[_i].FSPetiteAdmiration + <br><<textbox "$arcologies[_i].FSPetiteAdmiration" $arcologies[_i].FSPetiteAdmiration>> + + <br> + + '' $arcologies[_i].name Statuesque Glorification (unset or 1-100):'' $arcologies[_i].FSStatuesqueGlorification + <br><<textbox "$arcologies[_i].FSStatuesqueGlorification" $arcologies[_i].FSStatuesqueGlorification>> + + <br> + '' $arcologies[_i].name Slimness Enthusiast (unset or 1-100):'' $arcologies[_i].FSSlimnessEnthusiast <br><<textbox "$arcologies[_i].FSSlimnessEnthusiast" $arcologies[_i].FSSlimnessEnthusiast>> diff --git a/src/facilities/brothel/brothelAssignmentScene.tw b/src/facilities/brothel/brothelAssignmentScene.tw index 3a589a4e3ee9ac1a22aa014bff8816144d98dfb2..e2ce8a3ff96d398c31db4a422023da1d689da52a 100644 --- a/src/facilities/brothel/brothelAssignmentScene.tw +++ b/src/facilities/brothel/brothelAssignmentScene.tw @@ -18,17 +18,17 @@ You could direct $assistantName to relay your orders to $activeSlave.slaveName, but you've decided to avoid relying too much on machine assistance. So, $he is merely directed to report to your office. The <<if $activeSlave.devotion > 95>> - worshipful $girl <<if $activeSlave.amp != 1>>hurries in as soon as $he possibly can<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, happy $his beloved <<= WrittenMaster($activeSlave)>> is taking an interest in $him. + worshipful $girl <<if hasAnyLegs($activeSlave)>>hurries in as soon as $he possibly can<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, happy $his beloved <<= WrittenMaster($activeSlave)>> is taking an interest in $him. <<elseif $activeSlave.devotion > 50>> - devoted $girl <<if $activeSlave.amp != 1>>hurries in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, eager to do whatever you demand of $him. + devoted $girl <<if hasAnyLegs($activeSlave)>>hurries in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, eager to do whatever you demand of $him. <<elseif $activeSlave.devotion > 20>> - $girl, broken to your will, <<if $activeSlave.amp != 1>>comes in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, clearly ready to follow orders. + $girl, broken to your will, <<if hasAnyLegs($activeSlave)>>comes in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, clearly ready to follow orders. <<elseif ($activeSlave.trust < -20) && ($activeSlave.devotion > -10)>> - fearful slave <<if $activeSlave.amp != 1>>comes in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, afraid of what will happen to $him if $he doesn't. + fearful slave <<if hasAnyLegs($activeSlave)>>comes in promptly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, afraid of what will happen to $him if $he doesn't. <<elseif ($activeSlave.trust < -50)>> - terrified slave <<if $activeSlave.amp != 1>>comes in hurriedly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, almost paralyzed by terror of what will happen to $him if $he doesn't. + terrified slave <<if hasAnyLegs($activeSlave)>>comes in hurriedly<<else>>comes in as soon as $he can get another slave to carry $him in<</if>>, almost paralyzed by terror of what will happen to $him if $he doesn't. <<else>> - rebellious slave <<if $activeSlave.amp != 1>>comes in slowly, having decided that $he can always decide to resist once $he hears what you want<<else>>comes in as soon as you order another slave to carry $him in, since $he can't exactly resist this without limbs<</if>>. + rebellious slave <<if hasAnyLegs($activeSlave)>>comes in slowly, having decided that $he can always decide to resist once $he hears what you want<<else>>comes in as soon as you order another slave to carry $him in, since $he can't exactly resist this without <<if isAmputee($activeSlave)>>limbs<<else>>legs<</if>><</if>>. <</if>> You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, to serve in $brothelName<<else>>$brothelName immediately, to serve there<</if>> until further notice. @@ -209,9 +209,9 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, <<case "hates oral">> "I — I'm going to h-have to <<s>>uck a lot of dick there, aren't I." $He swallows nervously. $His lower lip quivers, and $he does $his best not to cry in front of you. <<case "hates anal">> - "C-cu<<s>>tomer<<s>> are really going to ream me up the butt hole, aren't they." $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he does $his best not to cry in front of you. + "C-cu<<s>>tomer<<s>> are really going to ream me up the butt hole, aren't they." $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he does $his best not to cry in front of you. <<case "hates penetration">> - "C-cu<<s>>tomer<<s>> are really going to fuck me <<s>>ore, aren't they." $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<elseif $activeSlave.vagina > 0>>unconsciously lets $his hands fall to $his crotch, but catches $himself and doesn't quite shield $his pussy.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he does $his best not to cry in front of you. + "C-cu<<s>>tomer<<s>> are really going to fuck me <<s>>ore, aren't they." $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<elseif $activeSlave.vagina > 0>>unconsciously lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his crotch, but catches $himself and doesn't quite shield $his pussy<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he does $his best not to cry in front of you. <<case "repressed">> "Being a whore i<<s>> a <<s>>in," $he <<say>>s quietly, half to $himself. "I'm going t-to b-be <<s>>o dirty. I'm going to h-hell." $He starts to cry quietly. "<<S>>-<<s>>orry, <<Master>>. I'll do my be<<s>>t." <<case "idealistic">> @@ -286,9 +286,9 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, <<case "hates oral">> $He slowly gestures if blowjobs are popular there while swallowing nervously. $His lower lip starts to quiver, and $he does $his best not to cry in front of you. <<case "hates anal">> - $He slowly gestures if anal is popular there and <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he does $his best not to cry in front of you. + $He slowly gestures if anal is popular there and <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he does $his best not to cry in front of you. <<case "hates penetration">> - $He slowly gestures that $he understands that customers will expect to fuck $him and <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<elseif $activeSlave.vagina > 0>>unconsciously lets $his hands fall to $his crotch, but catches $himself and doesn't quite shield $his pussy.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he does $his best not to cry in front of you. + $He slowly gestures that $he understands that customers will expect to fuck $him and <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<elseif $activeSlave.vagina > 0>>unconsciously lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his crotch, but catches $himself and doesn't quite shield $his pussy<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he does $his best not to cry in front of you. <<case "repressed">> $He shakily gestures that $he'll be a sinner, but if that's what you want, $he'll do it. $He starts to cry quietly. <<case "idealistic">> @@ -316,9 +316,9 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, <<case "hates oral">> "I — I'm going to h-have to <<s>>uck a lot of dick, aren't I." $He swallows and tries to control $himself out of fear, but finally gasps out, "Oh God, I'm <<s>>cared," and bursts into tears. <<case "hates anal">> - "C-cu<<s>>tomer<<s>> are really going to ream me up the butt hole, aren't they." $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers and $he tries to control $himself out of fear, but finally gasps out, "Oh God, I'm <<s>>cared," and bursts into tears. + "C-cu<<s>>tomer<<s>> are really going to ream me up the butt hole, aren't they." $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers and $he tries to control $himself out of fear, but finally gasps out, "Oh God, I'm <<s>>cared," and bursts into tears. <<case "hates penetration">> - "C-cu<<s>>tomer<<s>> are really going to fuck me <<s>>ore, aren't they." $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<elseif $activeSlave.vagina > 0>>unconsciously lets $his hands fall to $his crotch, but catches $himself and doesn't quite shield $his pussy.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he tries to control $himself out of fear, but finally gasps out, "Oh God, I'm <<s>>cared," and bursts into tears. + "C-cu<<s>>tomer<<s>> are really going to fuck me <<s>>ore, aren't they." $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<elseif $activeSlave.vagina > 0>>unconsciously lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his crotch, but catches $himself and doesn't quite shield $his pussy<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he tries to control $himself out of fear, but finally gasps out, "Oh God, I'm <<s>>cared," and bursts into tears. <<case "repressed">> "Being a whore i<<s>> a <<s>>in," $he <<say>>s quietly, half to $himself. "I'm going t-to b-be <<s>>o dirty. I'm going to h-hell." $He starts to cry quietly. $He tries to get $himself back under control, out of fear, but finally wails, "Oh God, I'm <<s>>orry, p-plea<<s>>e forgive me God," and dissolves into sobbing. <<case "idealistic">> @@ -342,9 +342,9 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, <<case "hates oral">> by asking if $he'll have to suck a lot of dick. $He swallows and tries to control $himself out of fear, but finally loses composure and bursts into tears. <<case "hates anal">> - by asking if $he'll be assfucked a lot. $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers and $he tries to control $himself out of fear, but finally loses composure and bursts into tears. + by asking if $he'll be assfucked a lot. $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers and $he tries to control $himself out of fear, but finally loses composure and bursts into tears. <<case "hates penetration">> - by asking if $he's going to be constantly fucked. $He <<if $activeSlave.amp == 1>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without limbs.<<elseif $activeSlave.vagina > 0>>unconsciously lets $his hands fall to $his crotch, but catches $himself and doesn't quite shield $his pussy.<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hands.<</if>> $His lower lip quivers, and $he tries to control $himself out of fear, but finally loses composure and bursts into tears. + by asking if $he's going to be constantly fucked. $He <<if !hasAnyArms($activeSlave)>>shifts uncomfortably, unconsciously trying to shield $his rear as best $he can manage without <<if isAmputee($activeSlave)>>limbs<<else>>hands<</if>><<elseif $activeSlave.vagina > 0>>unconsciously lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his crotch, but catches $himself and doesn't quite shield $his pussy<<else>>unconsciously reaches around behind $himself, not quite shielding $his anus with $his hand<<if hasBothArms($activeSlave)>>s<</if>><</if>>. $His lower lip quivers, and $he tries to control $himself out of fear, but finally loses composure and bursts into tears. <<case "repressed">> that being a whore is a sin. $He starts to cry quietly. $He tries to get $himself back under control, out of fear, but finally wails and dissolves into prayers intermixed with sobbing. <<case "idealistic">> @@ -368,7 +368,7 @@ You tell $him $he's to report to <<if $Madam != 0>>$Madam.slaveName immediately, $He manages to <<if canTalk($activeSlave)>> get "Oh fuck n-" out - <<elseif $activeSlave.amp != 1>> + <<elseif hasAnyArms($activeSlave)>> flip you an incredibly rude gesture <<else>> get an incredibly rude gesture out diff --git a/src/facilities/dairy/dairyFramework.js b/src/facilities/dairy/dairyFramework.js index 25e92e35c815c3c2713e90b1c767dcf7c6697511..cd3e1d760440065a45e67423b92f098a16326d41 100644 --- a/src/facilities/dairy/dairyFramework.js +++ b/src/facilities/dairy/dairyFramework.js @@ -50,7 +50,7 @@ App.Entity.Facilities.DairyCowJob = class extends App.Entity.Facilities.Facility r.push(`${slave.slaveName}'s womb cannot accommodate current machine settings.`); } - if ((slave.amp !== 1) && (this.facility.option("RestraintsUpgrade") !== 1) && + if (!isAmputee(slave) && (this.facility.option("RestraintsUpgrade") !== 1) && !App.Entity.Facilities.Job._isBrokenEnough(slave, 20, -50, -20, -50)) { r.push(`${slave.slaveName} must be obedient in order to be milked at ${this.facility.name}.`); } diff --git a/src/facilities/masterSuite/masterSuiteFramework.js b/src/facilities/masterSuite/masterSuiteFramework.js index e2cd09cac5bb4ff3b4999e5d439505fe3f55d507..f9e5a3c6c79b5b7acbf2158503acdf943c5d56c1 100644 --- a/src/facilities/masterSuite/masterSuiteFramework.js +++ b/src/facilities/masterSuite/masterSuiteFramework.js @@ -49,7 +49,7 @@ App.Entity.Facilities.MasterSuiteFuckToyJob = class extends App.Entity.Facilitie App.Entity.Facilities.ConcubineJob = class extends App.Entity.Facilities.ManagingJob { canEmploy(slave) { let r = super.canEmploy(slave); - if (slave.amp === 1) { + if (isAmputee(slave)) { r.push(`${slave.slaveName} can't serve as your Concubine without limbs.`); } return r; diff --git a/src/facilities/nursery/childInteract.tw b/src/facilities/nursery/childInteract.tw index 6d5364c2c05d05923c137b5f381fb342de96e3fd..7e1dfdf4ccd3b5eb9882ef7630a3c12925adbc11 100644 --- a/src/facilities/nursery/childInteract.tw +++ b/src/facilities/nursery/childInteract.tw @@ -93,7 +93,7 @@ <</if>> <</if>> </span> - <<if ($activeChild.amp == 0 || $activeChild.amp == -3 || $activeChild.amp == -5) && $PC.dick == 1>> + <<if (hasBothLegs($activeChild)) && $PC.dick == 1>> | <<link "Get a footjob">><<replace "#miniscene">><<set $childSex = 1>><<include "FFeet">><br> <</replace>><</link>> <</if>> @@ -263,7 +263,7 @@ <<if ($activeChild.rivalryTarget != 0) && canWalk($activeChild)>> | <<link "Abuse $his rival with $him">><<replace "#miniscene">><<set $childSex = 1>><<include "FRival">><br> <</replace>><</link>> <</if>> - <<if ($activeChild.fetish != "mindbroken") && (($activeChild.amp != 1) || ($activeChild.voice != 0)) && $activeChild.accent != 4>> + <<if ($activeChild.fetish != "mindbroken") && ((!isAmputee($activeChild)) || ($activeChild.voice != 0)) && $activeChild.accent != 4>> | <<link "Ask $him about $his feelings">><<replace "#miniscene">><<set $childSex = 1>><<include "FFeelings">><br> <</replace>><</link>> <</if>> <<if $activeChild.devotion >= 100 && $activeChild.relationship < 0 && $activeChild.relationship > -3>> @@ -875,9 +875,9 @@ Hormones: <strong><span id="hormones"> | <<link "Herm hormone blend">><<set $activeChild.diet = "XXY">><<replace "#diet">>$activeChild.diet<</replace>><</link>> <</if>> <</if>> -<<if ($activeChild.muscles <= 95) && $activeChild.amp != 1>> +<<if ($activeChild.muscles <= 95) && !isAmputee($activeChild)>> | <<link "Build muscle">><<set $activeChild.diet = "muscle building">><<replace "#diet">>$activeChild.diet<</replace>><</link>> -<<elseif $activeChild.muscles > 95 && $activeChild.amp != 1>> +<<elseif $activeChild.muscles > 95 && !isAmputee($activeChild)>> | //$He is maintaining $his enormous musculature// <<else>> | //$He has no limbs and thus can't effectively build muscle// @@ -941,7 +941,7 @@ Typical reward: ''<span id="standardReward">$activeChild.standardReward</span>.' <br>Non-assignment orgasm rules: ''<span id="releaseRules">$activeChild.releaseRules</span>.'' <<link "Permit masturbation and interslave sex">><<set $activeChild.releaseRules = "permissive">><<replace "#releaseRules">>$activeChild.releaseRules<</replace>><</link>> | <<link "Let $him get off with other slaves">><<set $activeChild.releaseRules = "sapphic">><<replace "#releaseRules">>$activeChild.releaseRules<</replace>><</link>> | -<<if $activeChild.amp != 1 && $activeChild.fuckdoll == 0 && $activeChild.fetish != "mindbroken">> +<<if !isAmputee($activeChild) && $activeChild.fuckdoll == 0 && $activeChild.fetish != "mindbroken">> <<link "Restrict $him to masturbation only">><<set $activeChild.releaseRules = "masturbation">><<replace "#releaseRules">>$activeChild.releaseRules<</replace>><</link>> | <</if>> <<link "Only with you">><<set $activeChild.releaseRules = "restrictive">><<replace "#releaseRules">>$activeChild.releaseRules<</replace>><</link>> | diff --git a/src/facilities/nursery/longChildDescription.tw b/src/facilities/nursery/longChildDescription.tw index 7ce18eb896f99d7ef458432160e4b792b566f93d..4d92bc22200de37bbcb2679d33244ce41002bba4 100644 --- a/src/facilities/nursery/longChildDescription.tw +++ b/src/facilities/nursery/longChildDescription.tw @@ -881,9 +881,7 @@ is <br> -<<if $activeChild.amp != 0>> - <<= App.Desc.amputee($activeChild)>> -<</if>> +<<= App.Desc.limbs($activeChild)>> <<ClothingDescription>> <<if $showBodyMods == 1>> @@ -1081,17 +1079,17 @@ $He is <</if>> <</if>> -<<if $activeChild.amp == 0>> +<<if hasAnyNaturalArms($activeChild)>> <<if $activeChild.weight > 190>> - $He has hugely thick arms with sagging fat rolls and + $He has <<if !hasBothArms($activeChild)>>a <</if>>hugely thick arm<<if hasBothArms($activeChild)>>s<</if>> with sagging fat rolls and <<elseif $activeChild.weight > 160>> - $He has thick arms with drooping fat folds and + $He has <<if !hasBothArms($activeChild)>>a <</if>>thick arm<<if hasBothArms($activeChild)>>s<</if>> with drooping fat folds and <<elseif $activeChild.weight > 130>> - $He has plump arms with + $He has <<if !hasBothArms($activeChild)>>a <</if>>plump arm<<if hasBothArms($activeChild)>>s<</if>> with <<elseif $activeChild.weight > 97>> - $He has chubby arms with + $He has <<if !hasBothArms($activeChild)>>a <</if>>chubby arm<<if hasBothArms($activeChild)>>s<</if>> with <<else>> - $He has normal arms with + $He has <<if !hasBothArms($activeChild)>>a <</if>>normal arm<<if hasBothArms($activeChild)>>s<</if>> with <</if>> <<if $activeChild.muscles > 95>> huge muscles<<if $activeChild.weight > 95>> hidden beneath $his soft flesh<</if>>. @@ -1111,7 +1109,7 @@ $He is <</if>> <<if $activeChild.skill.combat > 0>> - $He is @@.aquamarine;skilled at combat:@@ $he is comfortable with the use of modern firearms and edged weapons, and $his hands <<if $activeChild.amp == -4>>would be deadly weapons even if they weren't full of deadly weapons already<<elseif $activeChild.amp > 0>>would be deadly weapons if $he had any<<else>>are deadly weapons<</if>>. + $He is @@.aquamarine;skilled at combat:@@ $he is comfortable with the use of modern firearms and edged weapons, and $his hands <<if !hasBothArms($activeChild)>>would be deadly weapons if $he had <<if !hasAnyArms($activeChild)>>any<<else>>more than one<</if>><<else>><<if getArmCount($activeChild, 5) + getArmCount($activeChild, 6) > 1>>would be deadly weapons even if they weren't full of deadly weapons already<<else>>are deadly weapons<</if>>. <</if>> <</if>> @@ -1123,19 +1121,19 @@ $He is <<pregnancyDescription>> -<<if $activeChild.amp == 0>> +<<if hasAnyNaturalLegs($activeChild)>> <<if $activeChild.weight > 190>> - $He has extremely fat legs with immense soft, rather uneven thighs and + $He has <<if !hasBothLegs($activeChild)>>an <</if>>extremely fat leg<<if hasBothLegs($activeChild)>>s<</if>> with <<if !hasBothLegs($activeChild)>>an <</if>>immense soft, rather uneven thigh<<if hasBothLegs($activeChild)>>s<</if>> and <<elseif $activeChild.weight > 160>> - $He has very fat legs with massively thick, soft, somewhat uneven thighs and + $He has <<if !hasBothLegs($activeChild)>>a <</if>>very fat leg<<if hasBothLegs($activeChild)>>s<</if>> with <<if !hasBothLegs($activeChild)>>a <</if>>massively thick, soft, somewhat uneven thigh<<if hasBothLegs($activeChild)>>s<</if>> and <<elseif $activeChild.weight > 130>> - $He has fat legs with hugely thick, soft thighs and + $He has <<if !hasBothLegs($activeChild)>>a <</if>>fat leg<<if hasBothLegs($activeChild)>>s<</if>> with <<if !hasBothLegs($activeChild)>>a <</if>>hugely thick, soft thigh<<if hasBothLegs($activeChild)>>s<</if>> and <<elseif $activeChild.weight > 97>> - $He has fat legs with thick, soft thighs and + $He has <<if !hasBothLegs($activeChild)>>a <</if>>fat leg<<if hasBothLegs($activeChild)>>s<</if>> with <<if !hasBothLegs($activeChild)>>a <</if>>thick, soft thigh<<if hasBothLegs($activeChild)>>s<</if>> and <<elseif $activeChild.weight > 95>> - $He has normal legs with thick, soft thighs and + $He has <<if !hasBothLegs($activeChild)>>a <</if>>normal leg<<if hasBothLegs($activeChild)>>s<</if>> with <<if !hasBothLegs($activeChild)>>a <</if>>thick, soft thigh<<if hasBothLegs($activeChild)>>s<</if>> and <<else>> - $He has relatively normal legs and thighs with + $He has <<if !hasBothLegs($activeChild)>>a <</if>>relatively normal leg<<if hasBothLegs($activeChild)>>s<</if>> and thigh<<if hasBothLegs($activeChild)>>s<</if>> with <</if>> <<if $activeChild.muscles > 95>> huge muscles<<if $activeChild.weight > 95>> hidden beneath $his soft flab<</if>>. @@ -1260,9 +1258,9 @@ $He is <<elseif $activeChild.underArmHStyle == "shaved">> $His armpits appear hairless, but closer inspection reveals light, $activeChild.underArmHColor stubble. <<elseif $activeChild.underArmHStyle == "neat">> - $His armpit hair is neatly trimmed <<if $activeChild.amp == 1>>since it is always in full view<<else>>to not be visible unless $he lifts $his arms<</if>>. + $His armpit hair is neatly trimmed <<if !hasBothArms($activeChild)>>since <<if hasAnyArms($activeChild)>>at least half<<else>>it<</if>> is always in full view<<else>>to not be visible unless $he lifts $his arms<</if>>. <<elseif $activeChild.underArmHStyle == "bushy">> - $His $activeChild.underArmHColor armpit hair has been allowed to grow freely, <<if $activeChild.amp == 1>>creating two bushy patches under where $his arms used to be<<else>>it can be seen poking out from under $his arms at all times<</if>>. + $His $activeChild.underArmHColor armpit hair has been allowed to grow freely, <<if !hasAnyArms($activeChild)>>creating two bushy patches under where $his arms used to be<<else>>so it can be seen poking out from under $his arm<<if hasBothArms($activeChild)>>s<</if>> at all times<</if>>. <</if>> <</if>> @@ -1297,14 +1295,14 @@ $He is <<if $activeChild.fuckdoll == 0>> <<collarDescription>> <<if ($activeChild.relationship > 4)>> - <<if ($activeChild.amp != 1)>> - $He has a simple gold band on the little finger of $his left hand. + <<if (hasAnyArms($activeChild))>> + $He has a simple gold band on the little finger of $his <<if !hasLeftArm($activeChild)>>right<<else>>left<</if>> hand. <<else>> $He has a simple gold band on a length of chain around $his neck. <</if>> <<elseif ($activeChild.relationship == -3)>> - <<if ($activeChild.amp != 1)>> - $He has a simple steel band on the little finger of $his left hand. + <<if (hasAnyArms($activeChild))>> + $He has a simple steel band on the little finger of $his <<if !hasLeftArm($activeChild)>>right<<else>>left<</if>> hand. <<else>> $He has a simple steel band on a length of cord around $his neck. <</if>> @@ -1374,49 +1372,49 @@ $He is $He smells of sexual fluids and $his breasts are slightly swollen. The fertility drugs have $him ready to be impregnated. <</if>> <<case "intensive breast injections">> - <<if ($activeChild.amp != 1)>>$He massages $his tits uncomfortably<<else>>$He squirms under the unfamiliar weight on $his chest<</if>>. The A-HGH must be having an effect, painfully stretching $his breasts as the mammary and adipose tissue underneath grows explosively. + <<if (hasAnyArms($activeChild))>>$He massages $his tits uncomfortably<<else>>$He squirms under the unfamiliar weight on $his chest<</if>>. The A-HGH must be having an effect, painfully stretching $his breasts as the mammary and adipose tissue underneath grows explosively. <<case "hyper breast injections">> - <<if ($activeChild.amp != 1)>>$He massages $his tits uncomfortably<<else>>$He squirms under the unfamiliar weight on $his chest<</if>>. The HA-HGH must be having an effect, painfully stretching $his breasts as the mammary and adipose tissue underneath grows explosively. + <<if (hasAnyArms($activeChild))>>$He massages $his tits uncomfortably<<else>>$He squirms under the unfamiliar weight on $his chest<</if>>. The HA-HGH must be having an effect, painfully stretching $his breasts as the mammary and adipose tissue underneath grows explosively. <<case "intensive butt injections">> - <<if ($activeChild.amp != 1)>>$He massages $his butt uncomfortably<<else>>$He squirms against the unfamiliar weight on $his backside<</if>>. The A-HGH must be having an effect, painfully stretching $his buttocks as the muscular and adipose tissue underneath grows explosively. + <<if (hasAnyArms($activeChild))>>$He massages $his butt uncomfortably<<else>>$He squirms against the unfamiliar weight on $his backside<</if>>. The A-HGH must be having an effect, painfully stretching $his buttocks as the muscular and adipose tissue underneath grows explosively. <<case "hyper butt injections">> - <<if ($activeChild.amp != 1)>>$He massages $his butt uncomfortably<<else>>$He squirms against the unfamiliar weight on $his backside<</if>>. The HA-HGH must be having an effect, painfully stretching $his buttocks as the muscular and adipose tissue underneath grows explosively. + <<if (hasAnyArms($activeChild))>>$He massages $his butt uncomfortably<<else>>$He squirms against the unfamiliar weight on $his backside<</if>>. The HA-HGH must be having an effect, painfully stretching $his buttocks as the muscular and adipose tissue underneath grows explosively. <<case "intensive penis enhancement">> - <<if ($activeChild.amp != 1)>>$He massages $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>> uncomfortably<<else>>$He squirms against the unfamiliar weight in $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>><</if>>. The A-HGH must be having an effect, painfully lengthening and thickening $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>>. + <<if (hasAnyArms($activeChild))>>$He massages $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>> uncomfortably<<else>>$He squirms against the unfamiliar weight in $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>><</if>>. The A-HGH must be having an effect, painfully lengthening and thickening $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>>. <<case "intensive testicle enhancement">> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as a bead of cum forms on tip of $his dick. The A-HGH must be having an effect, painfully expanding $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as a bead of cum forms on tip of $his dick. The A-HGH must be having an effect, painfully expanding $his testicles. <<case "hyper penis enhancement">> - <<if ($activeChild.amp != 1)>>$He massages $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>> uncomfortably<<else>>$He squirms against the unfamiliar weight in $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>><</if>>. The HA-HGH must be having an effect, painfully lengthening and thickening $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>>. + <<if (hasAnyArms($activeChild))>>$He massages $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>> uncomfortably<<else>>$He squirms against the unfamiliar weight in $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>><</if>>. The HA-HGH must be having an effect, painfully lengthening and thickening $his <<if ($activeChild.dick > 0)>>dick<<else>>clit<</if>>. <<case "hyper testicle enhancement">> <<if $activeChild.balls < 20>> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as cum drools from the tip of $his dick. The HA-HGH must be having an effect, painfully expanding $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as cum drools from the tip of $his dick. The HA-HGH must be having an effect, painfully expanding $his testicles. <<elseif $activeChild.balls >= 50>> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as a thick cascade of cum pours from the tip of $his cock. The HA-HGH must be having an effect, painfully expanding $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as a thick cascade of cum pours from the tip of $his cock. The HA-HGH must be having an effect, painfully expanding $his testicles. <<elseif $activeChild.balls >= 37>> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as cum freely flows from the tip of $his cock, pooling under $him. The HA-HGH must be having an effect, painfully expanding $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as cum freely flows from the tip of $his cock, pooling under $him. The HA-HGH must be having an effect, painfully expanding $his testicles. <<elseif $activeChild.balls >= 20>> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as precum pools under $him. The HA-HGH must be having an effect, painfully expanding $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the pressure in $his balls<</if>> as precum pools under $him. The HA-HGH must be having an effect, painfully expanding $his testicles. <</if>> <<case "female hormone injections" "male hormone injections">> $He looks very ill, likely a side effect of the extreme hormone injections. <<case "appetite suppressors">> Despite how little $he has been eating lately, $his stomach barely growls at all. <<case "penis atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his dick uncomfortably<<else>>$He squirms in response to the discomfort in $his dick<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his dick. + <<if (hasAnyArms($activeChild))>>$He massages $his dick uncomfortably<<else>>$He squirms in response to the discomfort in $his dick<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his dick. <<case "testicle atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the discomfort in $his balls<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his testicles. + <<if (hasAnyArms($activeChild))>>$He massages $his balls uncomfortably<<else>>$He squirms in response to the discomfort in $his balls<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his testicles. <<case "clitoris atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his clit uncomfortably<<else>>$He squirms in response to the discomfort in $his clit<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his clitoris. + <<if (hasAnyArms($activeChild))>>$He massages $his clit uncomfortably<<else>>$He squirms in response to the discomfort in $his clit<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his clitoris. <<case "labia atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his pussy uncomfortably<<else>>$He squirms in response to the discomfort in $his cunt<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his labia. + <<if (hasAnyArms($activeChild))>>$He massages $his pussy uncomfortably<<else>>$He squirms in response to the discomfort in $his cunt<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his labia. <<case "nipple atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his nipples uncomfortably<<else>>$He squirms in response to the discomfort in $his breasts<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his nipples. + <<if (hasAnyArms($activeChild))>>$He massages $his nipples uncomfortably<<else>>$He squirms in response to the discomfort in $his breasts<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his nipples. <<case "lip atrophiers">> - <<if ($activeChild.amp != 1)>>$He massages $his lips uncomfortably<<else>>$He licks $his lips uncomfortably<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his lips. + <<if (hasAnyArms($activeChild))>>$He massages $his lips uncomfortably<<else>>$He licks $his lips uncomfortably<</if>>. The A-TRPH must be having an effect, painfully causing $his body to atrophy $his lips. <<case "breast redistributors">> - <<if ($activeChild.amp != 1)>>$He pinches at the fat building on $his belly and lets off a sigh<<else>>$He squirms under the added weight building on $his belly<</if>>. The RDST-D must be having an effect, encouraging $his body to redistribute $his breasts' adipose tissue to $his middle. + <<if (hasAnyArms($activeChild))>>$He pinches at the fat building on $his belly and lets off a sigh<<else>>$He squirms under the added weight building on $his belly<</if>>. The RDST-D must be having an effect, encouraging $his body to redistribute $his breasts' adipose tissue to $his middle. <<case "butt redistributors">> - <<if ($activeChild.amp != 1)>>$He pinches at the fat building on $his belly and lets off a sigh<<else>>$He squirms under the added weight building on $his belly<</if>>. The RDST-D must be having an effect, encouraging $his body to redistribute $his buttock's adipose tissue to $his middle. + <<if (hasAnyArms($activeChild))>>$He pinches at the fat building on $his belly and lets off a sigh<<else>>$He squirms under the added weight building on $his belly<</if>>. The RDST-D must be having an effect, encouraging $his body to redistribute $his buttock's adipose tissue to $his middle. <<case "sag-B-gone">> $His breasts are shiny from the layer of anti-sag cream rubbed onto them. They might be a little perkier, or not. <<default>> @@ -1424,23 +1422,23 @@ $He is <<if $activeChild.aphrodisiacs > 0 || $activeChild.inflationType == "aphrodisiacs">> <<if $activeChild.inflationType == "aphrodisiacs">> $He's literally full of - <<if ($activeChild.amp == 1)>> + <<if (!hasAnyArms($activeChild))>> aphrodisiacs, but is an amputee, so $he cannot touch $himself. $He writhes with extreme sexual frustration, desperately trying to relieve $himself, but only managing to stir up the aphrodisiacs contained in $his gut, strengthening their effects even more. - <<elseif ($activeChild.chastityVagina)>> + <<elseif ($activeChild.chastityAnus) && ($activeChild.chastityPenis) && ($activeChild.chastityVagina)>> aphrodisiacs, but is wearing a chastity belt and cannot touch $himself. $He writhes with extreme sexual frustration, desperately trying to relieve $himself, but only managing to stir up the aphrodisiacs contained in $his gut, strengthening their effects even more. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0) && ($activeChild.vagina == -1)>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft with one hand while $he fingers $his anus with the other.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> $His frantic masturbation forces $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> $His frantic masturbation forces $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0)>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft and pussy with one hand while $he fingers $his anus with the other.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> $His frantic masturbation forces $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft and pussy with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> $His frantic masturbation forces $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.vagina == -1)>> - aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is not allowed to masturbate, so as $he stands before you $he + aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is allowed to masturbate, so as $he stands before you $he <<if $activeChild.anus == 0>> plays with a nipple with one hand while furiously rubbing $his virgin anus and the sensitive perineum beneath it with the other, desperately trying to get $himself off. $His frantic attempts force $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. <<else>> - <<if $activeChild.anus > 2>>$his entire hand, formed into a beak shape,<<elseif $activeChild.anus > 1>>two fingers<<else>>a finger<</if>> to fuck $his own ass. $His frantic attempts force $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. + uses <<if $activeChild.anus > 2>>$his entire hand, formed into a beak shape,<<elseif $activeChild.anus > 1>>two fingers<<else>>a finger<</if>> to fuck $his own ass. $His frantic attempts force $his distended middle to jiggle obscenely, stirring up the aphrodisiacs contained in $his gut and strengthening their effects even more. <</if>> <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation")>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his clit with one hand while $he fingers $his anus with the other. + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his clit with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>. <<elseif ($activeChild.dick != 0)>> aphrodisiacs and is not allowed to masturbate, so as $he stands before you $he desperately presents $his open mouth, $his breasts, $his crotch, and $his anus in turn, hoping that something will entice you to give $him relief.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> <<elseif ($activeChild.vagina == -1)>> @@ -1450,23 +1448,23 @@ $He is <</if>> <<elseif $activeChild.aphrodisiacs > 1>> $He's swimming in - <<if ($activeChild.amp == 1)>> + <<if (!hasAnyArms($activeChild))>> aphrodisiacs, but is an amputee, so $he cannot touch $himself. $He writhes with extreme sexual frustration, desperately trying to relieve $himself. - <<elseif ($activeChild.chastityVagina)>> + <<elseif ($activeChild.chastityAnus) && ($activeChild.chastityPenis) && ($activeChild.chastityVagina)>> aphrodisiacs, but is wearing a chastity belt and cannot touch $himself. $He writhes with extreme sexual frustration, desperately trying to relieve $himself. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0) && ($activeChild.vagina == -1)>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft with one hand while $he fingers $his anus with the other.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0)>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft and pussy with one hand while $he fingers $his anus with the other.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his shaft and pussy with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.vagina == -1)>> - aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is not allowed to masturbate, so as $he stands before you $he + aphrodisiacs, has<<if $seeDicks > 0>> no penis and<</if>> no vagina, and is allowed to masturbate, so as $he stands before you $he <<if $activeChild.anus == 0>> plays with a nipple with one hand while furiously rubbing $his virgin anus and the sensitive perineum beneath it with the other, desperately trying to get $himself off. <<else>> - <<if $activeChild.anus > 2>>$his entire hand, formed into a beak shape,<<elseif $activeChild.anus > 1>>two fingers<<else>>a finger<</if>> to fuck $his own ass. + uses <<if $activeChild.anus > 2>>$his entire hand, formed into a beak shape,<<elseif $activeChild.anus > 1>>two fingers<<else>>a finger<</if>> to fuck $his own ass. <</if>> <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation")>> - aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his clit with one hand while $he fingers $his anus with the other. + aphrodisiacs and is allowed to masturbate, so as $he stands before you $he rubs $his clit with <<if (hasBothArms($activeChild))>>one hand while $he fingers $his anus with the other<<else>>$his hand<</if>>. <<elseif ($activeChild.dick != 0)>> aphrodisiacs and is not allowed to masturbate, so as $he stands before you $he desperately presents $his open mouth, $his breasts, $his crotch, and $his anus in turn, hoping that something will entice you to give $him relief.<<if canPenetrate($activeChild)>> $His cock is painfully erect.<</if>> <<elseif ($activeChild.vagina == -1)>> @@ -1475,16 +1473,16 @@ $He is aphrodisiacs and is not allowed to masturbate, so as $he stands before you $he desperately presents $his open mouth, $his breasts, $his pussy, and $his anus in turn, hoping that something will entice you to give $him relief. <</if>> <<else>> - <<if ($activeChild.amp == 1)>> + <<if (!hasAnyArms($activeChild))>> $He's on aphrodisiacs, but is an amputee, so $he cannot touch $himself. $He writhes with sexual frustration. - <<elseif ($activeChild.chastityVagina)>> + <<elseif ($activeChild.chastityAnus) && ($activeChild.chastityPenis) && ($activeChild.chastityVagina)>> $He's on aphrodisiacs, but is wearing a chastity belt and cannot touch $himself. $He writhes with sexual frustration. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0) && ($activeChild.vagina == -1)>> - $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his shaft with one hand while the other pinches a nipple. + $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his shaft with <<if (hasBothArms($activeChild))>>one hand while the other pinches a nipple<<else>>$his hand<</if>>. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation") && ($activeChild.dick != 0)>> - $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his shaft and pussy with one hand while the other pinches a nipple. + $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his shaft and pussy with <<if (hasBothArms($activeChild))>>one hand while the other pinches a nipple<<else>>$his hand<</if>>. <<elseif ($activeChild.releaseRules == "permissive" || $activeChild.releaseRules == "masturbation")>> - $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his pussy with one hand while the other pinches a nipple. + $He's on aphrodisiacs and is allowed to masturbate, so as $he obeys your commands $he idly rubs $his pussy with <<if (hasBothArms($activeChild))>>one hand while the other pinches a nipple<<else>>$his hand<</if>>. <<elseif ($activeChild.dick != 0) && canPenetrate($activeChild)>> $He's on aphrodisiacs and is not allowed to masturbate, so as $he obeys your commands $he shifts $his weight uncomfortably. $His erect dick sways as $he does. <<else>> diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index a9ea412c1350a322ea78a534724943870f3d878c..f18f957a3cb83961b6c689adae3c362fb622bcc5 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -2906,15 +2906,15 @@ window.DefaultRules = (function() { // Check for amputations: if (["upper arms", "lower arms", "wrists", "hands"].includes(rule.brandTarget)) { // Arms - if (!hasLimb(slave, "left arm") && !hasLimb(slave, "right arm")) { + if (!hasAnyArms(slave)) { brandPlace = ""; - } else if (!hasLimb(slave, "left arm")) { + } else if (!hasLeftArm(slave)) { if (brandPlace === "both") { brandPlace = "right"; } if (brandPlace === "left") { brandPlace = ""; } - } else if (!hasLimb(slave, "right arm")) { + } else if (!hasRightArm(slave)) { if (brandPlace === "both") { brandPlace = "left"; } if (brandPlace === "right") { @@ -2923,15 +2923,15 @@ window.DefaultRules = (function() { } } else if (["thighs", "calves", "ankles", "feet"].includes(rule.brandTarget)) { // Legs - if (!hasLimb(slave, "left leg") && !hasLimb(slave, "right leg")) { + if (!hasAnyLegs(slave)) { brandPlace = ""; - } else if (!hasLimb(slave, "left leg")) { + } else if (!hasLeftLeg(slave)) { if (brandPlace === "both") { brandPlace = "right"; } if (brandPlace === "left") { brandPlace = ""; } - } else if (!hasLimb(slave, "right leg")) { + } else if (!hasRightLeg(slave)) { if (brandPlace === "both") { brandPlace = "left"; } if (brandPlace === "right") { @@ -2943,10 +2943,10 @@ window.DefaultRules = (function() { // Brand location does NOT need to be split into a left and right, (and may or may not contain left OR right already.) } else if (slave.brand[rule.brandTarget] !== rule.brandDesign) { if ( - (!hasLimb(slave, "left arm") && ["left upper arm", "left lower arm", "left wrist", "left hand"].includes(rule.brandTarget)) || - (!hasLimb(slave, "right arm") && ["right upper arm", "right lower arm", "right wrist", "right hand"].includes(rule.brandTarget)) || - (!hasLimb(slave, "left leg") && ["left thigh", "left calf", "left ankle", "left foot"].includes(rule.brandTarget)) || - (!hasLimb(slave, "right leg") && ["right thigh", "right calf", "right ankle", "rightfoot"].includes(rule.brandTarget)) + (!hasLeftArm(slave) && ["left upper arm", "left lower arm", "left wrist", "left hand"].includes(rule.brandTarget)) || + (!hasRightArm(slave) && ["right upper arm", "right lower arm", "right wrist", "right hand"].includes(rule.brandTarget)) || + (!hasLeftLeg(slave) && ["left thigh", "left calf", "left ankle", "left foot"].includes(rule.brandTarget)) || + (!hasRightLeg(slave) && ["right thigh", "right calf", "right ankle", "rightfoot"].includes(rule.brandTarget)) ) { brandPlace = ""; } else { diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js index a61343d53ec2d9d5de5958e03827e7c8818e800c..41657971bcafb31c2466d8e8546be434aeab36cf 100644 --- a/src/js/descriptionWidgets.js +++ b/src/js/descriptionWidgets.js @@ -1002,12 +1002,11 @@ App.Desc.expandScarString = function(slave, surface) { // scars can sometimes be }; - /** * @param {App.Entity.SlaveState} slave - * @returns {string} Description of slave's amputation, if present + * @returns {string} Description of slave's limbs */ -App.Desc.amputee = function(slave) { +App.Desc.limbs = function(slave) { "use strict"; let r = ``; /* eslint-disable no-unused-vars*/ @@ -1016,6 +1015,53 @@ App.Desc.amputee = function(slave) { } = getPronouns(slave); /* eslint-enable */ + /* TODO Arkerthan + description similar in style to the commented out one instead of this simple version. + */ + + if (isAmputee(slave)) { + r += `${He} is a quadruple amputee and has not been equipped with prosthetics.`; + } else if (getLeftArmID(slave) === getRightArmID(slave) && + getLeftArmID(slave) === getLeftLegID(slave) && + getLeftArmID(slave) === getRightLegID(slave)) { + r += `${He} has ` + idToDescription(getLeftArmID(slave)) + ` limbs.`; + } else { + if (!hasAnyArms(slave)) { + r += `Both of ${his} arms have been amputated`; + } else if (!hasBothArms(slave)) { + if (hasLeftArm(slave)) { + r += `${He} has ` + addA(idToDescription(getLeftArmID(slave))) + ` left arm, but his right has been amputated,`; + } else { + r += `${He} has ` + addA(idToDescription(getRightArmID(slave))) + ` right arm, but his left has been amputated,`; + } + } else { + if (getLeftArmID(slave) === getRightArmID(slave)) { + r += `${He} has ` + idToDescription(getLeftArmID(slave)) + ` arms`; + } else { + r += `${His} has ` + addA(idToDescription(getRightArmID(slave))) + ` right arm, but ` + addA(idToDescription(getLeftArmID(slave))) + ` left arm`; + } + } + r += ` and `; + if (!hasAnyLegs(slave)) { + r += `Both of ${his} legs have been amputated`; + } else if (!hasBothLegs(slave)) { + if (hasLeftLeg(slave)) { + r += `${he} has ` + addA(idToDescription(getLeftLegID(slave))) + ` left leg, but his right has been amputated`; + } else { + r += `${he} has ` + addA(idToDescription(getRightLegID(slave))) + ` right leg, but his left has been amputated`; + } + } else { + if (getLeftLegID(slave) === getRightLegID(slave)) { + r += `${he} has ` + idToDescription(getLeftLegID(slave)) + ` legs`; + } else { + r += `${his} has ` + addA(idToDescription(getRightLegID(slave))) + ` right leg, but ` + addA(idToDescription(getLeftLegID(slave))) + ` left leg`; + } + } + } + + return r + `. `; + + /* if (slave.amp) { if (slave.amp === -1) { r += `${slave.slaveName} is a <span class="pink">quadruple amputee,</span> but ${he}'s equipped with a set of modern prosthetic limbs that allow ${him} a fairly normal life. `; @@ -1033,7 +1079,7 @@ App.Desc.amputee = function(slave) { r += `The most obvious thing about ${slave.slaveName} is that ${he} is a <span class="pink">quadruple amputee:</span> ${he} has neither arms nor legs. `; } return r; - } + }*/ }; /** diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js index fbc3583c05bd3a65bb12eaea9d70b03b69287f5d..c21587c9800a9fdbe96e54593302bb0d64ba448f 100644 --- a/src/js/generateMarketSlave.js +++ b/src/js/generateMarketSlave.js @@ -643,6 +643,44 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } } + if (V.arcologies[market].FSIntellectualDependency > 20) { + r += `The only thing that rivals their idiocy is their uncontrollable libido. `; + V.activeSlave.slaveName = setup.bimboSlaveNames.random(); + if (V.activeSlave.intelligence > -50) { + V.activeSlave.intelligence = Intelligence.random({limitIntelligence: [-100, -50]}); + } + V.intelligenceImplant = 0; + if (V.activeSlave.energy < 80) { + V.activeSlave.energy = jsRandom(80, 100); + } + } else if (V.arcologies[market].FSSlaveProfessionalism > 20) { + r += `They possess brilliant minds and expert training; a slave that truly knows their role in life. `; + if (V.activeSlave.intelligence <= 50) { + V.activeSlave.intelligence = Intelligence.random({limitIntelligence: [51, 100]}); + } + V.intelligenceImplant = 30; + if (V.activeSlave.energy > 40) { + V.activeSlave.energy -= 30; + } + if (V.activeSlave.vagina > 0) { + V.activeSlave.skill.vaginal += Math.clamp(V.arcologies[market].prosperity/2, 20, 100); + V.activeSlave.skill.vaginal = Math.clamp(V.activeSlave.skill.vaginal, 50, 100); + } + if (V.activeSlave.anus > 0) { + V.activeSlave.skill.anal += Math.clamp(V.arcologies[market].prosperity/2, 20, 100); + V.activeSlave.skill.anal = Math.clamp(V.activeSlave.skill.anal, 50, 100); + } + V.activeSlave.skill.oral += Math.clamp(V.arcologies[market].prosperity/2, 20, 100); + V.activeSlave.skill.oral = Math.clamp(V.activeSlave.skill.oral, 50, 100); + V.activeSlave.skill.entertainment += Math.clamp(V.arcologies[market].prosperity/2, 20, 100); + V.activeSlave.skill.entertainment = Math.clamp(V.activeSlave.skill.entertainment, 50, 100); + V.activeSlave.skill.whoring += Math.clamp(V.arcologies[market].prosperity/2, 20, 100); + V.activeSlave.skill.whoring = Math.clamp(V.activeSlave.skill.whoring, 50, 100); + V.activeSlave.sexualFlaw = "none"; + V.activeSlave.behavioralFlaw = "none"; + V.activeSlave.fetishKnown = 1; + V.activeSlave.attrKnown = 1; + } if (V.arcologies[market].FSBodyPurist > 80) { r += `They're quite pristine, free of any genomic damage or addictions regardless of any transformations they've had. `; V.activeSlave.chem = 0; @@ -708,6 +746,31 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } } + if (V.arcologies[market].FSPetiteAdmiration > 20) { + r += `They tend to be short, some far more than others. `; + if (V.activeSlave.height >= 160) { + V.activeSlave.height = Math.trunc(Height.random(V.activeSlave, {limitMult: [-2, 0]})); + if (V.activeSlave.height >= 160) { + V.activeSlave.height = Math.trunc(Height.random(V.activeSlave, {limitMult: [-3, -1]})); + if (V.activeSlave.height >= 160) { + V.activeSlave.height = jsRandom(90, 130); + V.activeSlave.geneticQuirks.dwarfism = 2; + } + } + } + } else if (V.arcologies[market].FSStatuesqueGlorification > 20) { + r += `They tend to be tall, if not unbelievably so. `; + if (V.activeSlave.height < 170) { + V.activeSlave.height = Math.trunc(Height.random(V.activeSlave, {limitMult: [0, 2]})); + if (V.activeSlave.height < 170) { + V.activeSlave.height = Math.trunc(Height.random(V.activeSlave, {limitMult: [1, 3]})); + if (V.activeSlave.height < 170) { + V.activeSlave.height = jsRandom(200, 264); + V.activeSlave.geneticQuirks.gigantism = 2; + } + } + } + } if (V.arcologies[market].FSSlimnessEnthusiast > 20) { r += `They're never overweight, and are often quite lithe. `; if (V.activeSlave.boobs > 400) { @@ -886,9 +949,11 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { } } else if (V.arcologies[market].FSChineseRevivalist > 20) { r += `They've all passed through a thorough and uncompromising educational system for slaves. `; - V.activeSlave.intelligenceImplant = 10; - if (V.activeSlave.intelligence < 60) { - V.activeSlave.intelligence += jsRandom(0, 20); + V.activeSlave.intelligenceImplant = 30; + if (V.arcologies[market].FSIntellectualDependency === "unset") { + if (V.activeSlave.intelligence < 60) { + V.activeSlave.intelligence += jsRandom(0, 20); + } } } if (V.arcologies[market].FSIncestFetishist > 20) { diff --git a/src/js/modification.js b/src/js/modification.js index ab6a0f33a0de13ce462089e880fb7d99df9765fd..5e56cd04709a1fec27248a2e2e85cb85613222b3 100644 --- a/src/js/modification.js +++ b/src/js/modification.js @@ -5,19 +5,22 @@ App.Medicine.Modification = {}; * @param {string} scar * @param {string} design */ -App.Medicine.Modification.addScar = function(slave, scar, design) { +App.Medicine.Modification.addScar = function(slave, scar, design, weight) { /* const V = State.variables; V.scarApplied = 1; V.degradation += 10; slave.health -= 10; //dangerous to uncomment this as sometimes many scars are applied at once. cashX(forceNeg(surgery.costs), "slaveSurgery", slave); slave.health -= (V.PC.medicine >= 100) ? Math.round(surgery.healthCosts / 2) : surgery.healthCosts;*/ + if (!weight) { + weight = 1; + } if (!slave.scar.hasOwnProperty(scar)) { slave.scar[scar] = new App.Entity.scarState(); } if (!slave.scar[scar].hasOwnProperty(design)) { - slave.scar[scar][design] = 1; + slave.scar[scar][design] = weight; } else { - slave.scar[scar][design] += 1; + slave.scar[scar][design] += weight; } }; diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js index 1cf9a1e5b857cf2c7a70702495d5d1c7d22907f3..e90648a51036bb8c2ea34d0ec052dbcd3b37ad10 100644 --- a/src/js/slaveStatsChecker.js +++ b/src/js/slaveStatsChecker.js @@ -873,7 +873,7 @@ window.hasAnyArms = function(slave) { }; /** - * True if slave has at least one leg and all are natural + * True if slave has at least one leg that is natural * * @param {App.Entity.SlaveState} slave * @returns {boolean} @@ -882,6 +882,16 @@ window.hasAnyNaturalLegs = function(slave) { return slave.amp === 0 && slave.missingLegs < 3; }; +/** + * True if slave has at least one arm that is natural + * + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +window.hasAnyNaturalArms = function(slave) { + return slave.amp === 0 && slave.missingArms < 3; +}; + /** * True if slave has both legs * @@ -1007,67 +1017,167 @@ window.getLimbCount = function(slave, id) { } let n = 0; - if (hasLimb(slave, "left arm")) { + if (hasLeftArm(slave)) { n++; } - if (hasLimb(slave, "right arm")) { + if (hasRightArm(slave)) { n++; } - if (hasLimb(slave, "left leg")) { + if (hasLeftLeg(slave)) { + n++; + } + if (hasRightLeg(slave)) { + n++; + } + + if (id === 0) { + return 4 - n; + } + + return n; +}; + + +/** + * Returns count of specified arm type. Uses new limb IDs. + * + * @param {App.Entity.SlaveState} slave + * @param {number} id + * @returns {number} + */ +window.getArmCount = function(slave, id) { + let oldID = (id - 1) * -1; + + if (oldID < 0) { + if (slave.amp === oldID) { + return 2; + } else { + return 0; + } + } + + let n = 0; + if (hasLeftArm(slave)) { n++; } - if (hasLimb(slave, "right leg")) { + if (hasRightArm(slave)) { n++; } + if (id === 0) { + return 2 - n; + } + return n; }; /** - * True if slave has specified limb + * True if slave has left arm * * @param {App.Entity.SlaveState} slave - * @param {String} limb * @returns {boolean} */ -window.hasLimb = function(slave, limb) { - switch (limb) { - case "left arm": - return slave.missingArms !== 1 && slave.missingArms !== 3; - case "right arm": - return slave.missingArms < 2; - case "left leg": - return slave.missingLegs !== 1 && slave.missingLegs !== 3; - case "right leg": - return slave.missingLegs < 2; - default: - // eslint-disable-next-line no-console - console.error(`Unknown limb` + limb); +window.hasLeftArm = function(slave) { + return slave.missingArms !== 1 && slave.missingArms !== 3; +}; + +/** + * True if slave has right arm + * + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +window.hasRightArm = function(slave) { + return slave.missingArms < 2; +}; + +/** + * True if slave has left leg + * + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +window.hasLeftLeg = function(slave) { + return slave.missingLegs !== 1 && slave.missingLegs !== 3; +}; + +/** + * True if slave has right leg + * + * @param {App.Entity.SlaveState} slave + * @returns {boolean} + */ +window.hasRightLeg = function(slave) { + return slave.missingLegs < 2; +}; + +/** + * Returns limb ID of the left arm. Uses new IDs. + * + * @param {App.Entity.SlaveState} slave + * @returns {number} + */ +window.getLeftArmID = function(slave) { + if (slave.amp < 0) { + return (slave.amp * -1) +1; + } + + if (hasLeftArm(slave)) { + return 1; + } else { + return 0; + } +}; + +/** + * Returns limb ID of the right arm. Uses new IDs. + * + * @param {App.Entity.SlaveState} slave + * @returns {number} + */ +window.getRightArmID = function(slave) { + if (slave.amp < 0) { + return (slave.amp * -1) +1; + } + + if (hasRightArm(slave)) { + return 1; + } else { + return 0; } }; +/** + * Returns limb ID of the left leg. Uses new IDs. + * + * @param {App.Entity.SlaveState} slave + * @returns {number} + */ +window.getLeftLegID = function(slave) { + if (slave.amp < 0) { + return (slave.amp * -1) +1; + } + + if (hasLeftLeg(slave)) { + return 1; + } else { + return 0; + } +}; /** - * Returns limb ID of the specified limb. Uses new IDs. - * 0: no limb - * 1: natural - * 2: basic - * 3: sex - * 4: beauty - * 5: combat - * 6: cybernetic + * Returns limb ID of the right leg. Uses new IDs. * * @param {App.Entity.SlaveState} slave - * @param {String} limb * @returns {number} */ -window.getLimbID = function(slave, limb) { +window.getRightLegID = function(slave) { if (slave.amp < 0) { return (slave.amp * -1) +1; } - if (hasLimb(slave, limb)) { + if (hasRightLeg(slave)) { return 1; } else { return 0; diff --git a/src/js/utilsDOM.js b/src/js/utilsDOM.js index 7e597d555194f4cccb4e376b41693432f2fad7dc..3c679257ddcbbd061927a72d4a1a83db68e3028e 100644 --- a/src/js/utilsDOM.js +++ b/src/js/utilsDOM.js @@ -105,6 +105,7 @@ App.UI.DOM.disabledLink = function(link, reasons) { } else { tooltip = document.createElement("div"); let ul = document.createElement("ul"); + tooltip.appendChild(ul); for (const li of reasons.map(r => { const li = document.createElement("li"); li.textContent = r; diff --git a/src/npc/acquisition.tw b/src/npc/acquisition.tw index 9bc7d522606d1b49932b77cf05bb23a21f54fc10..e0eecd859639c8d5f4053651df8faa3192d4a590 100644 --- a/src/npc/acquisition.tw +++ b/src/npc/acquisition.tw @@ -629,7 +629,7 @@ The previous owner seems to have left in something of a hurry. <<setLocalPronouns $activeSlave>> <<if $activeSlave.fetish == "mindbroken">> $activeSlave.slaveName is, sadly, not mentally competent, and is wandering through the penthouse at the moment. - <<elseif $activeSlave.amp == 1>> + <<elseif isAmputee($activeSlave)>> $activeSlave.slaveName is a quadruple amputee and is quite helpless, so you can attend to $him at your leisure. <<elseif $activeSlave.devotion < -50>> $activeSlave.slaveName is quite rebellious and was attempting to escape, so I have locked $him in the slave quarters. @@ -751,4 +751,4 @@ The previous owner seems to have left in something of a hurry. <</if>> <<script>>Save.autosave.save("Week Start Autosave")<</script>> <<goto "Main">> -<</link>> \ No newline at end of file +<</link>> diff --git a/src/npc/fAbuse.tw b/src/npc/fAbuse.tw index 5ff86100a72f1fa58dc583a8bdb8d7f94c143ddc..787c72cd73111d9a4ace8ad789e88e4a7ba3aa59 100644 --- a/src/npc/fAbuse.tw +++ b/src/npc/fAbuse.tw @@ -20,7 +20,7 @@ <<set _asspain = 0>> -<<if ($activeSlave.amp == 1)>> +<<if isAmputee($activeSlave)>> You set $his helpless form down for abuse. Brutalizing $him is almost childishly easy; $his limbless torso leaves $him at your mercy. <<else>> You call $him over so you can abuse the <<if $seeRace == 1>>$activeSlave.race <</if>>bitch. You get things started with an open-handed slap across the face<<if !canSee($activeSlave)>>; $he never saw it coming<</if>>. As $he reels in shock and pain, you follow up with @@ -282,7 +282,7 @@ <<case "a Santa dress">> $He tears off some of $his dress's white fur trim in $his struggle to remove it. <<case "slutty jewelry">> - $He hurriedly strips fine jewelry from $his neck, wrists, and ankles. + $He hurriedly strips fine jewelry from $his neck, wrist<<if hasBothArms($activeSlave)>>s<</if>> and ankle<<if hasBothLegs($activeSlave)>>s<</if>>. <<case "a corset">> $His fingers fumble desperately with the straps of $his corset. <<case "an extreme corset">> @@ -297,9 +297,9 @@ <</if>> <<if ($PC.dick == 1)>> - <<if ($activeSlave.amp != 1) && ($activeSlave.clothes !== "no clothing")>>While $he strips, your<<else>>Your<</if>> stiffening cock rises<<if $PC.vagina == 1>>, revealing your pussy and<</if>> earning + <<if hasAnyArms($activeSlave) && ($activeSlave.clothes !== "no clothing")>>While $he strips, your<<else>>Your<</if>> stiffening cock rises<<if $PC.vagina == 1>>, revealing your pussy and<</if>> earning <<else>> - <<if ($activeSlave.amp != 1) && ($activeSlave.clothes !== "no clothing")>>While $he strips, you<<else>>You<</if>> don a cruelly large strap-on, earning + <<if hasAnyArms($activeSlave) && ($activeSlave.clothes !== "no clothing")>>While $he strips, you<<else>>You<</if>> don a cruelly large strap-on, earning <</if>> <<if ($activeSlave.fetish == "masochist") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> a shy look @@ -310,7 +310,7 @@ <</if>> from your victim. -<<if ($activeSlave.amp == 1)>> +<<if isAmputee($activeSlave)>> <<if ($activeSlave.clothes !== "no clothing")>>Growing impatient, you rip the clothes off $his limbless torso<<else>>You walk up to $him<</if>> and spank $his brutally; spinning $him to present <<if ($activeSlave.vagina > -1)>> $his holes diff --git a/src/npc/fFeelings.tw b/src/npc/fFeelings.tw index 0421d68f62da185aae6b0d7903e160326cc55dd4..3f4ec27774bbebbe4bf90b13a0b54f77154f870c 100644 --- a/src/npc/fFeelings.tw +++ b/src/npc/fFeelings.tw @@ -3,7 +3,7 @@ <<run Enunciate($activeSlave)>> <<setLocalPronouns $activeSlave>> <<set _lisping = 0>> -<<if ($activeSlave.amp != 1) && canTalk($activeSlave) && SlaveStatsChecker.checkForLisp($activeSlave)>> +<<if hasAnyArms($activeSlave) && canTalk($activeSlave) && SlaveStatsChecker.checkForLisp($activeSlave)>> <<set _lisping = 1>> <</if>> @@ -23,9 +23,9 @@ $He <<if !canTalk($activeSlave)>>gestures<<elseif (_lisping == 1)>>lisps<<else>>mutters<</if>> <<if ($activeSlave.trust >= -20)>> - hesitantly that $he does not like being a slave, and then <<if !canTalk($activeSlave)>>lets $his hands fall to $his sides<<else>>falls silent<</if>>. + hesitantly that $he does not like being a slave, and then <<if !canTalk($activeSlave)>>lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his sides<<else>>falls silent<</if>>. <<elseif ($activeSlave.trust >= -50)>> - fearfully that $he does not like being a slave, and then <<if !canTalk($activeSlave)>>lets $his hands fall to $his sides, shaking a little<<else>>falls silent, shaking a little<</if>>. + fearfully that $he does not like being a slave, and then <<if !canTalk($activeSlave)>>lets $his hand<<if hasBothArms($activeSlave)>>s<</if>> fall to $his sides, shaking a little<<else>>falls silent, shaking a little<</if>>. <<else>> a perfunctory <<if !canTalk($activeSlave)>>plea not to hurt $him<<else>>"Plea<<s>>e don't hurt me, <<Master>>."<</if>> <</if>> @@ -405,7 +405,7 @@ My favorite part of my body i<<s>> <</if>> <<if $activeSlave.need>> - <<if $activeSlave.amp != 1>> + <<if hasAnyArms($activeSlave)>> <<if _lisping == 0>> <<set _Amp = "touch myself,">> <<else>> @@ -1064,7 +1064,7 @@ My favorite part of my body i<<s>> <<if $PC.balls > 2>> every opportunity I get to wor<<sh>>ip your ball<<s>>, they're <<s>>o huge and make <<s>>o much cum and I ju<<s>>t want to <<s>>pend my life ki<<ss>>ing your ball<<s>> and <<s>>ucking your cock, and live off your cum... <<elseif $PC.balls > 1>> - wor<<sh>>ipping your ma<<ss>>ive ball<<s>>. <<if $activeSlave.amp != 1>>Your ball<<s>> are <<s>>o big that one te<<s>>ticle fill<<s>> my hand, I even cum without touching my<<s>>elf <<s>>o I can properly <<s>>erve you.<<else>>Feeling you re<<s>>t your ball<<s>> on my fa<<c>>e in between fa<<c>>efuck<<s>> i<<s>> heaven for me.<</if>> + wor<<sh>>ipping your ma<<ss>>ive ball<<s>>. <<if hasAnyArms($activeSlave)>>Your ball<<s>> are <<s>>o big that one te<<s>>ticle fill<<s>> my hand, I even cum without touching my<<s>>elf <<s>>o I can properly <<s>>erve you.<<else>>Feeling you re<<s>>t your ball<<s>> on my fa<<c>>e in between fa<<c>>efuck<<s>> i<<s>> heaven for me.<</if>> <<elseif $PC.balls > 0>> plea<<s>>uring your big ball<<s>> too. They're the perfect <<s>>i<<z>>e to fill my mouth a<<s>> I <<s>>uck on them, and I love feeling them ten<<s>>e again<<s>>t my chin when you <<sh>>oot cum down my throat. <<else>> @@ -1161,20 +1161,29 @@ My favorite part of my body i<<s>> <<if (($activeSlave.actualAge - 5) > $slaves[_partner].actualAge) && (20 > $slaves[_partner].actualAge)>> <<He 2>>'<<s>> a little immature at time<<s>>, but having <<s>>e<<x>> with a teenager i<<s>> <<s>>o awe<<s>>ome, it'<<s>> worth it. <</if>> - <<if $slaves[_partner].amp != 0>> - <<if $slaves[_partner].amp == -1>> - I really do like <<his 2>> P-Limb<<s>>. They're a little awkward, and kind of cold, but that'<<s>> ju<<s>>t how <<he 2>> i<<s>>. - <<elseif $slaves[_partner].amp == -2>> + <<if hasAnyProstheticLimbs($slaves[_partner])>> + <<set _sex = getLimbCount($slaves[_partner], 3) + getLimbCount($slaves[_partner], 6)>> + <<set _beauty = getLimbCount($slaves[_partner], 4) + getLimbCount($slaves[_partner], 6)>> + <<set _combat = getLimbCount($slaves[_partner], 5) + getLimbCount($slaves[_partner], 6)>> + <<if _sex > 0 && _beauty > 0 && _combat > 0>> + <<His 2>> P-Limb<<s>> do look cool and I like how <<s>>trong they can make _him2 but they <<s>>care me a little, <<s>>ometime<<s>>. Though of cour<<s>>e <<he 2>> di<<s>>able<<s>> the weapon<<s>> when we're together." $He giggles. "<<He 2>> ha<<s>> vibe finger<<s>>, <<s>>o that'<<s>> awe<<s>>ome. + <<elseif _sex > 0 && _beauty > 0>> + I really like <<his 2>> P-Limb<<s>>. They're very pretty, but kind of cold. That'<<s>> ju<<s>>t how <<he 2>> i<<s>>." $He giggles. "<<He 2>> ha<<s>> vibe finger<<s>>. <<S>>o that'<<s>> awe<<s>>ome. + <<elseif _beauty > 0 && _combat > 0>> + <<His 2>> P-Limb<<s>> do look cool and I like how <<s>>trong they can make _him2 but they <<s>>care me a little, <<s>>ometime<<s>>. Though of cour<<s>>e <<he 2>> di<<s>>able<<s>> the weapon<<s>> when we're together. + <<elseif _sex > 0 && _combat > 0>> + <<His 2>> P-Limb<<s>> do <<s>>care me a little, <<s>>ometime<<s>>. Though of course <<he 2>> di<<s>>able<<s>> the weapon<<s>> when we're together." $He giggles. "<<He 2>> ha<<s>> vibe finger<<s>>. <<S>>o that'<<s>> awe<<s>>ome. + <<elseif _sex > 0>> And, um." $He giggles. "<<He 2>> ha<<s>> vibe finger<<s>>. <<S>>o that'<<s>> awe<<s>>ome. - <<elseif $slaves[_partner].amp == -3>> + <<elseif _beauty > 0>> I really like <<his 2>> P-Limb<<s>>. They're very pretty, but kind of cold. That'<<s>> ju<<s>>t how <<he 2>> i<<s>>. - <<elseif $slaves[_partner].amp == -4>> + <<elseif _combat > 0>> <<His 2>> P-Limb<<s>> do <<s>>care me a little, <<s>>ometime<<s>>. Though of course <<he 2>> di<<s>>able<<s>> the weapon<<s>> when we're together." $He giggles. "Though I did get _him2 to e<<x>>tend <<his 2>> blade<<s>> on<<c>>e, <<s>>o I could ki<<ss>> them for luck. - <<elseif $slaves[_partner].amp == -5>> - <<His 2>> P-Limb<<s>> do look cool and I like how <<s>>trong they can make _him2 but they <<s>>care me a little, <<s>>ometime<<s>>. Though of cour<<s>>e <<he 2>> di<<s>>able<<s>> the weapon<<s>> when we're together." $He giggles. "<<He 2>> ha<<s>> vibe finger<<s>>, <<s>>o that'<<s>> awe<<s>>ome. <<else>> - <<He 2>>'<<s>> an amputee, of cour<<s>>e, <<s>>o that'<<s>> a little <<s>>ad. + I really do like <<his 2>> P-Limb<<s>>. They're a little awkward, and kind of cold, but that'<<s>> ju<<s>>t how <<he 2>> i<<s>>. <</if>> + <<elseif getLimbCount($slaves[_partner], 0) > 0>> + <<He 2>>'<<s>> an amputee, of cour<<s>>e, <<s>>o that'<<s>> a little <<s>>ad. <</if>> <</if>> <<elseif ($activeSlave.relationship == -3)>> diff --git a/src/npc/fKiss.tw b/src/npc/fKiss.tw index 25990b5deea68886a04b8a6a2e25fa00e1dbd359..76749658ed1c62316329f8ff34781cc823404794 100644 --- a/src/npc/fKiss.tw +++ b/src/npc/fKiss.tw @@ -5,21 +5,21 @@ You tell $activeSlave.slaveName to <<switch $activeSlave.collar>> <<case "dildo gag">> - <<if ($activeSlave.amp != 1)>> + <<if hasAnyArms($activeSlave)>> remove $his dildo gag and approach you. <<else>> have another slave remove $his dildo gag and set $him down on your desk. <</if>> <<set _tempGag = $activeSlave.collar, $activeSlave.collar = "none">> <<case "massive dildo gag">> - <<if ($activeSlave.amp != 1)>> + <<if hasAnyArms($activeSlave)>> pull $his enormous dildo gag out of the depths of $his throat and approach you. <<else>> have another slave pull the enormous dildo gag out of the depths of $his throat and set $him down on your desk. <</if>> <<set _tempGag = $activeSlave.collar, $activeSlave.collar = "none">> <<case "ball gag" "bit gag">> - <<if ($activeSlave.amp != 1)>> + <<if hasAnyArms($activeSlave)>> undo $his gag and approach you. <<else>> have another slave undo $his gag and set $him down on your desk. @@ -140,10 +140,10 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu $he exposes $himself to you, awaiting further use of $his body. <</if>> <<elseif $activeSlave.devotion+$activeSlave.trust >= 175>> - $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> + $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if hasAnyArms($activeSlave)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif !hasAnyArms($activeSlave) && (!canTalk($activeSlave))>> $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -152,7 +152,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<elseif $activeSlave.devotion < -20 && $activeSlave.trust > 20>> $He reflexively turns $his head away from you, but you catch your $wife by $his jaw and kiss $him harder. You wrap your arms around $him so $he cannot escape. $He wriggles desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and pull away, $he glares at you. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes demand<<else>>expression demands<</if>> an answer: are you done? <<elseif !canTalk($activeSlave)>> $He signs irritably, asking if you're done. @@ -161,7 +161,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<elseif $activeSlave.devotion < -20>> $He is nearly frozen with fear, and does not resist as you kiss $him deeply. In fact, $he barely reacts at all. $He opens $his mouth mechanically in response to your insistent tongue, but it's like kissing a doll. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of making out with your $wife and pull away, $he stares at you in utter incomprehension. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs spastically, begging fearfully to know if that's it. @@ -170,7 +170,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<else>> $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a $wife by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs hesitantly, asking if that's it. @@ -186,10 +186,10 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu $he exposes $himself to you, awaiting further use of $his body. <</if>> <<elseif ($activeSlave.relationship == -2)>> - $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> + $His mouth accepts yours with love, matching itself perfectly to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> (Though you're quite careful around $his sharp dentition.)<</if>> $He melts into you, sighing ever so gently. When you finally break the kiss, $his mouth freezes in the shape it was in when last your lips touched, and a momentary look of longing crosses $his face.<<if hasAnyArms($activeSlave)>> A hand reaches dumbly up to $his mouth to trace $his lips where yours last touched.<</if>> <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif !hasAnyArms($activeSlave) && (!canTalk($activeSlave))>> $He does $his best to communicate love with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -200,7 +200,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu $He giggles into you and kisses you back with vigor, $his head pressing insistently forward. The two of you make out rather aggressively<<if ($activeSlave.teeth == "pointy")>>, $his sharp teeth drawing a bit of blood from your lips and tongue<</if>>. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, $his active tongue only retreating when yours presses against it. When you finally shove $him away, $he's breathing hard through $his grin. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif !hasAnyArms($activeSlave) && (!canTalk($activeSlave))>> $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. @@ -211,7 +211,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu $He stiffens with arousal. $His sexuality is complex, focusing on cum, but with a heavy layer of oral fixation. As your tongue plunders $his mouth, $he reacts almost as though $he's receiving oral, whimpering and moaning into you and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you tire of making out with $him. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he does not speak $language well enough to express $himself. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif !hasAnyArms($activeSlave) && (!canTalk($activeSlave))>> $He does $his best to communicate undiminished lust with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. @@ -219,10 +219,10 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu "That wa<<s>> fun, <<Master>>," $he <<say>>s lustfully. <</if>> <<elseif ($activeSlave.devotion > 50)>> - $His mouth accepts yours with devotion, matching itself carefully to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> $He is exquisitely careful to keep $his sharp teeth clear of you.<</if>> $He presses $himself against you, $his warmth wonderful against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally break the kiss, $he runs $his tongue rapturously across $his moistened lips<<if ($activeSlave.amp != 1)>> and then runs a finger across them as well<</if>>, an openly sexual look on $his $activeSlave.skin face. + $His mouth accepts yours with devotion, matching itself carefully to your insistent lips and tongue.<<if ($activeSlave.teeth == "pointy")>> $He is exquisitely careful to keep $his sharp teeth clear of you.<</if>> $He presses $himself against you, $his warmth wonderful against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally break the kiss, $he runs $his tongue rapturously across $his moistened lips<<if hasAnyArms($activeSlave)>> and then runs a finger across them as well<</if>>, an openly sexual look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>, since $he's not confident in $his ability to express it in $language. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif !hasAnyArms($activeSlave) && (!canTalk($activeSlave))>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>facial expressions<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -231,7 +231,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<elseif ($activeSlave.devotion > 20)>> $He accepts the kiss willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your lips and tongue. When you finally break the kiss, <<if canSee($activeSlave)>>$his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly<<else>>$he gazes at you<</if>>, looking for answers that are not there. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs hesitantly, asking if that's it. @@ -240,7 +240,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust < -20)>> $He accepts the kiss fearfully. As you kiss $his unresisting mouth, $his eagerness to avoid punishment leads $him to kiss you back, though nervousness makes $him mechanical. You kiss $him harder, enjoying $his fear, and the physical intimacy slowly does its work. $He becomes softer and more natural, $his resistance easing. When you pull away from $him for a moment, $he <<if canSee($activeSlave)>>looks<<else>>gazes<</if>> at you for a long moment, $his mouth still hanging open, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs hesitantly, asking if that's it. @@ -249,7 +249,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<elseif ($activeSlave.trust < -50)>> $He is nearly frozen with fear, and does not resist as you kiss $him. In fact, $he barely reacts at all. $He opens $his mouth mechanically in response to your insistent tongue, but it's like kissing a doll. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of making out with the poor <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>> and pull away, $he stares at you in utter incomprehension. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs spastically, begging fearfully to know if that's it. @@ -258,7 +258,7 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <</if>> <<else>> $He reflexively turns $his head away from you, but you catch $his jaw and kiss $him harder. Spluttering, $he flees backwards, but you tip forward with $him and pin $him against your desk, plundering $his mouth without mercy. $He wriggles desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and pull away, $he stares at you in utter incomprehension. - <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>> + <<if (!hasAnyArms($activeSlave) && (!canTalk($activeSlave)))>> $His <<if canSee($activeSlave)>>eyes demand<<else>>expression demands<</if>> an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs irritably, asking whether that's it. @@ -269,4 +269,4 @@ Then, you gently raise $his <<if $activeSlave.face > 95>>heartrendingly beautifu <<if def _tempGag>> <<set $activeSlave.collar = _tempGag>> -<</if>> \ No newline at end of file +<</if>> diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw index ec38d088d3078158f54e87f7bc5b3cf86e1c2686..5057ed5b46879e159d2e55558dcce45b5742ff6e 100644 --- a/src/npc/fPCImpreg.tw +++ b/src/npc/fPCImpreg.tw @@ -98,7 +98,7 @@ You call $him over so you can <</if>> <<set $activeSlave.devotion += 4>> <<elseif ($activeSlave.vagina == 0 || ($activeSlave.anus == 0 && $activeSlave.mpreg == 1))>> - As you anticipated, $he refuses to give you $his virginity. And as you expected, $he is unable to resist you. $He cries as your cock opens $his fresh, tight hole. Afterward, $he <<if $activeSlave.amp != 1>>clutches $his _belly stomach<<else>>lies there<</if>> and sobs, horrified by the knowledge that + As you anticipated, $he refuses to give you $his virginity. And as you expected, $he is unable to resist you. $He cries as your cock opens $his fresh, tight hole. Afterward, $he <<if hasAnyArms($activeSlave)>>clutches $his _belly stomach<<else>>lies there<</if>> and sobs, horrified by the knowledge that <<if _superfetation == 1>> $his unborn <<if $activeSlave.pregType == 1>>child is<<else>>children are<</if>> now sharing quarters with $his rapist's child. <<else>> @@ -111,7 +111,7 @@ You call $him over so you can <<else>> <<set $activeSlave.vagina = 1>> <</if>> -<<elseif ($activeSlave.amp == 1)>> +<<elseif isAmputee($activeSlave)>> You have $his limbless torso set on the end of the couch, face-<<if _superfetation == 1>>up<<else>>down<</if>>, with $his hips up in the air. This way, you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>> you can manage. $He moans <<if _superfetation == 1>>openly<<else>>into the cushions<</if>>, knowing that when $he feels the hot flow of semen<<if $PC.balls >= 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably <<if _superfetation == 1>>got another bun in the oven<<else>>gotten pregnant<</if>>. <<elseif tooBigBelly($activeSlave)>> Since $he already has trouble moving with $his _belly belly, you just tip $him onto it; this leaves $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>> exposed and vulnerable. $He moans as $he clutches the sides of $his stomach, knowing that when $he feels the hot flow of semen<<if $PC.balls >= 3>> filling $him until $his the pressure forces it to spray around your shaft<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten <<if _superfetation == 1>> another bun added to the oven<<else>>pregnant<</if>>. @@ -136,7 +136,7 @@ You call $him over so you can <<elseif $activeSlave.devotion < -20>> $He tries to refuse, so you bend the disobedient slave over your desk and take $him hard from behind. $His breasts slide back and forth across the desk. You give $his buttocks some nice hard swats as you pound $him. $He grunts and moans but knows better than to try to get away. $He begs you not to cum inside $him, knowing $he's fertile, and sobs when $he feels you<<if $PC.balls >= 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<<else>> blow your load<</if>> despite $his pleas. <<elseif $activeSlave.devotion <= 20>> - $He obeys, lying on the couch next to your desk with $his legs spread. You kneel on the ground and enter $him, a hand on each of $his legs to give you purchase. The pounding is hard and fast, and $he gasps and whines. + $He obeys, lying on the couch next to your desk<<if hasAnyLegs($activeSlave)>> with $his leg<<if hasBothLegs($activeSlave)>>s spread<<else>> moved aside<</if>><</if>>. You kneel on the ground and enter $him<<if hasAnyLegs($activeSlave)>>, a hand on <<if hasBothLegs($activeSlave)>>each of $his legs<<else>>$his leg<</if>> to give you purchase<</if>>. The pounding is hard and fast, and $he gasps and whines. <<if $activeSlave.belly >= 100000>> You reach a hand up to tease $his already taut dome of a pregnancy. <<else>> diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw index 5128fa89d7ef6613b1f67f600c93784226ac38ee..4238bfcc7a8df422cea2840dcd2dcac4a44f7dfb 100644 --- a/src/npc/fSlaveImpregConsummate.tw +++ b/src/npc/fSlaveImpregConsummate.tw @@ -116,7 +116,7 @@ Next, you see to $activeSlave.slaveName. <<set $activeSlave.vagina = 1>> <</if>> -<<elseif ($activeSlave.amp == 1)>> +<<elseif isAmputee($activeSlave)>> You set $his limbless torso up for $impregnatrix.slaveName. <<elseif tooBigBelly($activeSlave)>> You set $him up for $impregnatrix.slaveName, face-down so $he may rest helplessly against $his _belly belly. diff --git a/src/player/actions/fCaress.tw b/src/player/actions/fCaress.tw index 6010a66e55e49e3cd2c393f2279783d9e2d67708..5c2edc96319e86bb1221860fddd5a42b51fe8ac8 100644 --- a/src/player/actions/fCaress.tw +++ b/src/player/actions/fCaress.tw @@ -5,8 +5,8 @@ <<setLocalPronouns $activeSlave>> You tell $activeSlave.slaveName to -<<if ($activeSlave.amp != 1)>> - move closer towards you. +<<if !hasAnyLegs($activeSlave)>> + have another slave set $him down on your desk. <<elseif tooBigBreasts($activeSlave)>> have another slave help $him heft $his tits so $he can be near you. <<elseif tooBigBelly($activeSlave)>> @@ -20,7 +20,7 @@ You tell $activeSlave.slaveName to <<elseif tooFatSlave($activeSlave)>> have another slave help $him up so $he can be near you. <<else>> - have another slave set $him down on your desk. + move closer towards you. <</if>> <<if ($activeSlave.fetish == "mindbroken") && ($activeSlave.relationship != -3)>> @@ -79,19 +79,19 @@ Then, you gently tilt $his <<if $activeSlave.face > 95>>overwhelmingly stunning< <<if ($activeSlave.fetish == "mindbroken")>> $His posture doesn't change. $He initially only reacts slightly to your physical touch but then stops reacting completely. When you stop, $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly but then stare blankly ahead of $him, awaiting further use of $his body. <<elseif ($activeSlave.relationship == -2)>> - $His eyes gradually close and $he slowly leans $his head back, relaxing as $he feels your caress. $He gently gasps as $he feels your warm <<if $PC.title == 1>>manly<<else>>feminine<</if>> hand. When you finally stop gently caressing $him, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you, $he has an eager look on $his face.<<if ($activeSlave.amp != 1)>> A hand reaches dumbly up to $his face mimicking your last movements.<</if>> <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks as though $he wants much more than your mere caress. + $His eyes gradually close and $he slowly leans $his head back, relaxing as $he feels your caress. $He gently gasps as $he feels your warm <<if $PC.title == 1>>manly<<else>>feminine<</if>> hand. When you finally stop gently caressing $him, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you, $he has an eager look on $his face.<<if (hasAnyArms($activeSlave))>> A hand reaches dumbly up to $his face mimicking your last movements.<</if>> <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif (!hasAnyArms($activeSlave)) && (!canTalk($activeSlave))>>$He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks as though $he wants much more than your mere caress. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> - As you start to touch $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>lovely<<elseif $activeSlave.face >= -10>>pretty<<elseif $activeSlave.face >= -40>>homely<<else>>ugly<</if>> face, $he smiles at you and takes your hand in $hers, following its movements. $He tries hard to stop $himself from losing $himself in your masterful hands. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, when $he starts to caress your face in turn. When you finally stop, $his eyes are closed and $he's smiling. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully.<</if>> $He looks at you, $his eyes almost begging you to give $him more than your mere caress. + As you start to touch $his <<if $activeSlave.face > 95>>gorgeous<<elseif $activeSlave.face > 10>>lovely<<elseif $activeSlave.face >= -10>>pretty<<elseif $activeSlave.face >= -40>>homely<<else>>ugly<</if>> face, $he smiles at you and takes your hand in $hers, following its movements. $He tries hard to stop $himself from losing $himself in your masterful hands. $He takes $his tendency towards sexual dominance right up to the edge of insubordination, when $he starts to caress your face in turn. When you finally stop, $his eyes are closed and $he's smiling. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif (!hasAnyArms($activeSlave)) && (!canTalk($activeSlave))>>$He does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully.<</if>> $He looks at you, $his eyes almost begging you to give $him more than your mere caress. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "cumslut") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> - $He stiffens at your touch but slowly relaxes to your fingers on $his face. As you move your fingers along $his lips, $he reacts almost as though $he's receiving oral. $He starts to gently suck your fingers, moaning into your hand and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you stop caressing $him. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s lustfully.<</if>> $He looks at you as if $he wants more than your hands touching $him. + $He stiffens at your touch but slowly relaxes to your fingers on $his face. As you move your fingers along $his lips, $he reacts almost as though $he's receiving oral. $He starts to gently suck your fingers, moaning into your hand and pressing $himself lewdly against your <<if $PC.boobs == 1>>prominent breasts<<else>>manly chest<</if>>.<<if ($activeSlave.teeth == "pointy")>> $He's very careful to avoid spearing your tongue with $his sharp teeth.<</if>> $He achieves a weak orgasm before you stop caressing $him. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he does not speak $language well enough to express $himself.<<elseif (!hasAnyArms($activeSlave)) && (!canTalk($activeSlave))>>$He does $his best to communicate undiminished lust with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he liked that.<<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s lustfully.<</if>> $He looks at you as if $he wants more than your hands touching $him. <<elseif ($activeSlave.devotion > 50)>> - $He accepts your touch with devotion, leaning $his head back at your gentle caress along $his face. $He leans $his body forward, pressing $himself against you, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. $He gradually closes $his eyes and when you finally stop, <<if ($activeSlave.amp != 1)>>$he runs $his hand delightfully across $his face where you last touched $him<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s jubilantly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than your mere caress. + $He accepts your touch with devotion, leaning $his head back at your gentle caress along $his face. $He leans $his body forward, pressing $himself against you, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. $He gradually closes $his eyes and when you finally stop, <<if (hasAnyArms($activeSlave))>>$he runs $his hand delightfully across $his face where you last touched $him,<<else>>there is<</if>> a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif (!hasAnyArms($activeSlave)) && (!canTalk($activeSlave))>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s jubilantly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than your mere caress. <<elseif ($activeSlave.devotion > 20)>> - $He accepts your touch willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your touch across $his face. When you finally move your hand away, $his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly, looking for answers that are not there. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He accepts your touch willingly. As you are so close to $him, you sense considerable turmoil in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your touch across $his face. When you finally move your hand away, $his <<= App.Desc.eyeColor($activeSlave)>> eyes gaze into yours searchingly, looking for answers that are not there. <<if ((!hasAnyArms($activeSlave)) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust < -20)>> - $He shakes at your touch fearfully. As you move your hand along $his unresisting face, $his eagerness to avoid punishment leads $him to stiffen, $his nervousness is made apparent. You continue stroking $his cheek, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When finally move your hand away, $he looks at you for a long moment, $his eyes darting up at you, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He shakes at your touch fearfully. As you move your hand along $his unresisting face, $his eagerness to avoid punishment leads $him to stiffen, $his nervousness is made apparent. You continue stroking $his cheek, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When finally move your hand away, $he looks at you for a long moment, $his eyes darting up at you, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if ((!hasAnyArms($activeSlave)) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.trust < -50)>> - $He is nearly frozen with fear, and does not resist as you start to caress $his face. In fact, $he barely reacts at all. $He stares at you as you move your fingers across $his stiff face, but it's like touching a statue. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of touching the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>> and move your hand away, $he stares at you in utter incomprehension. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs spastically, begging fearfully to know if that's it.<<else>>$He asks nervously, "I-i<<s>> that it, <<Master>>?"<</if>> Then $he cringes. + $He is nearly frozen with fear, and does not resist as you start to caress $his face. In fact, $he barely reacts at all. $He stares at you as you move your fingers across $his stiff face, but it's like touching a statue. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of touching the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>> and move your hand away, $he stares at you in utter incomprehension. <<if ((!hasAnyArms($activeSlave)) && (!canTalk($activeSlave)))>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs spastically, begging fearfully to know if that's it.<<else>>$He asks nervously, "I-i<<s>> that it, <<Master>>?"<</if>> Then $he cringes. <<else>> - $He reflexively turns away from you, but you catch $his head with one hand and slowly but gently move your other hand along $his face. Spluttering, $he leans backwards, but you tip forward with $him and pin $him against your desk, not stopping your gentle touch on $his head. $He tries to wriggle out of your grasp desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and move your hand away, $he stares at you in utter incomprehension. <<if (($activeSlave.amp == 1) && (!canTalk($activeSlave)))>>$His eyes demand an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs irritably, asking whether that's it.<<else>>$He splutters, "I<<s>> that it, <<Master>>!?"<</if>> + $He reflexively turns away from you, but you catch $his head with one hand and slowly but gently move your other hand along $his face. Spluttering, $he leans backwards, but you tip forward with $him and pin $him against your desk, not stopping your gentle touch on $his head. $He tries to wriggle out of your grasp desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and move your hand away, $he stares at you in utter incomprehension. <<if ((!hasAnyArms($activeSlave)) && (!canTalk($activeSlave)))>>$His eyes demand an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs irritably, asking whether that's it.<<else>>$He splutters, "I<<s>> that it, <<Master>>!?"<</if>> <</if>> diff --git a/src/player/actions/fEmbrace.tw b/src/player/actions/fEmbrace.tw index e130fd0e43cbce34a8c6ee31cdc389087fa0c47c..64b2393dff1d0b49e76f1d67011ae7d02b62f9b4 100644 --- a/src/player/actions/fEmbrace.tw +++ b/src/player/actions/fEmbrace.tw @@ -5,7 +5,7 @@ <<setLocalPronouns $activeSlave>> You tell $activeSlave.slaveName to -<<if ($activeSlave.amp != 1)>> +<<if (hasAnyLegs($activeSlave))>> stand in front of you. <<else>> have another slave set $him down on your desk. @@ -47,7 +47,7 @@ You tell $activeSlave.slaveName to $He pauses, obviously considering whether to resist, but eventually decides to save $his strength to fight more onerous orders, and gives in. Once $he's close, you take a moment to gaze deeply into $his <<= App.Desc.eyeColor($activeSlave)>> eyes. $He stares back, but after a few moments $he loses the contest of wills and looks down. <</if>> -You walk around $him and put your hands around $his abdomen,<<if ($activeSlave.amp != 1)>> to gently pull $him close towards you<<else>> moving close towards $him on your desk<</if>> and then wrap your arms around $his shoulders.<<if ($activeSlave.amp != 1)>> When you press your hips against $hers,<<else>> You use your arms to prop $him up against you,<</if>> <<if ($activeSlave.trust > 20)>>letting $him lean while taking the weight of $him against you<<else>>$he tries to lean away from you, pushing against your arms<</if>>. You lovingly squeeze $him in your long, cradling embrace. +You walk around $him and put your hands around $his abdomen,<<if (hasAnyLegs($activeSlave))>> to gently pull $him close towards you<<else>> moving close towards $him on your desk<</if>> and then wrap your arms around $his shoulders.<<if (hasAnyLegs($activeSlave))>> When you press your hips against $hers,<<else>> You use your arms to prop $him up against you,<</if>> <<if ($activeSlave.trust > 20)>>letting $him lean while taking the weight of $him against you<<else>>$he tries to lean away from you, pushing against your arms<</if>>. You lovingly squeeze $him in your long, cradling embrace. <<if ($activeSlave.boobs < 2600)>> <<if ($activeSlave.nipples == "huge")>> @@ -71,26 +71,28 @@ You walk around $him and put your hands around $his abdomen,<<if ($activeSlave.a <<if ($activeSlave.fetish == "mindbroken")>> $His posture doesn't change. $He initially only reacts slightly to your physical touch but eventually $he relaxes in the warmth of your embrace against $him. You know that this may only be a physiological reaction, nothing more. For a brief moment you think you detect a spark of life in $his dull eyes but just as quickly, it is gone. When you stop, $his <<= App.Desc.eyeColor($activeSlave)>> eyes track the movements of your hands briefly but then $he stares blankly ahead of $him, not understanding what is happening. <<elseif ($activeSlave.relationship == -2)>> - In the warmth of your embrace, $he turns towards you, $his passionate <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. $He leans closer to you and kisses you as you hold $him. $His heart beats faster and then gradually slows as $he grows accustomed to your body against $hers. Eventually, $he relaxes totally and $his eyes gradually close, melting in your arms. When you finally stop and relax your embrace, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you with a blissful look on $his face. <<if ($activeSlave.amp != 1)>> $His hand reaches to your arms and $he strokes them longingly.<</if>> <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks at you, almost begging you with $his eyes that $he wants much more than a mere embrace. + In the warmth of your embrace, $he turns towards you, $his passionate <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. $He leans closer to you and kisses you as you hold $him. $His heart beats faster and then gradually slows as $he grows accustomed to your body against $hers. Eventually, $he relaxes totally and $his eyes gradually close, melting in your arms. When you finally stop and relax your embrace, $his eyes remain closed and $his mouth still in a rapturous shape for a moment before $he slowly opens $his eyes and smiles at you with a blissful look on $his face. <<if (hasAnyArms($activeSlave))>> $His hand reaches to your arms and $he strokes them longingly.<</if>> <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s dreamily.<</if>> $He looks at you, almost begging you with $his eyes that $he wants much more than a mere embrace. <<elseif ($activeSlave.devotion > 50) && ($activeSlave.fetish == "dom") && ($activeSlave.fetishKnown == 1) && ($activeSlave.fetishStrength > 60)>> In your soft, warm embrace, $he tries hard to stop $himself from losing $himself in your arms. - <<if ($activeSlave.amp != 1)>> $He starts to embrace you in $his arms as well. When you gently squeeze $him in your arms, $he breathes more heavily and starts to lovingly squeeze you as well, $his tendency towards sexual dominance encouraging $him to compete with you in embraces against each other. - <<else>> When you gently squeeze $him in your arms, $he breathes more heavily before relaxing against you. + <<if (hasAnyArms($activeSlave))>> + $He starts to embrace you <<if (hasBothArms($activeSlave))>>in $his arms<<else>>with $his arm<</if>> as well. When you gently squeeze $him in your arms, $he breathes more heavily and starts to lovingly squeeze you as well, $his tendency towards sexual dominance encouraging $him to compete with you in embraces against each other. + <<else>> + When you gently squeeze $him in your arms, $he breathes more heavily before relaxing against you. <</if>> When you finally stop and relax your embrace, $his eyes are closed and $he's smiling blissfully. - <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. + <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$He slowly opens them and does $his best to communicate excitement with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>>$He signs that $he liked that. <<else>>"That wa<<s>> fun, <<Master>>," $he <<say>>s cheerfully. <</if>> $He eagerly looks at you, $his eyes almost seem to say that $he wants you to give $his <<Master>> more than a mere hug. <<elseif ($activeSlave.devotion > 50)>> - $He sighs devotedly in your arms and slowly relaxes. $He turns towards you, $his doting <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. You feel $his heart beating faster against your chest as you softly squeeze your arms tighter. $His hands reach to your arms and $he strokes them longingly as you squeeze. $He gradually closes $his eyes as $he leans $his body against yours, melting in your warm embrace, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally stop, <<if ($activeSlave.amp != 1)>>$he reaches to your face with $his hand and gently strokes your cheek<<else>>$he turns to you<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s elatedly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than a mere embrace. + $He sighs devotedly in your arms and slowly relaxes. $He turns towards you, $his doting <<= App.Desc.eyeColor($activeSlave)>> eyes staring intently at your face. You feel $his heart beating faster against your chest as you softly squeeze your arms tighter. $His hands reach to your arms and $he strokes them longingly as you squeeze. $He gradually closes $his eyes as $he leans $his body against yours, melting in your warm embrace, and you feel the intense heat from $his body against your <<if $PC.boobs == 1>>soft breasts<<else>>manly chest<</if>>. When you finally stop, <<if (hasAnyArms($activeSlave))>>$he reaches to your face with $his hand and gently strokes your cheek<<else>>$he turns to you<</if>>, a euphoric look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes, since $he's not confident in $his ability to express it in $language.<<elseif (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$He does $his best to communicate devotion with $his <<= App.Desc.eyeColor($activeSlave)>> eyes.<<elseif !canTalk($activeSlave)>>$He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s elatedly.<</if>> $He looks at you longingly, almost as if $he's bursting to say that $he wants more than a mere embrace. <<elseif ($activeSlave.devotion > 20)>> - $He willingly gives $himself up to your embracing arms. As you are so close to $him, you sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your soft embrace against $his body. $He gradually closes $his eyes in the feeling of your gentle arms. When you finally stop and relax your embrace, $his <<= App.Desc.eyeColor($activeSlave)>> eyes open to gaze puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this non-sexual physical contact. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He willingly gives $himself up to your embracing arms. As you are so close to $him, you sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your soft embrace against $his body. $He gradually closes $his eyes in the feeling of your gentle arms. When you finally stop and relax your embrace, $his <<= App.Desc.eyeColor($activeSlave)>> eyes open to gaze puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this non-sexual physical contact. <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.trust < -20)>> - $He shakes at your touch fearfully. As you softly press $his trembling body against you, $his eagerness to avoid punishment leads $him to stiffen in your arms. While $he continues to shudder, you continue embracing $him, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When you relax your arms for a moment, $he opens $his eyes to look at you for a long moment, $his eyes darting up to your face, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> + $He shakes at your touch fearfully. As you softly press $his trembling body against you, $his eagerness to avoid punishment leads $him to stiffen in your arms. While $he continues to shudder, you continue embracing $him, enjoying $his fear, and the physical intimacy slowly does its work. $He starts to relax, $his resistance easing and $his eyes start to close. When you relax your arms for a moment, $he opens $his eyes to look at you for a long moment, $his eyes darting up to your face, before visibly catching $himself with a reminder that $he's a slave and you're $his owner. <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs hesitantly, asking if that's it.<<else>>$He asks hesitantly, "I-i<<s>> that it, <<Master>>?"<</if>> <<elseif ($activeSlave.trust < -50)>> - $He is nearly frozen with fear, and does not resist as you start to squeeze your arms around $him. In fact, $he barely reacts at all. $He stares at your arms as they continue squeezing, but it's like touching a statue. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of embracing the still <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>> and release $him, $he stares at you in utter incomprehension. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs spastically, begging fearfully to know if that's it.<<else>>$He asks nervously, "I-i<<s>> that it, <<Master>>?"<</if>> Then $he cringes, unsure of what you are going to do next. + $He is nearly frozen with fear, and does not resist as you start to squeeze your arms around $him. In fact, $he barely reacts at all. $He stares at your arms as they continue squeezing, but it's like touching a statue. $He is so filled with terror that $he remains stiff even as it becomes clear to $him you're not going to hurt $him. When you bore of embracing the still <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>> and release $him, $he stares at you in utter incomprehension. <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$His eyes beg for an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs spastically, begging fearfully to know if that's it.<<else>>$He asks nervously, "I-i<<s>> that it, <<Master>>?"<</if>> Then $he cringes, unsure of what you are going to do next. <<else>> - $He reflexively tries to break free from your arms, but you keep $him wrapped in them. Shuddering, $he desperately leans away from you, but you tip forward with $him and pin $him against your desk, continuing your hold on $him. $He tries to wriggle out of your grasp desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and release $him, $he stares at you in utter incomprehension. <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>>$His eyes demand an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs irritably, asking whether that's it.<<else>>$He splutters, "I<<s>> that it, <<Master>>!?"<</if>> $He shakes uncontrollably, apprehensive at what you are going to do next. + $He reflexively tries to break free from your arms, but you keep $him wrapped in them. Shuddering, $he desperately leans away from you, but you tip forward with $him and pin $him against your desk, continuing your hold on $him. $He tries to wriggle out of your grasp desperately, but $his struggles slowly subside as $he realizes that you're not taking this any farther. When you bore of it and release $him, $he stares at you in utter incomprehension. <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>>$His eyes demand an answer: is that it?<<elseif !canTalk($activeSlave)>>$He signs irritably, asking whether that's it.<<else>>$He splutters, "I<<s>> that it, <<Master>>!?"<</if>> $He shakes uncontrollably, apprehensive at what you are going to do next. <</if>> diff --git a/src/player/actions/fondleBoobs.tw b/src/player/actions/fondleBoobs.tw index a1d57e43bbd5fdcffc808ec2054b3827cc571b3b..355c6221956f6268aec840d2da3a366ad866d203 100644 --- a/src/player/actions/fondleBoobs.tw +++ b/src/player/actions/fondleBoobs.tw @@ -41,7 +41,7 @@ You call $him over so you can fondle $his The tattoos on $his breasts certainly draw attention to $his nipples. <</if>> -<<if ($activeSlave.nipplesPiercing > 1) && ($activeSlave.amp == 1)>> +<<if ($activeSlave.nipplesPiercing > 1) && !hasAnyLegs($activeSlave)>> You play with the chain between $his nipples. <<elseif ($activeSlave.nipplesPiercing > 1)>> You pull $him over by the chain between $his nipples. @@ -49,7 +49,7 @@ You call $him over so you can fondle $his $His nipple piercings glint enticingly. <</if>> -<<if ($activeSlave.amp == 1)>> +<<if isAmputee($activeSlave)>> $His limbless <<if $seeRace == 1>>$activeSlave.race <</if>>torso is a sight to behold. You place your hands on $his breasts and you gently massage <<if ($activeSlave.boobs >= 20000)>> $his colossal tits, doing your best to not miss <<if $showInches == 2>>an inch<<else>>a centimeter<</if>> of their immense size, @@ -145,13 +145,13 @@ You call $him over so you can fondle $his <<else>> flat breasts, <</if>> - <<if ($activeSlave.amp != 1)>> - $he places $his hands on your <<if $PC.boobs == 1>>bosom<<elseif $PC.title == 0>>flat chest<<else>>manly chest<</if>> in turn, $his tendency towards sexual dominance encouraging $him to compete with you in fondling each other. + <<if (hasAnyArms($activeSlave))>> + $he places $his hand<<if (hasBothArms($activeSlave))>>s<</if>> on your <<if $PC.boobs == 1>>bosom<<elseif $PC.title == 0>>flat chest<<else>>manly chest<</if>> in turn, $his tendency towards sexual dominance encouraging $him to compete with you in fondling each other. <</if>> You both alternate between taking your mouth to $his<<if ($activeSlave.lactation > 0)>> milky<</if>> nipples and $hers to yours, gently nuzzling and nibbling while simultaneously fondling each other all the while. Both of you continue to passionately lick, nibble, stroke and fondle one other until tiredly, $he slows down. When you eventually stop, $he looks up at you happily. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he does not speak $language well enough to express $himself. - <<elseif ($activeSlave.amp == 1) && (!canTalk($activeSlave))>> + <<elseif (!hasAnyArms($activeSlave)) && (!canTalk($activeSlave))>> $He does $his best to communicate excitement with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he liked that. @@ -204,7 +204,7 @@ You call $him over so you can fondle $his $He moans passionately at the continued stimulation of $his breasts and nipples. When you finally stop, $he reaches up to your face with $his hand and lovingly strokes it, a blissful look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. - <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> + <<elseif (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -253,7 +253,7 @@ You call $him over so you can fondle $his $He moans passionately at the continued punishment of $his breasts and nipples. Your rough play leaves red marks on $his breasts and nipples and $he becomes even more aroused. When you finally stop $he rubs the marks on $his breasts with $his hands, an ecstatic look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. - <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> + <<elseif (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>> $He does $his best to communicate $his pleasure with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves it. @@ -302,7 +302,7 @@ You call $him over so you can fondle $his $He moans passionately at the continued stimulation of $his breasts and nipples. When you finally stop, $he reaches up to your face with $his hand and lovingly strokes it, a blissful look on $his $activeSlave.skin face. <<if ($activeSlave.accent >= 3)>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>, since $he's not confident in $his ability to express it in $language. - <<elseif ($activeSlave.amp == 1) && !canTalk($activeSlave)>> + <<elseif (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>> $He does $his best to communicate devotion with $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes<<else>>face<</if>>. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you.<<else>>"I love you, <<Master>>," $he <<say>>s euphorically. @@ -347,7 +347,7 @@ You call $him over so you can fondle $his Moving your head close to $his breasts, you nuzzle on a nipple slit with your lips and even lick it delicately with your tongue. Then you alternate, gently probing the depths of the other nipple. You dig deep into both $his breasts, teasing what was once the tips of $his<<if ($activeSlave.lactation > 0)>> milky<</if>> nipples with your fingers before vigorously fingering $his tits. <</if>> You sense considerable uneasiness in the <<if ($activeSlave.physicalAge > 30)>>$woman<<else>>$girl<</if>>; $he's doing $his duty as a slave by complying with your wishes, and is probably struggling with the mixture of resistance, obedience and perhaps even devotion forced to the forefront of $his mind by your hands on $his breasts. $He gradually loses $himself in the feeling of your gentle hands. When you finally stop, $his <<if canSee($activeSlave)>><<= App.Desc.eyeColor($activeSlave)>> eyes gaze<<else>>face gazes<</if>> puzzlingly at you. Even though $he has accepted life as a sex slave, $he looks as though $he is unsure of what to make of this. - <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>> + <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>> $His <<if canSee($activeSlave)>>eyes beg<<else>>expression begs<</if>> for an answer: is that it? <<elseif !canTalk($activeSlave)>> $He signs hesitantly, asking if that's it. diff --git a/src/player/actions/fondleButt.tw b/src/player/actions/fondleButt.tw index 6faf6663d2527abb335cca0d93997b4dbad8688d..561cf532e6c79c12b06b7335de2c110a3b6eaa8c 100644 --- a/src/player/actions/fondleButt.tw +++ b/src/player/actions/fondleButt.tw @@ -141,7 +141,7 @@ as well as $his couch-like <</if>> buttocks a gentle smack. $He turns to face you, kissing you, but looking at you longingly as if $he wants more. - <<if ($activeSlave.amp == 1) && !canTalk($activeSlave)>> + <<if (!hasAnyArms($activeSlave)) && !canTalk($activeSlave)>> $He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -195,7 +195,7 @@ as well as $his <</if>> buttocks a gentle smack. You tell $him to stand as you are finished. $He stands and looks at you quizzically. Though $he has accepted life as a sex slave, $he cannot help but feel a conflicted mixture of enjoyment and mild embarrassment. <<elseif ($activeSlave.devotion >= -20) && ($activeSlave.anus == 0)>> - $He obeys your harmless order but $he can't help but feel slight trepidation and trembles slightly at the thought of you groping $his butt. <<if ($activeSlave.amp != 1)>>$He stands in front of you as you <<else>>You <</if>>reach around and grab $his + $He obeys your harmless order but $he can't help but feel slight trepidation and trembles slightly at the thought of you groping $his butt. <<if (hasAnyLegs($activeSlave))>>$He stands in front of you as you <<else>>You <</if>>reach around and grab $his <<if $activeSlave.butt < 2>> flat <<elseif $activeSlave.butt <= 2>> @@ -258,7 +258,7 @@ as well as $his <</if>> buttocks before rubbing along them, feeling the shape of $his<<if $seeRace == 1>> $activeSlave.race<</if>> ass with your fingers and squeezing gently. $He gasps and shivers as you rub fingers around $his virgin anus. $He remains frozen as you continue to move around $his posterior gently reaching to touch your fingertips against $his sphincter while rubbing $his ass at the same time. $He shudders more while you circle around $his anus, not breaking contact with $him with your fingers. You keep squeezing $his buttocks tenderly — first one, then the other and then finally both. $He is so filled with terror that $he remains stiff while in your grasp, even as it becomes clear to $him you're not going to hurt $him. You pull $his quivering body closer towards you by $his buttocks, turn $him around, and bend $him over your desk. You look at $his quaking rear while you squeeze $his cheeks and rub them with your firm hands. You explore the contours of $his posterior with both your eyes and hands, then look at $his virgin butthole as you trace it with your fingers and thumb. Eventually, you decide to stop. $He gradually stands and looks in your eyes with utter incomprehension, but $he is frightened about what you will do next. <<elseif ($activeSlave.anus == 0)>> - While you grope $his butt, $he tries hard to resist. $He <<if $activeSlave.amp != 1>>grabs your wrists and tugs on your arms<<else>>writhes under your fingers<</if>> but stops, helpless, when you tell $him what the alternatives are. You reach around and grab $his <<if $activeSlave.butt < 2>> + While you grope $his butt, $he tries hard to resist. $He <<if hasAnyArms($activeSlave)>>grabs <<if (hasBothArms($activeSlave))>>your wrists and tugs on your arms<<else>>your wrist and tugs on your arm<</if>><<else>>writhes under your fingers<</if>> but stops, helpless, when you tell $him what the alternatives are. You reach around and grab $his <<if $activeSlave.butt < 2>> flat <<elseif $activeSlave.butt <= 2>> cute @@ -328,8 +328,8 @@ as well as $his <</if>> butthole as you trace it with your fingers and thumb. Eventually, you decide to stop but $he remains in position over your desk until you stand $him up yourself. <<elseif $activeSlave.devotion < -20>> - <<if ($activeSlave.amp != 1)>> - You instruct $him to present $his buttocks and anus. Opposed to the thought of your hands groping $him, $he tries to step back, but you catch $him and pull $him closer to you as you reach around and grab $his + <<if !isAmputee($activeSlave)>> + You instruct $him to present $his buttocks and anus. Opposed to the thought of your hands groping $him, $he tries to <<if (hasAnyLegs($activeSlave))>>step<<else>>move<</if>> back, but you catch $him and pull $him closer to you as you reach around and grab $his <<else>> $He's opposed to the thought of your hands groping $him, but as an amputee can do nothing about it. You reach around and grab $his <</if>> @@ -353,7 +353,7 @@ as well as $his couch-like <</if>> <<if $seeRace == 1>>$activeSlave.race <</if>> buttocks. - <<if ($activeSlave.amp != 1)>> + <<if hasAnyArms($activeSlave)>> $He tries to grab your wrists to keep them away but $he cannot resist for long. <</if>> You start rubbing along $his cheeks, feeling the shape of $his<<if $seeRace == 1>> $activeSlave.race<</if>> ass with your fingers and squeezing gently. $He tries to break out of your grasp as you rub fingers around $his @@ -369,7 +369,7 @@ as well as $his virgin butthole. <</if>> $He writhes as you continue to move around $his posterior, gently reaching to touch your fingertips against $his sphincter while rubbing $his ass at the same time. $He struggles to stay still while you circle around $his anus, not breaking contact with $him with your fingers. You look at $his face and $he has <<if !canSee($activeSlave)>>reflexively <</if>>shut $his eyes, trying not to think about what's happening to $his butt. This only encourages you to continue. You keep squeezing $his buttocks tenderly — first one, then the other and then finally both and $he can't help but quiver while in your grasp. - <<if ($activeSlave.amp != 1)>> + <<if hasBothLegs($activeSlave)>> You pull $his body closer towards you by $his buttocks, turn $him around, and push $him down, bending $him over your desk while $he tries to push away. <<else>> You move closer to $him, turn $him around and push $him down, face-down on your desk while $he tries to wriggle desperately. @@ -388,7 +388,7 @@ as well as $his <</if>> butthole as you trace it with your fingers and thumb. Eventually, you decide to stop. $He slowly stands and looks in your eyes, as though almost demanding answers. $He looks apprehensive about what you will do next. <<elseif ($activeSlave.devotion <= 20) && ($activeSlave.vagina < 0)>> - <<if ($activeSlave.amp != 1)>> + <<if !isAmputee($activeSlave)>> You instruct $him to present $his anus. $He complies without comment, standing in front of you. <<else>> $He's hesitant at the thought of your hands groping $him, but as an amputee can do nothing about it. @@ -426,7 +426,7 @@ as well as $his virgin butthole. <</if>> $He writhes as you continue to move around $his posterior, gently reaching to touch your fingertips against $his sphincter while rubbing $his ass at the same time. $He struggles to stay still while you circle around $his anus with your fingers. You look at $his face and $he has <<if !canSee($activeSlave)>>reflexively <</if>>shut $his eyes, trying not to get aroused by your touch on $his butt. This only encourages you to continue. You keep squeezing $his buttocks tenderly — first one, then the other and then finally both and $he can't help but quiver while in your grasp. - <<if ($activeSlave.amp != 1)>> + <<if hasBothLegs($activeSlave)>> You pull $his body closer towards you by $his buttocks, turn $him around, and push $him down, bending $him over your desk. <<else>> You move closer to $him, turn $him around and push $him down, face-down on your desk while $he wriggles. @@ -445,7 +445,7 @@ as well as $his <</if>> butthole as you trace it with your fingers and thumb. Eventually, you decide to stop and $he looks up at you quizzically, unsure about what you will do next. <<elseif ($activeSlave.devotion <= 50)>> - <<if ($activeSlave.amp != 1)>> + <<if !isAmputee($activeSlave)>> You instruct $him to present $his <<if $seeRace == 1>>$activeSlave.race <</if>>anus. $He hesitates but eventually stands in front of you showing $his buttocks before presenting $his <<if ($activeSlave.anus > 3)>> gaping @@ -483,14 +483,14 @@ as well as $his couch-like <</if>> buttocks. You start rubbing along $his cheeks, feeling the shape of $his<<if $seeRace == 1>> $activeSlave.race<</if>> ass with your fingers and squeezing gently. As you rub your fingers around $his anus, $he starts to relax. $He quivers as you continue to move around $his posterior gently reaching to touch your fingertips against $his sphincter while rubbing $his ass at the same time. $He purses $his lips while you circle around $his anus with your fingers. You look at $his face and $he is looking back at you doe-eyed, trying but failing not to get aroused by your soft touch on $his butt. You keep squeezing $his buttocks tenderly — first one, then the other and then finally both and $he can't help but let out a moan while in your grasp. - <<if ($activeSlave.amp != 1)>> + <<if hasBothLegs($activeSlave)>> You pull $his body closer towards you by $his buttocks, turn $him around, and push $him down, bending $him over your desk. <<else>> You move closer to $him, turn $him around and push $him down, face-down on your desk while $he tries to wriggle desperately. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop, and $he <<if canSee($activeSlave)>>looks up into your eyes<<else>>angles $his head to face you<</if>> longingly, as if $he wants more. <<else>> - <<if ($activeSlave.amp != 1)>> + <<if !isAmputee($activeSlave)>> You instruct $him to present $his <<if $seeRace == 1>>$activeSlave.race <</if>>anus. $He eagerly stands in front of you showing $his buttocks before happily presenting $his <<if ($activeSlave.anus > 3)>> gaping @@ -528,10 +528,10 @@ as well as $his couch-like <</if>> buttocks. You start rubbing along $his cheeks, feeling the shape of $his<<if $seeRace == 1>> $activeSlave.race<</if>> ass with your fingers and squeezing gently. As you rub your fingers around $his anus, $he sighs audibly. $He moans as you continue to move around $his posterior gently reaching to touch your fingertips against $his sphincter while rubbing $his ass at the same time. $He quivers while you circle around $his anus with your fingers. You look at $his face and $he is looking back at you longingly, getting aroused by your continued touch on $his butt. You keep squeezing $his buttocks tenderly — first one, then the other and then finally both and $he can't help but let out a moan while in your grasp. - <<if ($activeSlave.amp != 1)>> + <<if (hasAnyLegs($activeSlave))>> You pull $his body closer towards you by $his buttocks, turn $him around, and push $him down, bending $him over your desk. <<else>> You move closer to $him, turn $him around and push $him down, face-down on your desk so that $his butt is up facing towards you. <</if>> - You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop, and $he <<if canSee($activeSlave)>>looks up into your eyes<<else>>angles $his head to face you<</if>> ecstatically<<if ($activeSlave.amp != 1)>> as $he stands up<</if>>, eager for more. + You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop, and $he <<if canSee($activeSlave)>>looks up into your eyes<<else>>angles $his head to face you<</if>> ecstatically<<if (hasAnyLegs($activeSlave))>> as $he stands up<</if>>, eager for more. <</if>> diff --git a/src/player/actions/fondleDick.tw b/src/player/actions/fondleDick.tw index 4f46acc931ae895c8305aeefa712e926d374638f..ba4af96d43df41fd303bd59c2659b97eced8469a 100644 --- a/src/player/actions/fondleDick.tw +++ b/src/player/actions/fondleDick.tw @@ -109,7 +109,7 @@ You call $him over so you can fondle $his $His prick stiffens like a rod in your hands and you continue your expert strokes along the erect shaft but, except for the cockmilk leaking out of $his dick, $he does not respond. <</if>> Since $he is mindbroken, $his responses to you are purely physiological and your actions have no affect on $him mentally. You leave your toy for one of your other slaves to clean and maintain. -<<elseif ($activeSlave.amp == 1)>> +<<elseif isAmputee($activeSlave)>> Since $he's a quadruple amputee, $he's yours to use as a human finger toy. While $he's lying there helpless, you move your hands towards $him. You gently trace your fingers along $his <<if $activeSlave.dick == 1>> tiny dick @@ -264,7 +264,8 @@ You call $him over so you can fondle $his $His dick remains flaccid as it cannot get stiff and you continue tenderly stroking $his soft dick. <<else>> $His prick stiffens like a rod in your hand and you continue your expert strokes along the erect shaft. - <</if>> $He grabs your wrist with $his hands and tries to stop it from moving but is unable to and despite $his resistant pulling against you. $He bites $his lip but $he cannot help but moan. Soon $he shudders and leaks $his cockmilk as $he orgasms in your hands. $He looks at you shamefully as you stop moving your hands and get cleaned up. + <</if>> + $He <<if hasAnyArms($activeSlave)>>grabs your wrist with $his hand<<if hasBothArms($activeSlave)>>s<</if>><<else>>jostles against your arm<</if>> and tries to stop it from moving but is unable to and despite $his resistant pulling against you. $He bites $his lip but $he cannot help but moan. Soon $he shudders and leaks $his cockmilk as $he orgasms in your hands. $He looks at you shamefully as you stop moving your hands and get cleaned up. <<elseif ($activeSlave.fetish == "masochist") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $He hurriedly comes over to you, to stand between you and your desk. You lean over while $he lies down upon it, face-up, with $his dick pointed towards you. $He gasps when you slap $his <<if $activeSlave.dick == 1>> @@ -367,7 +368,8 @@ You call $him over so you can fondle $his $His dick remains flaccid as it cannot get stiff and you continue tenderly stroking $his soft dick. <<else>> $His prick stiffens like a rod in your hands and you continue your expert strokes along the erect shaft. - <</if>> $He looks into your eyes furtively while $he grabs your wrists with $his hands, moving to match your hand movements. $He moans and shudders, leaking $his cockmilk as $he orgasms in your hands. $He dutifully looks at you as you stop moving your hands and get cleaned up. + <</if>> + $He <<if canSee($activeSlave)>>looks into your eyes<<else>>faces you<</if>> furtively while $he <<if hasAnyArms($activeSlave)>>grabs your wrist<<if hasBothArms($activeSlave)>>s<</if>> with $his hand<<if hasBothArms($activeSlave)>>s<</if>><<else>>moves $his hips ever so slightly<</if>>, moving to match your hand movements. $He moans and shudders, leaking $his cockmilk as $he orgasms in your hands. $He dutifully looks at you as you stop moving your hands and get cleaned up. <<else>> $He devotedly comes over and gives you an impassioned kiss. $He smiles and points $his dick towards you. You gently trace your fingers along $his <<if $activeSlave.dick == 1>> diff --git a/src/player/actions/fondleVagina.tw b/src/player/actions/fondleVagina.tw index 9f5034762dadf80574dd885f288ba6c0da3a997a..bf50bf63efdb072e2ebb70ad150d426571a8a547 100644 --- a/src/player/actions/fondleVagina.tw +++ b/src/player/actions/fondleVagina.tw @@ -71,7 +71,7 @@ You call $him over so you can fondle $his <<if ($activeSlave.vagina == 0)>> <<if ($activeSlave.fetish == "mindbroken")>> - $He accepts your orders dumbly and presents $his virgin pussy to you, watching your hands move towards $him without any real interest. You gently trace along $his + $He accepts your orders dumbly and presents $his virgin pussy to you, <<if canSee($activeSlave)>>watching your hands move towards $him<<else>>waiting<</if>> without any real interest. You gently trace along $his <<if $activeSlave.labia == 1>> lovely petals <<elseif $activeSlave.labia == 2>> @@ -111,8 +111,8 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. As $he becomes more aroused, $he grabs hold of your wrist lightly, moving $his hands along with the motion of your own. $His pussy juices run down $his leg as $he begins to moan audibly<<if ($activeSlave.amp != 1)>>, gently clamping your hand between $his thighs<</if>> as you continue to move your hand along $his pussy. $He moans loudly as $he shudders in orgasmic joy. - <<if (($activeSlave.amp == 1) && !canTalk($activeSlave))>> + and rub it with your fingertips as your hand nears it. As $he becomes more aroused, $he grabs hold of your wrist lightly, moving $his hands along with the motion of your own. $His pussy juices run down $his leg as $he begins to moan audibly<<if (hasAnyLegs($activeSlave))>>, gently clamping your hand between $his thighs<</if>> as you continue to move your hand along $his pussy. $He moans loudly as $he shudders in orgasmic joy. + <<if ((!hasAnyArms($activeSlave)) && !canTalk($activeSlave))>> $He does $his best to communicate love with $his <<= App.Desc.eyeColor($activeSlave)>> eyes. <<elseif !canTalk($activeSlave)>> $He signs that $he loves you. @@ -140,7 +140,7 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. $His pussy juices run down $his leg as $he begins to moan audibly<<if ($activeSlave.amp != 1)>>, grasping your wrist with $his hands tightly<</if>> and clamping $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, almost embarrassed. $He looks into your eyes expectantly. + and rub it with your fingertips as your hand nears it. $His pussy juices run down $his leg as $he begins to moan audibly<<if (hasAnyArms($activeSlave))>>, grasping your wrist with $his hand<<if (hasBothArms($activeSlave))>>s<</if>> tightly<</if>> and clamping $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, almost embarrassed. $He looks into your eyes expectantly. <<elseif ($activeSlave.devotion >= -20)>> $He clearly dislikes the thought of getting fondled by you. $His lower lip quivers with trepidation as $he watches your hands move towards $him. $He has no choice but to obey if $he wants to avoid punishment. $He gasps and shakes as you gently trace along $his <<if $activeSlave.labia == 1>> @@ -162,7 +162,7 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. $His pussy juices run down $his leg as $he begins to moan audibly<<if ($activeSlave.amp != 1)>>, grasping your wrist with $his hands tightly<</if>> and clamping $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, clearly embarrassed to end up in this position as $he loses control. + and rub it with your fingertips as your hand nears it. $His pussy juices run down $his leg as $he begins to moan audibly<<if (hasAnyArms($activeSlave))>>, grasping your wrist with $his hand<<if (hasBothArms($activeSlave))>>s<</if>> tightly<</if>> and clamping $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, clearly embarrassed to end up in this position as $he loses control. <<else>> As you anticipated, $he refuses to let $himself be groped by you. $He is unable to resist you, also as you expected, when you mention some of the alternatives. $He gasps and shakes as you gently trace along $his <<if $activeSlave.labia == 1>> @@ -174,7 +174,7 @@ You call $him over so you can fondle $his <<else>> cute labia <</if>> - with your outstretched fingers, strumming up and down the edges of $his pussylips, then softly rub your fingers along the inner walls with a tender touch, starting slow but gradually increasing the speed of your movements.<<if ($activeSlave.amp != 1)>> $He grabs your wrist with $his hands in an effort to stop you but $he is unable to stop your hand from moving for long.<</if>> You occasionally flick $his + with your outstretched fingers, strumming up and down the edges of $his pussylips, then softly rub your fingers along the inner walls with a tender touch, starting slow but gradually increasing the speed of your movements.<<if (hasAnyArms($activeSlave))>> $He grabs your wrist with $his hand<<if (hasBothArms($activeSlave))>>s<</if>> in an effort to stop you but $he is unable to stop your hand from moving for long.<</if>> You occasionally flick $his <<if $activeSlave.clit == 1>> erect clit <<elseif $activeSlave.clit == 2>> @@ -184,7 +184,7 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. $He <<if ($activeSlave.amp != 1)>>tightly grasps your wrist and<</if>> clamps $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, gripping tighter and shamefully looking at you as you stop moving your hand. + and rub it with your fingertips as your hand nears it. $He <<if (hasAnyArms($activeSlave))>>tightly grasps your wrist and<</if>>clamps $his thighs together as you continue to move your hand along $his pussy. $He moans as $he shudders in an orgasm, gripping tighter and shamefully looking at you as you stop moving your hand. <</if>> <<elseif ($activeSlave.fetish == "mindbroken")>> Like a doll, $he dumbly remains still, watching your hands move towards $him without any real interest. @@ -210,8 +210,9 @@ You call $him over so you can fondle $his pretty little clit <</if>> and rub it with your fingertips as your hand nears it. Except for the pussy juices trickling down $his leg, $he does not respond. - <</if>> Since $he is mindbroken, $his responses to you are purely physiological and your actions have no affect on $him mentally. You leave your toy for one of your other slaves to clean and maintain. -<<elseif ($activeSlave.amp == 1)>> + <</if>> + Since $he is mindbroken, $his responses to you are purely physiological and your actions have no affect on $him mentally. You leave your toy for one of your other slaves to clean and maintain. +<<elseif isAmputee($activeSlave)>> Since $he's a quadruple amputee, $he's yours to use as a human finger toy. While $he's lying there helpless, you move your hands towards $him. <<if ($activeSlave.vagina != -1)>> You gently trace along $his @@ -235,7 +236,8 @@ You call $him over so you can fondle $his pretty little clit <</if>> and rub it with your fingertips as your hand nears it. - <</if>> Soon $he shudders in an orgasm, looking at you as you stop moving your hand. You leave your toy for one of your other slaves to clean and maintain. + <</if>> + Soon $he shudders in an orgasm, <<if canSee($activeSlave)>>looking at you<<else>>facing<</if>> as you stop moving your hand. You leave your toy for one of your other slaves to clean and maintain. <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $He comes submissively over, smiling a little submissive smile, and points $his pussy towards you. <<if ($activeSlave.vagina != -1)>> @@ -259,7 +261,7 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. $He begs you not to stop as $he looks into your eyes expectantly as $he shudders in an orgasm. + and rub it with your fingertips as your hand nears it. $He begs you not to stop as $he <<if canSee($activeSlave)>>looks into your eyes<<else>>faces<</if>> expectantly as $he shudders in an orgasm. <</if>> <<elseif $activeSlave.devotion < -20>> $He tries to refuse, so you push the disobedient slave down over your desk as you move your hands towards $him. @@ -274,7 +276,7 @@ You call $him over so you can fondle $his <<else>> cute labia <</if>> - with your outstretched fingers, strumming up and down the edges of $his pussylips, then softly rub your fingers along the inner walls with a tender touch, starting slow but gradually increasing the speed of your movements. $He grabs your wrist to try to stop you but $he is unable to. You occasionally flick $his + with your outstretched fingers, strumming up and down the edges of $his pussylips, then softly rub your fingers along the inner walls with a tender touch, starting slow but gradually increasing the speed of your movements. $He <<if hasAnyArms($activeSlave)>>grabs your wrist<<else>>twists and turns<</if>> to try to stop you but $he is unable to. You occasionally flick $his <<if $activeSlave.clit == 1>> large clit <<elseif $activeSlave.clit == 2>> @@ -285,7 +287,8 @@ You call $him over so you can fondle $his pretty little clit <</if>> and rub it with your fingertips as your hand nears it, despite $his resistant pulling against you. $He bites $his lip but $he cannot help but moan and $he shudders in an orgasm. - <</if>> $He looks at you shamefully as you stop moving your hand. + <</if>> + $He <<if canSee($activeSlave)>>looks at you<<else>>faces<</if>> shamefully as you stop moving your hand. <<elseif $activeSlave.devotion <= 20>> $He obeys silently, standing in front of you as you move your hands towards $him. <<if ($activeSlave.vagina != -1)>> @@ -309,8 +312,9 @@ You call $him over so you can fondle $his <<else>> pretty little clit <</if>> - and rub it with your fingertips as your hand nears it. $He looks into your eyes furtively while $he grabs your wrist with $his hand and $he squeezes $his thighs together as $he moans and shudders in an orgasm. - <</if>> $He dutifully looks at you as you stop moving your hand. + and rub it with your fingertips as your hand nears it. $He looks into your eyes furtively while<<if hasAnyArms($activeSlave)>> $he grabs your wrist with $his hand and<</if>> $he squeezes $his thighs together as $he moans and shudders in an orgasm. + <</if>> + $He dutifully <<if canSee($activeSlave)>>looks at you<<else>>faces<</if>> as you stop moving your hand. <<else>> $He devotedly comes over and gives you an impassioned kiss. $He smiles and points $his pussy towards you. <<if ($activeSlave.vagina != -1)>> @@ -335,5 +339,6 @@ You call $him over so you can fondle $his pretty little clit <</if>> and rub it with your fingertips as your hand nears it. $He squeezes $his thighs lightly against your hand as $he moans and shudders in orgasmic bliss. - <</if>> $He looks at you passionately as you stop moving your hand. + <</if>> + $He <<if canSee($activeSlave)>>looks at you<<else>>faces<</if>> passionately as you stop moving your hand. <</if>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index fbcf199b5c6e563dd1b9db9b83ab1367c02149d8..fcc3dbe857c4f708cc48529a16e8ee9f245a51a2 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -61,6 +61,20 @@ <<set $scarDesign = {primary: "generic", local: "generic"}>> <</if>> +<<if !$customSlave.hasOwnProperty("skill")>> + <<set $customSlave.skill = {whore: 15, combat: 0}>> +<</if>> + +<<if $customSlave.hasOwnProperty("whoreSkills")>> + <<set $customSlave.skill.whore = $customSlave.whoreSkills>> + <<run delete $customSlave.whoreSkills>> +<</if>> + +<<if $customSlave.hasOwnProperty("combatSkills")>> + <<set $customSlave.skill.combat = $customSlave.combatSkills>> + <<run delete $customSlave.combatSkills>> +<</if>> + <<if def $servantMilkersJobs>> <<unset $servantMilkersJobs>> <</if>> diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw index aee6e814ea371fba6b2faa395a918168eb77a89c..ca7e8fdc0ee63ccd93c319adb1f08a7ecb495e7a 100644 --- a/src/uncategorized/bodyModification.tw +++ b/src/uncategorized/bodyModification.tw @@ -1258,6 +1258,7 @@ Or a custom site: <<textbox "$scarTarget.local" $scarTarget.local "Body Modifica <</if>> Scar $him now with ''$scarDesign.local'' on the <<link "left">> + <<set $scarTarget.local = _leftTarget>> <<set $scarApplied = 1>> <<run App.Medicine.Modification.addScar($activeSlave, _leftTarget, $scarDesign.local)>> <<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>> @@ -1266,6 +1267,7 @@ Or a custom site: <<textbox "$scarTarget.local" $scarTarget.local "Body Modifica <</link>> $scarTarget.local, or the <<link "right">> + <<set $scarTarget.local = _rightTarget>> <<set $scarApplied = 1>> <<run App.Medicine.Modification.addScar($activeSlave, _rightTarget, $scarDesign.local)>> <<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>> diff --git a/src/uncategorized/customSlave.tw b/src/uncategorized/customSlave.tw index 2e22d22bef2166f750ef02785217997f901dd6ff..83852a6a72163399924d0b6556dd9f83fa047c9f 100644 --- a/src/uncategorized/customSlave.tw +++ b/src/uncategorized/customSlave.tw @@ -1019,12 +1019,12 @@ Skin tone: <span id = "skin"> <</link>> | <<link "Skilled">> - <<set $customSlave.skills = 15>> + <<set $customSlave.skills = 35>> <<CustomSlaveSkills>> <</link>> | <<link "Expert">> - <<set $customSlave.skills = 35>> + <<set $customSlave.skills = 65>> <<CustomSlaveSkills>> <</link>> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index 4db8ac2a928c45453841e60bca829846400e0347..7a9282d7a17e516a728e8eed4a6b71fc0e659877 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -1688,9 +1688,7 @@ is <br> -<<if $activeSlave.amp != 0>> - <<= App.Desc.amputee($activeSlave)>> -<</if>> +<<= App.Desc.limbs($activeSlave)>> <<ClothingDescription>> <<if $showBodyMods == 1>> @@ -2153,8 +2151,7 @@ $He is <<else>> <<BellyDescription>> <</if>> -<<= App.Desc.mods($activeSlave, "navel")>> - +/*<<= App.Desc.mods($activeSlave, "navel")>> Currently contained in <<bellyDescription>>*/ <<ButtDescription>> <br> diff --git a/src/uncategorized/neighborsFSAdoption.tw b/src/uncategorized/neighborsFSAdoption.tw index 978416f928df0b07b5f86da49cc296b3df911994..32fa30d14bec940129008ecf8f5d22033b4f4b6a 100644 --- a/src/uncategorized/neighborsFSAdoption.tw +++ b/src/uncategorized/neighborsFSAdoption.tw @@ -65,6 +65,14 @@ societal development. <<if $arcologies[$i].FSDegradationist != "unset">><<set $arcologies[$i].FSDegradationist = "unset">><</if>> $desc devoted to their slaves' advancement, leading the arcology to @@.yellow;adopt Paternalism.@@ <<set $arcologies[$i].FSPaternalist = 5>><<set _adopted = 1>> + <<case "Intellectual Dependency">> + <<if $arcologies[$i].FSIntellectualDependency != "unset">><<set $arcologies[$i].FSIntellectualDependency = "unset">><</if>> + $desc obsessed with crafting the perfect slave, leading the arcology to @@.yellow;adopt Slave Professionalism.@@ + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<set _adopted = 1>> + <<case "Slave Professionalism">> + <<if $arcologies[$i].FSSlaveProfessionalism != "unset">><<set $arcologies[$i].FSSlaveProfessionalism = "unset">><</if>> + $desc worried that they may one day be outsmarted by their chattel, leading the arcology to @@.yellow;adopt Intellectual Dependency.@@ + <<set $arcologies[$i].FSIntellectualDependency = 5>><<set _adopted = 1>> <<case "Body Purism">> <<if $arcologies[$i].FSBodyPurist != "unset">><<set $arcologies[$i].FSBodyPurist = "unset">><</if>> $desc fascinated with extreme surgery, leading the arcology to @@.yellow;adopt Transformation Fetishism.@@ @@ -81,6 +89,14 @@ societal development. <<if $arcologies[$i].FSMaturityPreferentialist != "unset">><<set $arcologies[$i].FSMaturityPreferentialist = "unset">><</if>> $desc devoted to fucking nubile young slaves, leading the arcology to @@.yellow;adopt Youth Preferentialism.@@ <<set $arcologies[$i].FSYouthPreferentialist = 5>><<set _adopted = 1>> + <<case "Petite Admiration">> + <<if $arcologies[$i].FSPetiteAdmiration != "unset">><<set $arcologies[$i].FSPetiteAdmiration = "unset">><</if>> + $desc convinced that tall equals beauty, leading the arcology to @@.yellow;adopt Statuesque Glorification.@@ + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<set _adopted = 1>> + <<case "Statuesque Glorification">> + <<if $arcologies[$i].FSStatuesqueGlorification != "unset">><<set $arcologies[$i].FSStatuesqueGlorification = "unset">><</if>> + $desc enamored by those shorter than them, leading the arcology to @@.yellow;adopt Petite Admiration.@@ + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<set _adopted = 1>> <<case "Slimness Enthusiasm">> <<if $arcologies[$i].FSSlimnessEnthusiast != "unset">><<set $arcologies[$i].FSSlimnessEnthusiast = "unset">><</if>> $desc loves boobs, the bigger, the better, leading the arcology to @@.yellow;adopt Asset Expansionism.@@ @@ -221,6 +237,17 @@ societal development. <<set $arcologies[$i].FSPaternalist = 5>><<set _adopted = 1>> <</if>> <</if>> + <<if $arcologies[0].FSIntellectualDependency > random(5,60)>> + <<if ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + $desc obsessed with crafting the perfect slave, leading the arcology to @@.yellow;adopt Slave Professionalism.@@ + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<set _adopted = 1>> + <</if>> + <<elseif $arcologies[0].FSSlaveProfessionalism > random(5,60)>> + <<if ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + $desc worried that they may one day be outsmarted by their chattel, leading the arcology to @@.yellow;adopt Intellectual Dependency.@@ + <<set $arcologies[$i].FSIntellectualDependency = 5>><<set _adopted = 1>> + <</if>> + <</if>> <<if $arcologies[0].FSBodyPurist > random(5,60)>> <<if ($arcologies[$i].FSBodyPurist == "unset") && ($arcologies[$i].FSTransformationFetishist == "unset")>> $desc fascinated with extreme surgery, leading the arcology to @@.yellow;adopt Transformation Fetishism.@@ @@ -243,6 +270,17 @@ societal development. <<set $arcologies[$i].FSYouthPreferentialist = 5>><<set _adopted = 1>> <</if>> <</if>> + <<if $arcologies[0].FSPetiteAdmiration > random(5,60)>> + <<if ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + $desc convinced that tall equals beauty, leading the arcology to @@.yellow;adopt Statuesque Glorification.@@ + <<set $arcologies[$i].FSStatuesqueGlorification = 5>><<set _adopted = 1>> + <</if>> + <<elseif $arcologies[0].FSStatuesqueGlorification > random(5,60)>> + <<if ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + $desc enamored by those shorter than them, leading the arcology to @@.yellow;adopt Petite Admiration.@@ + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<set _adopted = 1>> + <</if>> + <</if>> <<if $arcologies[0].FSSlimnessEnthusiast > random(5,60)>> <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> $desc loves boobs, the bigger, the better, leading the arcology to @@.yellow;adopt Asset Expansionism.@@ @@ -353,6 +391,21 @@ societal development. <</if>> <</if>> <</if>> +<<if ($arcologies[$i].FSIntellectualDependency == "unset")>> + <<if ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + <<if ($leaders[$j].intelligence+$leaders[$j].intelligenceImplant >= 120) && ($leaders[$j].skill.vagina+$leaders[$j].skill.oral+$leaders[$j].skill.anal+$leaders[$j].skill.whoring+$leaders[$j].skill.entertainment >= 400)>> + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Slave Professionalism,@@ since $he wishes to produce slaves you can be proud of. + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<break>> + <<elseif ($leaders[$j].intelligence+$leaders[$j].intelligenceImplant >= 120) && ($leaders[$j].behavioralFlaw == "arrogant" || $leaders[$j].behavioralQuirk == "insecure")>> + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Intellectual Dependency,@@ <<if $leaders[$j].behavioralQuirk == "insecure">> + since, due to $his own insecurities, needs to be frequently reassured that $he is smarter than the masses. + <<else>> + since $he absolutely needs to feel intellectually superior to $his chattel. + <</if>> + <<set $arcologies[$i].FSIntellectualDependency = 5>><<break>> + <</if>> + <</if>> +<</if>> <<if ($arcologies[$i].FSBodyPurist == "unset")>> <<if ($arcologies[$i].FSTransformationFetishist == "unset")>> <<if $leaders[$j].chem > 50>> @@ -383,6 +436,9 @@ societal development. <<elseif $leaders[$j].fetish == "boobs">> Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Asset Expansionism,@@ since $he's a breast expansion fetishist in addition to being a mere breast fetishist. <<set $arcologies[$i].FSAssetExpansionist = 5>><<break>> + <<elseif $leaders[$j].sexualQuirk == "size queen" && $leaders[$j].vagina > 3>> + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Asset Expansionism,@@ since $he's a stickler for big dicks and seeks to find one large enough to push $him to $his very limit. + <<set $arcologies[$i].FSAssetExpansionist = 5>><<break>> <</if>> <</if>> <</if>> @@ -411,6 +467,17 @@ societal development. <</if>> <</if>> <</if>> +<<if ($arcologies[$i].FSPetiteAdmiration == "unset")>> + <<if ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + <<if $leaders[$j].height >= 200>> + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Statuesque Glorification,@@ since $he is tired of being one of the tallest in arcology. + <<set $arcologies[$i].FSStatuesqueGlorification = 5>><<break>> + <<elseif $leaders[$j].height >= 170 && $leaders[$j].fetish == "dom">> + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Petite Admiration,@@ since it is far easier to dominate someone much smaller than oneself. + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<break>> + <</if>> + <</if>> +<</if>> <<if ($arcologies[$i].FSIncestFetishist == "unset")>> <<if $familyTesting == 1>> <<set _lover = $slaves.find(function(s) { return s.ID == $leaders[$j].relationshipTarget && areRelated(s, $leaders[$j]) && s.assignment == "live with your agent"; })>> @@ -547,14 +614,20 @@ societal development. <<elseif ($arcologies[$i].FSGenderFundamentalist == "unset") && ($arcologies[$i].FSGenderRadicalist == "unset")>> The arcology's Repopulationist culture @@.yellow;pushes it towards Gender Fundamentalism,@@ since traditional women make better mothers. <<set $arcologies[$i].FSGenderFundamentalist = 5>><<break>> + <<elseif ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + The arcology's Repopulationist culture @@.yellow;pushes it towards Petite Admiration,@@ since shorter women tend to have an easier time with childbirth. + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<break>> <</if>> <<elseif $arcologies[$i].FSRestart > random(50,200)>> <<if ($arcologies[$i].FSDegradationist == "unset") && ($arcologies[$i].FSPaternalist == "unset")>> The arcology's elite focused culture @@.yellow;pushes it towards Degradationism,@@ since its lowest class deserves nothing but misery. <<set $arcologies[$i].FSDegradationist = 5>><<break>> + <<elseif ($arcologies[$i].FSSlaveProfessionalism == "unset") && ($arcologies[$i].FSIntellectualDependency == "unset")>> + The arcology's elite focused culture @@.yellow;pushes it towards Slave Professionalism,@@ since the highest class deserve nothing less than the best slaves. + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<break>> <<elseif ($arcologies[$i].FSHedonisticDecadence == "unset") && ($arcologies[$i].FSPhysicalIdealist == "unset")>> The arcology's wide range of imports @@.yellow;pushes it towards Decadent Hedonism,@@ since it has access to so many undiscovered pleasures. - <<set $arcologies[$i].FSDegradationist = 5>><<break>> + <<set $arcologies[$i].FSHedonisticDecadence = 5>><<break>> <</if>> <</if>> <<if $arcologies[$i].FSGenderRadicalist > random(50,200)>> @@ -566,12 +639,15 @@ societal development. <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<break>> <<elseif ($arcologies[$i].FSPastoralist == "unset") && ($arcologies[$i].FSCummunism == "unset")>> The arcology's Gender Radicalist culture @@.yellow;pushes it towards Cummunism,@@ since many of its slaves are capable of giving cum. - <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<break>> + <<set $arcologies[$i].FSCummunism = 5>><<break>> <</if>> <<elseif $arcologies[$i].FSGenderFundamentalist > random(50,200)>> <<if ($arcologies[$i].FSPastoralist == "unset") && ($arcologies[$i].FSCummunism == "unset")>> The arcology's Gender Fundamentalist culture @@.yellow;pushes it towards Pastoralism,@@ since its pregnant slaves are already giving milk. <<set $arcologies[$i].FSPastoralist = 5>><<break>> + <<elseif ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + The arcology's Gender Fundamentalist culture @@.yellow;pushes it towards Intellectual Dependency,@@ since women don't need to think to serve men. + <<set $arcologies[$i].FSYouthPreferentialist = 5>><<break>> <<elseif ($arcologies[$i].FSYouthPreferentialist == "unset") && ($arcologies[$i].FSMaturityPreferentialist == "unset")>> The arcology's Gender Fundamentalist culture @@.yellow;pushes it towards Youth Preferentialism,@@ since younger slaves are beautiful and fertile. <<set $arcologies[$i].FSYouthPreferentialist = 5>><<break>> @@ -597,6 +673,32 @@ societal development. <<set $arcologies[$i].FSGenderRadicalist = 5>><<break>> <</if>> <</if>> +<<if $arcologies[$i].FSIntellectualDependency > random(50,200)>> + <<if ($arcologies[$i].FSTransformationFetishist == "unset") && ($arcologies[$i].FSBodyPurist == "unset")>> + The arcology's Intellectual Dependency culture @@.yellow;pushes it towards Transformation Fetishism,@@ to give its bimbos a body most fitting. + <<set $arcologies[$i].FSTransformationFetishist = 5>><<break>> + <<elseif ($arcologies[$i].FSYouthPreferentialist == "unset") && ($arcologies[$i].FSMaturityPreferentialist == "unset")>> + The arcology's Intellectual Dependency culture @@.yellow;pushes it towards Youth Preferentialism,@@ since the young have more energy to party. + <<set $arcologies[$i].FSYouthPreferentialist = 5>><<break>> + <<elseif ($arcologies[$i].FSHedonisticDecadence == "unset") && ($arcologies[$i].FSPhysicalIdealist == "unset")>> + The arcology's Intellectual Dependency culture @@.yellow;pushes it towards Decadent Hedonism,@@ since base instinct already rules slaves' lives. + <<set $arcologies[$i].FSHedonisticDecadence = 5>><<break>> + <<elseif ($arcologies[$i].FSRepopulationFocus == "unset") && ($arcologies[$i].FSRestart == "unset")>> + The arcology's Intellectual Dependency culture @@.yellow;pushes it towards Repopulationism,@@ since there has been an epidemic of unplanned pregnancies among the slave population. + <<set $arcologies[$i].FSRepopulationFocus = 5>><<break>> + <</if>> +<<elseif $arcologies[$i].FSSlaveProfessionalism > random(50,200)>> + <<if ($arcologies[$i].FSMaturityPreferentialist == "unset") && ($arcologies[$i].FSYouthPreferentialist == "unset")>> + The arcology's Slave Professionalism culture @@.yellow;pushes it towards Maturity Preferentialist,@@ since with age comes experience. + <<set $arcologies[$i].FSMaturityPreferentialist = 5>><<break>> + <<elseif ($arcologies[$i].FSPaternalist == "unset") && ($arcologies[$i].FSDegradationist == "unset")>> + The arcology's Slave Professionalism culture @@.yellow;pushes it towards Paternalism,@@ since happy slaves are much more willing to be molded in to shape. + <<set $arcologies[$i].FSPaternalist = 5>><<break>> + <<elseif ($arcologies[$i].FSChattelReligionist == "unset")>> + The arcology's Slave Professionalism culture @@.yellow;pushes it towards Chattel Religionism,@@ since skilled service is already a part of a slave's daily life. + <<set $arcologies[$i].FSChattelReligionist = 5>><<break>> + <</if>> +<</if>> <<if $arcologies[$i].FSBodyPurist > random(50,200)>> <<if ($arcologies[$i].FSPhysicalIdealist == "unset") && ($arcologies[$i].FSHedonisticDecadence == "unset")>> The arcology's Body Purist culture @@.yellow;pushes it towards Physical Idealism,@@ since it already takes an intense interest in bodily perfection. @@ -616,11 +718,11 @@ societal development. <</if>> <<if $arcologies[$i].FSYouthPreferentialist > random(50,200)>> <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> - The arcology's Youth Preferentialist culture @@.yellow;pushes it towards Slimness Enthusiasm,@@ since that's the kind of body many of its slaves have. - <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<break>> + The arcology's Youth Preferentialist culture @@.yellow;pushes it towards Slimness Enthusiasm,@@ since that's the kind of body many of its slaves have. + <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<break>> <<elseif ($arcologies[$i].FSRepopulationFocus == "unset") && ($arcologies[$i].FSRestart == "unset")>> - The arcology's Youth Preferentialist culture @@.yellow;pushes it towards Repopulationism,@@ since many of its slaves are deliciously ripe for breeding. - <<set $arcologies[$i].FSRepopulationFocus = 5>><<break>> + The arcology's Youth Preferentialist culture @@.yellow;pushes it towards Repopulationism,@@ since many of its slaves are deliciously ripe for breeding. + <<set $arcologies[$i].FSRepopulationFocus = 5>><<break>> <</if>> <<elseif $arcologies[$i].FSMaturityPreferentialist > random(50,200)>> <<if ($arcologies[$i].FSAssetExpansionist == "unset") && ($arcologies[$i].FSSlimnessEnthusiast == "unset")>> @@ -631,6 +733,26 @@ societal development. <<set $arcologies[$i].FSPaternalist = 5>><<break>> <</if>> <</if>> +<<if $arcologies[$i].FSPetiteAdmiration > random(50,200)>> + <<if ($arcologies[$i].FSAssetExpansionist == "unset") && ($arcologies[$i].FSSlimnessEnthusiast == "unset")>> + The arcology's Petite Admiration culture @@.yellow;pushes it towards Asset Expansionist,@@ since a $girl with tits wider than $he is tall attracts quite some attention. + <<set $arcologies[$i].FSAssetExpansionist = 5>><<break>> + <<elseif ($arcologies[$i].FSPaternalist == "unset") && ($arcologies[$i].FSDegradationist == "unset")>> + The arcology's Petite Admiration culture @@.yellow;pushes it towards Paternalism,@@ since such tiny <<= $girl>>s need extra special attention. + <<set $arcologies[$i].FSPaternalist = 5>><<break>> + <<elseif $arcologies[$i].FSIncestFetishist == "unset" && $seeIncest == 1>> + The arcology's Petite Admiration culture @@.yellow;pushes it towards Incest Fetishism,@@ since age play often goes hand-in-hand with size play. + <<set $arcologies[$i].FSIncestFetishist = 5>><<break>> + <</if>> +<<elseif $arcologies[$i].FSStatuesqueGlorification > random(50,200)>> + <<if ($arcologies[$i].FSPhysicalIdealist == "unset") && ($arcologies[$i].FSHedonisticDecadence == "unset")>> + The arcology's Statuesque Glorification culture @@.yellow;pushes it towards Physical Idealism,@@ since being ripped complements being tall. + <<set $arcologies[$i].FSPhysicalIdealist = 5>><<break>> + <<elseif ($arcologies[$i].FSPaternalist == "unset") && ($arcologies[$i].FSDegradationist == "unset")>> + The arcology's Statuesque Glorification culture @@.yellow;pushes it towards Degradationism,@@ since those that don't measure up deserve only suffering. + <<set $arcologies[$i].FSDegradationist = 5>><<break>> + <</if>> +<</if>> <<if $arcologies[$i].FSSlimnessEnthusiast > random(50,200)>> <<if ($arcologies[$i].FSYouthPreferentialist == "unset") && ($arcologies[$i].FSMaturityPreferentialist == "unset")>> The arcology's Slimness Enthusiast culture @@.yellow;pushes it towards Youth Preferentialism,@@ since younger slaves are often attractively slim. @@ -646,6 +768,9 @@ societal development. <<elseif ($arcologies[$i].FSBodyPurist == "unset") && ($arcologies[$i].FSTransformationFetishist == "unset")>> The arcology's Asset Expansionist culture @@.yellow;pushes it towards Body Purism,@@ since slaves on curatives are slaves not on growth hormones. <<set $arcologies[$i].FSBodyPurist = 5>><<break>> + <<elseif ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + The arcology's Asset Expansionist culture @@.yellow;pushes it towards Petite Admiration,@@ since the smaller a slave's body is, the bigger their breasts will look. + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<break>> <</if>> <</if>> <<if $arcologies[$i].FSPastoralist > random(50,200)>> @@ -675,6 +800,9 @@ societal development. <<if ($arcologies[$i].FSPastoralist == "unset") && ($arcologies[$i].FSCummunism == "unset")>> The arcology's Hedonistic culture @@.yellow;pushes it towards Pastoralism,@@ since nothing beats a nice glass of fresh squeezed milk with your cake. <<set $arcologies[$i].FSPastoralist = 5>><<break>> + <<elseif ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + The arcology's Hedonistic culture @@.yellow;pushes it towards Intellectual Dependency,@@ since higher thought is unneeded when you have everything you want. + <<set $arcologies[$i].FSIntellectualDependency = 5>><<break>> <<elseif ($arcologies[$i].FSPaternalist == "unset") && ($arcologies[$i].FSDegradationist == "unset")>> The arcology's Hedonistic culture @@.yellow;pushes it towards Paternalism,@@ since happiness is infectious. <<set $arcologies[$i].FSPaternalist = 5>><<break>> @@ -686,6 +814,9 @@ societal development. <<elseif ($arcologies[$i].FSYouthPreferentialist == "unset") && ($arcologies[$i].FSMaturityPreferentialist == "unset")>> The arcology's Physical Idealist culture @@.yellow;pushes it towards Youth Preferentialism,@@ since beauty and athletic prowess do tend to peak early. <<set $arcologies[$i].FSYouthPreferentialist = 5>><<break>> + <<elseif ($arcologies[$i].FSStatuesqueGlorification == "unset") && ($arcologies[$i].FSPetiteAdmiration == "unset")>> + The arcology's Physical Idealist culture @@.yellow;pushes it towards Statuesque Glorification,@@ to better emulate the titans of legend. + <<set $arcologies[$i].FSStatuesqueGlorification = 5>><<break>> <<elseif ($arcologies[$i].FSCummunism == "unset") && ($arcologies[$i].FSPastoralist == "unset")>> The arcology's Physical Idealist culture @@.yellow;pushes it towards Cummunism,@@ since muscular, testosterone filled slaves make admirable cumshots. <<set $arcologies[$i].FSCummunism = 5>><<break>> @@ -724,7 +855,7 @@ societal development. <<if $arcologies[$i].FSAztecRevivalist > random(50,200)>> <<if ($arcologies[$i].FSDegradationist == "unset") && ($arcologies[$i].FSPaternalist == "unset")>> The arcology's Aztec Revivalist culture @@.yellow;pushes it towards Degradation,@@ since most Aztec war slaves were tortured and sacrificed. - <<set $arcologies[$i].FSPaternalist = 5>><<break>> + <<set $arcologies[$i].FSDegradationist = 5>><<break>> <</if>> <</if>> <<if $arcologies[$i].FSEgyptianRevivalist > random(50,200)>> @@ -737,7 +868,7 @@ societal development. <</if>> <</if>> <<if $arcologies[$i].FSEdoRevivalist > random(50,200)>> - <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSTransformationFetishist == "unset")>> + <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> The arcology's Edo Revivalist culture @@.yellow;pushes it towards Slimness Enthusiasm,@@ since slim and elegant slaves are already fashionable there. <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<break>> <</if>> @@ -835,6 +966,18 @@ societal development. <<break>> <</if>> <</if>> + <<if ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + <<if $arcologies[$j].FSIntellectualDependency > random(0,200)+(_adopted*100)-$influenceBonus>> + It @@.yellow;adopts Intellectual Dependency@@ due to influence from its trading partner $arcologies[$j].name. + <<set $arcologies[$i].FSIntellectualDependency = 5>><<set _adopted = 1>> + <<break>> + <</if>> + <<if $arcologies[$j].FSSlaveProfessionalism > random(0,200)+(_adopted*100)-$influenceBonus>> + It @@.yellow;adopts Slave Professionalism@@ due to influence from its trading partner $arcologies[$j].name. + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<set _adopted = 1>> + <<break>> + <</if>> + <</if>> <<if ($arcologies[$i].FSBodyPurist == "unset") && ($arcologies[$i].FSTransformationFetishist == "unset")>> <<if $arcologies[$j].FSBodyPurist > random(0,200)+(_adopted*100)-$influenceBonus>> It @@.yellow;adopts Body Purism@@ due to influence from its trading partner $arcologies[$j].name. @@ -859,6 +1002,18 @@ societal development. <<break>> <</if>> <</if>> + <<if ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + <<if $arcologies[$j].FSPetiteAdmiration > random(0,200)+(_adopted*100)-$influenceBonus>> + It @@.yellow;adopts Petite Admiration@@ due to influence from its trading partner $arcologies[$j].name. + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<set _adopted = 1>> + <<break>> + <</if>> + <<if $arcologies[$j].FSStatuesqueGlorification > random(0,200)+(_adopted*100)-$influenceBonus>> + It @@.yellow;adopts Statuesque Glorification@@ due to influence from its trading partner $arcologies[$j].name. + <<set $arcologies[$i].FSStatuesqueGlorification = 5>><<set _adopted = 1>> + <<break>> + <</if>> + <</if>> <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> <<if $arcologies[$j].FSSlimnessEnthusiast > random(0,200)+(_adopted*100)-$influenceBonus>> It @@.yellow;adopts Slimness Enthusiasm@@ due to influence from its trading partner $arcologies[$j].name. @@ -957,7 +1112,7 @@ societal development. <<default>> <<set $desc = "Its citizens are">> <</switch>> -<<switch random(1,26)>> +<<switch random(1,30)>> <<case 1>> <<set _subjugationRace = setup.filterRacesLowercase.random()>> <<if ($arcologies[$i].FSSubjugationist == "unset")>> @@ -1018,12 +1173,12 @@ societal development. <</if>> <<case 11>> <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> - $desc loves a slim slave with tight holes, leading the arcology to @@.yellow;adopt Slimness Enthusiasm.@@ + $desc partial to a slim slave with tight holes, leading the arcology to @@.yellow;adopt Slimness Enthusiasm.@@ <<set $arcologies[$i].FSSlimnessEnthusiast = 5>><<set _adopted = 1>> <</if>> <<case 12>> <<if ($arcologies[$i].FSSlimnessEnthusiast == "unset") && ($arcologies[$i].FSAssetExpansionist == "unset")>> - $desc loves boobs, the bigger, the better, leading the arcology to @@.yellow;adopt Asset Expansionism.@@ + $desc enthusiastic about boobs, the bigger, the better, leading the arcology to @@.yellow;adopt Asset Expansionism.@@ <<set $arcologies[$i].FSAssetExpansionist = 5>><<set _adopted = 1>> <</if>> <<case 13>> @@ -1038,7 +1193,7 @@ societal development. <</if>> <<case 15>> <<if ($arcologies[$i].FSChattelReligionist == "unset")>> - $desc is devoutly religious, and interested in a reformation, leading the arcology to @@.yellow;adopt Chattel Religionism.@@ + $desc devoutly religious, and interested in a reformation, leading the arcology to @@.yellow;adopt Chattel Religionism.@@ <<set $arcologies[$i].FSChattelReligionist = 5>><<set _adopted = 1>> <</if>> <<case 16>> @@ -1096,6 +1251,26 @@ societal development. $desc obsessed with their relatives, leading the arcology to @@.yellow;adopt Incest Fetishism.@@ <<set $arcologies[$i].FSIncestFetishist = 5>><<set _adopted = 1>> <</if>> +<<case 27>> + <<if ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + $desc partial to airheaded horny bimbos, leading the arcology to @@.yellow;adopt Intellectual Dependency.@@ + <<set $arcologies[$i].FSIntellectualDependency = 5>><<set _adopted = 1>> + <</if>> +<<case 28>> + <<if ($arcologies[$i].FSIntellectualDependency == "unset") && ($arcologies[$i].FSSlaveProfessionalism == "unset")>> + $desc obsessed with crafting the perfect slave, leading the arcology to @@.yellow;adopt Slave Professionalism.@@ + <<set $arcologies[$i].FSSlaveProfessionalism = 5>><<set _adopted = 1>> + <</if>> +<<case 29>> + <<if ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + $desc enamored by those shorter than them, leading the arcology to @@.yellow;adopt Petite Admiration.@@ + <<set $arcologies[$i].FSPetiteAdmiration = 5>><<set _adopted = 1>> + <</if>> +<<case 30>> + <<if ($arcologies[$i].FSPetiteAdmiration == "unset") && ($arcologies[$i].FSStatuesqueGlorification == "unset")>> + $desc convinced that tall equals beauty, leading the arcology to @@.yellow;adopt Statuesque Glorification.@@ + <<set $arcologies[$i].FSStatuesqueGlorification = 5>><<set _adopted = 1>> + <</if>> <</switch>> <</if>> <</if>> diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw index aa212706caa7e89562dde79e8bfed171eeafecd7..3b6b54b82e21f4f2fcb8685c0ca6d47ed1482c54 100644 --- a/src/uncategorized/pRivalryActions.tw +++ b/src/uncategorized/pRivalryActions.tw @@ -391,6 +391,10 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.stampTat = "degradation">> <<set $hostage.fetish = "masochist">> <<set $hostage.fetishStrength = 10>> + <<run App.Medicine.Modification.addScar($hostage, "left ankle", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right ankle", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "left calf", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right calf", "surgical", 2)>> undergoing surgery to sever the tendons in $his heels. <<case "Degradationism">> <<set $hostage.trust -= 5>> @@ -669,6 +673,23 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.behavioralQuirk = "none">> <<set $hostage.behavioralFlaw = "odd">> <<set $hostage.sexualFlaw = "apathetic">> + /* Scars: */ + <<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>> + <<if $hostage.amp != 1>> + <<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>> + <</if>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>> + <</for>> + /* Manacles */ + <<if $hostage.amp != 1>> + <<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>> + <</for>> + <</if>> + <<run App.Medicine.Modification.addScar($hostage, "anus", "generic")>> + <<run App.Medicine.Modification.addScar($hostage, "vagina", "generic")>> collapsing into $his rancid cot, hands on $his <<if $seePreg != 0>>rounded middle<<else>>empty belly<</if>>, sobbing in terror. <<case "Repopulation Focus">> <<set $hostage.trust -= 5>> @@ -777,7 +798,10 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.shouldersTat = "degradation">> <<set $hostage.armsTat = "degradation">> <<set $hostage.legsTat = "degradation">> + <<run App.Medicine.Modification.addScar($hostage, "anus", "generic")>> + <<run App.Medicine.Modification.addScar($hostage, "vagina", "generic")>> <<set $hostage.fetishStrength = 65>> + <<run App.Medicine.Modification.addScar($hostage, "neck", "surgical", 2)>> screaming as $his throat is prepared for surgery, knowing this will be the last sound $he ever vocalizes. <<case "Degradationism">> <<set $hostage.trust -= 5>> @@ -1053,6 +1077,21 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.counter.anal += 50>> <<set $hostage.counter.mammary += 50>> <<set $hostage.fetishStrength = 100>> + /* Make scars worse: */ + <<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>> + <<if $hostage.amp != 1>> + <<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>> + <</if>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>> + <</for>> + /* Manacles */ + <<if $hostage.amp != 1>> + <<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>> + <</for>> + <</if>> collapsing into $his rancid cot and curling into the fetal position<<if $seePreg != 0>> around $his pregnant belly<</if>>. $He's audibly begging for someone, anyone, to save $him. <<case "Repopulation Focus">> <<set $hostage.trust -= 5>> @@ -1102,7 +1141,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.counter.mammary += 100>> <<set $hostage.fetishStrength = 100>> <<set $hostage.sexualFlaw = "breeder">> - <<set $activeSlave.bellySag = 2, $activeSlave.bellySagPreg = 2>> + <<set $hostage.bellySag = 2, $hostage.bellySagPreg = 2>> orgasming lewdly from the obscene movements happening within $his straining womb. $He looks like $he wants this to never end. <</if>> <<case "Gender Radicalism">> @@ -1146,6 +1185,21 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.tonguePiercing = 2>> <<set $hostage.lipsTat = "degradation">> <<set $hostage.anusTat = "degradation">> + <<set _seed = random(1,100)>> + <<if _seed < 40>> + <<run App.Medicine.Modification.addScar($hostage, "left breast", "burn", 2)>> + <<elseif _seed < 80>> + <<run App.Medicine.Modification.addScar($hostage, "right breast", "burn", 2)>> + <<else>> + <<run App.Medicine.Modification.addScar($hostage, "left breast", "burn", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right breast", "burn", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "belly", "burn", 2)>> + <</if>> + /* Next scene will mention nasty surgical arm scars, but immediately amputate, so adding them here. */ + <<run App.Medicine.Modification.addScar($hostage, "left upper arm", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right upper arm", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "left thigh", "surgical", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right thigh", "surgical", 2)>> <<set $hostage.fetishStrength = 100>> strapped to an operating table, eyes wide with terror, as a pair of syringes approach them. <<case "Degradationism">> @@ -1352,6 +1406,25 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.lactationDuration = 2>> <<set $hostage.fetish = "mindbroken">> <<set $hostage.fetishStrength = 10>> + /* Make scars worse: */ + <<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>> + <<if $hostage.amp != 1>> + <<set _scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh")>> + <</if>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "whip")>> + <</for>> + /* Manacles */ + <<if $hostage.amp != 1>> + <<set _scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]>> + <<for _i to 0; _i < _scarArray.length; _i++>> + <<run App.Medicine.Modification.addScar($hostage, _scarArray[_i], "chain")>> + <</for>> + <</if>> + <<run App.Medicine.Modification.addScar($hostage, "left cheek", "generic", 3)>> + <<run App.Medicine.Modification.addScar($hostage, "right cheek", "generic", 3)>> + <<run App.Medicine.Modification.addScar($hostage, "left lower arm", "generic", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "right lower arm", "generic", 3)>> with a pair of slavers threatening <<if $seePreg != 0>>$his pregnancy<<else>>$him<</if>>. $He keeps blocking the blows, again and again, until $he can barely stay upright. With a final, brutal kick to the head, $he falls to the floor, unmoving. Several seconds later, $he struggles upright, a blank expression across $his bloodied face. <<case "Repopulation Focus">> <<set $hostage.counter.oral += 5>> @@ -1376,7 +1449,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.counter.vaginal += 100>> <<set $hostage.counter.anal += 100>> <<set $hostage.counter.mammary += 100>> - <<set $activeSlave.bellySag = 2, $activeSlave.bellySagPreg = 2>> + <<set $hostage.bellySag = 2, $hostage.bellySagPreg = 2>> <<else>> <<set $hostage.preg = 1>> <<set $hostage.pregType = 40>> @@ -1393,7 +1466,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.counter.vaginal += 100>> <<set $hostage.counter.anal += 100>> <<set $hostage.counter.mammary += 100>> - <<set $activeSlave.bellySag = 5, $activeSlave.bellySagPreg = 5>> + <<set $hostage.bellySag = 5, $hostage.bellySagPreg = 5>> <</if>> giving an interview. $He gushes over how important it is for women to conceive and carry as many children as they can, as well as how terrible it is that some people strip away a woman's most important purpose. Before $he can continue, $his water breaks and $he drops to the floor. You close the video in disgust of what's coming. <<case "Gender Radicalism">> @@ -1440,6 +1513,16 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<set $hostage.tonguePiercing = 2>> <<set $hostage.fetish = "mindbroken">> <<set $hostage.fetishStrength = 10>> + <<set _seed = random(1,100)>> + <<if _seed < 40>> + <<run App.Medicine.Modification.addScar($hostage, "anus", "burn", 2)>> + <<elseif _seed < 80>> + <<run App.Medicine.Modification.addScar($hostage, "vagina", "burn", 2)>> + <<else>> + <<run App.Medicine.Modification.addScar($hostage, "anus", "burn", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "vagina", "burn", 2)>> + <<run App.Medicine.Modification.addScar($hostage, "left cheek", "burn", 2)>> + <</if>> strapped to an operating table, with surgical marks on $his bare arms and legs. $His face contorts into absolute horror as $he hears the running saw lowering towards $his right arm. As it makes contact, $his mouth opens wide in a silent scream, ceasing only once $his arm is severed completely. As it comes into contact with $his other arm, $his silent screams stop completely, $his mind having completely shattered. You end the video early, disgusted by what you just saw. <<case "Degradationism">> <<set $hostage.counter.vaginal += 1>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index dba2a5b22e19475e640a4d1a71b0be09f5541839..b7db6eb66c239ab322862b5bd0fc311f33184872 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -1695,10 +1695,10 @@ I have a nice version, but it depends on the new limb system, so we have to do w <br> <<if !isAmputee($activeSlave)>> Limbs: //This is a temporary solution while limb mechanics are being reworked.//<br> - Left arm: <<print idToDescription(getLimbID($activeSlave, "left arm"))>><br> - Right arm: <<print idToDescription(getLimbID($activeSlave, "right arm"))>><br> - Left leg: <<print idToDescription(getLimbID($activeSlave, "left leg"))>><br> - Right leg: <<print idToDescription(getLimbID($activeSlave, "right leg"))>> + Left arm: <<print idToDescription(getLeftArmID($activeSlave))>><br> + Right arm: <<print idToDescription(getRightArmID($activeSlave))>><br> + Left leg: <<print idToDescription(getLeftLegID($activeSlave))>><br> + Right leg: <<print idToDescription(getRightLegID($activeSlave))>> <<else>> $He is a quadruple amputee <<if $activeSlave.PLimb == 1>> diff --git a/src/uncategorized/saDrugs.tw b/src/uncategorized/saDrugs.tw index 8a45276302f418c34b25b166b3ef0ebef12fae75..ea04bfa930e1f26e38abe1d02fea9fe2abcae5a6 100644 --- a/src/uncategorized/saDrugs.tw +++ b/src/uncategorized/saDrugs.tw @@ -1160,7 +1160,7 @@ <</if>> <<case "speed up">> <<set $slaves[$i].chem += 2>> - <<if $slaves[$i].assignment != "get treatment in the clinic" && $Nurse == 0 && $slaves[$i].geneMods.rapidCellGrowth != 1>> + <<if (($slaves[$i].assignment != "get treatment in the clinic") || ($Nurse == 0)) && $slaves[$i].geneMods.rapidCellGrowth != 1>> <<if $slaves[$i].pregType > 1>><<set _childCount = "children are">><<else>><<set _childCount = "child is">><</if>> $His _childCount growing rapidly within $his womb, far faster than $his @@.red;poor body can handle.@@<<if $slaves[$i].pregType >= 10 && $slaves[$i].bellyPreg >= 100000>> $His rate of growth is straining $his womb, $he is @@.red;at risk of bursting!@@<</if>> <<set $slaves[$i].health -= ($slaves[$i].preg+$slaves[$i].pregType-$slaves[$i].bellySag)>> diff --git a/src/uncategorized/seCustomSlaveDelivery.tw b/src/uncategorized/seCustomSlaveDelivery.tw index 650584973a6f6311d5372cc30cfd6dffd2cc37f4..cd3eda5b7a06e5777e53a1537cda92ff5920ac8f 100644 --- a/src/uncategorized/seCustomSlaveDelivery.tw +++ b/src/uncategorized/seCustomSlaveDelivery.tw @@ -188,7 +188,7 @@ <<set $activeSlave.butt = $customSlave.butt>> <<set $activeSlave.skill.anal = $customSlave.skills>> <<set $activeSlave.skill.oral = $customSlave.skills>> -<<set $activeSlave.skill.entertainment = $customSlave.skills>> +<<set $activeSlave.skill.entertainment = $customSlave.skill.whore>> <<set $activeSlave.skill.whoring = $customSlave.skill.whore>> <<set $activeSlave.skill.combat = $customSlave.skill.combat>> <<set $activeSlave.eyes = $customSlave.eyes>> diff --git a/src/uncategorized/storyCaption.tw b/src/uncategorized/storyCaption.tw index a7a5faf0c1061fc4f0c1f675fbec089c76ecadb0..a1e18ed527629b11e232c5ad3d38f97b36b08db4 100644 --- a/src/uncategorized/storyCaption.tw +++ b/src/uncategorized/storyCaption.tw @@ -13,7 +13,7 @@ <<else>> <strong> <<if _Pass !== "Encyclopedia">> /* must use link so spacebar shortcut will work */ - <<link [[$nextButton|$nextLink][]]>><</link>> + <<link "$nextButton">> <<goto $nextLink>> <</link>> <<else>> <<link [[Back to Free Cities|$nextLink]]>><</link>> <</if>> @@ -31,23 +31,23 @@ <<if $propHub > 0 && _Pass !== "propagandaHub">> <span id="propHub"> <br> - <<link [[Manage PR|propagandaHub][$nextButton = "Back", $nextLink = _Pass]]>><</link>> + <<link [[Manage PR|propagandaHub]]>><</link>> </span> @@.cyan;[Shift+H]@@ <</if>> <<if $secHQ > 0 && _Pass !== "securityHQ">> <span id="securityHQ"> <br> - <<link [[Manage Security|securityHQ][$nextButton = "Back", $nextLink = _Pass]]>><</link>> + <<link [[Manage Security|securityHQ]]>><</link>> </span> @@.cyan;[Shift+S]@@ <</if>> <<if $secBarracks > 0 && _Pass !== "secBarracks">> <span id="secBarracks"> <br> - <<link [[Manage Military|secBarracks][$nextButton = "Back", $nextLink = _Pass]]>><</link>> + <<link [[Manage Military|secBarracks]]>><</link>> </span> @@.cyan;[Shift+A]@@ <</if>> <<if $riotCenter > 0 && _Pass !== "riotControlCenter">> <span id="riotCenter"> <br> - <<link [[Manage Rebels|riotControlCenter][$nextButton = "Back", $nextLink = _Pass]]>><</link>> + <<link [[Manage Rebels|riotControlCenter]]>><</link>> </span> @@.cyan;[Shift+R]@@ <</if>> <</widget>> @@ -769,7 +769,7 @@ <</if>> /* Closes nextButton !== "Continue" && nextButton !== " " */ <</if>> -<<if _Pass !== "Encyclopedia" && ($showEncyclopedia > 0 || $nextButton !== "Continue")>> +<<if _Pass !== "Encyclopedia" && $showEncyclopedia > 0 && $nextButton !== "Continue">> <<if $nextButton === " ">> <br> <</if>> <<if $ui != "start">> <br> <</if>> //''FCE'':// [[$encyclopedia|Encyclopedia][$nextButton = "Back", $nextLink = _Pass]] <</if>> diff --git a/src/uncategorized/universalRules.tw b/src/uncategorized/universalRules.tw index 0fdc15dd1cb41f7b1a3c7d42a56e296cc3cbdfa7..1e42c577c641f507359ec155199c9ec8ccdb718a 100644 --- a/src/uncategorized/universalRules.tw +++ b/src/uncategorized/universalRules.tw @@ -312,7 +312,8 @@ Use ''$brandDesign.primary'' or choose another brand: | //FS// [[Imperial Seal|Universal Rules][$brandDesign.primary = "your Imperial Seal"]] <</if>> <br> -Or design your own: <<textbox "$scarDesign.primary" $scarDesign.primary "Universal Rules">> //For best results, use a single word// +Or design your own: <<textbox "$brandDesign.primary" $brandDesign.primary "Universal Rules">> //For best results, use a single word// + <br><br> ''Scaring for slaves'' <br> @@ -410,11 +411,11 @@ One 'welcome' for a new slave is to have them scarred. Where would you like such <br> Use ''$scarDesign.primary'' or choose another scar: -[[Whip|Universal Rules][$scarDesign.local = "whip"]] -| [[Burns|Universal Rules][$scarDesign.local = "burn"]] -| [[Surgical|Universal Rules][$scarDesign.local = "surgical"]] -| [[Menacing|Universal Rules][$scarDesign.local = "menacing"]] -| [[Exotic|Universal Rules][$scarDesign.local = "exotic"]] +[[Whip|Universal Rules][$scarDesign.primary = "whip"]] +| [[Burns|Universal Rules][$scarDesign.primary = "burn"]] +| [[Surgical|Universal Rules][$scarDesign.primary = "surgical"]] +| [[Menacing|Universal Rules][$scarDesign.primary = "menacing"]] +| [[Exotic|Universal Rules][$scarDesign.primary = "exotic"]] /* Other common scars might be battle scars or c-Section but it makes little sense to include them here */ <br> diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 9106c169321902aef2a3b6eee88d611aee4c939c..f594fecb1f4ad98d9b764ed6d9e672488255c7ae 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -517,7 +517,7 @@ <<widget "CustomSlaveSkills">> <<replace #skills>> <<if $customSlave.skills <= 10>>Sexually unskilled. - <<elseif $customSlave.skills <= 15>>Basic sex skills. + <<elseif $customSlave.skills <= 35>>Basic sex skills. <<else>>Sexually skilled. <</if>> <</replace>> @@ -529,7 +529,7 @@ <<widget "CustomSlaveWhoreSkills">> <<replace #whoreskills>> <<if $customSlave.skill.whore <= 10>>Unskilled at prostitution and entertainment. - <<elseif $customSlave.skill.whore <= 15>>Basic prostitution and entertainment skills. + <<elseif $customSlave.skill.whore <= 35>>Basic prostitution and entertainment skills. <<else>>Skilled at prostitution and entertainment. <</if>> <</replace>>