diff --git a/src/events/RESS/mutinyAttempt.js b/src/events/RESS/mutinyAttempt.js index 3fa59a3ef853c5239adedaf1e92d68a19933d618..0b5c1fcda67516d939dcb2385502947cc25656a6 100644 --- a/src/events/RESS/mutinyAttempt.js +++ b/src/events/RESS/mutinyAttempt.js @@ -10,14 +10,14 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv [ // single event slave s => s.fetish !== "mindbroken", hasAnyArms, - hasAnyLegs, - canTalk, + canSee, + canWalk, s => s.devotion <= 20, s => ((s.trust >= -20 && s.behavioralFlaw === "arrogant") || s.trust > 20), s => s.muscles > 30, s => s.health.condition > 20, s => s.energy > 50, - canPenetrate, + canPenetrate ] ]; } @@ -83,8 +83,11 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv } r.push(`to make sure ${he} doesn't try to step up.`); mutinyAttempted = false; - } else if (V.arcologies[0].FSPhysicalIdealist !== "unset") { - r.push(`but you are far stronger, easily lifting ${him} into the air and slamming ${him} back to the ground.`); + } else if (V.PC.muscles >= eventSlave.muscles + 20 && canLift(eventSlave, V.PC)) { + r.push(`but you are stronger, easily lifting ${him} into the air and slamming ${him} back to the ground.`); + mutinyAttempted = false; + } else if (V.PC.muscles >= eventSlave.muscles + 30) { + r.push(`but you are far stronger; ${he}'s too big to lift, so you just overpower ${him} with sheer might.`); mutinyAttempted = false; } else { r.push(`and despite your attempts at fighting ${him} off, ${he} manages to get a hold on your body.`); @@ -127,10 +130,11 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv App.Events.addResponses(node, choices); } else { App.Events.addParagraph(node, [`With the bitch restrained, you have all the time you need to devise ${his} punishment.`]); - // mutinyAttempted = 2; Remove? Why was $mutinery set to 2 (and a global)? choices2.push(new App.Events.Result(`Lock ${his} dick in chastity`, lock)); choices2.push(new App.Events.Result(`Flog ${him}`, flog)); - choices2.push(new App.Events.Result(`Mute ${him}`, mute, `This option will cost ${cashFormat(V.surgeryCost)}`)); + if (eventSlave.voice !== 0) { + choices2.push(new App.Events.Result(`Mute ${him}`, mute, `This option will cost ${cashFormat(V.surgeryCost)}`)); + } choices2.push(new App.Events.Result(`Castrate ${him}`, castrate, `This option will cost ${cashFormat(V.surgeryCost)}`)); if (eventSlave.vagina === -1) { choices2.push(new App.Events.Result(`Surgically alter ${his} gender`, genderbender, `This option will cost ${cashFormat(V.surgeryCost * 2)}`)); @@ -199,7 +203,6 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv r.push(knockMeUp(V.PC, 50, 0, eventSlave.ID)); } } - // mutinyAttempted = 2; App.Events.addParagraph(frag, r); App.Events.addResponses(frag, choices2); return frag; @@ -244,7 +247,6 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv } r.push(`Once spent, ${he} shoves you to the ground and crashes into your office chair. The moment ${he} lets down ${his} guard, you slam the heaviest object you can find into ${his} head. Now that you have ${him} controlled, it's time ${he} learned ${his} place — when ${he} wakes up, of course. It's more fun that way.`); seX(eventSlave, "penetrative", V.PC, "vaginal"); - // mutinyAttempted = 2; App.Events.addParagraph(frag, r); App.Events.addResponses(frag, choices2); return frag; @@ -281,7 +283,6 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv r.push(`expert`); } r.push(`mouth. You diligently suck until you feel ${him} begin to tense up; this is your chance. You clamp down on ${his} cock while simultaneously punching ${him} in the balls. ${He} howls in pain, until you headbutt ${him} in the stomach and knock the wind out of ${him}. You quickly pull ${him} into an arm lock and force ${him} over your desk. Now that you have ${him} restrained, it's time ${he} learned ${his} place — after you've gotten the taste of the slut out of your mouth, that is.`); - // mutinyAttempted = 2; App.Events.addParagraph(frag, r); App.Events.addResponses(frag, choices2); return frag; @@ -298,7 +299,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv eventSlave.trust -= 15; healthDamage(eventSlave, 15); V.slaves.forEach(function(s) { if (s.devotion < -50) { s.trust += 5; } }); - return `You bind ${his} naked body to the wall in preparation for a good beating. Going against one's master is bad, but going against you is even worse. You thoroughly strike ${him}, showering extra attention to ${his} crotch, while making sure ${he} will be in pain for days to come. Such a beating leaves ${him} <span class="health dec">in agonizing pain</span> and makes a clear example to ${him} and all your other rebellious slaves that <span class="gold">you are not to be trifled with.</span>`; + return `You bind ${his} naked body to the wall in preparation for a good beating. Going against one's master is bad, but going against you is even worse. You thoroughly strike ${him}, showering extra attention to ${his} crotch, while making sure ${he} will be in pain for days to come. Such a beating leaves ${him} <span class="health dec">in agonizing pain</span> and makes a clear example to ${him} and all your other rebellious slaves that <span class="trust dec">you are not to be trifled with.</span>`; } function mute() { @@ -316,7 +317,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv V.slaves.forEach(function(s) { if (s.devotion < -50) { s.trust -= 5; } }); cashX(forceNeg(V.surgeryCost), "slaveSurgery", eventSlave); surgeryDamage(eventSlave, 10); - return `As you pull ${his} limp body to the remote surgery, you notice ${he} understands what ${he} has done and begs you to reconsider your decision; but your mind is set. ${He} had the balls to try and rape you, and now ${he} won't. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new life; <span class="mediumorchid">${he}'ll never get hard again</span> and ${he}'s <span class="gold">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> Every other rebellious slave is <span class="gold">mortified by the example.</span>`; + return `As you pull ${his} limp body to the remote surgery, you notice ${he} understands what ${he} has done and begs you to reconsider your decision; but your mind is set. ${He} had the balls to try and rape you, and now ${he} won't. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new life; <span class="devotion dec">${he}'ll never get hard again</span> and ${he}'s <span class="trust dec">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> Every other rebellious slave is <span class="trust dec">mortified by the example.</span>`; } function genderbender() { @@ -334,7 +335,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv surgeryDamage(eventSlave, 20); let r = []; - r.push(`You ask ${him} if ${he} enjoyed the last time ${he} used ${his} dick and if it was worth crossing you, because it will not happen again. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="mediumorchid">${he}'s now a shemale</span> and ${he}'s <span class="gold">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> You waste no time in shoving ${him} against the wall and forcing your ${dick} into ${his} virgin pussy. You use ${him} until you are satisfied and toss ${him} to the floor to think about ${his} new life. Every other rebellious slave is <span class="gold">horrified by the example.</span>`); + r.push(`You ask ${him} if ${he} enjoyed the last time ${he} used ${his} dick and if it was worth crossing you, because it will not happen again. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="devotion dec">${he}'s now a shemale</span> and ${he}'s <span class="trust dec">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> You waste no time in shoving ${him} against the wall and forcing your ${dick} into ${his} virgin pussy. You use ${him} until you are satisfied and toss ${him} to the floor to think about ${his} new life. Every other rebellious slave is <span class="trust dec">horrified by the example.</span>`); r.push(VCheck.Vaginal(eventSlave, 1)); return r; } @@ -351,7 +352,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv V.slaves.forEach(function(s) { if (s.devotion < -50) { s.trust -= 15; } }); cashX(forceNeg(V.surgeryCost*2), "slaveSurgery", eventSlave); surgeryDamage(eventSlave, 20); - return `You ask ${him} if ${he} enjoyed the last time ${he} used ${his} dick and if it was worth crossing you, because it will not happen again. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="mediumorchid">${he}'s now a surgical null</span> and ${he}'s <span class="gold">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> Every other rebellious slave is <span class="gold">horrified by the example.</span>`; + return `You ask ${him} if ${he} enjoyed the last time ${he} used ${his} dick and if it was worth crossing you, because it will not happen again. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="devotion dec">${he}'s now a surgical null</span> and ${he}'s <span class="trust dec">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> Every other rebellious slave is <span class="trust dec">horrified by the example.</span>`; } function deny() { @@ -373,7 +374,7 @@ App.Events.RESSMutinyAttempt = class RESSMutinyAttempt extends App.Events.BaseEv surgeryDamage(eventSlave, 20); let r = []; - r.push(`You ask ${him} if ${he} enjoyed ${his} last orgasm, because ${he} won't be getting any more. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="mediumorchid">${he}'s now a surgical null,</span> though ${he} retains ${his} balls, and ${he}'s <span class="gold">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> You waste no time in shoving ${him} against the wall and forcing your ${dick} into ${his} anus. As ${his} arousal grows, ${he} realizes you not only took ${his} dick, but ${his} prostate as well. ${He} quickly finds ${himself} desperate for release but lacking any way to do so. You watch ${him} squirm in sexual frustration. This will be ${his} new life. Every other rebellious slave is <span class="gold">horrified by the example.</span>`); + r.push(`You ask ${him} if ${he} enjoyed ${his} last orgasm, because ${he} won't be getting any more. Restrained as ${he} is, the most ${he} can do is cry and beg. Once ${he} comes to after the surgery, ${he} faces ${his} new body; <span class="devotion dec">${he}'s now a surgical null,</span> though ${he} retains ${his} balls, and ${he}'s <span class="trust dec">the only one to blame</span> for ${his} <span class="health dec">suffering.</span> You waste no time in shoving ${him} against the wall and forcing your ${dick} into ${his} anus. As ${his} arousal grows, ${he} realizes you not only took ${his} dick, but ${his} prostate as well. ${He} quickly finds ${himself} desperate for release but lacking any way to do so. You watch ${him} squirm in sexual frustration. This will be ${his} new life. Every other rebellious slave is <span class="trust dec">horrified by the example.</span>`); r.push(VCheck.Anal(eventSlave, 1)); return r; }