diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 0ef827374e4b6fd155dc035e64b9f84024b937d2..fbff5403ce436c8bf4ab492fa411094e61c3822c 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -2152,18 +2152,8 @@ nail type brand: -brand description -accepts 0 or string - -brandLocation: - -brand location -accepts string -"back" -"chest" -"ankles" -"wrists" -"thighs" +is an object +keys include any place on a slave body that can recieve a brand, and values are 0 for no brand or a string for the brand. earPiercing: diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index c16046c6b41b0f10093b495dc0195fa1a4dcfd0e..13c12350e3bd448f67bacc2a90f371ebdf3f7a75 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1344,23 +1344,13 @@ App.Entity.SlaveState = class SlaveState { */ this.nails = 0; /** - * has brand + * brand * - * accepts 0 or string - * * 0: no brand - * * string: brand description */ - this.brand = 0; - /** - * brand location - * - * accepts string - * * "back" - * * "chest" - * * "ankles" - * * "wrists" - * * "thighs" - * @type {string|number} */ - this.brandLocation = 0; + * Object describing the brands a slave has, key is a string, values are strings or int 0 for no brand at that location.*/ + this.brand = { + penis: 0, + neck: "your initials" + }; /** has pierced ears * * 0: no; 1: yes; 2: heavy */ diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 9e31e2231396f6effbf17ff1c4c49e79881c8ce8..5ce4dd696e6b8cc652515535f0f5c8475f55cf76 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -1204,10 +1204,6 @@ window.childCosmeticsDatatypeCleanup = function childCosmeticsDatatypeCleanup(ch if (typeof child.eyewear !== "string") { child.eyewear = "none"; } - /*child.brand = Math.clamp(+child.brand, 0, 1) || 0; - if (typeof child.brandLocation !== "string") { - child.brandLocation = 0; - }*/ if (typeof child.markings !== "string") { child.markings = "none"; } diff --git a/src/js/descriptionWidgets.js b/src/js/descriptionWidgets.js index a6763f113f8698bbd9993aa33d162afa3995cbd3..bae5911a2eaafe2cdbf4471c3cf5b0e703fbe7cb 100644 --- a/src/js/descriptionWidgets.js +++ b/src/js/descriptionWidgets.js @@ -591,7 +591,7 @@ App.Desc.brand = function(slave, surface) { if (State.variables.showBodyMods === 1) { if (surface) { if (slave.brand[surface]) { - r += `${slave.brand[surface]} branded into the flesh of ${his} ${surface}. `; + r += `${He} has ${slave.brand[surface]} branded into the flesh of ${his} ${surface}. `; } return r; } diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js index bf5f75b626c2b2f953b1c1f762b4bde5a5a92bd5..35eba224778ed169e1cd85781dcffa81c47602b3 100644 --- a/src/npc/descriptions/boobs/boobs.js +++ b/src/npc/descriptions/boobs/boobs.js @@ -1481,15 +1481,14 @@ App.Desc.boobsExtra = function(slave, pronouns) { */ App.Desc.boobsBrand = function(slave) { if (State.variables.showBodyMods === 1) { + let r = ``; if (slave.fuckdoll === 0) { - pronouns = pronouns || getPronouns(slave); - r = ``; - r += App.Desc.brand($activeSlave, "breasts"); - r += App.Desc.brand($activeSlave, "left breast"); - r += App.Desc.brand($activeSlave, "right breast"); + r += App.Desc.brand(slave, "breasts"); + r += App.Desc.brand(slave, "left breast"); + r += App.Desc.brand(slave, "right breast"); } + return r; } - return r; }; /** diff --git a/src/npc/uploadSlave.tw b/src/npc/uploadSlave.tw index 2e8309e14bf7761829001b0198896785a2d9b2d5..59fcb7846912ac642ff0cd5bfb9d38a0af7bd56d 100644 --- a/src/npc/uploadSlave.tw +++ b/src/npc/uploadSlave.tw @@ -135,8 +135,15 @@ anusPiercing: $activeSlave.anusPiercing, anusTat: "$activeSlave.anusTat", makeup: $activeSlave.makeup, nails: $activeSlave.nails, -brand: <<if $activeSlave.brand == 0>>0<<else>>"$activeSlave.brand "<</if>>, -brandLocation: <<if $activeSlave.brandLocation == 0>>0<<else>>"$activeSlave.brandLocation"<</if>>, +brand: <<if keySum($activeSlave.brand) == 0>>0,<<else>> +<<for _brandName, _brand range $activeSlave.brand>> + <<if _brand == 0>> + <<continue>> + <<else>> + _brandName: _brand, + <</if>> +<</for>> +<</if>> earPiercing: $activeSlave.earPiercing, nosePiercing: $activeSlave.nosePiercing, eyebrowPiercing: $activeSlave.eyebrowPiercing, diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw index c3131af56378688ee347359ee16b13a2e4bb8fd2..be86c8f0a3f05d866921a887a98b99165562a01b 100644 --- a/src/pregmod/newChildIntro.tw +++ b/src/pregmod/newChildIntro.tw @@ -649,8 +649,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully //Now would be a good time to introduce $him to life in your stable of sex slaves.// <br> <<link "Brand $him on the _brandTarget">> -<<set $activeSlave.brand = $brandDesign.primary>> -<<set $activeSlave.brandLocation = _brandTarget>> +<<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>> <<set $activeSlave.devotion -= 25>> <<set $activeSlave.trust -= 30>> <<set $activeSlave.health -= 20>> diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw index c8bb8ea867f281dda6942057cd1c57bb06b14307..6a288d87b828328e7ae7c67c453c4b44a49be21e 100644 --- a/src/pregmod/widgets/bodyswapWidgets.tw +++ b/src/pregmod/widgets/bodyswapWidgets.tw @@ -110,7 +110,6 @@ <<set $args[0].anusPiercing = $args[1].anusPiercing>> <<set $args[0].anusTat = $args[1].anusTat>> <<set $args[0].brand = $args[1].brand>> -<<set $args[0].brandLocation = $args[1].brandLocation>> <<set $args[0].nosePiercing = $args[1].nosePiercing>> <<set $args[0].eyebrowPiercing = $args[1].eyebrowPiercing>> <<set $args[0].navelPiercing = $args[1].navelPiercing>> diff --git a/src/uncategorized/bodyModification.tw b/src/uncategorized/bodyModification.tw index 8e5e39d572aee4500159d4dd5189d65d6e95ab37..ce51aa58d0d919c1ce5d68f14f3411eba5449142 100644 --- a/src/uncategorized/bodyModification.tw +++ b/src/uncategorized/bodyModification.tw @@ -886,13 +886,12 @@ Custom Tats: Branding: <<if $activeSlave.brand != 0>> - <<= App.Desc.brand($activeSlave, "penis")>> <br> <<for _brandName, _brand range $activeSlave.brand>> <<if _brand == 0>> <<continue>> <<else>> - $His _brandName is marked with _brand + $His _brandName is marked with _brand: <<capture _brandName>> <<link "Remove Brand">> <<set $brandApplied = 0>> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index 2367a539abe5eabe3f1f184edea4d13dbf8cf677..a0ed655c7a89e9527289dc7c6279fe9e40787fb9 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -592,8 +592,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<replace "#introResult">> You tell $him you'll be marking $him as one of your working <<= $girl>>s. $He looks resigned as $he follows you to the body modification studio, and lets you strap $him down with $his _brandTarget bare. $He understands what's coming. You've got $him positioned just right<<if canDoAnal($activeSlave)>>, so your cock slides up $his experienced asshole easily<</if>>. You bring the brand in close so $he can feel the radiated heat, which breaks through even $his jaded exterior and makes $him tighten with fear. When you're close, you apply the brand<<if canDoAnal($activeSlave)>>, making the poor whore cinch $his sphincter down hard in agony, bringing you to climax<</if>>. $He knows you know how to @@.gold;apply pain,@@ now, and $he @@.mediumorchid;learns to dislike you@@ even as $his @@.red;wound@@ heals. <</replace>> - <<set $activeSlave.brand = $brandDesign.primary>> - <<set $activeSlave.brandLocation = _brandTarget>> + <<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>> <<set $activeSlave.devotion -= 5>> <<set $activeSlave.trust -= 10>> <<set $activeSlave.health -= 10>> @@ -1118,8 +1117,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= FutureSocieties.Change("Supremacist", -2)>> <</if>> <</replace>> - <<set $activeSlave.brand = $brandDesign.primary>> - <<set $activeSlave.brandLocation = _brandTarget>> + <<set $activeSlave.brand[_brandTarget] = $brandDesign.primary>> <<set $activeSlave.devotion -= 5>> <<set $activeSlave.trust -= 10>> <<set $activeSlave.health -= 10>> diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw index 5a919b82f06bfefdaf19b6d9e8c1e83700c91823..2bdcd8145cebd8b761bf4f2254664ede9279c6e9 100644 --- a/src/uncategorized/reRelativeRecruiter.tw +++ b/src/uncategorized/reRelativeRecruiter.tw @@ -462,8 +462,9 @@ <<set $activeSlave.anusPiercing = 0>> <<set $activeSlave.anusTat = 0>> <<set $activeSlave.bellyAccessory = "none">> -<<set $activeSlave.brand = 0>> -<<set $activeSlave.brandLocation = "">> +<<for _brandName, _brand range $activeSlave.brand>> + <<set _brand = 0>> +<</for>> <<set $activeSlave.shouldersTat = 0>> <<set $activeSlave.armsTat = 0>> <<set $activeSlave.legsTat = 0>> diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 2911fa14e790f9c57bbfd4ccf96790eb1a7733bb..d0b511a6f6b44a1668059215a73b69d41a7c4d35 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -197,9 +197,7 @@ $He has <<if $activeSlave.hears != -2 && $activeSlave.earImplant != 1>> <<set $activeSlave.hears = -1>> <</if>> - <<if $activeSlave.brandLocation == "left ear" || $activeSlave.brandLocation == "right ear" || $activeSlave.brandLocation == "both ear">> - <<set $activeSlave.brand = 0>> - <</if>> + <<set $activeSlave.brand["left ear"] = 0, $activeSlave.brand["right ear"] = 0, $activeSlave.brand["both ear"] = 0>> <<else>> <<if $activeSlave.earShape != "pointy">> | [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave), $activeSlave.health -= 10, $surgeryType = "earMinor"]] diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index 0b2d34ac880e4e3dd485e52fb4fa4ebb345ca413..bb743a2c97e8f3c556b62c25f8d80d5c5ac04881 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -5895,9 +5895,18 @@ /* LONG TERM PHYSICAL EFFECTS */ <<if $slaves[$i].fuckdoll == 0>> - <<if ($slaves[$i].brand != 0)>> + <<if (keySum($slaves[$i].brand) != 0)>> <<if ($slaves[$i].assignment == "serve the public") || ($slaves[$i].assignment == "whore") || ($slaves[$i].assignment == "work in the brothel") || ($slaves[$i].assignment == "serve in the club")>> - Since $he is in public, your brand against the $slaves[$i].skin skin of $his $slaves[$i].brandLocation @@.green;slightly increases your reputation@@ as a slaveowner. + Since $he is in public, your brand against the $slaves[$i].skin skin of $his + <<for _brandName, _brand range $activeSlave.brand>> + <<if _brand == 0>> + <<continue>> + <<else>> + _brandName + <<break>> + <</if>> + <</for>> + @@.green;slightly increases your reputation@@ as a slaveowner. <<run repX(5, "futureSocieties", $slaves[$i])>> <<switch $slaves[$i].assignment>> <<case "work in the brothel">><<run getSlaveStatisticData($slaves[$i], $facility.brothel).rep += 5>> diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw index 70c757960d955439e85a17667437acfe2360836c..d921989da5baccc69c08231b7d2e75a51108853c 100644 --- a/src/uncategorized/sellSlave.tw +++ b/src/uncategorized/sellSlave.tw @@ -580,7 +580,7 @@ A reputable slave appraiser arrives promptly to inspect $him and certify $his qu <</if>> <</if>> -<<if $activeSlave.brand != 0>> +<<if keySum($activeSlave.brand) != 0>> <<if $rep > 10000>> I see $he's branded with your mark; with your stellar reputation, that will make $him appraise better. <<elseif $rep < 5000>> diff --git a/src/uncategorized/slaveStats.tw b/src/uncategorized/slaveStats.tw index 0612cff00566b1dc9ff589efa15c4695bfd35e21..2886504111fac52f22a5413d269104a8e3e34b12 100644 --- a/src/uncategorized/slaveStats.tw +++ b/src/uncategorized/slaveStats.tw @@ -211,8 +211,14 @@ slaveName: $activeSlave.slaveName /* TODO: figure out why this is being inden <br>anusTat: $activeSlave.anusTat <br>makeup: $activeSlave.makeup <br>nails: $activeSlave.nails -<br>brand: $activeSlave.brand -<br>brandLocation: $activeSlave.brandLocation +<br>brand: +<<for _brandName, _brand range $activeSlave.brand>> + <<if _brand == 0>> + <<continue>> + <<else>> + _brandName: _brand, + <</if>> +<</for>> <br>earPiercing: $activeSlave.earPiercing <br>nosePiercing: $activeSlave.nosePiercing <br>eyebrowPiercing: $activeSlave.eyebrowPiercing diff --git a/src/utility/descriptionWidgetsFlesh.tw b/src/utility/descriptionWidgetsFlesh.tw index f5c1dd65d5bef574f4d8f86322d0f937ea02c17e..fa2052bf483c56d62e9a20d81c536b9bf69bc428 100644 --- a/src/utility/descriptionWidgetsFlesh.tw +++ b/src/utility/descriptionWidgetsFlesh.tw @@ -15407,9 +15407,7 @@ $He has It has a short length of chain dangling from it. <</if>> <</if>> - <<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>> - $His fake belly has $activeSlave.brand branded on it. - <</if>> + <<= App.Desc.brand($activeSlave, "belly")>> <</if>> <<else>> <<if $showBodyMods == 1>> @@ -15484,9 +15482,7 @@ $He has <<elseif $activeSlave.abortionTat == 0 && $activeSlave.birthsTat == -1 && $activeSlave.pregKnown == 1>> $He has a single baby-shaped temporary tattoo adorning $his stomach. <</if>> - <<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>> - $He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation. - <</if>> + <<= App.Desc.brand($activeSlave, "belly")>> <</if>> <<if $activeSlave.breedingMark == 1>> <<if $propOutcome == 1>> @@ -18467,13 +18463,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies; <<elseif $activeSlave.abortionTat == 0 && $activeSlave.birthsTat == -1 && $activeSlave.pregKnown == 1>> $He has a single baby-shaped temporary tattoo adorning $his stomach. <</if>> - <<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>> - $He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation. - <</if>> - - <<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>> - $He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation. - <</if>> + <<= App.Desc.brand($activeSlave, "belly")>> <<if $activeSlave.breedingMark == 1>> <<if $propOutcome == 1>> @@ -19553,9 +19543,7 @@ $His womb contains <<= num(_slaveWD.litters.length)>> separate pregnancies; <</if>> <</if>> -<<if ($activeSlave.brand != 0) && ($activeSlave.brandLocation == "belly")>> - $He has $activeSlave.brand branded into the flesh of $his $activeSlave.brandLocation. -<</if>> +<<= App.Desc.brand($activeSlave, "belly")>> <<if $activeSlave.breedingMark == 1>> <<if $propOutcome == 1>>