diff --git a/devTools/types/FC/data.d.ts b/devTools/types/FC/data.d.ts index c6efdfe4f8217a064dbdd580d08b11e422b5de85..48e6a8e94a673b25ced0e5a153d3eb5d24006772 100644 --- a/devTools/types/FC/data.d.ts +++ b/devTools/types/FC/data.d.ts @@ -62,15 +62,6 @@ declare namespace FC { manager: ManagerJobDesc | null; } - interface ProstheticDefinition { - name: string; - adjust: number; - craft: number; - research: number; - level: number; - costs: number; - } - namespace SlaveSummary { interface SmartPiercing { setting: { diff --git a/devTools/types/SugarCubeExtensions.d.ts b/devTools/types/SugarCubeExtensions.d.ts index 571c21cc390dc5a4c454f388b7114b043b622cbb..c26ed89e0664e6f849bec9fe226bc18c5ad614d9 100644 --- a/devTools/types/SugarCubeExtensions.d.ts +++ b/devTools/types/SugarCubeExtensions.d.ts @@ -43,7 +43,6 @@ declare module "twine-sugarcube" { baseNationalities: string[]; paraphiliaList: string[]; // actually FC.SexualFlaw[] - prosthetics: Record<string, FC.Data.ProstheticDefinition>; } // These are SugarCube private APIs used in the project diff --git a/js/003-data/miscData.js b/js/003-data/miscData.js index 115fde838b2bcd7d4644101628380081f33d1681..e47f9f1b2aa6c509f7d77e359f31fbfa5e6f6189 100644 --- a/js/003-data/miscData.js +++ b/js/003-data/miscData.js @@ -1,133 +1,4 @@ App.Data.misc = { - /* prosthetic stuff */ - /* do not change order, order = display order */ - prostheticIDs: ["interfaceP1", "interfaceP2", "basicL", "sexL", "beautyL", "combatL", "cyberneticL", "ocular", "cochlear", "electrolarynx", "interfaceTail", "modT", "sexT", "combatT", "erectile"], - - /* .name is expected to be singular and uncapitalized; 10 = 1 week without upgrades */ - prosthetics: { - interfaceP1: { - name: "basic prosthetic interface", - adjust: 40, - craft: 50, - research: 100, - level: 1, - costs: 5000 - }, - interfaceP2: { - name: "advanced prosthetic interface", - adjust: 80, - craft: 80, - research: 160, - level: 2, - costs: 10000 - }, - basicL: { - name: "set of basic prosthetic limbs", - adjust: 40, - craft: 40, - research: 80, - level: 1, - costs: 7000 - }, - sexL: { - name: "set of advanced sex limbs", - adjust: 60, - craft: 70, - research: 140, - level: 2, - costs: 15000 - }, - beautyL: { - name: "set of advanced beauty limbs", - adjust: 60, - craft: 70, - research: 140, - level: 2, - costs: 15000 - }, - combatL: { - name: "set of advanced combat limbs", - adjust: 60, - craft: 70, - research: 140, - level: 2, - costs: 15000 - }, - cyberneticL: { - name: "set of cybernetic limbs", - adjust: 80, - craft: 150, - research: 250, - level: 3, - costs: 25000 - }, - ocular: { - name: "ocular implant", - adjust: 60, - craft: 80, - research: 150, - level: 2, - costs: 20000 - }, - cochlear: { - name: "cochlear implant", - adjust: 40, - craft: 40, - research: 80, - level: 1, - costs: 5000 - }, - electrolarynx: { - name: "electrolarynx", - adjust: 40, - craft: 40, - research: 40, - level: 1, - costs: 5000 - }, - interfaceTail: { - name: "prosthetic tail interface", - adjust: 50, - craft: 60, - research: 120, - level: 1, - costs: 5000 - }, - modT: { - name: "modular tail", - adjust: 40, - craft: 40, - research: 80, - level: 1, - costs: 5000 - }, - combatT: { - name: "combat tail", - adjust: 70, - craft: 70, - research: 140, - level: 2, - costs: 15000 - }, - sexT: { - name: "pleasure tail", - adjust: 60, - craft: 60, - research: 120, - level: 2, - costs: 10000 - }, - erectile: { - name: "erectile implant", - adjust: 40, - craft: 50, - research: 100, - level: 1, - costs: 7000 - } - }, - /* prosthetic stuff end */ - /** * pregmod exclusive start ***/ /* Double 20 week point for human data — not a bug. Do not change! (It's transfer point in data source, from data without CTR to with CTR) */ diff --git a/js/003-data/slaveProstheticsData.js b/js/003-data/slaveProstheticsData.js new file mode 100644 index 0000000000000000000000000000000000000000..e4942a7761506d4dce09c5e3378be6cf26c2147b --- /dev/null +++ b/js/003-data/slaveProstheticsData.js @@ -0,0 +1,146 @@ +/** + * do not change order, order = display order + * + * @type {string[]} + */ +App.Data.prostheticIDs = + ["interfaceP1", "interfaceP2", "basicL", "sexL", "beautyL", "combatL", "cyberneticL", "ocular", "cochlear", + "electrolarynx", "interfaceTail", "modT", "sexT", "combatT", "erectile"]; + +/** + * @typedef {object} prosthetics + * @property {string} name expected to singular and lowercase + * @property {number} adjust time required to adjust an existing prosthetic to a slave + * @property {number} craft time required to create a new, not to a specific slave fitted prosthetic + * @property {number} research time required to research the prosthetic + * @property {number} level minimum level the prosthetics lab needs to research/craft the prosthetic + * @property {number} costs cash required to buy the prosthetic + * + * For all time values: 10 = 1 week without upgrades + */ + +/** + * @type {Object<string, prosthetics>} + */ +App.Data.prosthetics = { + interfaceP1: { + name: "basic prosthetic interface", + adjust: 40, + craft: 50, + research: 100, + level: 1, + costs: 5000 + }, + interfaceP2: { + name: "advanced prosthetic interface", + adjust: 80, + craft: 80, + research: 160, + level: 2, + costs: 10000 + }, + basicL: { + name: "set of basic prosthetic limbs", + adjust: 40, + craft: 40, + research: 80, + level: 1, + costs: 7000 + }, + sexL: { + name: "set of advanced sex limbs", + adjust: 60, + craft: 70, + research: 140, + level: 2, + costs: 15000 + }, + beautyL: { + name: "set of advanced beauty limbs", + adjust: 60, + craft: 70, + research: 140, + level: 2, + costs: 15000 + }, + combatL: { + name: "set of advanced combat limbs", + adjust: 60, + craft: 70, + research: 140, + level: 2, + costs: 15000 + }, + cyberneticL: { + name: "set of cybernetic limbs", + adjust: 80, + craft: 150, + research: 250, + level: 3, + costs: 25000 + }, + ocular: { + name: "ocular implant", + adjust: 60, + craft: 80, + research: 150, + level: 2, + costs: 20000 + }, + cochlear: { + name: "cochlear implant", + adjust: 40, + craft: 40, + research: 80, + level: 1, + costs: 5000 + }, + electrolarynx: { + name: "electrolarynx", + adjust: 40, + craft: 40, + research: 40, + level: 1, + costs: 5000 + }, + interfaceTail: { + name: "prosthetic tail interface", + adjust: 50, + craft: 60, + research: 120, + level: 1, + costs: 5000 + }, + modT: { + name: "modular tail", + adjust: 40, + craft: 40, + research: 80, + level: 1, + costs: 5000 + }, + combatT: { + name: "combat tail", + adjust: 70, + craft: 70, + research: 140, + level: 2, + costs: 15000 + }, + sexT: { + name: "pleasure tail", + adjust: 60, + craft: 60, + research: 120, + level: 2, + costs: 10000 + }, + erectile: { + name: "erectile implant", + adjust: 40, + craft: 50, + research: 100, + level: 1, + costs: 7000 + } +}; diff --git a/src/data/backwardsCompatibility/backwardsCompatibility.js b/src/data/backwardsCompatibility/backwardsCompatibility.js index 1cdba489fbce084ca2980e514f5525f9e7424090..ceaf0db964d84494f81010a21a251a0e4ffd3450 100644 --- a/src/data/backwardsCompatibility/backwardsCompatibility.js +++ b/src/data/backwardsCompatibility/backwardsCompatibility.js @@ -1777,7 +1777,7 @@ App.Update.oldVersions = function(node) { if (jQuery.isEmptyObject(V.prosthetics)) { if (jQuery.isEmptyObject(V.stockpile)) { V.prosthetics = {}; - setup.prostheticIDs.forEach(function(id) { + App.Data.prostheticIDs.forEach(function(id) { V.prosthetics[id] = {amount: 0, research: 0}; }); } else { diff --git a/src/endWeek/labReport.js b/src/endWeek/labReport.js index f32bf642cc28a4131be1ab6f82623e80de1a9084..dfbeed085d39e2a8504febc7d51d1c47e3271dee 100644 --- a/src/endWeek/labReport.js +++ b/src/endWeek/labReport.js @@ -18,24 +18,24 @@ App.EndWeek.labReport = function() { } else if (work < task.workLeft) { task.workLeft -= work; work = 0; - r.push(`The lab continues ${task.type === "research" ? "research" : "work"} on <span class="yellow">${addA(setup.prosthetics[task.id].name)}.</span> It will take approximately ${numberWithPluralNonZero(Math.floor(task.workLeft / V.researchLab.speed) + 1, "week")} to complete.`); + r.push(`The lab continues ${task.type === "research" ? "research" : "work"} on <span class="yellow">${addA(App.Data.prosthetics[task.id].name)}.</span> It will take approximately ${numberWithPluralNonZero(Math.floor(task.workLeft / V.researchLab.speed) + 1, "week")} to complete.`); } else { work -= task.workLeft; r.push(`Your lab staff have <span class="green">completed</span> their`); switch (task.type) { case "research": V.prosthetics[task.id].research = 1; - r.push(`${setup.prosthetics[task.id].name} research project.`); + r.push(`${App.Data.prosthetics[task.id].name} research project.`); break; case "craft": V.prosthetics[task.id].amount += 1; - r.push(`${setup.prosthetics[task.id].name} construction project.`); + r.push(`${App.Data.prosthetics[task.id].name} construction project.`); break; case "craftFit": task.workLeft = 0; V.adjustProsthetics.push(task); V.adjustProstheticsCompleted++; - r.push(`project to construct ${addA(setup.prosthetics[task.id].name)} for ${SlaveFullName(getSlave(task.slaveID))}.`); + r.push(`project to construct ${addA(App.Data.prosthetics[task.id].name)} for ${SlaveFullName(getSlave(task.slaveID))}.`); break; } V.researchLab.tasks.shift(); diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index 2aad4145719a1fd06fff7c34499655d220ee14c2..c11306c4ec50e275ba67daff4711b3d1cbd5e0a8 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -41,7 +41,7 @@ You should have received a copy of the GNU General Public License along with thi <<run assistant.object()>> <<run repX(1000, "event")>> -<<run setup.prostheticIDs.forEach(function(id) { +<<run App.Data.prostheticIDs.forEach(function(id) { $prosthetics[id] = {amount: 0, research: 0}; })>> <<set $JobIDMap = makeJobIdMap()>> diff --git a/src/interaction/main/mainLinks.js b/src/interaction/main/mainLinks.js index dfab76fb1dda51647360d6904af8d7f5e6465cea..2c025b2bae3059510aba92ae98b74c37f660bc0b 100644 --- a/src/interaction/main/mainLinks.js +++ b/src/interaction/main/mainLinks.js @@ -189,7 +189,7 @@ App.UI.View.mainLinks = function() { if (V.adjustProsthetics[j].workLeft <= 0) { const div = document.createElement("div"); div.classList.add("yellow"); - div.append(`The lab has completed ${addA(setup.prosthetics[V.adjustProsthetics[j].id].name)} for `, + div.append(`The lab has completed ${addA(App.Data.prosthetics[V.adjustProsthetics[j].id].name)} for `, App.UI.DOM.makeElement("span", App.UI.DOM.link(SlaveFullName(slave), () => { V.AS = slave.ID; }, [], "Slave Interact"), "clear-formatting"), " which is ready to be attached."); fragment.append(div); diff --git a/src/interaction/prostheticConfig.tw b/src/interaction/prostheticConfig.tw index 12d06a338c6179b92aff4d51c59c66a7d9000f0f..84155c0678e9682f25e8d0802a2565d27daec53d 100644 --- a/src/interaction/prostheticConfig.tw +++ b/src/interaction/prostheticConfig.tw @@ -293,12 +293,12 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <</if>> </div> -<<for _p range setup.prostheticIDs>> +<<for _p range App.Data.prostheticIDs>> <<if _p != "erectile">> /* exclude erectile implant */ - <div><<= capFirstChar(setup.prosthetics[_p].name)>></div> + <div><<= capFirstChar(App.Data.prosthetics[_p].name)>></div> <<if $adjustProsthetics.findIndex(function(p) {return p.id == _p && p.slaveID == getSlave($AS).ID}) != -1 || $researchLab.tasks.findIndex(function(p) {return p.type == "craftFit" && p.id == _p && p.slaveID == getSlave($AS).ID}) != -1>> <div class="full">//Currently being fitted to $him.//</div> - <<elseif setup.prosthetics[_p].level > $prostheticsUpgrade>> + <<elseif App.Data.prosthetics[_p].level > $prostheticsUpgrade>> <div class="full">//Better contracts are needed to buy these.//</div> <<elseif isProstheticAvailable(getSlave($AS), _p)>> <div class="full">//Completed.//</div> @@ -307,11 +307,11 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <div> <<if $prosthetics[_p].amount > 0>> <<link "From storage" "Prosthetics Configuration">> - <<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), $prosthetics[_p].amount -= 1>> + <<set $adjustProsthetics.push({id: _p, workLeft: App.Data.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), $prosthetics[_p].amount -= 1>> <</link>> <<else>> - <<link "<<= cashFormat(setup.prosthetics[_p].costs)>>" "Prosthetics Configuration">> - <<set $adjustProsthetics.push({id: _p, workLeft: setup.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), cashX(forceNeg(setup.prosthetics[_p].costs), "slaveMod", getSlave($AS))>> + <<link "<<= cashFormat(App.Data.prosthetics[_p].costs)>>" "Prosthetics Configuration">> + <<set $adjustProsthetics.push({id: _p, workLeft: App.Data.prosthetics[_p].adjust, slaveID: getSlave($AS).ID}), cashX(forceNeg(App.Data.prosthetics[_p].costs), "slaveMod", getSlave($AS))>> <</link>> <</if>> </div> @@ -322,7 +322,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <<set $researchLab.tasks.push({ type: "craftFit", id: _p, - workLeft: (setup.prosthetics[_p].adjust + setup.prosthetics[_p].craft) / 1.5, + workLeft: (App.Data.prosthetics[_p].adjust + App.Data.prosthetics[_p].craft) / 1.5, slaveID: $AS})>> /* 1.5: longer than adjust, but faster than adjust+craft. */ <</link>> @@ -331,12 +331,12 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <div style="text-align:right"> <<if $researchLab.speed >= 300 && $prosthetics[_p].research > 0>> /* max speed */ <<if $prosthetics[_p].amount > 0>> - <<link "From storage: <<= cashFormat(setup.prosthetics[_p].adjust * 50)>>" "Prosthetics Configuration">> - <<set cashX(forceNeg(setup.prosthetics[_p].costs * 1.5), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>> + <<link "From storage: <<= cashFormat(App.Data.prosthetics[_p].adjust * 50)>>" "Prosthetics Configuration">> + <<set cashX(forceNeg(App.Data.prosthetics[_p].costs * 1.5), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>> <</link>> <<else>> - <<link "<<= cashFormat(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100)>>" "Prosthetics Configuration">> - <<set cashX(forceNeg(setup.prosthetics[_p].costs + setup.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>> + <<link "<<= cashFormat(App.Data.prosthetics[_p].costs + App.Data.prosthetics[_p].adjust * 100)>>" "Prosthetics Configuration">> + <<set cashX(forceNeg(App.Data.prosthetics[_p].costs + App.Data.prosthetics[_p].adjust * 100), "slaveMod", getSlave($AS)), addProsthetic(getSlave($AS), _p)>> <</link>> <</if>> <</if>> @@ -509,7 +509,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <br><br>Since you already have prepared limbs for $him you might as well attach them while you are working on $him:<br> <<set _first = 0>> <</if>> - <<link "Attach <<= addA(setup.prosthetics.basicL.name)>>">> + <<link "Attach <<= addA(App.Data.prosthetics.basicL.name)>>">> <<set removeLimbs(getSlave($AS), "all"), attachLimbs(getSlave($AS), "all", 2), $prostheticsConfig = "basicPLimbs">> <<replace #attach>><br><br><<include "Prosthetics Configuration">><<set $nextLink = "Remote Surgery">><</replace>> <</link>> @@ -520,7 +520,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <br><br>Since you already have prepared limbs for $him you might as well attach them while you are working on $him:<br> <<set _first = 0>> <</if>> - <<link "Attach <<= addA(setup.prosthetics.sexL.name)>>">> + <<link "Attach <<= addA(App.Data.prosthetics.sexL.name)>>">> <<set removeLimbs(getSlave($AS), "all"), attachLimbs(getSlave($AS), "all", 3), $prostheticsConfig = "sexPLimbs">> <<replace #attach>><br><br><<include "Prosthetics Configuration">><<set $nextLink = "Remote Surgery">><</replace>> <</link>> @@ -531,7 +531,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <br><br>Since you already have prepared limbs for $him you might as well attach them while you are working on $him:<br> <<set _first = 0>> <</if>> - <<link "Attach <<= addA(setup.prosthetics.beautyL.name)>>">> + <<link "Attach <<= addA(App.Data.prosthetics.beautyL.name)>>">> <<set removeLimbs(getSlave($AS), "all"), attachLimbs(getSlave($AS), "all", 4), $prostheticsConfig = "beautyPLimbs">> <<replace #attach>><br><br><<include "Prosthetics Configuration">><<set $nextLink = "Remote Surgery">><</replace>> <</link>> @@ -542,7 +542,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <br><br>Since you already have prepared limbs for $him you might as well attach them while you are working on $him:<br> <<set _first = 0>> <</if>> - <<link "Attach <<= addA(setup.prosthetics.combatL.name)>>">> + <<link "Attach <<= addA(App.Data.prosthetics.combatL.name)>>">> <<set removeLimbs(getSlave($AS), "all"), attachLimbs(getSlave($AS), "all", 5), $prostheticsConfig = "combatPLimbs">> <<replace #attach>><br><br><<include "Prosthetics Configuration">><<set $nextLink = "Remote Surgery">><</replace>> <</link>> @@ -554,7 +554,7 @@ This room is lined with shelves and cabinets; it could be easily mistaken for a <br><br>Since you already have prepared limbs for $him you might as well attach them while you are working on $him:<br> <<set _first = 0>> <</if>> - <<link "Attach <<= addA(setup.prosthetics.cyberneticL.name)>>" "Prosthetics Configuration">> + <<link "Attach <<= addA(App.Data.prosthetics.cyberneticL.name)>>" "Prosthetics Configuration">> <<set removeLimbs(getSlave($AS), "all"), attachLimbs(getSlave($AS), "all", 6), $prostheticsConfig = "cyberPLimbs">> <<replace #attach>><br><br><<include "Prosthetics Configuration">><<set $nextLink = "Remote Surgery">><</replace>> <</link>> diff --git a/src/interaction/prostheticLab.tw b/src/interaction/prostheticLab.tw index d79406219171cdbe75c9cb7732cc43e0a8073730..2335fd2f8a1ed2f2937cfde19f31bf17da4c2c6b 100644 --- a/src/interaction/prostheticLab.tw +++ b/src/interaction/prostheticLab.tw @@ -13,7 +13,7 @@ <<for _p range $adjustProsthetics>> <<if _p.workLeft > 0>> <div class="indent"> - <<= capFirstChar(setup.prosthetics[_p.id].name)>> for <<= SlaveFullName($slaves[$slaveIndices[_p.slaveID]])>> + <<= capFirstChar(App.Data.prosthetics[_p.id].name)>> for <<= SlaveFullName($slaves[$slaveIndices[_p.slaveID]])>> </div> <</if>> <</for>> @@ -161,7 +161,7 @@ @@.error;Error: Unknown $researchLab.tasks[].type: $researchLab.tasks[_i].type@@ <</switch>> <<set _j += $researchLab.tasks[_i].workLeft>> - @@.noteworthy;<<= capFirstChar(setup.prosthetics[$researchLab.tasks[_i].id].name)>>@@. + @@.noteworthy;<<= capFirstChar(App.Data.prosthetics[$researchLab.tasks[_i].id].name)>>@@. <<if $researchLab.speed > 0>> Finished in approximately <<= (Math.floor(_j / $researchLab.speed) + 1)>> week(s). <</if>> @@ -188,19 +188,19 @@ <h3>Research</h3> Available research projects: - <<for _p range setup.prostheticIDs>> + <<for _p range App.Data.prostheticIDs>> <<if $prosthetics[_p].research == 0>> <<if _p != "erectile">> /*excludes erectile*/ <div class="indent"> - <<if setup.prosthetics[_p].level <= $prostheticsUpgrade>> + <<if App.Data.prosthetics[_p].level <= $prostheticsUpgrade>> <<capture _p>> - <<link "Reverse engineer <<= addA(setup.prosthetics[_p].name)>>" "Prosthetic Lab">> - <<set cashX(forceNeg(setup.prosthetics[_p].costs), "labResearch"), $prosthetics[_p].research = -1, $researchLab.tasks.push({type: "research", id: _p, workLeft: setup.prosthetics[_p].research})>> + <<link "Reverse engineer <<= addA(App.Data.prosthetics[_p].name)>>" "Prosthetic Lab">> + <<set cashX(forceNeg(App.Data.prosthetics[_p].costs), "labResearch"), $prosthetics[_p].research = -1, $researchLab.tasks.push({type: "research", id: _p, workLeft: App.Data.prosthetics[_p].research})>> <</link>> <</capture>> - //Costs <<= cashFormat(setup.prosthetics[_p].costs)>> of initial investment.// + //Costs <<= cashFormat(App.Data.prosthetics[_p].costs)>> of initial investment.// <<else>> - //You need better contracts to get the required research material for reverse engineering <<= addA(setup.prosthetics[_p].name)>>.// + //You need better contracts to get the required research material for reverse engineering <<= addA(App.Data.prosthetics[_p].name)>>.// <</if>> </div> <</if>> @@ -210,13 +210,13 @@ <h3>Manufacture</h3> Available building projects: - <<for _p range setup.prostheticIDs>> + <<for _p range App.Data.prostheticIDs>> <<if $prosthetics[_p].research == 1>> <<if _p != "erectile">> /*excludes erectile*/ <div class="indent"> <<capture _p>> - <<link "Build <<= addA(setup.prosthetics[_p].name)>>" "Prosthetic Lab">> - <<set $researchLab.tasks.push({type: "craft", id: _p, workLeft: setup.prosthetics[_p].craft})>> + <<link "Build <<= addA(App.Data.prosthetics[_p].name)>>" "Prosthetic Lab">> + <<set $researchLab.tasks.push({type: "craft", id: _p, workLeft: App.Data.prosthetics[_p].craft})>> <</link>> <</capture>> </div> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 879e7b183a43f00e64cc41cb84f82cd8048677e5..a17231211b49c87fe7148ca4e46c2a79127a8755 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -2488,7 +2488,7 @@ App.Entity.SlaveState = class SlaveState { * Array that holds a slaves fitted prosthetics. Objects are used to ensure easier expansion later (tattoos for limbs and similar). * * Elements of the array should be objects. - * * .id: ID of the prosthetic, see setup.prostheticIDs + * * .id: ID of the prosthetic, see App.Data.prostheticIDs * @type {Array.<{id:string}>} */ this.readyProsthetics = []; /** */ diff --git a/src/npc/children/ChildState.js b/src/npc/children/ChildState.js index 3451fbc14378d62a84630ab428ceb4f5c49a8f6a..8694e2f4ae32de76817984da7aa489f580f354a8 100644 --- a/src/npc/children/ChildState.js +++ b/src/npc/children/ChildState.js @@ -1810,7 +1810,7 @@ App.Facilities.Nursery.ChildState = class ChildState { * Array that holds a slaves fitted prosthetics. Objects are used to ensure easier expansion later (tattoos for limbs and similar). * * Elements of the array should be objects. - * * .id: ID of the prosthetic, see setup.prostheticIDs + * * .id: ID of the prosthetic, see App.Data.prostheticIDs * @type {Array.<{id:string}>} */ this.readyProsthetics = []; /** */ diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw index edf763e58a6842ec8f3d79c8ee84cdacb8dd70f0..efea5291c3ccd01f0287538b5602b6aeeccc1c9c 100644 --- a/src/uncategorized/multiImplant.tw +++ b/src/uncategorized/multiImplant.tw @@ -95,34 +95,34 @@ that are ready be sent down. <<set surgeryDamage(getSlave($AS), 20), $surgeryType = "ocular implant">> <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> <<else>> - //Since $he has working eyes the <<= setup.prosthetics.ocular.name>> will be put into storage.// + //Since $he has working eyes the <<= App.Data.prosthetics.ocular.name>> will be put into storage.// <</if>> <<case "cochlear">> <<if getSlave($AS).hears != 0>> <<set getSlave($AS).earImplant = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "cochlear implant">> <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> <<else>> - //Since $he has working ears the <<= setup.prosthetics.cochlear.name>> will be put into storage.// + //Since $he has working ears the <<= App.Data.prosthetics.cochlear.name>> will be put into storage.// <</if>> <<case "electrolarynx">> <<if getSlave($AS).voice <= 0>> <<set getSlave($AS).electrolarynx = 1, getSlave($AS).voice = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "electrolarynx">> <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> <<else>> - //Since $he has a voice the <<= setup.prosthetics.electrolarynx.name>> will be put into storage.// + //Since $he has a voice the <<= App.Data.prosthetics.electrolarynx.name>> will be put into storage.// <</if>> <<case "interfaceP1">> <<if hasAnyNaturalLimbs(getSlave($AS))>> - //Since $he has at least one healthy limb the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.// + //Since $he has at least one healthy limb the <<= App.Data.prosthetics.interfaceP1.name>> will be put into storage.// <<elseif getSlave($AS).PLimb == 2>> - //Since $he already has <<= addA(setup.prosthetics.interfaceP2.name)>> installed the <<= setup.prosthetics.interfaceP1.name>> will be put into storage.// + //Since $he already has <<= addA(App.Data.prosthetics.interfaceP2.name)>> installed the <<= App.Data.prosthetics.interfaceP1.name>> will be put into storage.// <<else>> <<set getSlave($AS).PLimb = 1, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 20), $surgeryType = "PLimb interface1">> <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> <</if>> <<case "interfaceP2">> <<if hasAllNaturalLimbs(getSlave($AS))>> - //Since $he has no amputated limbs the <<= setup.prosthetics.interfaceP2.name>> will be put into storage.// + //Since $he has no amputated limbs the <<= App.Data.prosthetics.interfaceP2.name>> will be put into storage.// <<elseif getSlave($AS).PLimb == 1>> <<set getSlave($AS).PLimb = 2, cashX(forceNeg($surgeryCost), "slaveSurgery", getSlave($AS)), surgeryDamage(getSlave($AS), 5), $surgeryType = "PLimb interface3">> <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> @@ -132,39 +132,39 @@ that are ready be sent down. <</if>> <<case "basicL" "sexL" "beautyL" "combatL" "cyberneticL">> <<if getSlave($AS).fuckdoll != 0>> - //Since a Fuckdoll can't use prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.// + //Since a Fuckdoll can't use prosthetic limbs the <<= App.Data.prosthetics[_p.id].name>> will be put into storage.// <<elseif hasAllNaturalLimbs(getSlave($AS))>> - //Since $he needs an amputated limb to attach prosthetics the <<= setup.prosthetics[_p.id].name>> will be put into storage.// + //Since $he needs an amputated limb to attach prosthetics the <<= App.Data.prosthetics[_p.id].name>> will be put into storage.// <<elseif getSlave($AS).PLimb == 0>> - //Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= setup.prosthetics[_p.id].name>> will be put into storage.// + //Since $he must have a prosthetic interface installed to attach prosthetic limbs the <<= App.Data.prosthetics[_p.id].name>> will be put into storage.// <<else>> <<if _p.id == "basicL">> <<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 2)>> <<if _change>> <<= App.Desc.limbChange().reaction(getSlave($AS), _state)>> <<else>> - //Since $he already has more advanced prosthetic limbs attached the <<= setup.prosthetics.basicL.name>> will be put into storage.// + //Since $he already has more advanced prosthetic limbs attached the <<= App.Data.prosthetics.basicL.name>> will be put into storage.// <</if>> <<elseif _p.id == "sexL">> <<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 3)>> <<if _change>> <<= App.Desc.limbChange().reaction(getSlave($AS), _state)>> <<else>> - //Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.sexL.name>> will be put into storage.// + //Since $he already has advanced prosthetic limbs attached the <<= App.Data.prosthetics.sexL.name>> will be put into storage.// <</if>> <<elseif _p.id == "beautyL">> <<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 4)>> <<if _change>> <<= App.Desc.limbChange().reaction(getSlave($AS), _state)>> <<else>> - //Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.beautyL.name>> will be put into storage.// + //Since $he already has advanced prosthetic limbs attached the <<= App.Data.prosthetics.beautyL.name>> will be put into storage.// <</if>> <<elseif _p.id == "combatL">> <<set _state = App.Desc.limbChange().currentLimbs(getSlave($AS)), _change = upgradeLimbs(getSlave($AS), 5)>> <<if _change>> <<= App.Desc.limbChange().reaction(getSlave($AS), _state)>> <<else>> - //Since $he already has advanced prosthetic limbs attached the <<= setup.prosthetics.combatL.name>> will be put into storage.// + //Since $he already has advanced prosthetic limbs attached the <<= App.Data.prosthetics.combatL.name>> will be put into storage.// <</if>> <<else>> <<if getSlave($AS).PLimb == 2>> @@ -173,7 +173,7 @@ that are ready be sent down. <<= App.Desc.limbChange().reaction(getSlave($AS), _state)>> <</if>> <<else>> - //Since $he must have <<= addA(setup.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= setup.prosthetics.cyberneticL.name>> will be put into storage.// + //Since $he must have <<= addA(App.Data.prosthetics.interfaceP2.name)>> installed to attach cybernetic limbs the <<= App.Data.prosthetics.cyberneticL.name>> will be put into storage.// <</if>> <</if>> <</if>> @@ -182,11 +182,11 @@ that are ready be sent down. <<includeDOM App.UI.SlaveInteract.surgeryDegradation(getSlave($AS))>> <<case "modT" "sexT" "combatT">> <<if getSlave($AS).PTail == 0>> - //Since $he must have <<= addA(setup.prosthetics.interfaceTail.name)>> installed to attach tails the <<= setup.prosthetics[_p.id].name>> will be put into storage.// + //Since $he must have <<= addA(App.Data.prosthetics.interfaceTail.name)>> installed to attach tails the <<= App.Data.prosthetics[_p.id].name>> will be put into storage.// <<elseif getSlave($AS).tail != "none">> - //Since $he currently has a tail attached the <<= setup.prosthetics[_p.id].name>> will be put into storage.// + //Since $he currently has a tail attached the <<= App.Data.prosthetics[_p.id].name>> will be put into storage.// <<elseif _p.id == "modT">> - //Since installing <<= addA(setup.prosthetics.modT.name)>> is complicated it can't be automated.// + //Since installing <<= addA(App.Data.prosthetics.modT.name)>> is complicated it can't be automated.// /*Reason: there are different designs player can choose from.*/ <<elseif _p.id == "combatT">> <<set $prostheticsConfig = "attachTail", getSlave($AS).tail = "combat", getSlave($AS).tailColor = "jet black">> @@ -196,7 +196,7 @@ that are ready be sent down. <<include "Prosthetics Configuration">> <</if>> <<default>> - //Since there is no automated procedure to implant/attach <<= setup.prosthetics[_p.id].name>> it will be put into storage.// + //Since there is no automated procedure to implant/attach <<= App.Data.prosthetics[_p.id].name>> it will be put into storage.// <</switch>> <br> <</if>>