diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 4620e27a5131741ff95f35d5ccad7020c85abbce..e97694114d0bd3ffdcced0da6843d429fec83145 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -9982,13 +9982,13 @@ window.MenialPopCap = function MenialPopCap () { let price = menialSlaveCost(-overMenialCap); if (V.menials > 0) { if (V.menials > overMenialCap) { - V.cash += overMenialCap * price; + cashX((overMenialCap * price), "menialTrades"); V.menialDemandFactor -= overMenialCap; V.menials -= overMenialCap; overMenialCap = 0; r += "You don't have enough room for all your menials and are obliged to sell some."; } else { - V.cash += V.menials * price; + cashX((V.menials * price), "menialTrades"); V.menialDemandFactor -= V.menials; overMenialCap -= V.menials; V.menials = 0; @@ -9997,13 +9997,13 @@ window.MenialPopCap = function MenialPopCap () { } if (overMenialCap > 0 && V.fuckdolls > 0) { if (V.fuckdolls > overMenialCap) { - V.cash += overMenialCap * (price * 2); + cashX(overMenialCap * (price * 2), "menialTrades"); V.menialDemandFactor -= overMenialCap; V.fuckdolls -= overMenialCap; overMenialCap = 0; r += "You don't have enough room for all your Fuckdolls and are obliged to sell some."; } else { - V.cash += V.fuckdolls * (price * 2); + cashX(V.fuckdolls * (price * 2), "menialTrades"); V.menialDemandFactor -= V.fuckdolls; overMenialCap -= V.fuckdolls; V.fuckdolls = 0; @@ -10011,7 +10011,7 @@ window.MenialPopCap = function MenialPopCap () { } } if (overMenialCap > 0 && V.menialBioreactors > 0) { - V.cash += overMenialCap * (price - 100); + cashX(overMenialCap * (price - 100), "menialTrades"); V.menialDemandFactor -= overMenialCap; V.menialBioreactors -= overMenialCap; r += "You don't have enough room for all your menial bioreactors and are obliged to sell some."; @@ -10865,7 +10865,7 @@ window.BirthDestinationText = function(choice,slave) { r += `For a moment, ${he} saw a glimmer of good in you; <span class='mediumorchid'>${He} was clearly wrong.</span> ${His} mind struggles to comprehend <span class='gold'>why ${he} could ever even think of trusting such a person.</span>`; slave.trust -= 30, slave.devotion -= 30; } - V.cash += T.curBabies*(50+T.babyCost); + cashX(T.curBabies*(50+T.babyCost), "slaveTransfer", slave); break; } return r; @@ -14095,12 +14095,12 @@ window.saServant = function saServant(slave) { } if (!(canHear(slave))) { t += ` However, ${his} inability to hear often leaves ${him} oblivious to ${V.Stewardess.slaveName}'s orders, limiting their meaningful interactions.`; - V.cash += (V.stewardessBonus/4); + cashX(V.stewardessBonus/4, servantsQuarters, slave); } else if ((slave.hears == -1 && slave.earwear != "hearing aids") || (slave.hears == 0 && slave.earwear == "muffling ear plugs")) { t += ` However, ${he} often doesn't catch what ${V.Stewardess.slaveName} says, leading to frustration, confusion and less work done.`; - V.cash += (V.stewardessBonus/2); + cashX(V.stewardessBonus/2, servantsQuarters, slave); } else { - V.cash += V.stewardessBonus; + cashX(V.stewardessBonus, servantsQuarters, slave); } } } @@ -14187,7 +14187,7 @@ window.saServant = function saServant(slave) { } else { t += `an incident without lasting effect.`; } - V.cash += Math.trunc(V.FResult*_vignette.effect); + cashX(Math.trunc(V.FResult*_vignette.effect), servantsQuarters, slave); } else if (_vignette.type == "devotion") { if (_vignette.effect > 0) { if (slave.devotion > 50) { @@ -15801,7 +15801,7 @@ window.DefaultRules = (function() { if (slave.eyes == -1) { if (slave.eyewear != "corrective glasses") { slave.eyewear = "corrective glasses"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given corrective glasses.`; } } else { @@ -15816,7 +15816,7 @@ window.DefaultRules = (function() { if (slave.eyes == -1) { if (slave.eyewear != "corrective contacts") { slave.eyewear = "corrective contacts"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given corrective contacts.`; } } else { @@ -15831,7 +15831,7 @@ window.DefaultRules = (function() { if (slave.eyes > -1) { if (slave.eyewear != "blurring glasses") { slave.eyewear = "blurring glasses"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given blurring glasses.`; } } else { @@ -15846,7 +15846,7 @@ window.DefaultRules = (function() { if (slave.eyes > -1) { if (slave.eyewear != "blurring contacts") { slave.eyewear = "blurring contacts"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given blurring contacts.`; } } else { @@ -15861,13 +15861,13 @@ window.DefaultRules = (function() { if (slave.eyes == -1) { if (slave.eyewear != "corrective glasses") { slave.eyewear = "corrective glasses"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given corrective glasses.`; } } else { if (slave.eyewear != "glasses") { slave.eyewear = "glasses"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given decorative glasses.`; } } @@ -15891,7 +15891,7 @@ window.DefaultRules = (function() { if (slave.hears == -1) { if (slave.earwear != "hearing aids") { slave.earwear = "hearing aids"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given hearing aids.`; } } else { @@ -15906,7 +15906,7 @@ window.DefaultRules = (function() { if (slave.hears > -1) { if (slave.earwear != "muffling ear plugs") { slave.earwear = "muffling ear plugs"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given muffling ear plugs.`; } } else { @@ -15921,7 +15921,7 @@ window.DefaultRules = (function() { if (slave.hears > -2) { if (slave.earwear != "deafening ear plugs") { slave.earwear = "deafening ear plugs"; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given deafening ear plugs.`; } } else { @@ -17297,25 +17297,25 @@ window.DefaultRules = (function() { if ((rule.teeth == "universal")) { if ((slave.teeth == "crooked")) { slave.teeth = "straightening braces"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.modCost), "slaveSurgery", slave); r += `<br>${slave.slaveName} has been given braces for her crooked teeth.`; } else if (slave.teeth == "gapped") { slave.teeth = "straightening braces"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.modCost), "slaveSurgery", slave); r += `<br>${slave.slaveName} has been given braces to close the gap in her teeth.`; } else if ((slave.teeth == "normal")) { slave.teeth = "cosmetic braces"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.modCost), "slaveSurgery", slave); r += `<br>${slave.slaveName} has been given cosmetic braces.`; } } else if ((rule.teeth == "straighten")) { if ((slave.teeth == "crooked")) { slave.teeth = "straightening braces"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.modCost), "slaveSurgery", slave); r += `<br>${slave.slaveName} has been given braces for her crooked teeth.`; } else if (slave.teeth == "gapped") { slave.teeth = "straightening braces"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.modCost), "slaveSurgery", slave); r += `<br>${slave.slaveName} has been given braces to close the gap in her teeth.`; } else if ((slave.teeth == "cosmetic braces")) { slave.teeth = "normal"; @@ -17337,7 +17337,7 @@ window.DefaultRules = (function() { if (rule.eyeColor !== undefined && (rule.eyeColor !== "no default setting")) { if ((slave.eyeColor !== rule.eyeColor)) { slave.eyeColor = rule.eyeColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given ${slave.eyeColor} contact lenses.`; } } @@ -17345,7 +17345,7 @@ window.DefaultRules = (function() { if (rule.makeup !== undefined && (rule.makeup !== "no default setting")) { if ((slave.makeup !== rule.makeup)) { slave.makeup = rule.makeup; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been assigned the standard makeup.`; } } @@ -17354,7 +17354,7 @@ window.DefaultRules = (function() { if (rule.nails !== undefined && (rule.nails !== "no default setting")) { if ((slave.nails !== rule.nails)) { slave.nails = rule.nails; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been assigned the standard nails.`; } } @@ -17364,7 +17364,7 @@ window.DefaultRules = (function() { if (slave.bald != 1) { if ((slave.hColor !== rule.hColor)) { slave.hColor = rule.hColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s hair has been dyed ${rule.hColor}.`; } } @@ -17374,7 +17374,7 @@ window.DefaultRules = (function() { if (slave.bald != 1) { if ((slave.hStyle !== rule.hStyle)) { slave.hStyle = rule.hStyle; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); if ((rule.hStyle == "shaved")) { slave.hLength = 0; r += `<br>${slave.slaveName}'s hair has been shaved.`; @@ -17388,10 +17388,10 @@ window.DefaultRules = (function() { if (slave.bald != 1) { if ((slave.hLength !== rule.hLength)) { if ((slave.hLength > rule.hLength)) { - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s hair has been cut; it `; } else { - V.cash -= V.modCost*Math.trunc((rule.hLength-slave.hLength)/10); + cashX(forceNeg(V.modCost*Math.trunc((rule.hLength-slave.hLength)/10)), "slaveMod"); r += `<br>${slave.slaveName} has been given extensions; her hair `; } r += `is now ${lengthToEitherUnit(rule.hLength)} long.`; @@ -17416,7 +17416,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald" && slave.eyebrowHStyle != "hairless") { if ((slave.eyebrowHColor !== rule.eyebrowHColor)) { slave.eyebrowHColor = rule.eyebrowHColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair, if present, has been dyed ${rule.eyebrowHColor}.`; } } @@ -17426,7 +17426,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald" && slave.eyebrowHStyle != "hairless") { if ((slave.eyebrowHStyle !== rule.eyebrowHStyle)) { slave.eyebrowHStyle = rule.eyebrowHStyle; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair has been restyled; they are now ${rule.eyebrowHStyle}.`; } } @@ -17436,7 +17436,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald" && slave.eyebrowHStyle != "hairless") { if ((slave.eyebrowFullness !== rule.eyebrowFullness)) { slave.eyebrowFullness = rule.eyebrowFullness; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair thickness has been adjusted; they are now ${rule.eyebrowFullness}.`; } } @@ -17446,7 +17446,7 @@ window.DefaultRules = (function() { if (slave.pubicHStyle != "bald" && slave.pubicHStyle != "hairless") { if ((slave.pubicHColor !== rule.pubicHColor)) { slave.pubicHColor = rule.pubicHColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s pubic hair, if present, has been dyed ${rule.pubicHColor}.`; } } @@ -17456,7 +17456,7 @@ window.DefaultRules = (function() { if (slave.pubicHStyle != "bald" && slave.pubicHStyle != "hairless") { if ((slave.pubicHStyle !== rule.pubicHStyle)) { slave.pubicHStyle = rule.pubicHStyle; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s pubic hair has been restyled; it is now ${rule.pubicHStyle}.`; } } @@ -17466,7 +17466,7 @@ window.DefaultRules = (function() { if (slave.underArmHStyle != "bald" && slave.underArmHStyle != "hairless") { if ((slave.underArmHColor !== rule.underArmHColor)) { slave.underArmHColor = rule.underArmHColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s underarm hair, if present, has been dyed ${rule.underArmHColor}.`; } } @@ -17476,7 +17476,7 @@ window.DefaultRules = (function() { if (slave.underArmHStyle != "bald" && slave.underArmHStyle != "hairless") { if ((slave.underArmHStyle !== rule.underArmHStyle)) { slave.underArmHStyle = rule.underArmHStyle; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s underarm hair has been restyled; it is now ${rule.underArmHStyle}.`; } } @@ -17486,7 +17486,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald") { if ((slave.eyebrowHColor !== rule.eyebrowHColor)) { slave.eyebrowHColor = rule.eyebrowHColor; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair, if present, has been dyed ${rule.eyebrowHColor}.`; } } @@ -17496,7 +17496,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald") { if ((slave.eyebrowHStyle !== rule.eyebrowHStyle)) { slave.eyebrowHStyle = rule.eyebrowHStyle; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair has been restyled; it is now ${rule.eyebrowHStyle}.`; } } @@ -17506,7 +17506,7 @@ window.DefaultRules = (function() { if (slave.eyebrowHStyle != "bald") { if ((slave.eyebrowFullness !== rule.eyebrowFullness)) { slave.eyebrowFullness = rule.eyebrowFullness; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrow hair has been reshaped; it is now ${rule.eyebrowFullness}.`; } } @@ -17526,7 +17526,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s nipple piercings have been removed.`; } else if (slave.nipples !== "fuckable") { slave.nipplesPiercing = rule.nipplesPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s nipples have been pierced.`; } else { r += `<br>${slave.slaveName}'s nipples are inverted and cannot be pierced.`; @@ -17541,7 +17541,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s areolae piercings have been removed.`; } else { slave.areolaePiercing = rule.areolaePiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s areolae have been given stud piercings.`; } } @@ -17564,9 +17564,9 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s clit has been pierced.`; if (rule.clitPiercing == 3) - V.cash -= 1000; + cashX(-1000, "slaveMod"); else - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); } } } @@ -17579,7 +17579,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s labia piercings have been removed.`; } else { slave.vaginaPiercing = rule.vaginaPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s pussylips have been pierced.`; } } @@ -17594,7 +17594,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s shaft piercings have been removed.`; } else { slave.dickPiercing = rule.dickPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s shaft has been pierced.`; } } @@ -17608,7 +17608,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s asshole piercings have been removed.`; } else { slave.anusPiercing = rule.anusPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s asshole has been pierced.`; } } @@ -17621,7 +17621,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s lip piercings have been removed.`; } else { slave.lipsPiercing = rule.lipsPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s lips have been pierced.`; } } @@ -17634,7 +17634,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s tongue piercings have been removed.`; } else { slave.tonguePiercing = rule.tonguePiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s tongue has been pierced.`; } } @@ -17647,7 +17647,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s ear piercings have been removed.`; } else { slave.earPiercing = rule.earPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s ears have been pierced.`; } } @@ -17660,7 +17660,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s nose piercing has been removed.`; } else { slave.nosePiercing = rule.nosePiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s nose has been pierced.`; } } @@ -17673,7 +17673,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s eyebrow piercings have been removed.`; } else { slave.eyebrowPiercing = rule.eyebrowPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s eyebrows have been pierced.`; } } @@ -17686,7 +17686,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s navel piercing have been removed.`; } else { slave.navelPiercing = rule.navelPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s navel has been pierced.`; } } @@ -17699,7 +17699,7 @@ window.DefaultRules = (function() { r += `<br>${slave.slaveName}'s corset piercings have been removed.`; } else { slave.corsetPiercing = rule.corsetPiercing; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName} has been given a set of corset piercings.`; } } @@ -17776,7 +17776,7 @@ window.DefaultRules = (function() { if (rule.boobsTat !== undefined && (rule.boobsTat !== "no default setting")) { if ((slave.boobsTat !== rule.boobsTat)) { slave.boobsTat = rule.boobsTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s chest has been tattooed.`; } } @@ -17784,7 +17784,7 @@ window.DefaultRules = (function() { if (rule.buttTat !== undefined && (rule.buttTat !== "no default setting")) { if ((slave.buttTat !== rule.buttTat)) { slave.buttTat = rule.buttTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s butt has been tattooed.`; } } @@ -17792,7 +17792,7 @@ window.DefaultRules = (function() { if (rule.vaginaTat !== undefined && (rule.vaginaTat !== "no default setting")) { if ((slave.vaginaTat !== rule.vaginaTat)) { slave.vaginaTat = rule.vaginaTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s abdomen has been tattooed.`; } } @@ -17801,7 +17801,7 @@ window.DefaultRules = (function() { if (rule.dickTat !== undefined && (rule.dickTat !== "no default setting")) { if ((slave.dickTat !== rule.dickTat)) { slave.dickTat = rule.dickTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s dick has been tattooed.`; } } @@ -17810,7 +17810,7 @@ window.DefaultRules = (function() { if (rule.lipsTat !== undefined && (rule.lipsTat !== "no default setting")) { if ((slave.lipsTat !== rule.lipsTat)) { slave.lipsTat = rule.lipsTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s face has been tattooed.`; } } @@ -17818,7 +17818,7 @@ window.DefaultRules = (function() { if (rule.anusTat !== undefined && (rule.anusTat !== "no default setting")) { if ((slave.anusTat !== rule.anusTat)) { slave.anusTat = rule.anusTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s asshole has been modded.`; } } @@ -17826,7 +17826,7 @@ window.DefaultRules = (function() { if (rule.shouldersTat !== undefined && (rule.shouldersTat !== "no default setting")) { if ((slave.shouldersTat !== rule.shouldersTat)) { slave.shouldersTat = rule.shouldersTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s shoulders have been tattooed.`; } } @@ -17834,7 +17834,7 @@ window.DefaultRules = (function() { if (rule.armsTat !== undefined && (rule.armsTat !== "no default setting")) { if ((slave.armsTat !== rule.armsTat)) { slave.armsTat = rule.armsTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s arms have been tattooed.`; } } @@ -17842,7 +17842,7 @@ window.DefaultRules = (function() { if (rule.legsTat !== undefined && (rule.legsTat !== "no default setting")) { if ((slave.legsTat !== rule.legsTat)) { slave.legsTat = rule.legsTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s legs have been tattooed.`; } } @@ -17850,7 +17850,7 @@ window.DefaultRules = (function() { if (rule.stampTat !== undefined && (rule.stampTat !== "no default setting")) { if ((slave.stampTat !== rule.stampTat)) { slave.stampTat = rule.stampTat; - V.cash -= V.modCost; + cashX(forceNeg(V.modCost), "slaveMod", slave); r += `<br>${slave.slaveName}'s lower back has been tattooed.`; } } @@ -17908,6 +17908,7 @@ window.DefaultRules = (function() { return DefaultRules; })(); + /*:: Rules Assistant Options [script]*/ // rewrite of the rules assistant options page in javascript // uses an object-oriented widget pattern @@ -21414,7 +21415,7 @@ window.rulesAssistantOptions = (function() { return rulesAssistantOptions; })(); -/*:: rules autosurgery js [script]*/ +:: rules autosurgery js [script] window.rulesAutosurgery = (function() { "use strict"; @@ -21545,56 +21546,56 @@ window.rulesAutosurgery = (function() { if ((slave.eyes == -1) && (thisSurgery.surgery_eyes == 1)) { surgeries.push("surgery to correct her vision"); slave.eyes = 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.eyes == 1) && (thisSurgery.surgery_eyes == -1)) { surgeries.push("surgery to blur her vision"); slave.eyes = -1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.hears == -1) && (thisSurgery.surgery_hears == 1)) { surgeries.push("surgery to correct her hearing"); slave.hears = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.hears == 0) && (thisSurgery.surgery_hears == -1)) { surgeries.push("surgery to muffle her hearing"); slave.hears = -1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.lactation == 2) && (thisSurgery.surgery_lactation == 0)) { surgeries.push("surgery to remove her lactation implants"); slave.lactation = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if (slave.lactation != 2 && (thisSurgery.surgery_lactation == 1)) { surgeries.push("lactation inducing implanted drugs"); slave.lactation = 2; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.prostate == 2) && (thisSurgery.surgery_prostate == 0)) { surgeries.push("surgery to remove her prostate implant"); slave.prostate = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if (slave.prostate == 1 && (thisSurgery.surgery_prostate == 1)) { surgeries.push("a precum production enhancing drug implant"); slave.prostate = 2; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21603,7 +21604,7 @@ window.rulesAutosurgery = (function() { slave.anus = 3; if (slave.analSkill > 10) slave.analSkill -= 10; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21612,7 +21613,7 @@ window.rulesAutosurgery = (function() { slave.vagina = 3; if (slave.vaginalSkill > 10) slave.vaginalSkill -= 10; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21621,7 +21622,7 @@ window.rulesAutosurgery = (function() { if (slave.faceShape == "masculine") slave.faceShape = "androgynous"; slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade; slave.face = Math.clamp(slave.face+20,-100,100); - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21634,7 +21635,7 @@ window.rulesAutosurgery = (function() { else if (slave.visualAge > 50) slave.visualAge -= 20; else if (slave.visualAge > 36) slave.visualAge -= 10; else slave.visualAge -= 5; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21642,19 +21643,19 @@ window.rulesAutosurgery = (function() { surgeries.push("body hair removal"); if (slave.underArmHStyle != "hairless") slave.underArmHStyle = "bald"; if (slave.pubicHStyle != "hairless") slave.pubicHStyle = "bald"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } else if ((slave.bald == 0 || slave.hStyle != "bald" || slave.eyebrowHStyle != "bald") && (thisSurgery.surgery_hair == 2)) { surgeries.push("hair removal"); slave.eyebrowHStyle = "bald"; slave.hStyle = "bald"; slave.bald = 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } else if ((slave.weight >= 10) && (thisSurgery.surgery_cosmetic > 0)) { surgeries.push("liposuction"); slave.weight -= 50; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21662,21 +21663,21 @@ window.rulesAutosurgery = (function() { surgeries.push("a feminine voice"); slave.voice += 1; slave.voiceImplant += 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.waist >= -10) && (thisSurgery.surgery_cosmetic > 0)) { surgeries.push("a narrower waist"); slave.waist -= 20; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if (((slave.boobShape == "saggy") || (slave.boobShape == "downward-facing")) && (thisSurgery.surgery_cosmetic > 0) && (slave.breastMesh != 1)) { surgeries.push("a breast lift"); slave.boobShape = "normal"; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21686,7 +21687,7 @@ window.rulesAutosurgery = (function() { else slave.boobShape = "perky"; surgeries.push("more interestingly shaped breasts"); - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21696,7 +21697,7 @@ window.rulesAutosurgery = (function() { slave.lipsImplant = 0; if (slave.oralSkill > 10) slave.oralSkill -= 10; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21707,7 +21708,7 @@ window.rulesAutosurgery = (function() { slave.lips += 10; if (slave.oralSkill > 10) slave.oralSkill -= 10; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21717,7 +21718,7 @@ window.rulesAutosurgery = (function() { if (slave.faceShape == "masculine") slave.faceShape = "androgynous"; slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade; slave.face = Math.clamp(slave.face+20,-100,100); - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21725,7 +21726,7 @@ window.rulesAutosurgery = (function() { surgeries.push("wider hips"); slave.hips++; slave.hipsImplant++; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21744,14 +21745,14 @@ window.rulesAutosurgery = (function() { slave.visualAge -= 5; } slave.faceImplant += 25-5*Math.trunc(V.PC.medicine/50)-5*V.surgeryUpgrade; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.waist >= -95) && (thisSurgery.surgery_cosmetic == 2) && (V.seeExtreme == 1)) { surgeries.push("a narrower waist"); slave.waist = Math.clamp(slave.waist-20,-100,100); - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21759,7 +21760,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a bimbo's voice"); slave.voice += 1; slave.voiceImplant += 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21768,7 +21769,7 @@ window.rulesAutosurgery = (function() { slave.butt -= slave.buttImplant; slave.buttImplant = 0; slave.buttImplantType = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21777,7 +21778,7 @@ window.rulesAutosurgery = (function() { slave.boobs -= slave.boobsImplant; slave.boobsImplant = 0; slave.boobsImplantType = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if ((slave.butt <= 3) && (slave.butt < thisSurgery.surgery_butt)) { @@ -21785,7 +21786,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a bigger butt"); slave.buttImplant = 1; slave.butt += 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21794,7 +21795,7 @@ window.rulesAutosurgery = (function() { surgeries.push("bigger boobs"); slave.boobsImplant += 400; slave.boobs += 400; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21803,7 +21804,7 @@ window.rulesAutosurgery = (function() { surgeries.push("modestly bigger boobs"); slave.boobsImplant += 200; slave.boobs += 200; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21813,7 +21814,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a bigger butt"); slave.buttImplant = 1; slave.butt += 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21823,7 +21824,7 @@ window.rulesAutosurgery = (function() { surgeries.push("bigger boobs"); slave.boobsImplant += 400; slave.boobs += 400; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21834,7 +21835,7 @@ window.rulesAutosurgery = (function() { if (slave.analSkill > 10) { slave.analSkill -= 10; } - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21843,7 +21844,7 @@ window.rulesAutosurgery = (function() { slave.vagina = 0; if (slave.vaginalSkill > 10) slave.vaginalSkill -= 10; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21851,7 +21852,7 @@ window.rulesAutosurgery = (function() { surgeries.push("wider hips"); slave.hips++; slave.hipsImplant++; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21861,7 +21862,7 @@ window.rulesAutosurgery = (function() { if (slave.analSkill > 10) { slave.analSkill -= 10; } - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21871,7 +21872,7 @@ window.rulesAutosurgery = (function() { if (slave.vaginalSkill > 10) { slave.vaginalSkill -= 10; } - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; @@ -21880,7 +21881,7 @@ window.rulesAutosurgery = (function() { surgeries.push("a bigger butt"); slave.buttImplant = 1; slave.butt += 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21890,7 +21891,7 @@ window.rulesAutosurgery = (function() { surgeries.push("bigger boobs"); slave.boobsImplant += 200; slave.boobs += 200; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } @@ -21899,14 +21900,14 @@ window.rulesAutosurgery = (function() { surgeries.push("wider hips"); slave.hips++; slave.hipsImplant++; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; } else if (slave.bellyImplant < 0 && V.bellyImplants > 0 && thisSurgery.surgery_bellyImplant == "install" && slave.womb.length == 0 && slave.broodmother == 0) { slave.bellyImplant = 100; slave.preg = -2; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (slave.ovaries == 1 || slave.mpreg == 1) { surgeries.push("belly implant"); V.surgeryType = "bellyIn"; @@ -21930,7 +21931,7 @@ window.rulesAutosurgery = (function() { slave.preg = 0; slave.bellyImplant = -1; slave.cervixImplant = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } else if (slave.balls > 0 && slave.vasectomy === 0 && thisSurgery.surgery_vasectomy === true) { surgeries.push("vasectomy"); V.surgeryType = "vasectomy"; @@ -21939,7 +21940,7 @@ window.rulesAutosurgery = (function() { else slave.health -= 10; slave.vasectomy = 1; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } else if (slave.balls > 0 && slave.vasectomy === 1 && thisSurgery.surgery_vasectomy === false) { surgeries.push("undo vasectomy"); V.surgeryType = "vasectomy undo"; @@ -21948,7 +21949,7 @@ window.rulesAutosurgery = (function() { else slave.health -= 10; slave.vasectomy = 0; - V.cash -= V.surgeryCost; + cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); } } @@ -21976,6 +21977,7 @@ window.rulesAutosurgery = (function() { } })(); + /*:: sexActJS[script]*/ /* @@ -36694,7 +36696,8 @@ window.BadOutcome = function() { break; case "Kind": V.SF.BadOutcome = "Exodus",V.trinkets.push("${t} gift card"), - V.Cash += 55000,V.menials += 73; + V.menials += 73; + cashX(55000, "specialForces"); r += `Your Colonel has had enough of your meddling. In her eyes, you've broken faith with her. She asked one thing of you in return for her full support, and you could not even give her that.`; r += `<br>At midnight, a great mechanized convoy, the biggest you've seen in a long while, streams out of your Arcology. Troop Carriers, Aircraft, Heavy Trucks, and other war machines of varying sizes pour out of the Firebase in tight formation. The Colonel is refusing your calls, and you know it would be ill advised to go out there yourself or to try to stop them with force. The many bandits and mercenary groups that the convoy will inevitably pass by will probably feel this way as well. You have no idea where they are going or how they will end up, but with their wealth and weaponry, you are not worried.`; r += `<br>Upon your inspection of the abandoned firebase itself, most of the heavier installations have been dismantled and carried away, but about 55,000# of miscellaneous supplies and 73 menials have been left behind, presumably because the convoy had no space for them. On The Colonel's old pavilion, you see a white gift card standing upright.`; diff --git a/src/uncategorized/saWhore.tw b/src/uncategorized/saWhore.tw index ec228393a2cd2dfcdf7a48291586ed635a2f341f..7bac453ed0d5abe638007cb75aee71f4866f915b 100644 --- a/src/uncategorized/saWhore.tw +++ b/src/uncategorized/saWhore.tw @@ -53,6 +53,7 @@ $his body. <<set $beautyMultiplier = 1>> +<<set _adsBeautyMultiplier = 0>> <<if $brothel > 0>> <<if (($universalRulesFacilityWork == 1) && ($slaves[$i].assignment == "whore") && ($brothelSpots > 0)) || ($slaves[$i].assignment == "work in the brothel")>> <<if ($slaves[$i].assignment == "whore")>>