diff --git a/src/facilities/penthouse/penthouseFramework.js b/src/facilities/penthouse/penthouseFramework.js index 4a0d1bdc86330544385e4b2dc68fb98acd593cb2..f53f20fd1d3c63eb5452f4814d4128555b9c1f1f 100644 --- a/src/facilities/penthouse/penthouseFramework.js +++ b/src/facilities/penthouse/penthouseFramework.js @@ -166,6 +166,18 @@ App.Entity.Facilities.PenthouseJobs = { return `<<run App.Utils.setActiveSlaveByIndex(${i})>>` + (callback !== undefined ? callback(assignment) : ''); }, linkText); } + + assignmentLinkElement(i, passage, callback, linkText) { + linkText = linkText || this.desc.position; + return App.UI.DOM.assignmentLink(V.slaves[i], this.desc.assignment, "Subordinate Targeting", + (slave, assignment) => { + if (callback) { + callback(slave, assignment); + } + App.Utils.setActiveSlaveByIndex(i); + V.returnTo = passage; + }, linkText); + } }, Cow: class extends App.Entity.Facilities.PenthouseJob { checkRequirements(slave) { diff --git a/src/js/slaveInteract.js b/src/js/slaveInteract.js index 6fb1696c7041a1e0af2ca15a99c9c12f86346dfe..bcee06797870b1a92bfd9e25742b7632e4715fb5 100644 --- a/src/js/slaveInteract.js +++ b/src/js/slaveInteract.js @@ -164,6 +164,18 @@ App.UI.SlaveInteract.assignmentBlock = function(blockId, slave) { assign.textContent = `${slave.assignment}. `; } title.appendChild(assign); + if (slave.assignment === "be a subordinate slave") { + const target = getSlave(slave.subTarget); + let linkText = ``; + if (target) { + title.appendChild(document.createTextNode(`Serving ${target.slaveName} exclusively. `)); + linkText = `Change`; + } else { + title.appendChild(document.createTextNode(`Serving all your other slaves. `)); + linkText = `Choose a specific slave to submit to`; + } + title.appendChild(App.UI.DOM.passageLink(linkText, "Subordinate Targeting", () => { V.returnTo = "Slave Interact"; })); + } if (V.assignmentRecords[slave.ID] && V.assignmentRecords[slave.ID] !== slave.assignment) { title.append(`Previously: `); assign = document.createElement('span'); diff --git a/src/uncategorized/subordinateTargeting.tw b/src/uncategorized/subordinateTargeting.tw index b4953ab098ecf087fd2adec3e341bd5cab11263e..4bdf2c69c02e79182dbdd7680122e28799c111f5 100644 --- a/src/uncategorized/subordinateTargeting.tw +++ b/src/uncategorized/subordinateTargeting.tw @@ -1,6 +1,6 @@ :: Subordinate Targeting [nobr] -<<set $nextButton = "Back", $nextLink = "Slave Interact">> +<<set $nextButton = "Back", $nextLink = "AS Dump">> <<setLocalPronouns $activeSlave>>