From 775ae0ea90dcc0a01bdcc9a7b11238807934009e Mon Sep 17 00:00:00 2001 From: kopareigns <kopareigns@gmail.com> Date: Wed, 25 Jul 2018 22:22:11 -0400 Subject: [PATCH] JSify rendered art code --- devNotes/twine JS.txt | 118 +++++++++++++++++- src/art/artWidgets.tw | 102 +-------------- src/js/artJS.tw | 115 +++++++++++++++++ src/pregmod/assistantAppearancePackTwo.tw | 2 +- src/uncategorized/RESS.tw | 2 +- src/uncategorized/assistantEvents.tw | 2 +- src/uncategorized/personalAssistantOptions.tw | 2 +- 7 files changed, 237 insertions(+), 106 deletions(-) create mode 100644 src/js/artJS.tw diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 3f24d236b3f..f52c99e75f5 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -23157,4 +23157,120 @@ window.getHighestPorn = function(slave) { } return max; -} \ No newline at end of file +} + +/*:: Art JS [script]*/ + +/* +Displays assistant images. Currently passage-based. +sizePlacement: Image size/center. + 3: Large, right. Example: description. + 2: Medium, right. Example: random events. +*/ +window.AssistantArtRendered = function AssistantArtRendered(sizePlacement) { + const V = State.variables; + let fileName = ""; + + if (V.imageChoice === 0) { + switch (V.assistantAppearance) { + case "monstergirl": + fileName = "'resources/renders/assistant monstergirl.png'";; + break; + case "shemale": + fileName = "'resources/renders/assistant shemale.png'"; + break; + case "amazon": + fileName = "'resources/renders/assistant amazon.png'"; + break; + case "businesswoman": + fileName = "'resources/renders/assistant businesswoman.png'"; + break; + case "goddess": + fileName = "'resources/renders/assistant goddess.png'"; + break; + case "schoolgirl": + fileName = "'resources/renders/assistant schoolgirl.png'"; + break; + default: + fileName = "'resources/renders/assistant default.png'"; + } + if (sizePlacement === 3) { + fileName = `<img src=${fileName} style='float:right; border:3px hidden'/>`; + } else { + fileName = `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'/>`; + } + } + return fileName; +}; + +window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) { + const V = State.variables; + let fileName = ""; + let r = ""; + + if (slave.vagina > -1) { + if (slave.dick > 0) { + if (slave.balls > 0) { + fileName = "futanari"; + } else { + fileName = "herm"; + } + } else { + fileName = "female"; + } + } else { + if (slave.balls > 0) { + fileName = "shemale"; + } else { + fileName = "gelding"; + } + } + if (slave.belly > 1500) { + fileName = `preg ${fileName}`; + } + if (slave.boobs < 400) { + fileName = `${fileName} small`; + } else if (slave.boobs < 800) { + fileName = `${fileName} big`; + } else if (slave.boobs < 6000) { + fileName = `${fileName} huge`; + } else { + fileName = `${fileName} hyper`; + } + if (slave.muscles > 30) { + fileName = `${fileName} muscle`; + } else { + fileName = `${fileName} soft`; + } + if (slave.fuckdoll > 0) { + fileName = `${fileName} rebellious`; + } else if (slave.devotion <= 20) { + if (slave.trust < -20) { + fileName = `${fileName} reluctant`; + } else { + fileName = `${fileName} rebellious`; + } + } else if (slave.fetish === "mindbroken") { + fileName = `${fileName} reluctant`; + } else if (slave.devotion <= 50 || slave.fetishKnown !== 1 || V.seeMainFetishes === 0 && sizePlacement < 2) { + fileName = `${fileName} obedient`; + } else { + if (slave.fetish === "none") { + fileName = `${fileName} obedient`; + } else { + fileName = `${fileName} ${slave.fetish}`; + } + } + + fileName = `'resources/renders/${fileName}.png'`; + if (sizePlacement === 3) { + r = `<img src=${fileName} style='float:right; border:3px hidden'>`; + } else if (sizePlacement === 2) { + r = `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'>`; + } else if (sizePlacement === 1) { + r = `<img src=${fileName} style='float:left; border:3px hidden' width='150' height='150'>`; + } else { + r = `<img src=${fileName} style='float:left; border:3px hidden' width='120' height='120'>`; + } + return r; +}; diff --git a/src/art/artWidgets.tw b/src/art/artWidgets.tw index 27a152a7f6a..acddbd12af6 100644 --- a/src/art/artWidgets.tw +++ b/src/art/artWidgets.tw @@ -1,42 +1,5 @@ :: art widgets [nobr widget] -/% -Call as <<AssistantArt>> -Displays assistant images. Currently passage-based. -$args[0]: Image size/center. - 3: Large, right. Example: description. - 2: Medium, right. Example: random events. -%/ -<<widget "AssistantArt">> - -<<if $imageChoice == 0>> /* RENDERED IMAGES BY SHOKUSHU */ - -<<switch $assistantAppearance>> -<<case "monstergirl">> - <<set _fileName = "'resources/renders/assistant monstergirl.png' ">> -<<case "shemale">> - <<set _fileName = "'resources/renders/assistant shemale.png' ">> -<<case "amazon">> - <<set _fileName = "'resources/renders/assistant amazon.png' ">> -<<case "businesswoman">> - <<set _fileName = "'resources/renders/assistant businesswoman.png' ">> -<<case "goddess">> - <<set _fileName = "'resources/renders/assistant goddess.png' ">> -<<case "schoolgirl">> - <<set _fileName = "'resources/renders/assistant schoolgirl.png' ">> -<<default>> - <<set _fileName = "'resources/renders/assistant default.png' ">> -<</switch>> -<<if $args[1] == 3>> - <<print "<img src=" + _fileName + "style='float:right; border:3px hidden'/>">> -<<else>> - <<print "<img src=" + _fileName + "style='float:right; border:3px hidden' width='300' height='300'/>">> -<</if>> - -<</if>> /* CLOSES IMAGE CHOICE */ - -<</widget>> - /% Call as <<SlaveArt>> Displays slave images. Currently passage-based. @@ -598,70 +561,7 @@ vector art added later is drawn over previously added art <<include Art_Vector_Revamped_Control_>> <<else>> /* RENDERED IMAGES BY SHOKUSHU */ -<<if $args[0].vagina > -1>> - <<if $args[0].dick > 0>> - <<if $args[0].balls > 0>> - <<set _fileName = "futanari">> - <<else>> - <<set _fileName = "herm">> - <</if>> - <<else>> - <<set _fileName = "female">> - <</if>> -<<else>> - <<if $args[0].balls > 0>> - <<set _fileName = "shemale">> - <<else>> - <<set _fileName = "gelding">> - <</if>> -<</if>> -<<if $args[0].belly > 1500>> - <<set _fileName = "preg " + _fileName>> -<</if>> -<<if $args[0].boobs < 400>> - <<set _fileName = _fileName + " small">> -<<elseif $args[0].boobs < 800>> - <<set _fileName = _fileName + " big">> -<<elseif $args[0].boobs < 6000>> - <<set _fileName = _fileName + " huge">> -<<else>> - <<set _fileName = _fileName + " hyper">> -<</if>> -<<if $args[0].muscles > 30>> - <<set _fileName = _fileName + " muscle">> -<<else>> - <<set _fileName = _fileName + " soft">> -<</if>> -<<if $args[0].fuckdoll > 0>> - <<set _fileName = _fileName + " rebellious">> -<<elseif $args[0].devotion <= 20>> - <<if $args[0].trust < -20>> - <<set _fileName = _fileName + " reluctant">> - <<else>> - <<set _fileName = _fileName + " rebellious">> - <</if>> -<<elseif $args[0].fetish == "mindbroken">> - <<set _fileName = _fileName + " reluctant">> -<<elseif $args[0].devotion <= 50 || $args[0].fetishKnown != 1 || ($seeMainFetishes == 0 && $args[1] < 2)>> - <<set _fileName = _fileName + " obedient">> -<<else>> - <<if $args[0].fetish == "none">> - <<set _fileName = _fileName + " obedient">> - <<else>> - <<set _fileName = _fileName + " " + $args[0].fetish>> - <</if>> -<</if>> - -<<set _fileName = "'resources/renders/" + _fileName + ".png' ">> -<<if $args[1] == 3>> - <<print "<img src=" + _fileName + "style='float:right; border:3px hidden'/>">> -<<elseif $args[1] == 2>> - <<print "<img src=" + _fileName + "style='float:right; border:3px hidden' width='300' height='300'/>">> -<<elseif $args[1] == 1>> - <<print "<img src=" + _fileName + "style='float:left; border:3px hidden' width='150' height='150'/>">> -<<else>> - <<print "<img src=" + _fileName + "style='float:left; border:3px hidden' width='120' height='120'/>">> -<</if>> + <<= ArtControlRendered($args[0], $args[1])>> <</if>> /* CLOSES IMAGE CHOICE */ diff --git a/src/js/artJS.tw b/src/js/artJS.tw new file mode 100644 index 00000000000..3405c98d0c1 --- /dev/null +++ b/src/js/artJS.tw @@ -0,0 +1,115 @@ +:: Art JS [script] + +/* +Displays assistant images. Currently passage-based. +sizePlacement: Image size/center. + 3: Large, right. Example: description. + 2: Medium, right. Example: random events. +*/ +window.AssistantArtRendered = function AssistantArtRendered(sizePlacement) { + const V = State.variables; + let fileName = ""; + + if (V.imageChoice === 0) { + switch (V.assistantAppearance) { + case "monstergirl": + fileName = "'resources/renders/assistant monstergirl.png'";; + break; + case "shemale": + fileName = "'resources/renders/assistant shemale.png'"; + break; + case "amazon": + fileName = "'resources/renders/assistant amazon.png'"; + break; + case "businesswoman": + fileName = "'resources/renders/assistant businesswoman.png'"; + break; + case "goddess": + fileName = "'resources/renders/assistant goddess.png'"; + break; + case "schoolgirl": + fileName = "'resources/renders/assistant schoolgirl.png'"; + break; + default: + fileName = "'resources/renders/assistant default.png'"; + } + if (sizePlacement === 3) { + fileName = `<img src=${fileName} style='float:right; border:3px hidden'/>`; + } else { + fileName = `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'/>`; + } + } + return fileName; +}; + +window.ArtControlRendered = function ArtControlRendered(slave, sizePlacement) { + const V = State.variables; + let fileName = ""; + let r = ""; + + if (slave.vagina > -1) { + if (slave.dick > 0) { + if (slave.balls > 0) { + fileName = "futanari"; + } else { + fileName = "herm"; + } + } else { + fileName = "female"; + } + } else { + if (slave.balls > 0) { + fileName = "shemale"; + } else { + fileName = "gelding"; + } + } + if (slave.belly > 1500) { + fileName = `preg ${fileName}`; + } + if (slave.boobs < 400) { + fileName = `${fileName} small`; + } else if (slave.boobs < 800) { + fileName = `${fileName} big`; + } else if (slave.boobs < 6000) { + fileName = `${fileName} huge`; + } else { + fileName = `${fileName} hyper`; + } + if (slave.muscles > 30) { + fileName = `${fileName} muscle`; + } else { + fileName = `${fileName} soft`; + } + if (slave.fuckdoll > 0) { + fileName = `${fileName} rebellious`; + } else if (slave.devotion <= 20) { + if (slave.trust < -20) { + fileName = `${fileName} reluctant`; + } else { + fileName = `${fileName} rebellious`; + } + } else if (slave.fetish === "mindbroken") { + fileName = `${fileName} reluctant`; + } else if (slave.devotion <= 50 || slave.fetishKnown !== 1 || V.seeMainFetishes === 0 && sizePlacement < 2) { + fileName = `${fileName} obedient`; + } else { + if (slave.fetish === "none") { + fileName = `${fileName} obedient`; + } else { + fileName = `${fileName} ${slave.fetish}`; + } + } + + fileName = `'resources/renders/${fileName}.png'`; + if (sizePlacement === 3) { + r = `<img src=${fileName} style='float:right; border:3px hidden'>`; + } else if (sizePlacement === 2) { + r = `<img src=${fileName} style='float:right; border:3px hidden' width='300' height='300'>`; + } else if (sizePlacement === 1) { + r = `<img src=${fileName} style='float:left; border:3px hidden' width='150' height='150'>`; + } else { + r = `<img src=${fileName} style='float:left; border:3px hidden' width='120' height='120'>`; + } + return r; +}; diff --git a/src/pregmod/assistantAppearancePackTwo.tw b/src/pregmod/assistantAppearancePackTwo.tw index a8cb264ecbd..7be9a3cb85a 100644 --- a/src/pregmod/assistantAppearancePackTwo.tw +++ b/src/pregmod/assistantAppearancePackTwo.tw @@ -1,6 +1,6 @@ :: Assistant Appearance Pack Two [nobr] -<<if $seeImages == 1>><<AssistantArt 3>><</if>> +<<if $seeImages == 1>><<= AssistantArtRendered(3)>><</if>> "Cool! New appearances to play around with!" Your assistant happily chimes. "Let's see what's inside! This looks heavenly..." She hunches forward as a large pair of white feathered wings extend from her upper back. She takes several experimental flaps before taking to the sky. "I feel positively radiant! Maybe a smaller version will be more to your liking?" She loses both height and wingspan until she stands roughly equivalent to <<= heightToEitherUnit(120)>>. She flutters around cutely. "This is neat, I'm like cupid. Want me to hook you up with anyone?" She winks as her wings become bat-like and a pair of cute little nubs appears on her head. "Or maybe you'd just like to play with me instead." The impish figure flirts, before landing and blossoming into a stunning woman. "You know a succubus can take her lover's ideal form." She runs her hands down her sides and to her crotch. <<if $seeDicks != 0>>She begins rubbing her clit as it steadily grows into a meaty cock. "Or an incubus, for the ladies." She returns to her previous form. <</if>>"Says here it comes with 'bonus novice witch' too. Neat. What's this though? It looks like an appeara" diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 883921dd3a7..53383d3a988 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -2526,7 +2526,7 @@ running her tongue over her<<if $activeSlave.lips > 40>> whorish<<elseif $active <<case "PA flirting">> -<<if $seeImages == 1>><<AssistantArt 2>><</if>> +<<if $seeImages == 1>><<= AssistantArtRendered(2)>><</if>> Partway through <<EventNameLink $activeSlave>>'s weekly inspection, you have to leave for a moment to deal with a minor matter. Inspecting such a devoted slave is a pleasure, but you tear yourself away. Such sacrifices must be made. <br><br> diff --git a/src/uncategorized/assistantEvents.tw b/src/uncategorized/assistantEvents.tw index 4440b557e22..4b6873329a5 100644 --- a/src/uncategorized/assistantEvents.tw +++ b/src/uncategorized/assistantEvents.tw @@ -4,7 +4,7 @@ <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> -<<if $seeImages == 1>><<AssistantArt 3>><</if>> +<<if $seeImages == 1>><<= AssistantArtRendered(3)>><</if>> <<switch $Event>> <<case "assistant">> diff --git a/src/uncategorized/personalAssistantOptions.tw b/src/uncategorized/personalAssistantOptions.tw index 51d1502d6b9..6c64aecee43 100644 --- a/src/uncategorized/personalAssistantOptions.tw +++ b/src/uncategorized/personalAssistantOptions.tw @@ -5,7 +5,7 @@ <<if $marketAssistantLimit>><<set $marketAssistantLimit to Math.clamp($marketAssistantLimit, 10000, 10000000)>><</if>> -<<if $seeImages == 1>><<AssistantArt 3>><</if>> +<<if $seeImages == 1>><<= AssistantArtRendered(3)>><</if>> Seated at your desk, you glance at the visual representation of $assistantName, down in one corner of your desk's glass top. -- GitLab