diff --git a/src/js/generateMarketSlave.js b/src/js/generateMarketSlave.js index c21587c9800a9fdbe96e54593302bb0d64ba448f..02b59f351185325257044545c6135cf8b01342ed 100644 --- a/src/js/generateMarketSlave.js +++ b/src/js/generateMarketSlave.js @@ -642,6 +642,59 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 1) { V.activeSlave.abortionTat = jsRandom(1, (Math.min(V.activeSlave.physicalAge-V.fertilityAge, V.activeSlave.physicalAge-V.minimumSlaveAge))*2); } } + let i = 0; + if (jsRandom(1, 100) > 10) { + // tat em up + let tattoos = ["boobsTat", "buttTat", "lipsTat", "vaginaTat", "dickTat", "anusTat", "shouldersTat", "armsTat", "legsTat", "backTat", "stampTat", "bellyTat", "abortionTat", "birthsTat"]; + let modPool = jsRandom(1, 10); + for (i = 0; i < modPool; i++) { + let tat = tattoos[Math.floor(Math.random() * tattoos.length)]; + V.activeSlave[tat] = "degradation"; + } + } + if (jsRandom(1, 100) > 10) { + // pierce em up + let piercings = ["corsetPiercing", "nipplesPiercing", "areolaePiercing", "lipsPiercing", "tonguePiercing", "anusPiercing"]; + if (V.activeSlave.dick > 0) { + piercings.push("dickPiercing") + } + if (V.activeSlave.vagina != -1) { + piercings.push("vaginaPiercing") + } + if ((V.activeSlave.vagina != -1) || (V.activeSlave.dick != 0)) { + piercings.push("clitPiercing"); + } + let modPool = jsRandom(5, 15); + let pierce; + for (i = 0; i < modPool; i++) { + pierce = piercings[Math.floor(Math.random() * piercings.length)]; + if (V.activeSlave[pierce] < 2) { + V.activeSlave[pierce]++; + } + } + } + if (jsRandom(1, 100) > 20) { + // scar em up + if (jsRandom(1, 100) > 70) { + // They got whipped too + App.Medicine.Modification.addScourged(V.activeSlave); + } + let scars = ["back", "lower back", "left thigh", "right thigh"]; + let modPool = jsRandom(1, 10); + let scar; + for (i = 0; i < modPool; i++) { + scar = scars[Math.floor(Math.random() * scars.length)]; + App.Medicine.Modification.addScar(V.activeSlave, scar, "generic"); + } + } + if (jsRandom(1, 100) > 80) { + // brand em up + if (jsRandom(1, 100) > 50) { + V.activeSlave.brand["left buttock"] = "SLUT"; + } else { + V.activeSlave.brand["left buttock"] = "Slave"; + } + } } if (V.arcologies[market].FSIntellectualDependency > 20) { r += `The only thing that rivals their idiocy is their uncontrollable libido. `; @@ -683,8 +736,34 @@ window.generateMarketSlave = function(market = "kidnappers", numArcology = 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. `; + // clean out any changes those filthy impure degredationsts may have made + V.activeSlave.brand = {}; + V.activeSlave.scar = {}; V.activeSlave.chem = 0; V.activeSlave.addict = 0; + V.activeSlave.boobsTat = 0; + V.activeSlave.buttTat = 0; + V.activeSlave.lipsTat = 0; + V.activeSlave.vaginaTat = 0; + V.activeSlave.dickTat = 0; + V.activeSlave.anusTat = 0; + V.activeSlave.shouldersTat = 0; + V.activeSlave.armsTat = 0; + V.activeSlave.legsTat = 0; + V.activeSlave.backTat = 0; + V.activeSlave.stampTat = 0; + V.activeSlave.bellyTat = 0; + V.activeSlave.abortionTat = 0; + V.activeSlave.birthsTat = 0; + V.activeSlave.corsetPiercing = 0; + V.activeSlave.nipplesPiercing = 0; + V.activeSlave.areolaePiercing = 0; + V.activeSlave.lipsPiercing = 0; + V.activeSlave.tonguePiercing = 0; + V.activeSlave.vaginaPiercing = 0; + V.activeSlave.clitPiercing = 0; + V.activeSlave.dickPiercing = 0; + V.activeSlave.anusPiercing = 0; } else if (V.arcologies[market].FSTransformationFetishist > 80) { r += `They vary in terms of what size their implants are, not whether they have them. `; V.activeSlave.chem += jsRandom(10, 100); diff --git a/src/js/modification.js b/src/js/modification.js index 5e56cd04709a1fec27248a2e2e85cb85613222b3..2fd4cefea4da8f0e218d2b4451f1cc3d3f05bc06 100644 --- a/src/js/modification.js +++ b/src/js/modification.js @@ -4,6 +4,7 @@ App.Medicine.Modification = {}; * @param {App.Entity.SlaveState} slave * @param {string} scar * @param {string} design + * @param {string} weight */ App.Medicine.Modification.addScar = function(slave, scar, design, weight) { /* const V = State.variables; @@ -24,3 +25,27 @@ App.Medicine.Modification.addScar = function(slave, scar, design, weight) { slave.scar[scar][design] += weight; } }; + +/** + * Slave is whipped over the entire body, and strains in manacles so much that the wrists and ankles scar if present. + * @param {App.Entity.SlaveState} slave + * @param {string} weight + */ +App.Medicine.Modification.addScourged = function(slave, weight) { + let scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]; + let i = 0; + // Whip + if (slave.amp !== 1) { + scarArray.push("left upper arm", "right upper arm", "left thigh", "right thigh"); + } + for (i = 0; i < scarArray.length; i++) { + App.Medicine.Modification.addScar(slave, scarArray[i], "whip", weight); + } + // Manacles + if (slave.amp !== 1) { + scarArray = ["left wrist", "right wrist", "left ankle", "right ankle"]; + for (i = 0; i < scarArray.length; i++) { + App.Medicine.Modification.addScar(slave, scarArray[i], "chain", weight); + } + } +}; diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw index ca7e8fdc0ee63ccd93c319adb1f08a7ecb495e7a..68e5f9e926eb44e7f124c4b399dec025dc41b2a9 100644 --- a/src/uncategorized/bodyModification.tw +++ b/src/uncategorized/bodyModification.tw @@ -1287,22 +1287,8 @@ Or a custom site: <<textbox "$scarTarget.local" $scarTarget.local "Body Modifica <</if>> <<link "Scar">> <<if $scarTarget.local === "entire body" && $scarDesign.local.includes("whip")>> - /* Special case for whipping scene, producecs two scars */ - /* Whip marks */ - <<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>> - <<if $activeSlave.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($activeSlave, _scarArray[_i], $scarDesign.local)>> - <</for>> - /* Manacles */ - <<if $activeSlave.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($activeSlave, _scarArray[_i], "chain")>> - <</for>> - <</if>> + /* Special case for whipping scene, producecs two kinds of scars */ + <<run App.Medicine.Modification.addScourged($activeSlave)>> <<else>> /* Normal entire body scarring */ <<if $scarTarget.local === "entire body">> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index d504c68148a1bd7e18027484b95791ebafdfde32..45f6138f010e654ae4f324f0b06723187d8ace66 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -1245,22 +1245,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <br> <<link "Whip $him until $he scars">> - /* Whip marks */ - <<set _scarArray = ["left breast", "right breast", "back", "lower back", "left buttock", "right buttock"]>> - <<if $activeSlave.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($activeSlave, _scarArray[_i], "whip")>> - <</for>> - /* Manacles */ - <<if $activeSlave.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($activeSlave, _scarArray[_i], "chain")>> - <</for>> - <</if>> - + <<run App.Medicine.Modification.addScourged($activeSlave)>> <<run cashX(forceNeg($modCost), "slaveMod", $activeSlave)>> /* Let's just bill once, for the whip and disinfectant. */ <<set $activeSlave.devotion -= 5>> <<set $activeSlave.trust -= 10>> diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw index 3b6b54b82e21f4f2fcb8685c0ca6d47ed1482c54..3465a62b0d7f54e1de2b281409971b0eb3da7d3a 100644 --- a/src/uncategorized/pRivalryActions.tw +++ b/src/uncategorized/pRivalryActions.tw @@ -673,21 +673,7 @@ 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.addScourged($hostage)>> <<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. @@ -1078,20 +1064,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<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>> + <<run App.Medicine.Modification.addScourged($hostage)>> 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>> @@ -1407,20 +1380,7 @@ Your inter-arcology war with the arcology owner behind the Daughters of Liberty <<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.addScourged($hostage)>> <<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)>>