diff --git a/src/005-passages/interactPassages.js b/src/005-passages/interactPassages.js index cc3673cb1a6786656b20785e1ba7daa3e525d89e..bab037625e48943f339c9b1ee53441e3bbd2a919 100644 --- a/src/005-passages/interactPassages.js +++ b/src/005-passages/interactPassages.js @@ -161,47 +161,6 @@ new App.DomPassage("Aztec Slave Sacrifice Life", } ); -new App.DomPassage("fLips", - () => { - return App.Interact.fLips(getSlave(V.AS)); - } -); - -new App.DomPassage("fBoobs", - () => { - return App.Interact.fBoobs(getSlave(V.AS)); - } -); - -new App.DomPassage("fVagina", - () => { - return App.Interact.fVagina(getSlave(V.AS)); - } -); - -new App.DomPassage("fRival", - () => { - return App.Interact.fRival(getSlave(V.AS)); - } -); -new App.DomPassage("fButt", - () => { - return App.Interact.fButt(getSlave(V.AS)); - } -); - -new App.DomPassage("fDick", - () => { - return App.Interact.fDick(getSlave(V.AS)); - } -); - -new App.DomPassage("fAnus", - () => { - return App.Interact.fAnus(getSlave(V.AS)); - } -); - new App.DomPassage("Abort", () => { V.nextButton = "Back"; diff --git a/src/js/main.js b/src/js/main.js index accb599874e0ddcaccefa47d2e195874ae600359..66b976f0875448a8da8fb8f81021601b714ba29e 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -3,14 +3,6 @@ * @returns {HTMLDivElement} */ App.MainView.useFucktoy = function(slave) { - const fragment = document.createDocumentFragment(); - - function setEnvironment() { - V.AS = slave.ID; - V.nextButton = "Back"; - V.nextLink = passage(); - } - const {him, his} = getPronouns(slave); const div = document.createElement("div"); @@ -29,37 +21,38 @@ App.MainView.useFucktoy = function(slave) { if (slave.fuckdoll === 0) { div.append(", but for now:"); + const showScene = (passage, ...args) => $(linkDiv).empty().append(App.Interact[passage](slave, ...args)); + const linkArray = []; linkArray.push( - App.UI.DOM.passageLink(`Use ${his} mouth`, "fLips", setEnvironment), - App.UI.DOM.passageLink("Play with " + his + " tits", "fBoobs", setEnvironment) + App.UI.DOM.link(`Use ${his} mouth`, showScene, ["fLips"]), + App.UI.DOM.link(`Play with ${his} tits`, showScene, ["fBoobs"]) ); if (canDoVaginal(slave)) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${him}`, "fVagina", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Fuck ${him}`, showScene, ["fVagina"])); if (canDoAnal(slave)) { - linkArray.push(App.UI.DOM.passageLink(`Use ${his} holes`, "fButt", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Use ${his} holes`, showScene, ["fButt"])); } } if (canDoAnal(slave)) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${his} ass`, "fAnus", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Fuck ${his} ass`, showScene, ["fAnus"])); } if (canDoVaginal(slave) || canDoAnal(slave)) { if (slave.belly >= 300000) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${him} over ${his} belly`, "fBellyFuck", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Fuck ${him} over ${his} belly`, showScene, ["fBellyFuck"])); } } if (canPenetrate(slave)) { - linkArray.push(App.UI.DOM.passageLink(`Ride ${him}`, "fDick", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Ride ${him}`, showScene, ["fDick"])); } - linkArray.push(App.UI.DOM.passageLink(`Abuse ${him}`, "fAbuse", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Abuse ${him}`, showScene, ["fAbuse"])); - App.UI.DOM.appendNewElement("div", div, App.UI.DOM.generateLinksStrip(linkArray), "indent"); + const linkDiv = App.UI.DOM.appendNewElement("div", div, App.UI.DOM.generateLinksStrip(linkArray), "indent"); } else { div.append("."); } - fragment.append(div); return div; }; @@ -78,38 +71,36 @@ App.MainView.useGuard = function() { App.UI.DOM.appendNewElement("span", outerDiv, App.Interact.guardPose(guard), "scene-intro"); - function setEnvironment() { - V.AS = guard.ID; - V.nextButton = "Back"; - V.nextLink = passage(); - } + const showScene = (passage, ...args) => $(linkDiv).empty().append(App.Interact[passage](guard, ...args)); const {him, his} = getPronouns(guard); const linkArray = []; linkArray.push( - App.UI.DOM.passageLink(`Use ${his} mouth`, "fLips", setEnvironment), - App.UI.DOM.passageLink(`Play with ${his} tits`, "fBoobs", setEnvironment) + App.UI.DOM.link(`Use ${his} mouth`, showScene, ["fLips"]), + App.UI.DOM.link(`Play with ${his} tits`, showScene, ["fBoobs"]) ); if (canDoVaginal(guard)) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${him}`, "fVagina", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Fuck ${him}`, showScene, ["fVagina"])); if (canDoAnal(guard)) { - linkArray.push(App.UI.DOM.passageLink(`Use ${his} holes`, "fButt", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Use ${his} holes`, showScene, ["fButt"])); } + } + if (canDoAnal(guard)) { + linkArray.push(App.UI.DOM.link(`Fuck ${his} ass`, showScene, ["fAnus"])); + } + if (canDoVaginal(guard) || canDoAnal(guard)) { if (guard.belly >= 300000) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${him} over ${his} belly`, "fBellyFuck", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Fuck ${him} over ${his} belly`, showScene, ["fBellyFuck"])); } } if (canPenetrate(guard)) { - linkArray.push(App.UI.DOM.passageLink(`Ride ${him}`, "fDick", setEnvironment)); - } - if (canDoAnal(guard)) { - linkArray.push(App.UI.DOM.passageLink(`Fuck ${his} ass`, "fAnus", setEnvironment)); + linkArray.push(App.UI.DOM.link(`Ride ${him}`, showScene, ["fDick"])); } linkArray.push(App.UI.DOM.passageLink(`Abuse ${him}`, "Gameover", () => { V.gameover = "idiot ball"; })); - App.UI.DOM.appendNewElement("div", outerDiv, App.UI.DOM.generateLinksStrip(linkArray), "indent"); + const linkDiv = App.UI.DOM.appendNewElement("div", outerDiv, App.UI.DOM.generateLinksStrip(linkArray), "indent"); return outerDiv; };