diff --git a/src/endWeek/saRest.tw b/src/endWeek/saRest.tw index f24e5ab4c2bbe52e0d841b51d70ee91cc4dfd9b6..80894ff985f2ba4e8d3481722caf4625e50b99b2 100644 --- a/src/endWeek/saRest.tw +++ b/src/endWeek/saRest.tw @@ -52,5 +52,85 @@ window.saRest = function saRest(slave) { } } } + + if (V.showVignettes == 1) { + _vignette = GetVignette(slave); + t += ` __This week__ ${_vignette.text} ` + if (_vignette.type == "cash") { + if (_vignette.effect > 0) { + t += `<span class='yellowgreen'>making you an extra ${cashFormat(Math.trunc(V.FResult*_vignette.effect))}.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>losing you ${cashFormat(Math.abs(Math.trunc(V.FResult*_vignette.effect)))}.</span>`; + } else { + t += `an incident without lasting effect.`; + } + V.cash += Math.trunc(V.FResult*_vignette.effect); + } else if (_vignette.type == "devotion") { + if (_vignette.effect > 0) { + if (slave.devotion > 50) { + t += `<span class='hotpink'>increasing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class='hotpink'>increasing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class='hotpink'>reducing ${his} dislike of you.</span>`; + } else { + t += `<span class='hotpink'>reducing ${his} hatred of you.</span>`; + } + } else if (_vignette.effect < 0) { + if (slave.devotion > 50) { + t += `<span class='mediumorchid'>reducing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class='mediumorchid'>reducing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class='mediumorchid'>increasing ${his} dislike of you.</span>`; + } else { + t += `<span class='mediumorchid'>increasing ${his} hatred of you.</span>`; + } + } else { + t += `an incident without lasting effect.`; + } + slave.devotion += (1*_vignette.effect); + } else if (_vignette.type == "trust") { + if (_vignette.effect > 0) { + if (slave.trust > 20) { + t += `<span class='mediumaquamarine'>increasing ${his} trust in you.</span>`; + } else if (slave.trustt > -10) { + t += `<span class='mediumaquamarine'>reducing ${his} fear of you.</span>`; + } else { + t += `<span class='mediumaquamarine'>reducing ${his} terror of you.</span>`; + } + } else if (_vignette.effect < 0) { + if (slave.trust > 20) { + t += `<span class='gold'>reducing ${his} trust in you.</span>`; + } else if (slave.trust > -20) { + t += `<span class='gold'>increasing ${his} fear of you.</span>`; + } else { + t += `<span class='gold'>increasing ${his} terror of you.</span>`; + } + } else { + t += `an incident without lasting effect.`; + } + slave.trust += (1*_vignette.effect); + } else if (_vignette.type == "health") { + if (_vignette.effect > 0) { + t += `<span class='green'>improving ${his} health.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>affecting ${his} health.</span>`; + } else { + t += `an incident without lasting effect.`; + } + slave.health += (2*_vignette.effect); + } else { + if (_vignette.effect > 0) { + t += `<span class='green'>gaining you a bit of reputation.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>losing you a bit of reputation.</span>`; + } else { + t += `an incident without lasting effect.'; + } + V.rep += Math.trunc(V.FResult*_vignette.effect*0.1); + } + } + return t; } \ No newline at end of file diff --git a/src/endWeek/saServant.tw b/src/endWeek/saServant.tw index 9a873a7fbf8dcf561949316d85d5ff24ee70998d..dfbd1dbc5f60d6f5244155a654e3aad377f3e344 100644 --- a/src/endWeek/saServant.tw +++ b/src/endWeek/saServant.tw @@ -98,5 +98,84 @@ window.saServant = function saServant(slave) { t += `as a drink dispenser at mealtimes, and makes a meaningful contribution to ${his} fellow slaves' nutrition in concert with the feeding systems.`; } + if (V.showVignettes == 1) { + _vignette = GetVignette(slave); + t += ` __This week__ ${_vignette.text} ` + if (_vignette.type == "cash") { + if (_vignette.effect > 0) { + t += `<span class='yellowgreen'>making you an extra ${cashFormat(Math.trunc(V.FResult*_vignette.effect))}.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>losing you ${cashFormat(Math.abs(Math.trunc(V.FResult*_vignette.effect)))}.</span>`; + } else { + t += `an incident without lasting effect.`; + } + V.cash += Math.trunc(V.FResult*_vignette.effect); + } else if (_vignette.type == "devotion") { + if (_vignette.effect > 0) { + if (slave.devotion > 50) { + t += `<span class='hotpink'>increasing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class='hotpink'>increasing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class='hotpink'>reducing ${his} dislike of you.</span>`; + } else { + t += `<span class='hotpink'>reducing ${his} hatred of you.</span>`; + } + } else if (_vignette.effect < 0) { + if (slave.devotion > 50) { + t += `<span class='mediumorchid'>reducing ${his} devotion to you.</span>`; + } else if (slave.devotion >= -20) { + t += `<span class='mediumorchid'>reducing ${his} acceptance of you.</span>`; + } else if (slave.devotion > -10) { + t += `<span class='mediumorchid'>increasing ${his} dislike of you.</span>`; + } else { + t += `<span class='mediumorchid'>increasing ${his} hatred of you.</span>`; + } + } else { + t += `an incident without lasting effect.`; + } + slave.devotion += (1*_vignette.effect); + } else if (_vignette.type == "trust") { + if (_vignette.effect > 0) { + if (slave.trust > 20) { + t += `<span class='mediumaquamarine'>increasing ${his} trust in you.</span>`; + } else if (slave.trustt > -10) { + t += `<span class='mediumaquamarine'>reducing ${his} fear of you.</span>`; + } else { + t += `<span class='mediumaquamarine'>reducing ${his} terror of you.</span>`; + } + } else if (_vignette.effect < 0) { + if (slave.trust > 20) { + t += `<span class='gold'>reducing ${his} trust in you.</span>`; + } else if (slave.trust > -20) { + t += `<span class='gold'>increasing ${his} fear of you.</span>`; + } else { + t += `<span class='gold'>increasing ${his} terror of you.</span>`; + } + } else { + t += `an incident without lasting effect.`; + } + slave.trust += (1*_vignette.effect); + } else if (_vignette.type == "health") { + if (_vignette.effect > 0) { + t += `<span class='green'>improving ${his} health.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>affecting ${his} health.</span>`; + } else { + t += `an incident without lasting effect.`; + } + slave.health += (2*_vignette.effect); + } else { + if (_vignette.effect > 0) { + t += `<span class='green'>gaining you a bit of reputation.</span>`; + } else if (_vignette.effect < 0) { + t += `<span class='red'>losing you a bit of reputation.</span>`; + } else { + t += `an incident without lasting effect.'; + } + V.rep += Math.trunc(V.FResult*_vignette.effect*0.1); + } + } + return t; }; \ No newline at end of file diff --git a/src/js/vignettes.tw b/src/js/vignettes.tw index cf12d4917eabb1423d5ff4807173681d10f8f990..65f70c1ec2fa24e82a6c788bc8dc2f2de87b20e5 100644 --- a/src/js/vignettes.tw +++ b/src/js/vignettes.tw @@ -972,6 +972,20 @@ window.GetVignette = function GetVignette(slave) { }); } } + if (slave.visualAge > 40) { + if (slave.face > 10 && slave.race == "asian") { + vignettes.push({ + text: `${he} got repeat business from a customer who loves well-preserved asian ladies,`, + type: "cash", + effect: 1, + }); + } + vignettes.push({ + text: `${he} earned repeat business from a customer with serious mommy issues,`, + type: "cash", + effect: 1, + }); + } if (slave.face > 40) { vignettes.push({ text: `${he} lost a potential customer who was so intimidated by ${his} great beauty that they decided to find a homelier whore,`, @@ -1035,6 +1049,21 @@ window.GetVignette = function GetVignette(slave) { effect: 1, }); } + if (!canWalk(slave)) { + vignettes.push({ + text: `${his} lack of mobility severely hindered ${his} attempts to find customers,`, + type: "cash", + effect: -1, + }); + } else { + if (slave.boobs > 1500 && slave.boobsImplant === 0) { + vignettes.push({ + text: `a young customer hired ${him} to jump rope so they could watch ${his} massive natural breasts flop around,`, + type: "cash", + effect: 1, + }); + } + } if (slave.amp === 1) { vignettes.push({ text: `${he} disappointed a customer who thought they would enjoy fucking a quadruple amputee, but found it revolting,`, @@ -1121,21 +1150,13 @@ window.GetVignette = function GetVignette(slave) { type: "cash", effect: -1, }); - } else { - if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) { - vignettes.push({ - text: `${he} enticed a new customer who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`, - type: "cash", - effect: 1, - }); - } - if (slave.boobs > 1500 && slave.boobsImplant === 0) { - vignettes.push({ - text: `a young customer hired ${him} to jump rope so they could watch ${his} massive natural breasts flop around,`, - type: "cash", - effect: 1, - }); - } + } + if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) { + vignettes.push({ + text: `${he} enticed a new customer who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`, + type: "cash", + effect: 1, + }); } if (slave.vaginalAccessory === "chastity belt") { vignettes.push({ @@ -2519,6 +2540,13 @@ window.GetVignette = function GetVignette(slave) { }); } if (slave.visualAge > 40) { + if (slave.face > 10 && slave.race == "asian") { + vignettes.push({ + text: `${he} got extra gratitude from a citizen who loves well-preserved asian ladies,`, + type: "rep", + effect: 1, + }); + } vignettes.push({ text: `${he} earned extra gratitude from a citizen with serious mommy issues,`, type: "rep", @@ -2568,20 +2596,13 @@ window.GetVignette = function GetVignette(slave) { effect: 1, }); } - if (slave.amp === 1) { + if (!canWalk(slave)) { vignettes.push({ - text: `${he} disappointed a citizen who thought they would enjoy fucking a quadruple amputee, but found it revolting,`, + text: `${his} lack of mobility severely hindered ${his} attempts to please citizens,`, type: "rep", effect: -1, }); } else { - if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) { - vignettes.push({ - text: `${he} enticed a new patron who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`, - type: "rep", - effect: 1, - }); - } if (slave.boobs > 1500 && slave.boobsImplant === 0) { vignettes.push({ text: `a young citizen convinced ${him} to jump rope so they could watch ${his} massive natural breasts flop around,`, @@ -2590,6 +2611,100 @@ window.GetVignette = function GetVignette(slave) { }); } } + if (slave.amp === 1) { + vignettes.push({ + text: `${he} disappointed a citizen who thought they would enjoy fucking a quadruple amputee, but found it revolting,`, + type: "rep", + effect: -1, + }); + } else if (slave.amp === -1) { + vignettes.push({ + text: `a strange citizen was excited by the sight of ${his} prosthetic limbs,`, + type: "rep", + effect: 1, + }); + vignettes.push({ + text: `a citizen was disgusted at the thought of ${his} basic prosthetic limbs,`, + type: "rep", + effect: -1, + }); + vignettes.push({ + text: `a citizen was put off by ${his} prosthetic limbs,`, + type: "rep", + effect: -1, + }); + } else if (slave.amp === -2) { + vignettes.push({ + text: `a citizen was excited by ${his} vibrating fingertips,`, + type: "rep", + effect: 1, + }); + vignettes.push({ + text: "a citizen was indifferent to the thought of having sex with a slave with artificial limbs,", + type: "rep", + effect: 0, + }); + vignettes.push({ + text: `a citizen was put off by ${his} crude artificial limbs,`, + type: "rep", + effect: -1, + }); + } else if (slave.amp === -3) { + vignettes.push({ + text: `a strange citizen was excited by the sight of ${his} artificial limbs,`, + type: "rep", + effect: 1, + }); + vignettes.push({ + text: "a citizen was indifferent to the thought of having sex with a slave with artificial limbs,", + type: "rep", + effect: 0, + }); + vignettes.push({ + text: `a citizen was put off by the sight of ${his} prosthetic limbs,`, + type: "rep", + effect: -1, + }); + } else if (slave.amp === -4) { + vignettes.push({ + text: `a citizen was excited by the thought of having sex with a slave with p-limbs, but was scared off by ${his} combat p-limbs,`, + type: "rep", + effect: -1, + }); + vignettes.push({ + text: "a citizen was indifferent to the thought of having sex with a slave with artificial limbs,", + type: "rep", + effect: 0, + }); + vignettes.push({ + text: `a citizen was greatly intimidated by ${his} combat p-limbs,`, + type: "rep", + effect: -1, + }); + } else if (slave.amp === -5) { + vignettes.push({ + text: `a citizen was fascinated by ${his} cybernetic limbs, and spent almost as much time examining them as they did having sex with ${him},`, + type: "rep", + effect: 1, + }); + vignettes.push({ + text: "a citizen was excited by the thought of having sex with a cybernetically enhanced slave,", + type: "rep", + effect: 1, + }); + vignettes.push({ + text: `a citizen was greatly intimidated by the sight of ${his} cybernetic limbs and was frightened away,`, + type: "rep", + effect: -1, + }); + } + if (slave.heels === 1 && !(["heels", "pumps", "extreme heels", "boots"].includes(slave.shoes))) { + vignettes.push({ + text: `${he} enticed a new patron who had never really considered buttsex before they saw ${him} crawling along with ${his} asshole vulnerable,`, + type: "rep", + effect: 1, + }); + } if (slave.vaginalAccessory === "chastity belt") { vignettes.push({ text: `a wavering citizen who was disappointed that ${his} pussy is unavailable decided to try ${his} ass instead,`,