diff --git a/src/events/RE/reRebels.js b/src/events/RE/reRebels.js index de6a4c848f1c74ff8b8f3b72f6a809462e63246f..1307aff535b1e64dd87f27e9809b09546a3eda05 100644 --- a/src/events/RE/reRebels.js +++ b/src/events/RE/reRebels.js @@ -130,65 +130,21 @@ App.Events.RERebels = class RERebels extends App.Events.BaseEvent { } r.push(`But it can't go on forever as the sound of the spoon clattering to the floor fills the room.`); if (random(1, 100) <= 50) { - r.push(`You kick the stool out from under ${thingTwo.slaveName} and let ${him2} hang. ${thingOne.slaveName}`); - if (canSee(thingOne)) { - r.push(`watches`); - } else if (canHear(thingOne)) { - r.push(`listens`); - } else { - r.push(`stares blankly`); - } - r.push(`in horror as the life drains from ${his} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him} behaving strangely.</span>`); - thingOne.trust -= -20; - thingOne.behavioralFlaw = "odd"; - removeSlave(thingTwo); + r.push(kickBucket(thingTwo, thingOne)); } else { - r.push(`You kick the stool out from under ${thingOne.slaveName} and let ${him} hang. ${thingTwo.slaveName}`); - if (canSee(thingTwo)) { - r.push(`watches`); - } else if (canHear(thingTwo)) { - r.push(`listens`); - } else { - r.push(`stares blankly`); - } - r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`); - thingTwo.trust -= -20; - thingTwo.behavioralFlaw = "odd"; - removeSlave(thingOne); + r.push(kickBucket(thingOne, thingTwo)); } } else if (thingTwo.vagina > thingOne.vagina && random(1, 100) > 50) { r.push(`You start with ${thingOne.slaveName} before moving to ${thingTwo.slaveName} as ${he} holds ${his} life between ${his} netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. ${thingOne.slaveName} is the clear favorite in this game, but the looser ${thingTwo.slaveName} refuses to give in, using ${his2} experience to clamp down as hard as ${he2} can. But it can't go on forever as the sound of the spoon clattering to the floor fills the room.`); if (random(1, 100) <= 90) { - r.push(`You kick the stool out from under ${thingTwo.slaveName} and let ${him2} hang. ${thingOne.slaveName}`); - if (canSee(thingOne)) { - r.push(`watches`); - } else if (canHear(thingOne)) { - r.push(`listens`); - } else { - r.push(`stares blankly`); - } - r.push(`in horror as the life drains from ${his} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him} behaving strangely.</span>`); - thingOne.trust -= -20; - thingOne.behavioralFlaw = "odd"; - removeSlave(thingTwo); + r.push(kickBucket(thingTwo, thingOne)); } else { - r.push(`You kick the stool out from under ${thingOne.slaveName} and let ${him} hang. thingTwo.slaveName`); - if (canSee(thingTwo)) { - r.push(`watches`); - } else if (canHear(thingTwo)) { - r.push(`listens`); - } else { - r.push(`stares blankly`); - } - r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`); + r.push(kickBucket(thingOne, thingTwo)); if (thingTwo.vagina >= 3) { r.push(`You can't say you expected this outcome, but it was amusing all the same to discover the blown out whore has some talent.`); } else { r.push(`You're glad no bets were riding on this.`); } - thingTwo.trust -= -20; - thingTwo.behavioralFlaw = "odd"; - removeSlave(thingOne); } } else { r.push(`You start with ${thingOne.slaveName} before moving to ${thingTwo.slaveName} as ${he} holds ${his} life between ${his} netherlips. Once both spoons are inserted, you sit back and watch them squirm at the cold metal in their most sensitive recesses. In a show of underhandedness, ${thingTwo.slaveName} kicks ${thingOne.slaveName}, knocking ${him} off balance and sending ${him} hanging. ${thingTwo.slaveName}`); @@ -207,6 +163,32 @@ App.Events.RERebels = class RERebels extends App.Events.BaseEvent { App.Events.addParagraph(frag, r); return frag; + + /** + * @param {App.Entity.SlaveState} dead + * @param {App.Entity.SlaveState} survivor + * @returns {DocumentFragment} + */ + function kickBucket(dead, survivor) { + const {him} = getPronouns(dead); + const {his2, him2} = getPronouns(survivor).appendSuffix("2"); + const frag = new DocumentFragment(); + let r = []; + r.push(`You kick the stool out from under ${dead.slaveName} and let ${him} hang. ${survivor.slaveName}`); + if (canSee(survivor)) { + r.push(`watches`); + } else if (canHear(survivor)) { + r.push(`listens`); + } else { + r.push(`stares blankly`); + } + r.push(`in horror as the life drains from ${his2} former accomplice, <span class="trust dec">terrified that you'd so callously toy with their lives.</span> The ordeal <span class="red">leaves ${him2} behaving strangely.</span>`); + App.Events.addParagraph(frag, r); + survivor.trust -= -20; + survivor.behavioralFlaw = "odd"; + removeSlave(dead); + return frag; + } } function arcade() {