diff --git a/SanityCheck.jar b/SanityCheck.jar new file mode 100644 index 0000000000000000000000000000000000000000..bebdf1da3e6277f966e8fff78ea96d884fe27b0b Binary files /dev/null and b/SanityCheck.jar differ diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt index 53c2eebea669ad3cd5ee50776dfdb72b007527a6..f0e1e92a9e73e1da7cba0f26865d7308bb427605 100644 --- a/devNotes/Useful JS Function Documentation.txt +++ b/devNotes/Useful JS Function Documentation.txt @@ -346,4 +346,4 @@ UtilJS [script] removeDuplicates() - Takes an array and returns a new array without duplicate entries - HSM() - outputs a value based off of the PC's hacking skill. \ No newline at end of file + HackingSkillMultiplier() - outputs a value based off of the PC's hacking skill. \ No newline at end of file diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt index 6ac09367631d2ebb36b0cd371ba3c2086f7a5a27..ab5ff93babc9ee0ca6b8f7bf156a3212890fe177 100644 --- a/devNotes/VersionChangeLog-Premod+LoliMod.txt +++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt @@ -2,6 +2,17 @@ Pregmod 0.10.7.1-2.2.x +03/11/2019 + + 3 + -fixes + -css tweaks + -body modification reactions expanded + + 2 + -fixes + -code cleaning + 03/10/2019 1 diff --git a/devNotes/twine CSS b/devNotes/twine CSS index 2e3bf0334933c7400fff449a562245cff474fe57..0c11d518885273e3fa7335bb94c87d15efb5d4a1 100644 --- a/devNotes/twine CSS +++ b/devNotes/twine CSS @@ -31,6 +31,15 @@ img { text-indent: -10000px; } +.imageColumn { /* TODO: this is mostly a copy of imageRef to get its flex features working properly. They can probably be removed from imageRef at some point */ + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-items: flex-start; + position: relative; + float: right; +} + .imageRef { display: flex; flex-direction: column; @@ -114,7 +123,6 @@ img { .lrgVector svg { width: 336px; - height: 600px; } object { @@ -173,8 +181,7 @@ span.plusButton > a:hover { text-decoration: none; } span.minusButton > a:hover { text-decoration: none; } span.zeroButton > a:hover { text-decoration: none; } -/* Colors are made as css classes, to allow them to be - changed for a light color scheme (for example). */ +/* Colors are made as css classes, to allow them to be changed for a light color scheme (for example). */ .link { color: #68D } /* link color */ .aquamarine { color: aquamarine } .coral { color: coral } @@ -256,7 +263,7 @@ span.zeroButton > a:hover { text-decoration: none; } .springgreen a { color: springgreen } .tan a { color: tan } .chocolate a { color: chocolate } -.saddlebrown { color: saddlebrown } +.saddlebrown a { color: saddlebrown } .teal a { color: teal } .yellow a { color: yellow } .yellowgreen a { color: yellowgreen } diff --git a/devTools/javaSanityCheck/excluded b/devTools/javaSanityCheck/excluded new file mode 100644 index 0000000000000000000000000000000000000000..28ff834dcbab00ca86653880aa605a6a64163fd2 --- /dev/null +++ b/devTools/javaSanityCheck/excluded @@ -0,0 +1,16 @@ +#Add files or folders to be excluded. +#empty lines will match on ALL paths, so if you need one do it like this: +# +src/art/ +src/gui/svgFilters.tw +# +#excluded to reduce false positives until better solution: +src/pregmod/basenationalitiesControls.tw +src/pregmod/editGenetics.tw +src/pregmod/widgets/bodySwapReaction.tw +src/uncategorized/costsBudget.tw +src/uncategorized/initRules.tw +src/uncategorized/slaveAssignmentsReport.tw +src/uncategorized/storyCaption.tw +src/cheats/ +src/pregmod/customizeSlaveTrade.tw diff --git a/devTools/javaSanityCheck/htmlTags b/devTools/javaSanityCheck/htmlTags new file mode 100644 index 0000000000000000000000000000000000000000..751b084ff5822f4162e3f79ea622b91f60c5472b --- /dev/null +++ b/devTools/javaSanityCheck/htmlTags @@ -0,0 +1,45 @@ +#Allowed HTML tags +#Effectively everything that is allowed in a these statements like this: +#<tag> or <tag ???> +#when ;1 is specified it expects a matching closing tag like this: </tag> +#Do not add Twine Tags here. +#Characters outside of ASCII scope are not supported. +# +#included to reduce false positives until better solution +!-- +http://www.gnu.org/licenses/ +#html tags +a;1 +b;1 +blockquote;1 +body;1 +br;0 +button;1 +caption;1 +center;1 +dd;1 +div;1 +dl;1 +dt;1 +h1;1 +h2;1 +h3;1 +h4;1 +hr;0 +html;1 +i;1 +img;1 +input;0 +li;1 +option;1 +script;1 +select;1 +span;1 +strong;1 +style;1 +table;1 +td;1 +th;1 +tr;1 +tt;1 +ul;1 diff --git a/devTools/javaSanityCheck/src/DisallowedTagException.java b/devTools/javaSanityCheck/src/DisallowedTagException.java new file mode 100644 index 0000000000000000000000000000000000000000..cd479fbdf5f9c8b42a9271b8c0049cba10bcb72a --- /dev/null +++ b/devTools/javaSanityCheck/src/DisallowedTagException.java @@ -0,0 +1,8 @@ +package org.arkerthan.sanityCheck; + +public class DisallowedTagException extends RuntimeException { + + public DisallowedTagException(String tag) { + super(tag); + } +} diff --git a/devTools/javaSanityCheck/src/Main.java b/devTools/javaSanityCheck/src/Main.java new file mode 100644 index 0000000000000000000000000000000000000000..d8af45777314f08b03eb5f471be4cdb9ba72f703 --- /dev/null +++ b/devTools/javaSanityCheck/src/Main.java @@ -0,0 +1,319 @@ +package org.arkerthan.sanityCheck; + +import org.arkerthan.sanityCheck.element.AngleBracketElement; +import org.arkerthan.sanityCheck.element.CommentElement; +import org.arkerthan.sanityCheck.element.Element; +import org.arkerthan.sanityCheck.element.KnownElement; + +import java.io.*; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.*; + +public class Main { + + public static TagSearchTree<Tag> htmlTags, twineTags; + private static String currentFile; + private static int currentLine, currentPosition; + private static Stack<Element> stack; + private static List<SyntaxError> errors = new LinkedList<>(); + private static String[] excluded; + + public static void main(String[] args) { + //setup + setupExclude(); + setupHtmlTags(); + setupTwineTags(); + Path workingDir = Paths.get("").toAbsolutePath(); + + //actual sanityCheck + runSanityCheckInDirectory(workingDir, new File("src/")); + + //handle errors + for (SyntaxError e : + errors) { + System.out.println(e.getError()); + } + } + + + /** + * Goes through the whole directory including subdirectories and runs + * sanityCheck() on all .tw files + * + * @param dir to be checked + */ + private static void runSanityCheckInDirectory(Path workingDir, File dir) { + //subdirectories are checked recursively + + try { + for (File file : dir.listFiles()) { + if (file.isFile()) { //run sanityCheck if file is a .tw file + String path = file.getAbsolutePath(); + if (path.endsWith(".tw")) { + sanityCheck(workingDir.relativize(file.toPath())); + } + } else if (file.isDirectory()) { + runSanityCheckInDirectory(workingDir, file.getAbsoluteFile()); + } + } + } catch (NullPointerException e) { + e.printStackTrace(); + System.err.println("Couldn't find directory " + currentFile); + System.exit(-1); + } + } + + /** + * Runs the sanity check for one file. Does not run if file is excluded. + * + * @param path file to be checked + */ + private static void sanityCheck(Path path) { + File file = path.toFile(); + + // replace this with a known encoding if possible + Charset encoding = Charset.defaultCharset(); + + if (!excluded(file.getPath())) { + try { + currentFile = file.getPath(); + currentLine = 1; + stack = new Stack<>(); + + //actually opening and reading the file + try (InputStream in = new FileInputStream(file); + Reader reader = new InputStreamReader(in, encoding); + // buffer for efficiency + Reader buffer = new BufferedReader(reader)) { + handleCharacters(buffer); + } + } catch (IOException e) { + System.err.println("Couldn't read " + file); + } + } + } + + /** + * sets up the alphabetical search tree for fast access of HTML tags later + */ + private static void setupHtmlTags() { + //load HTML tags into a list + List<Tag> TagsList = new LinkedList<>(); + try { + + Files.lines(new File("devTools/javaSanityCheck/htmlTags").toPath()).map(String::trim) + .filter(s -> !s.startsWith("#")) + .forEach(s -> TagsList.add(parseTag(s))); + } catch (IOException e) { + System.err.println("Couldn't read devTools/javaSanityCheck/htmlTags"); + } + + //turn List into alphabetical search tree + try { + htmlTags = new TagSearchTree(TagsList); + } catch (ArrayIndexOutOfBoundsException e) { + System.err.println("Illegal Character in devTools/javaSanityCheck/htmlTags"); + System.exit(-1); + } + } + + /** + * sets up the alphabetical search tree for fast access of twine tags later + */ + private static void setupTwineTags() { + //load twine tags into a list + List<Tag> TagsList = new LinkedList<>(); + try { + + Files.lines(new File("devTools/javaSanityCheck/twineTags").toPath()).map(String::trim) + .filter(s -> !s.startsWith("#")) + .forEach(s -> TagsList.add(parseTag(s))); + } catch (IOException e) { + System.err.println("Couldn't read devTools/javaSanityCheck/twineTags"); + } + + //turn List into alphabetical search tree + try { + twineTags = new TagSearchTree(TagsList); + } catch (ArrayIndexOutOfBoundsException e) { + System.err.println("Illegal Character in devTools/javaSanityCheck/twineTags"); + System.exit(-1); + } + } + + /** + * Turns a string into a Tag + * ";1" at the end of the String indicates that the tag needs to be closed later + * + * @param s tag as String + * @return tag as Tag + */ + private static Tag parseTag(String s) { + String[] st = s.split(";"); + if (st.length > 1 && st[1].equals("1")) { + return new Tag(st[0], false); + } + return new Tag(st[0], true); + } + + /** + * sets up the excluded array. + */ + private static void setupExclude() { + //load excluded files + List<String> excludedList = new ArrayList<>(); + try { + Files.lines(new File("devTools/javaSanityCheck/excluded").toPath()).map(String::trim) + .filter(s -> !s.startsWith("#")) + .forEach(excludedList::add); + } catch (IOException e) { + System.err.println("Couldn't read devTools/javaSanityCheck/excluded"); + } + + //turn excluded files into an array and change them to windows style if needed + if (isWindows()) { + excluded = new String[excludedList.size()]; + int i = 0; + for (String s : + excludedList) { + excluded[i++] = s.replaceAll("/", "\\\\"); + } + } else { + excluded = excludedList.toArray(new String[0]); + } + } + + /** + * @return whether OS is Windows or not + */ + private static boolean isWindows() { + return (System.getProperty("os.name").toLowerCase(Locale.ENGLISH).contains("windows")); + } + + /** + * checks if a file or directory is excluded from the sanity check + * + * @param s file/directory to be checked + * @return whether it is excluded or not + */ + private static boolean excluded(String s) { + for (String ex : + excluded) { + if (s.startsWith(ex)) return true; + } + return false; + } + + /** + * Reads the file character by character. + * + * @param reader reader that is read + * @throws IOException thrown if the file can't be read + */ + private static void handleCharacters(Reader reader) throws IOException { + int r; + while ((r = reader.read()) != -1) { + char c = (char) r; + handleCharacter(c); + } + } + + /** + * Handles a single character + * + * @param c next character + */ + private static void handleCharacter(char c) { + //updating position + currentPosition++; + if (c == '\n') { + currentLine++; + currentPosition = 1; + } + + //try applying to the innermost element + if (!stack.empty()) { + int change; + try { + change = stack.peek().handleChar(c); + } catch (SyntaxError e) { + change = e.getChange(); + addError(e); + } + + //change greater 0 means the innermost element did some work + if (change > 0) { + //2 means the Element is complete + if (change == 2) { + //remove the topmost element from stack since it is complete + stack.pop(); + return; + } + //3 means the Element is complete and part of a two tag system + if (change == 3) { + //remove the topmost element from stack since it is complete + KnownElement k = stack.pop().getKnownElement(); + /*if (k.isOpening()) { + stack.push(k); + } else */ + if (k.isClosing()) { + if (stack.empty()) { + addError(new SyntaxError("Closed tag " + k.getShortDescription() + " without having any open tags.", -2)); + } else if (stack.peek() instanceof KnownElement) { + KnownElement kFirst = (KnownElement) stack.pop(); + if (!kFirst.isMatchingElement(k)) { + addError(new SyntaxError("Opening tag " + kFirst.getShortDescription() + + " does not match closing tag " + k.getShortDescription() + ".", -2)); + } + //stack.pop(); + } else { + addError(new SyntaxError("Closing tag " + k.getShortDescription() + " inside " + + "another tag: " + stack.peek().getShortDescription(), -2, true)); + } + } + if (k.isOpening()) { + stack.push(k); + } + return; + } + if (change == 4) { + stack.pop(); + } else { + return; + } + } + } + + + //innermost element was uninterested, trying to find matching element + switch (c) { + //case '@': + // stack.push(new AtElement(currentLine, currentPosition)); + //break; + case '<': + stack.push(new AngleBracketElement(currentLine, currentPosition)); + break; + //case '>': + //addError(new SyntaxError("Dangling \">\", current innermost: " + (stack.empty() ? "null" : stack.peek().getShortDescription()), -2)); + //break; + case '/': + stack.push(new CommentElement(currentLine, currentPosition)); + break; + } + } + + /** + * add an error to the error list + * + * @param e new error + */ + private static void addError(SyntaxError e) { + e.setFile(currentFile); + e.setLine(currentLine); + e.setPosition(currentPosition); + errors.add(e); + } +} diff --git a/devTools/javaSanityCheck/src/SyntaxError.java b/devTools/javaSanityCheck/src/SyntaxError.java new file mode 100644 index 0000000000000000000000000000000000000000..2eaf24c6ec434192048c93891d72897c29dea9a6 --- /dev/null +++ b/devTools/javaSanityCheck/src/SyntaxError.java @@ -0,0 +1,40 @@ +package org.arkerthan.sanityCheck; + +public class SyntaxError extends Exception { + private String file; + private int line, position; + private String description; + private int change; //see Element for values; -2 means not thrown + private boolean warning = false; + + public SyntaxError(String description, int change) { + this.description = description; + this.change = change; + } + + public SyntaxError(String description, int change, boolean warning) { + this(description, change); + this.warning = warning; + } + + public void setFile(String file) { + this.file = file; + } + + public void setLine(int line) { + this.line = line; + } + + public void setPosition(int position) { + this.position = position; + } + + public String getError() { + String s = warning ? "Warning: " : "Error: "; + return s + file + ": " + line + ":" + position + " : "+ description; + } + + public int getChange() { + return change; + } +} diff --git a/devTools/javaSanityCheck/src/Tag.java b/devTools/javaSanityCheck/src/Tag.java new file mode 100644 index 0000000000000000000000000000000000000000..5c3c92651a71beb8a4e3cba73d1eb64238fc9908 --- /dev/null +++ b/devTools/javaSanityCheck/src/Tag.java @@ -0,0 +1,11 @@ +package org.arkerthan.sanityCheck; + +public class Tag { + public final String tag; + public final boolean single; + + public Tag(String tag, boolean single) { + this.tag = tag; + this.single = single; + } +} diff --git a/devTools/javaSanityCheck/src/TagSearchTree.java b/devTools/javaSanityCheck/src/TagSearchTree.java new file mode 100644 index 0000000000000000000000000000000000000000..71e89ec769ff658b246886a179976055f2633709 --- /dev/null +++ b/devTools/javaSanityCheck/src/TagSearchTree.java @@ -0,0 +1,80 @@ +package org.arkerthan.sanityCheck; + +import java.util.List; + +/** + * Tag SearchTree stores Tags in an alphabetical search tree. + * Once created the search tree can't be changed anymore. + * + * @param <E> Tag class to be stored + */ +public class TagSearchTree<E extends Tag> { + private static final int SIZE = 128; + private final TagSearchTree<E>[] branches; + private E element = null; + private String path; + + /** + * creates a new empty TagSearchTree + */ + private TagSearchTree() { + branches = new TagSearchTree[SIZE]; + } + + /** + * Creates a new filled TagSearchTree + * + * @param list Tags to be inserted + */ + public TagSearchTree(List<E> list) { + this(); + for (E e : list) { + this.add(e, 0); + } + } + + /** + * adds a new Tag to the TagSearchTree + * + * @param e Tag to be stored + * @param index index of relevant char for adding in tag + */ + private void add(E e, int index) { + //set the path to here + path = e.tag.substring(0, index); + //checks if tag has to be stored here or further down + if (e.tag.length() == index) { + element = e; + } else { + //store tag in correct branch + char c = e.tag.charAt(index); + if (branches[c] == null) { + branches[c] = new TagSearchTree<>(); + } + branches[c].add(e, index + 1); + } + } + + /** + * @param c character of branch needed + * @return branch or null if branch doesn't exist + */ + public TagSearchTree<E> getBranch(char c) { + if (c >= SIZE) return null; + return branches[c]; + } + + /** + * @return stored Tag, null if empty + */ + public E getElement() { + return element; + } + + /** + * @return path inside full tree to get to this Branch + */ + public String getPath() { + return path; + } +} diff --git a/devTools/javaSanityCheck/src/UnknownStateException.java b/devTools/javaSanityCheck/src/UnknownStateException.java new file mode 100644 index 0000000000000000000000000000000000000000..80dbe598682d23875efe5517170f4f1c91a96246 --- /dev/null +++ b/devTools/javaSanityCheck/src/UnknownStateException.java @@ -0,0 +1,8 @@ +package org.arkerthan.sanityCheck; + +public class UnknownStateException extends RuntimeException { + + public UnknownStateException(int state) { + super(String.valueOf(state)); + } +} diff --git a/devTools/javaSanityCheck/src/element/AngleBracketElement.java b/devTools/javaSanityCheck/src/element/AngleBracketElement.java new file mode 100644 index 0000000000000000000000000000000000000000..99549cda24411a29d1dfe32a0693cff99edbb46c --- /dev/null +++ b/devTools/javaSanityCheck/src/element/AngleBracketElement.java @@ -0,0 +1,360 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.*; + +import java.util.Arrays; +import java.util.List; + +public class AngleBracketElement extends Element { + private static final List<String> logicTags = Arrays.asList("if", "elseif", "else", "switch", "case", "default"); + private int state = 0; + /* + 0 - initial: < + TWINE + 1 - << + -1 - <</ + 2 - trying to complete twine tag: <<tag ???>> + -2 - trying to complete twine tag: <</tag>> + 3 - waiting for >> + -3 - expecting > from 3 + 4 - waiting for >> with KnownElement + -4 - expecting > from 4 + 5 - expecting >> + -5 - expecting > + 6 - expecting > with KnownElement opening; comparison? + -6 - expecting > with KnownElement closing + + HTML + -9 - </ + 10 - trying to complete HTML tag: <tag ???> + -10 - trying to complete HTML tag: </tag> + 11 - waiting for > + -11 - expecting > + 12 - waiting for > with KnownElement + */ + + private TagSearchTree<Tag> tree; + + public AngleBracketElement(int line, int pos) { + super(line, pos); + } + + @Override + public int handleChar(char c) throws SyntaxError { + switch (state) { + case 0: + switch (c) { + case '<': + state = 1; + return 1; + case '>': + throw new SyntaxError("Empty Statement?", 2); + case '/': + state = -9; + return 1; + case ' ':// assume comparison + case '=':// " + return 2; + case '3'://a heart: <3 + return 2; + default: + try { + state = 10; + tree = Main.htmlTags; + return handleOpeningHTML(c); + } catch (SyntaxError e) { + state = 1; + throw new SyntaxError("Opening \"<\" missing, found " + c + " [debug:initialCase]", 1); + } + } + case 1: + if (c == '<') { + throw new SyntaxError("Too many \"<\".", 1); + } else if (c == '>') { + state = 3; + throw new SyntaxError("Empty Statement?", 1); + } else if (c == '/') { + state = -1; + return 1; + } + state = 2; + tree = Main.twineTags; + return handleOpeningTwine(c); + case -1: + if (c == '>') { + throw new SyntaxError("Empty Statement?", 2, true); + } + state = -2; + tree = Main.twineTags; + return handleClosingTwine(c); + + case 2: + return handleOpeningTwine(c); + case -2: + return handleClosingTwine(c); + case 3: + if (c == '>') { + state = -3; + return 1; + } + break; + case -3: + if (c == '>') { + return 2; + } else if (c == ' ' || c == '=') { // assuming comparison + state = 3; + return 1; + } else { + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 2); + } + case 4: + if (c == '>') { + state = -4; + return 1; + } + break; + case -4: + if (c == '>') { + return 3; + } else if (c == ' ' || c == '=') { // assuming comparison + state = 4; + return 1; + } else { + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 2); + } + case 5: + if (c == '>') { + state = -5; + return 1; + } else { + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 2); + } + case -5: + if (c == '>') { + return 2; + } + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 2); + case 6: + if (c == '>') { + return 3; + } else if (c == ' ' || c == '=') { + state = 3; + return 1; + } else { + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 3); + } + case -6: + if (c == '>') { + return 3; + } + throw new SyntaxError("Closing \">\" missing, opened [" + line + ":" + pos + "]", 3); + + case -9: + if (c == '>') { + throw new SyntaxError("Empty Statement?", 2, true); + } + state = -10; + tree = Main.htmlTags; + return handleClosingHTML(c); + case 10: + return handleOpeningHTML(c); + case -10: + return handleClosingHTML(c); + case 11: + if (c == '>') + return 2; + if (c == '@') //@ inside HTML tags is allowed + return 1; + break; + case -11: + if (c == '>') + return 2; + throw new SyntaxError("Closing \">\" missing [2]", 2); + case 12: + if (c == '>') + return 3; + if (c == '@') //@ inside HTML tags is allowed + return 1; + break; + default: + throw new UnknownStateException(state); + } + return 0; + } + + private int handleOpeningHTML(char c) throws SyntaxError { + if (c == ' ') { + state = 11; + if (tree.getElement() == null) { + throw new SyntaxError("Unknown HTML tag", 1); + } + if (!tree.getElement().single) { + k = new KnownHtmlElement(line, pos, true, tree.getElement().tag); + state = 12; + return 1; + } + return 1; + } + if (c == '>') { + if (tree.getElement() == null) { + throw new SyntaxError("Unknown HTML tag", 2); + } + if (!tree.getElement().single) { + k = new KnownHtmlElement(line, pos, true, tree.getElement().tag); + return 3; + } + return 2; + } + + tree = tree.getBranch(c); + if (tree == null) { + state = 11; + throw new SyntaxError("Unknown HTML tag or closing \">\" missing, found " + c, 1); + } + + return 1; + } + + private int handleClosingHTML(char c) throws SyntaxError { + if (c == '>') { + if (tree.getElement() == null) { + throw new SyntaxError("Unknown HTML tag", 2); + } + if (tree.getElement().single) { + throw new SyntaxError("Single HTML tag used as closing Tag: " + tree.getElement().tag, 2); + } + k = new KnownHtmlElement(line, pos, false, tree.getElement().tag); + return 3; + } + + tree = tree.getBranch(c); + if (tree == null) { + state = -11; + throw new SyntaxError("Unknown HTML tag or closing \">\" missing, found " + c, 1); + } + + return 1; + } + + + private int handleOpeningTwine(char c) throws SyntaxError { + if (c == ' ') { + state = 3; + if (tree.getElement() == null) { + //assuming not listed means widget until better solution + return 1; + //throw new SyntaxError("Unknown Twine tag or closing \">>\" missing, found " + tree.getPath(), 1); + } + if (!tree.getElement().single) { + if (logicTags.contains(tree.getElement().tag)) { + k = new KnownLogicElement(line, pos, tree.getElement().tag, false); + } else { + k = new KnownTwineElement(line, pos, true, tree.getElement().tag); + } + state = 4; + return 1; + } + return 1; + } + if (c == '>') { + state = -5; + if (tree.getElement() == null) { + //assuming not listed means widget until better solution + //throw new SyntaxError("Unknown Twine tag or closing \">>\" missing, found " + tree.getPath(), 1); + return 1; + } + if (!tree.getElement().single) { + if (logicTags.contains(tree.getElement().tag)) { + k = new KnownLogicElement(line, pos, tree.getElement().tag, false); + } else { + k = new KnownTwineElement(line, pos, true, tree.getElement().tag); + } + state = 6; + return 1; + } + return 2; + } + + tree = tree.getBranch(c); + if (tree == null) { + //assuming not listed means widget until better solution + state = 3; + //throw new SyntaxError("Unknown Twine tag or closing \">>\" missing, found " + c, 1); + } + + return 1; + } + + private int handleClosingTwine(char c) throws SyntaxError { + if (c == '>') { + if (tree.getElement() == null) { + throw new SyntaxError("Unknown Twine tag", 2); + } + if (tree.getElement().single) { + throw new SyntaxError("Single Twine tag used as closing Tag: " + tree.getElement().tag, 2); + } + if (logicTags.contains(tree.getElement().tag)) { + k = new KnownLogicElement(line, pos, tree.getElement().tag, true); + } else { + k = new KnownTwineElement(line, pos, false, tree.getElement().tag); + } + state = -6; + return 1; + } + + tree = tree.getBranch(c); + if (tree == null) { + state = 3; + throw new SyntaxError("Unknown Twine closing tag or closing \">>\" missing, found " + c, 1); + } + + return 1; + } + + @Override + public String getShortDescription() { + StringBuilder builder = new StringBuilder(); + builder.append('[').append(line).append(":").append(pos).append("] "); + switch (state) { + case 0: + builder.append("<"); + break; + case 1: + builder.append("<<"); + break; + case -1: + builder.append("<</"); + break; + case 2: + builder.append("<<").append(tree.getPath()); + break; + case -2: + builder.append("<</").append(tree.getPath()); + break; + case 3: + builder.append("<<??? ???"); + break; + case 4: + builder.append("<<?").append(tree.getPath()).append(" ???"); + break; + case -3: + builder.append("<<??? ???>"); + break; + case -4: + builder.append("<<?").append(tree.getPath()).append(" ???>"); + break; + case 5: + builder.append("<").append(tree.getPath()).append(" ???"); + break; + case -5: + builder.append("</").append(tree.getPath()); + break; + case 6: + builder.append("<").append(tree.getPath()).append(" ???"); + break; + default: + //throw new UnknownStateException(state); + } + return builder.toString(); + } +} diff --git a/devTools/javaSanityCheck/src/element/AtElement.java b/devTools/javaSanityCheck/src/element/AtElement.java new file mode 100644 index 0000000000000000000000000000000000000000..168e340a4326b24c0dff912c64d25ec5042d6fe5 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/AtElement.java @@ -0,0 +1,105 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.SyntaxError; +import org.arkerthan.sanityCheck.UnknownStateException; + +public class AtElement extends Element { + private int state = 0; + // 0 = @ + // 1 = @@ + // 2 = @@. + // 3 = @@.a -- @@.ab -- @@.abc + // 4 = @@.abc;abc + // 5 = @@.abc;abc@ + + // example: @@.red;some text@@ + + public AtElement(int line, int pos) { + super(line, pos); + } + + @Override + public int handleChar(char c) throws SyntaxError { + switch (state) { + case 0: + state = 1; + if (c == '@') { + return 1; + } else { + if (c == '.') { + state = 2; + } + throw new SyntaxError("Opening \"@\" missing.", 1); + } + case 1: + if (c == '.') { + state = 2; + return 1; + } else { + state = 4; + throw new SyntaxError("\".\" missing, found \"" + c + "\". This might also indicate a " + + "missing closure in the previous color code.", 0, true); + } + case 2: + state = 3; + if (Character.isAlphabetic(c)) { + return 1; + } else { + throw new SyntaxError("Identifier might be wrong.", 1, true); + } + case 3: + if (c == ';') { + state = 4; + return 1; + } else if (c == ' ') { + state = 4; + throw new SyntaxError("\";\" missing or wrong space.", 1); + } + break; + case 4: + if (c == '@') { + state = 5; + return 1; + } + break; + case 5: + if (c == '@') { + return 2; + } else { + throw new SyntaxError("Closing \"@\" missing.", 2); + } + default: + throw new UnknownStateException(state); + } + return 0; + } + + @Override + public String getShortDescription() { + StringBuilder builder = new StringBuilder(); + builder.append(line).append(":").append(pos).append(" "); + switch (state) { + case 0: + builder.append("@"); + break; + case 1: + builder.append("@@"); + break; + case 2: + builder.append("@@."); + break; + case 3: + builder.append("@@.???"); + break; + case 4: + builder.append("@@???"); + break; + case 5: + builder.append("@@???@"); + break; + default: + throw new UnknownStateException(state); + } + return builder.toString(); + } +} diff --git a/devTools/javaSanityCheck/src/element/CommentElement.java b/devTools/javaSanityCheck/src/element/CommentElement.java new file mode 100644 index 0000000000000000000000000000000000000000..7906986e3dae2c3829d3ff5bd2bf76eddcbbd5c7 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/CommentElement.java @@ -0,0 +1,66 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.SyntaxError; +import org.arkerthan.sanityCheck.UnknownStateException; + +public class CommentElement extends Element { + int state = 0; + /* + 0 - / + 1 - /*??? + 2 - /*???* + 3 - /%??? + 4 - /%???% + */ + + public CommentElement(int line, int pos) { + super(line, pos); + } + + @Override + public int handleChar(char c) throws SyntaxError { + switch (state) { + case 0: + if (c == '*') { + state = 1; + } else if (c == '%') { + state = 3; + } else if (c == '>') { + throw new SyntaxError("XHTML style closure", 4, true); + } else { + return 4; + } + break; + case 1: + if (c == '*') { + state = 2; + } + break; + case 2: + if (c == '/') { + return 2; + } + state = 1; + break; + case 3: + if (c == '%') { + state = 4; + } + break; + case 4: + if (c == '/') { + return 2; + } + state = 3; + break; + default: + throw new UnknownStateException(state); + } + return 1; + } + + @Override + public String getShortDescription() { + return null; + } +} diff --git a/devTools/javaSanityCheck/src/element/Element.java b/devTools/javaSanityCheck/src/element/Element.java new file mode 100644 index 0000000000000000000000000000000000000000..f80a85f8c1800ca4cb3422f9a29c91938900b39f --- /dev/null +++ b/devTools/javaSanityCheck/src/element/Element.java @@ -0,0 +1,40 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.SyntaxError; + +public abstract class Element { + protected KnownElement k; + protected int line, pos; + + /** + * @param line Line the instance was created + * @param pos Position in line the instance was created + */ + protected Element(int line, int pos) { + this.line = line; + this.pos = pos; + } + + /** + * Parses a Char and returns an int depending on the state of the element + * 0 - the Element did nothing + * 1 - the Element changed state + * 2 - the Element is finished + * 3 - the Element is finished and a KnownHtmlElement was generated + * 4 - the Element is finished and the char is still open for use + * + * @param c + * @return + * @throws Error + */ + public abstract int handleChar(char c) throws SyntaxError; + + public KnownElement getKnownElement() { + return k; + } + + /** + * @return a short description usually based on state and position of the Element + */ + public abstract String getShortDescription(); +} diff --git a/devTools/javaSanityCheck/src/element/KnownElement.java b/devTools/javaSanityCheck/src/element/KnownElement.java new file mode 100644 index 0000000000000000000000000000000000000000..b3164c2a5890f646bbf75207827049d7ae5d5658 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/KnownElement.java @@ -0,0 +1,31 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.SyntaxError; + +public abstract class KnownElement extends Element { + + public KnownElement(int line, int pos) { + super(line, pos); + } + + /** + * @return true, if it needs another Known Element to close it. + */ + public abstract boolean isOpening(); + + /** + * @return true if it closes another Element. + */ + public abstract boolean isClosing(); + + /** + * @param k Element to be checked + * @return true if given Element closes Element + */ + public abstract boolean isMatchingElement(KnownElement k); + + @Override + public int handleChar(char c) throws SyntaxError { + return 0; + } +} diff --git a/devTools/javaSanityCheck/src/element/KnownHtmlElement.java b/devTools/javaSanityCheck/src/element/KnownHtmlElement.java new file mode 100644 index 0000000000000000000000000000000000000000..51abacd60ac47a000fa47b2fe88f61ca8daf2bc6 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/KnownHtmlElement.java @@ -0,0 +1,41 @@ +package org.arkerthan.sanityCheck.element; + +public class KnownHtmlElement extends KnownElement { + + private boolean opening; + private String statement; + + public KnownHtmlElement(int line, int pos, boolean opening, String statement) { + super(line, pos); + this.opening = opening; + this.statement = statement; + } + + @Override + public String getShortDescription() { + StringBuilder builder = new StringBuilder(); + builder.append('[').append(line).append(":").append(pos).append("] <"); + if (!opening) { + builder.append("/"); + } + return builder.append(statement).append(">").toString(); + } + + @Override + public boolean isOpening() { + return opening; + } + + @Override + public boolean isClosing() { + return !opening; + } + + @Override + public boolean isMatchingElement(KnownElement k) { + if (k instanceof KnownHtmlElement) { + return ((KnownHtmlElement) k).statement.equals(this.statement); + } + return false; + } +} diff --git a/devTools/javaSanityCheck/src/element/KnownLogicElement.java b/devTools/javaSanityCheck/src/element/KnownLogicElement.java new file mode 100644 index 0000000000000000000000000000000000000000..994201c5a9ba40a4aea01252bb0ba6765a5841b7 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/KnownLogicElement.java @@ -0,0 +1,117 @@ +package org.arkerthan.sanityCheck.element; + +import org.arkerthan.sanityCheck.DisallowedTagException; +import org.arkerthan.sanityCheck.UnknownStateException; + +import java.util.Arrays; +import java.util.List; + +public class KnownLogicElement extends KnownElement { + private static final List<String> allowedTags = Arrays.asList("if", "elseif", "else"); + private final int state; + private boolean last; + /* + 0 - if + 1 - elseif + 2 - else + 3 - switch + 4 - case + 5 - default + */ + + public KnownLogicElement(int line, int pos, String tag, boolean last) { + this(line, pos, tag); + this.last = last; + } + + public KnownLogicElement(int line, int pos, String tag) { + super(line, pos); + switch (tag) { + case "if": + state = 0; + break; + case "elseif": + state = 1; + break; + case "else": + state = 2; + break; + case "switch": + state = 3; + break; + case "case": + state = 4; + break; + case "default": + state = 5; + break; + default: + throw new DisallowedTagException(tag); + } + last = false; + } + + @Override + public boolean isOpening() { + return !last; + } + + @Override + public boolean isClosing() { + return (state != 0 && state != 3) || last; + } + + @Override + public boolean isMatchingElement(KnownElement k) { + if (!(k instanceof KnownLogicElement)) { + return false; + } + KnownLogicElement l = (KnownLogicElement) k; + switch (state) { + case 0: + case 1: + return l.state == 1 || l.state == 2 || (l.state == 0 && l.last); + case 2: + return l.state == 0 && l.last; + case 3: + case 4: + return l.state == 3 || l.state == 4; + case 5: + return l.state == 3 && l.last; + default: + throw new UnknownStateException(state); + } + } + + @Override + public String getShortDescription() { + StringBuilder builder = new StringBuilder(); + builder.append("[").append(line).append(":").append(pos).append("] <<"); + if (last) { + builder.append('/'); + } + switch (state) { + case 0: + builder.append("if"); + break; + case 1: + builder.append("elseif"); + break; + case 2: + builder.append("else"); + break; + case 3: + builder.append("switch"); + break; + case 4: + builder.append("case"); + break; + case 5: + builder.append("default"); + break; + default: + throw new UnknownStateException(state); + } + return builder.append(">>").toString(); + } +} diff --git a/devTools/javaSanityCheck/src/element/KnownTwineElement.java b/devTools/javaSanityCheck/src/element/KnownTwineElement.java new file mode 100644 index 0000000000000000000000000000000000000000..399fa5192181044e589ffd5d4222941b001f3066 --- /dev/null +++ b/devTools/javaSanityCheck/src/element/KnownTwineElement.java @@ -0,0 +1,41 @@ +package org.arkerthan.sanityCheck.element; + +public class KnownTwineElement extends KnownElement { + + private boolean opening; + private String statement; + + public KnownTwineElement(int line, int pos, boolean opening, String statement) { + super(line, pos); + this.opening = opening; + this.statement = statement; + } + + @Override + public String getShortDescription() { + StringBuilder builder = new StringBuilder(); + builder.append("[").append(line).append(":").append(pos).append("] <<"); + if (!opening) { + builder.append("/"); + } + return builder.append(statement).append(">>").toString(); + } + + @Override + public boolean isOpening() { + return opening; + } + + @Override + public boolean isClosing() { + return !opening; + } + + @Override + public boolean isMatchingElement(KnownElement k) { + if (k instanceof KnownTwineElement) { + return ((KnownTwineElement) k).statement.equals(this.statement); + } + return false; + } +} diff --git a/devTools/javaSanityCheck/twineTags b/devTools/javaSanityCheck/twineTags new file mode 100644 index 0000000000000000000000000000000000000000..e1dea71621bd818041d6aad43d7b3053b2c78132 --- /dev/null +++ b/devTools/javaSanityCheck/twineTags @@ -0,0 +1,39 @@ +#Allowed twine tags +#Effectively everything that is allowed in a statements like this: +#<<tag>> or <<tag ???>> +#when ;1 is specified it expects a matching closing tag like this: <</tag>> +#Everything belonging to if and switch statements is hard coded and does not +#need to be included here. +#Do not add HTML Tags here. +#Characters outside of ASCII scope are not supported. +# +#twine tags +capture;1 +continue;0 +for;1 +#does foreach really exist? +foreach;1 +goto;0 +htag;1 +include;0 +link;1 +nobr;1 +print;0 +replace;1 +run;0 +script;1 +set;0 +silently;1 +textbox;0 +timed;1 +unset;0 +widget;1 +=;0 +# +# Twine logic ### DO NOT TOUCH ### +if;1 +elseif;1 +else;1 +switch;1 +case;1 +default; diff --git a/fixSpellingMistakes b/fixSpellingMistakes index 01893e9145d233751e217f36e4f62d62ba27f36d..b45351ab08abc0b6f8ed3313f1b1500516e6e533 100755 --- a/fixSpellingMistakes +++ b/fixSpellingMistakes @@ -6,4 +6,3 @@ if [ ! -d ".git" ]; then fi git ls-files -z src/*.tw | grep -z -v .min.tw | grep -z -v setupVars.tw | xargs -0 sed -i -f devTools/spell_check.txt - diff --git a/sanityCheck-java b/sanityCheck-java new file mode 100755 index 0000000000000000000000000000000000000000..455bbfbc243ec664f5aac2daa2ad74903d104962 --- /dev/null +++ b/sanityCheck-java @@ -0,0 +1 @@ +java -jar SanityCheck.jar diff --git a/sanityCheck-java.bat b/sanityCheck-java.bat new file mode 100644 index 0000000000000000000000000000000000000000..455bbfbc243ec664f5aac2daa2ad74903d104962 --- /dev/null +++ b/sanityCheck-java.bat @@ -0,0 +1 @@ +java -jar SanityCheck.jar diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw index f29e5295ba7cf2ed38177977228de71131f0426b..c5b2d6138a68cf763926a3a820307abab521a913 100644 --- a/src/Mods/DinnerParty/dinnerPartyExecution.tw +++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw @@ -11,11 +11,13 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -432,7 +434,7 @@ <</if>> as you shake your head, so $he closes $his mouth and resigns $himself to $his fate. <br> - Your Head Girl is placed across the corner of the dining hall table face down, $his hands and legs held open by 4 men. $He finds a hand on $his ass, groping roughly. Then another hand on the other cheek, roughly parting $his globes to get better access. + Your Head Girl is placed across the corner of the dining hall table face-down, $his hands and legs held open by 4 men. $He finds a hand on $his ass, groping roughly. Then another hand on the other cheek, roughly parting $his globes to get better access. /% Pussy Check %/ <<if ($HeadGirl.vagina >= 0) && canDoVaginal($HeadGirl)>> A finger traces along $his slit, finding the source of that moisture and pressing its way in. Another finger was added and the hand began to finger fuck $him roughly. After a few seconds a third finger was added and then a fourth, stretching $his pussy. diff --git a/src/SecExp/SecExpBackwardCompatibility.tw b/src/SecExp/SecExpBackwardCompatibility.tw index 3ec837428ca8e9b61e8137abd4dc0cf346401452..1708368a8f1e4b921a17a88cd37abbc0a77688aa 100644 --- a/src/SecExp/SecExpBackwardCompatibility.tw +++ b/src/SecExp/SecExpBackwardCompatibility.tw @@ -166,6 +166,9 @@ <<if ndef $recruitVolunteers>> <<set $recruitVolunteers = 0>> <</if>> +<<if ndef $conscription>> + <<set $conscription = 0>> +<</if>> <<if ndef $militaryService>> <<set $militaryService = 0>> <</if>> @@ -652,9 +655,6 @@ <<if ndef $militiaFounded>> <<set $militiaFounded = 0>> <</if>> -<<if ndef $militiaRecruitment>> - <<set $militiaRecruitment = 0>> -<</if>> <<if ndef $militiaTotalManpower>> <<set $militiaTotalManpower = 0>> <</if>> diff --git a/src/SecExp/propagandaHub.tw b/src/SecExp/propagandaHub.tw index a0f2487059408cf4d92a763e951e2df1bc646c1d..3da4c9800781444d952c97ed85f88c9dc38d8b82 100644 --- a/src/SecExp/propagandaHub.tw +++ b/src/SecExp/propagandaHub.tw @@ -1,6 +1,5 @@ :: propagandaHub [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<if $career == "capitalist" || $career == "celebrity" || $career == "wealth">> <<set _HistoryDiscount = .5>> <<else>> diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw index 0dcf4088a51252f1644e2872e7d2724058a55c2c..77c4d39aac530da445045d8bbc2ee0d233c5cfc7 100644 --- a/src/SecExp/riotControlCenter.tw +++ b/src/SecExp/riotControlCenter.tw @@ -1,6 +1,5 @@ :: riotControlCenter [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back to Arcology Management", $nextLink = "Manage Arcology", $returnTo = "Manage Arcology">> Riot Control Center diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index 05ece2be7e1149676d29578318d9f7560cc590c4..e6d51d05669f06bd5b899032be3f1725f8f44d4f 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -295,12 +295,14 @@ You are free to organize your menial slaves into fighting units. Currently you h __Militia__ <br>/* militia */ You founded the $arcologies[0].name free militia. You are now able to organize your citizens in fighting units. - <<if $militiaRecruitment == 0>> + <<if $recruitVolunteers == 1>> The militia is composed entirely of volunteers, your manpower is approximately 1.5% of the citizens population of your arcology. - <<elseif $militiaRecruitment == 1>> + <<elseif $conscription == 1>> With the establishment of conscription, your available manpower has increased to now approximately 3% of the arcology's citizens population. - <<elseif $militiaRecruitment == 2>> + <<elseif $militaryService == 1>> By establishing obligatory military service to obtain citizenship you have enlarged your manpower pool to be approximately 5% of the arcology's citizens population. + <<elseif $militarizedSociety == 1>> + With the adoption of a militarized society, your available manpower has swelled to be approximately 15% of the arcology's citizens population. <</if>> Your current total manpower is <<print commaNum($militiaTotalManpower)>>, of which <<print commaNum($militiaEmployedManpower)>> is in active duty. You lost in total <<print commaNum($militiaTotalCasualties)>> citizens, leaving you with <<print commaNum($militiaFreeManpower)>> available citizens. <br> diff --git a/src/SecExp/secExpSmilingMan.tw b/src/SecExp/secExpSmilingMan.tw index 31cfeaf6c40d711952750ee3f9f8ee09574e7a9e..28b974c136b2ffecb30bf2f58ec279380ed2b2e6 100644 --- a/src/SecExp/secExpSmilingMan.tw +++ b/src/SecExp/secExpSmilingMan.tw @@ -71,7 +71,7 @@ It is indeed a great opportunity, one you cannot resist. You quickly organize the affair and in a few minutes a message reaches your assistant. <br>"Should I open it?" your assistant asks. You silently nod. <br>Suddenly the room flashes red, while your assistant fades for half a second. When _heA reappears, _hisA face has been replaced by a stylized smiling face. - <br>"Hello, my dear $PC.name. I can call you $PC.name, right? I've been keeping an eye on you for so long now, it feels like we're friends! I am terribly sorry for my unannounced visit, but I wanted to meet face to face... well, face to hologram." its says, letting out a childlike giggle. + <br>"Hello, my dear $PC.name. I can call you $PC.name, right? I've been keeping an eye on you for so long now, it feels like we're friends! I am terribly sorry for my unannounced visit, but I wanted to meet face to face... well, face to hologram." it says, letting out a childlike giggle. "I'm sure you're aware of my recent activities around this rock of ours, and, well, to put it simply, it's your turn to contribute to my great project! You'll love it when you see it, I'm sure! By the way, thanks for the offer — it's so nice to see people contribute to a worthy cause so generously! Well, I've taken enough of your time, see you soon!" <br>The lights flicker once more and an instant later your assistant returns to _hisA usual self. <br>"I... I — I couldn't stop him! I'm sorry, <<= properTitle()>>." @@ -92,7 +92,7 @@ <<set _lostCash -= 20000>> The funding you dedicated to the Smiling Man case saved some of the assets that would have been otherwise lost. <</if>> - <<run cashX(_lostCash, "event")>> + <<run cashX(forceNeg(_lostCash), "event")>> <br> <br> <span id="result"> @@ -145,7 +145,8 @@ It's to fix this injustice, that I worked so hard all this time! To cleanse the world of the old, we must get rid of our precious, precious data. At the end of this message every digital device will see its memory erased, every archive cleaned, every drive deleted. <br>It will be a true rebirth! A true new beginning! No longer will the chains of the past keep humanity anchored!" <br>The voice stopped for a second. - <br>"Have a good day." it simply concluded, then it happened. + <br>"Have a good day," it simply concluded. + <br>Then it happened. <br>In little more than seconds all the data collected in the years past vanished. It's a disaster. <<if $cash < 0>> The vast majority of currency is digital, so the actions of the Smiling Man have a devastating effect on the money supply. Luckily for you this means that your @@.yellowgreen;debt is reduced@@. @@ -294,22 +295,43 @@ <<set $activeSlave.preg = 0>> <<set $activeSlave.prestige = 3>> <<set $activeSlave.prestigeDesc = "She was the famous Smiling Man.">> + <<set $activeSlave.clothes = "a military uniform">> /*closest thing to commie/punk we have at the moment*/ <<setLocalPronouns $activeSlave>> <br> The day has come to finally put an end to this story. Your men are ready to go, waiting only on your signal. You quickly don your protective gear and proceed down the busy streets of your arcology. You carefully planned the day so that nothing could exit the arcology without being scanned at least three times and poked twice. The Smiling Man has no escape. <br>After a short walk you are in front of the criminal's lair, a rundown old apartment in a scarcely populated part of the arcology. You give the order to breach and your men rush inside without problems. - After a couple of seconds pass without a single noise coming from the apartment, you begin to worry. Then you hear the captain calling you inside. - <br>"So it was you to find me first. - <<if $relationshipLM > 2>> - I was hoping you would be the one! - <<else>> - I expected you would be the one. - <</if>> - "Well, I hope I'm everything you expected," you hear a voice say. Despite recognizing it, you struggle to convince yourself that the little $girl in front of you is indeed the famous criminal mastermind. - "As you can see, I have no intention of escaping. I knew my life was over the second my plan went into effect. I accepted my end a long time ago, so feel free to do your worst; my life has already ended in triumph." - <br>You evaluate the situation: the burning desire of vengeance for all the damage that little twerp caused is hard to ignore, but equally so is the admiration for $his skill and determination. Indeed, $he would be a great addition to your court, as a free individual or not. + After a couple of seconds pass without a single noise coming from the apartment, you begin to worry. Then you hear the captain + + <span id="continue"> + +<<link "calling you inside.">> + <<replace "#continue">> + <span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + </span> + calling you inside. + <br>"So it was you to find me first. + <<if $relationshipLM > 2>> + I was hoping you would be the one! + <<else>> + I expected you would be the one. + <</if>> + Well, I hope I'm everything you expected," you hear a voice say. Despite recognizing it, you struggle to convince yourself that the little $girl in front of you is indeed the famous criminal mastermind. + <br>"As you can see, I have no intention of escaping. I knew my life was over the second my plan went into effect. I accepted my end a long time ago, so feel free to do your worst; my life has already ended in triumph." + <br>You evaluate the situation: the burning desire of vengeance for all the damage that little twerp caused is hard to ignore, but equally so is the admiration for $his skill and determination. Indeed, $he would be a great addition to your court, as a free individual or not. + <</replace>> +<</link>> +</span> <br> <br> <<link "Offer $him a new life">> @@ -356,6 +378,15 @@ <<set $nextButton = "Continue", $nextLink = "Random Nonindividual Event">> <<if $smilingManFate == 0>> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ <<if $relationshipLM >= 4>> The $girl asks for a few minutes to think about your offer, but $he quickly comes to terms with the situation and accepts. In the following weeks $he will get acquainted with the security network of the arcology and work to protect $his new home in the new world $he has created. The world will never find out the truth of the Smiling Man and his legend will only grow with time, outliving his creator and maybe even $his new employer. @@ -365,10 +396,21 @@ <</if>> <br>The collaboration of the ex-Smiling Man permanently increases @@.green;security and the rate of prosperity growth.@@ @@.limegreen;Cash will be also provided,@@ but you're better off not knowing the sources. <<elseif $smilingManFate == 1>> + <<set $activeSlave.clothes = "no clothing">> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ For such a criminal a simple execution is not enough. You order the $girl captured and crucified outside the city, with a mask resembling $his famous symbol. Your men quickly obey. $He never once shows sign of pain or fear, remaining stoic and proud to the end. Once $his life ends, you order a statue erected in commemoration of the death of the Smiling Man. From this day forward the statue of the crucified criminal will adorn your arcology and his legend will be forever entangled with yours. <br>Having dealt with the Smiling Man will provide @@.green;a large boost to your reputation, as well as a moderate amount of reputation each week@@. <<elseif $smilingManFate == 2>> + <<set $activeSlave.clothes = "no clothing">> <<if $relationshipLM >= 4>> Your men move to immobilize $him. Terror flashes through $his eyes for a second, but $he quickly recovers $his usual demeanor. <<else>> diff --git a/src/SecExp/secInit.tw b/src/SecExp/secInit.tw index 4d9d98f715ef31f82da9b456a46979ae3502b2c9..a0a61843951fd555f4bab7b29540786b22b10dca 100644 --- a/src/SecExp/secInit.tw +++ b/src/SecExp/secInit.tw @@ -58,6 +58,7 @@ <<set $discountMercenaries = 0>> <<set $militiaFounded = 0>> <<set $recruitVolunteers = 0>> +<<set $conscription = 0>> <<set $militaryService = 0>> <<set $militarizedSociety = 0>> <<set $militaryExemption = 0>> diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw index dee3622d2a2adab4311a77932b81fd652a553f38..5c4560015aa57c1081b8a9a10ab78fadf14a0fc5 100644 --- a/src/SecExp/securityHQ.tw +++ b/src/SecExp/securityHQ.tw @@ -1,6 +1,5 @@ :: securityHQ [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<if $career == "mercenary" || $career == "gang" || $career == "slaver">> <<set _HistoryDiscount = .5>> <<else>> diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw index dac9a124aee0e42d73ee7097fc2b1e6a47535fed..d3ca71e1102e64befa2ff5703bdd82bce14087bb 100644 --- a/src/SecExp/weaponsManufacturing.tw +++ b/src/SecExp/weaponsManufacturing.tw @@ -1,6 +1,5 @@ :: weaponsManufacturing [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Main">> This sector of the arcology has been dedicated to weapons manufacturing. These factories supply diff --git a/src/SpecialForce/SpecialForce.js b/src/SpecialForce/SpecialForce.js index b08de3d40cd0b18bd925d652910d8347da841820..144bbe80a68815ab91d62097edf1adb1ef496bf1 100644 --- a/src/SpecialForce/SpecialForce.js +++ b/src/SpecialForce/SpecialForce.js @@ -28,7 +28,7 @@ window.Count = function() { } else { T.NY=S.AircraftCarrier + S.Sub + S.HAT; T.Base += T.NY; T.NYU=T.ACU + T.SubU + T.HATU; T.max += T.NYU; - } V.SF.Size=T.Base; V.SF.Size=C(V.SF.Size, 0, T.max); T.T1=0; + } V.SF.Size=T.Base; V.SF.Size=C(V.SF.Size, 1, T.max); T.T1=0; if (E > 100) {T.Env=4;} else if (E > 67) {T.Env=3;} else {T.Env=2;} if (V.SF.Size >= 30) T.T1=1; T.SFSubsidy=5000*(1+((V.SF.Squad.Troops/100)+(V.SF.Size/100))); SFNameCapsCheck(); @@ -441,9 +441,8 @@ window.SFNameCapsCheck = function() { window.SFUpgradeCost = function(cost,unit) { const V=State.variables,T=State.temporary,S=V.SF.Squad; var value=0; - //return Math.ceil(cost*T.Env*(1.15+(V.SF.Size/10))*(1.15+(unit/100))*HSM()); value=cost*T.Env*(1.15+(V.SF.Size/10))*(1.15+(unit/100)); - if ([S.Sub,S.AircraftCarrier,S.MissileSilo,S.GiantRobot,S.Satellite.lv,S.GunS,S.SpacePlane,S.Drones].includes(unit)) value *= HSM(); + if ([S.Sub,S.AircraftCarrier,S.MissileSilo,S.GiantRobot,S.Satellite.lv,S.GunS,S.SpacePlane,S.Drones].includes(unit)) value *= V.HackingSkillMultiplier; return Math.ceil(value); }; @@ -828,7 +827,7 @@ window.FlavourText = function(View) { if (jsRandom(0,100) <= 50) { r += `raises a hand in greeting and nods. She is sprawled on a couch, wearing only her combat suit tank top and fingerless gloves. She's holding a near-empty bottle of strong liquor in her hand and you can see a naked slave girl kneeling on the floor between her legs. The Colonel has her legs wrapped tightly around the girl's head, forcing the girl to service her if she wants to breathe. The Colonel is close to her climax then suddenly tenses her lower body thus gripping the girl even tighter and throws her head back in ecstasy as she orgasms. She lets out a long breath finally releasing the girl, giving her a hard smack and shouting at her to fuck off.<br><br> The Colonel finishes off her bottle, tossing it over her shoulder then leaning back on the couch and spreading her legs wide. You look down briefly, falling into your habits of inspection. Her pussy is completely devoid of hair with heavy labia in with a very large and hard clit peaking out. Beads of moisture, the result of her excitation, are visible, and you can tell from long experience that she would be tight as a vise. You return your gaze to her face to find her smirking at you. "Like what you see, ${SFCR()}?" She waves her hand at the plaza around her, "So do they. But you're not here for pussy. You're here to talk business. So, what's up?"`; } else if (jsRandom(0,100) > 50) { - r += `is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lunging with her feet on the table and the rest on her couch. She is face down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, ${SFCR()}," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, ${SFCR()}," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So — I'm assuming you want something?"`; + r += `is in no condition initially to greet you. She's naked except for one sock that gives you a very good view of her muscled, taut body while lunging with her feet on the table and the rest on her couch. She is face-down in a drugged-out stupor in the middle of a wide variety of powders and pills. Perhaps sensing your approach, her head suddenly shoots up and looks at you with unfocused, bloodshot eyes. "Sorry, ${SFCR()}," she slurs, wiping her face and weakly holding up a hand. "Hold on a second, I need something to help me out here. Long fucking night." She struggles to sit on the couch and bending over the table, loudly snorts up some of the white powder on it. "Ahhh, fuck," she says, breathing heavily.<br><br> She shakes her head powerfully now looking at you, her eyes once again alert and piercing. "That's better," she says, leaning back on the couch and giving you another good view of her assets. "So, ${SFCR()}," she begins, "what brings you down here to our little clubhouse? I trust you're happy with how we've been handling things out there?" You nod. "Excellent", she laughs. "I have to say; it's nice to have a place like this while having some top-end gear and to be able to have fun out there without worrying about anyone coming back on us. Good fucking times." She laughs again. "So — I'm assuming you want something?"`; } else if (jsRandom(0,100) > 70 && V.SF.Depravity >= 1.5 && V.SF.Colonel.Core == "cruel") { r += `is relaxing on her couch stark naked, greeting you with a raised hand. Between her tightly clenched legs is a slave girl being forced to eat her out. "Hey, ${SFCR()}, what's —" she breaks off as a flash of pain crosses her features. "Fucking bitch!" she exclaims, pulling her legs away and punching the slave girl in the face. She pushes the girl to the ground, straddling her then begins hitting. You hear one crunch after another as The Colonel's powerful blows shatter the girl's face. She hisses from between clenched teeth, each word accompanied by a brutal punch. "How. Many. Fucking. Times. Have. I. Told. You. To. Watch. Your. Fucking. Teeth. On. My. Fucking. Clit!" She leans back, exhaling heavily. Before leaning back down to grip apply pressure onto the girl's neck with her powerful hands. Wordlessly, she increases the pressure and soon the girl begins to turn blue as she struggles to draw breath. Eventually her struggles weaken and then finally, end.<br><br> The Colonel relaxes her grip then wipes her brow, clearing away the sweat from her exertion. Finally rising from the girl's body, relaxing back on the couch and putting her feet back up on the table. "Sorry about that ${SFCR()}," she says, shrugging. "So many of these bitches we pick up from the outside don't understand that they have to behave." Shaking her head in frustration, "Now I need to find another one. But that's not your problem — you're here to talk business. So, what's up?"`; } else { diff --git a/src/art/vector/VectorArtJS.js b/src/art/vector/VectorArtJS.js index fe6ebc59ad2dcb011fd928d0e7c145bc2838ce6b..6d6308083adfb65acbd108ab69e9dec11a20e44c 100644 --- a/src/art/vector/VectorArtJS.js +++ b/src/art/vector/VectorArtJS.js @@ -2738,7 +2738,7 @@ window.LegacyVectorArt = function(slave, artSize) { if (slave.vagina > 0) { if (slave.dick > 0) { r += '<div class="highPenis">'; - if (slave.scrotum > 0) + if (slave.scrotum > 0) r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`; if (canAchieveErection(slave)) { r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`; @@ -2752,7 +2752,7 @@ window.LegacyVectorArt = function(slave, artSize) { } else { if (slave.dick > 0) { r += '<div class="lowPenis">'; - if (slave.scrotum > 0) + if (slave.scrotum > 0) r += `<img class='paperdoll' src=${skinFilePath}/ball ${ballSize}.svg' style='${skinFilter}'>`; if (canAchieveErection(slave)) { r += `<img class='paperdoll' src=${skinFilePath}/penis ${penisSize}.svg' style='${skinFilter}'>`; diff --git a/src/art/vector_revamp/vectorRevampedArtControl.js b/src/art/vector_revamp/vectorRevampedArtControl.js index 85f0bf74185d2c15b23db203fe835c0dade2eb54..6bdf1cb06e6385e92d4f75aecbdb2951fc26d1ab 100644 --- a/src/art/vector_revamp/vectorRevampedArtControl.js +++ b/src/art/vector_revamp/vectorRevampedArtControl.js @@ -8,7 +8,7 @@ window.RevampedVectorArt = function(slave) { else T.art_display_id = 1; T.art_display_class = `ad${T.art_display_id}`; - + /*Using JS from vectorRevampedArtControl.tw*/ T.revampedVectorArtControl = getVectorArtRevampedControl(T.art_display_class, slave, V.seeVectorArtHighlights, V.showBodyMods) diff --git a/src/events/intro/initNationalities.tw b/src/events/intro/initNationalities.tw index 7d24761c058a62effb25fc4ebf7bc8550e47f382..e4c1f257698a4d5a2336fbaac72fbb311d6b78c5 100644 --- a/src/events/intro/initNationalities.tw +++ b/src/events/intro/initNationalities.tw @@ -9,6 +9,7 @@ <<run generatePlayerPronouns($PC)>> +<<set $HackingSkillMultiplier = HackingSkillMultiplier()>> <<set $upgradeMultiplierArcology = 1>> <<set $upgradeMultiplierMedicine = 1>> @@ -255,7 +256,7 @@ <<unset $nationalitiescheck>> /* Removes unique nationalities array to avoid var bloat */ <<if ndef $customVariety>> /* If non-custom variety, empties or defines $nationalities */ -<<set $nationalities = {}>> + <<set $nationalities = {}>> <</if>> <<if $terrain == "oceanic">> <<if ndef $customVariety>> @@ -277,34 +278,34 @@ <<set $arcologies[0].FSSubjugationistRace = "black">> <</if>> <<if ndef $customVariety>> /* If non-custom variety, adds regional $nationalities */ - <<set hashPush($nationalities, "American", "American", "American", "American", "American", "American")>> - <<set hashPush($nationalities, "Antiguan")>> - <<set hashPush($nationalities, "Aruban")>> - <<set hashPush($nationalities, "Bahamian")>> - <<set hashPush($nationalities, "Barbadian")>> - <<set hashPush($nationalities, "Belizean")>> - <<set hashPush($nationalities, "Bermudian")>> - <<set hashPush($nationalities, "Canadian", "Canadian")>> - <<set hashPush($nationalities, "Costa Rican")>> - <<set hashPush($nationalities, "Cuban", "Cuban")>> - <<set hashPush($nationalities, "Curaçaoan")>> - <<set hashPush($nationalities, "Dominican", "Dominican")>> - <<set hashPush($nationalities, "Dominiquais")>> - <<set hashPush($nationalities, "Greenlandic")>> - <<set hashPush($nationalities, "Grenadian")>> - <<set hashPush($nationalities, "Guatemalan")>> - <<set hashPush($nationalities, "Haitian", "Haitian")>> - <<set hashPush($nationalities, "Honduran")>> - <<set hashPush($nationalities, "Jamaican")>> - <<set hashPush($nationalities, "Kittitian")>> - <<set hashPush($nationalities, "Mexican", "Mexican", "Mexican", "Mexican")>> - <<set hashPush($nationalities, "Nicaraguan", "Nicaraguan")>> - <<set hashPush($nationalities, "Panamanian")>> - <<set hashPush($nationalities, "Puerto Rican")>> - <<set hashPush($nationalities, "Saint Lucian")>> - <<set hashPush($nationalities, "Salvadoran", "Salvadoran")>> - <<set hashPush($nationalities, "Trinidadian")>> - <<set hashPush($nationalities, "Vincentian")>> + <<set hashPush($nationalities, "American", "American", "American", "American", "American", "American")>> + <<set hashPush($nationalities, "Antiguan")>> + <<set hashPush($nationalities, "Aruban")>> + <<set hashPush($nationalities, "Bahamian")>> + <<set hashPush($nationalities, "Barbadian")>> + <<set hashPush($nationalities, "Belizean")>> + <<set hashPush($nationalities, "Bermudian")>> + <<set hashPush($nationalities, "Canadian", "Canadian")>> + <<set hashPush($nationalities, "Costa Rican")>> + <<set hashPush($nationalities, "Cuban", "Cuban")>> + <<set hashPush($nationalities, "Curaçaoan")>> + <<set hashPush($nationalities, "Dominican", "Dominican")>> + <<set hashPush($nationalities, "Dominiquais")>> + <<set hashPush($nationalities, "Greenlandic")>> + <<set hashPush($nationalities, "Grenadian")>> + <<set hashPush($nationalities, "Guatemalan")>> + <<set hashPush($nationalities, "Haitian", "Haitian")>> + <<set hashPush($nationalities, "Honduran")>> + <<set hashPush($nationalities, "Jamaican")>> + <<set hashPush($nationalities, "Kittitian")>> + <<set hashPush($nationalities, "Mexican", "Mexican", "Mexican", "Mexican")>> + <<set hashPush($nationalities, "Nicaraguan", "Nicaraguan")>> + <<set hashPush($nationalities, "Panamanian")>> + <<set hashPush($nationalities, "Puerto Rican")>> + <<set hashPush($nationalities, "Saint Lucian")>> + <<set hashPush($nationalities, "Salvadoran", "Salvadoran")>> + <<set hashPush($nationalities, "Trinidadian")>> + <<set hashPush($nationalities, "Vincentian")>> <</if>> <<case "South America">> <<if $targetArcology.type != "Supremacist">> @@ -314,19 +315,19 @@ <<set $arcologies[0].FSSubjugationistRace = "black">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian")>> - <<set hashPush($nationalities, "Bolivian", "Bolivian")>> - <<set hashPush($nationalities, "Brazilian", "Brazilian", "Brazilian", "Brazilian")>> - <<set hashPush($nationalities, "Chilean", "Chilean")>> - <<set hashPush($nationalities, "Colombian", "Colombian", "Colombian")>> - <<set hashPush($nationalities, "Ecuadorian")>> - <<set hashPush($nationalities, "French Guianan")>> - <<set hashPush($nationalities, "Guyanese")>> - <<set hashPush($nationalities, "Paraguayan")>> - <<set hashPush($nationalities, "Peruvian", "Peruvian")>> - <<set hashPush($nationalities, "Surinamese")>> - <<set hashPush($nationalities, "Uruguayan")>> - <<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>> + <<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian")>> + <<set hashPush($nationalities, "Bolivian", "Bolivian")>> + <<set hashPush($nationalities, "Brazilian", "Brazilian", "Brazilian", "Brazilian")>> + <<set hashPush($nationalities, "Chilean", "Chilean")>> + <<set hashPush($nationalities, "Colombian", "Colombian", "Colombian")>> + <<set hashPush($nationalities, "Ecuadorian")>> + <<set hashPush($nationalities, "French Guianan")>> + <<set hashPush($nationalities, "Guyanese")>> + <<set hashPush($nationalities, "Paraguayan")>> + <<set hashPush($nationalities, "Peruvian", "Peruvian")>> + <<set hashPush($nationalities, "Surinamese")>> + <<set hashPush($nationalities, "Uruguayan")>> + <<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>> <</if>> <<case "Brazil">> <<if $targetArcology.type != "Supremacist">> @@ -336,19 +337,19 @@ <<set $arcologies[0].FSSubjugationistRace = "black">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian", "Argentinian")>> - <<set hashPush($nationalities, "Bolivian", "Bolivian")>> - <<set hashPush($nationalities, "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian")>> - <<set hashPush($nationalities, "Chilean", "Chilean")>> - <<set hashPush($nationalities, "Colombian", "Colombian", "Colombian")>> - <<set hashPush($nationalities, "Ecuadorian")>> - <<set hashPush($nationalities, "French Guianan")>> - <<set hashPush($nationalities, "Guyanese")>> - <<set hashPush($nationalities, "Paraguayan")>> - <<set hashPush($nationalities, "Peruvian", "Peruvian")>> - <<set hashPush($nationalities, "Surinamese")>> - <<set hashPush($nationalities, "Uruguayan", "Uruguayan")>> - <<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>> + <<set hashPush($nationalities, "Argentinian", "Argentinian", "Argentinian", "Argentinian")>> + <<set hashPush($nationalities, "Bolivian", "Bolivian")>> + <<set hashPush($nationalities, "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian", "Brazilian")>> + <<set hashPush($nationalities, "Chilean", "Chilean")>> + <<set hashPush($nationalities, "Colombian", "Colombian", "Colombian")>> + <<set hashPush($nationalities, "Ecuadorian")>> + <<set hashPush($nationalities, "French Guianan")>> + <<set hashPush($nationalities, "Guyanese")>> + <<set hashPush($nationalities, "Paraguayan")>> + <<set hashPush($nationalities, "Peruvian", "Peruvian")>> + <<set hashPush($nationalities, "Surinamese")>> + <<set hashPush($nationalities, "Uruguayan", "Uruguayan")>> + <<set hashPush($nationalities, "Venezuelan", "Venezuelan", "Venezuelan")>> <</if>> <<case "the Middle East">> <<if $targetArcology.type != "Supremacist">> @@ -358,28 +359,28 @@ <<set $arcologies[0].FSSubjugationistRace = "asian">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Afghan", "Afghan")>> - <<set hashPush($nationalities, "Armenian", "Armenian")>> - <<set hashPush($nationalities, "Azerbaijani")>> - <<set hashPush($nationalities, "Bahraini")>> - <<set hashPush($nationalities, "Cypriot")>> - <<set hashPush($nationalities, "Egyptian", "Egyptian", "Egyptian")>> - <<set hashPush($nationalities, "Emirati", "Emirati")>> - <<set hashPush($nationalities, "Georgian")>> - <<set hashPush($nationalities, "Iranian", "Iranian", "Iranian")>> - <<set hashPush($nationalities, "Iraqi", "Iraqi")>> - <<set hashPush($nationalities, "Israeli", "Israeli")>> - <<set hashPush($nationalities, "Jordanian", "Jordanian")>> - <<set hashPush($nationalities, "Kurdish")>> - <<set hashPush($nationalities, "Kuwaiti")>> - <<set hashPush($nationalities, "Lebanese", "Lebanese")>> - <<set hashPush($nationalities, "Omani", "Omani")>> - <<set hashPush($nationalities, "Palestinian")>> - <<set hashPush($nationalities, "Qatari")>> - <<set hashPush($nationalities, "Saudi", "Saudi")>> - <<set hashPush($nationalities, "Syrian")>> - <<set hashPush($nationalities, "Turkish", "Turkish", "Turkish")>> - <<set hashPush($nationalities, "Yemeni", "Yemeni")>> + <<set hashPush($nationalities, "Afghan", "Afghan")>> + <<set hashPush($nationalities, "Armenian", "Armenian")>> + <<set hashPush($nationalities, "Azerbaijani")>> + <<set hashPush($nationalities, "Bahraini")>> + <<set hashPush($nationalities, "Cypriot")>> + <<set hashPush($nationalities, "Egyptian", "Egyptian", "Egyptian")>> + <<set hashPush($nationalities, "Emirati", "Emirati")>> + <<set hashPush($nationalities, "Georgian")>> + <<set hashPush($nationalities, "Iranian", "Iranian", "Iranian")>> + <<set hashPush($nationalities, "Iraqi", "Iraqi")>> + <<set hashPush($nationalities, "Israeli", "Israeli")>> + <<set hashPush($nationalities, "Jordanian", "Jordanian")>> + <<set hashPush($nationalities, "Kurdish")>> + <<set hashPush($nationalities, "Kuwaiti")>> + <<set hashPush($nationalities, "Lebanese", "Lebanese")>> + <<set hashPush($nationalities, "Omani", "Omani")>> + <<set hashPush($nationalities, "Palestinian")>> + <<set hashPush($nationalities, "Qatari")>> + <<set hashPush($nationalities, "Saudi", "Saudi")>> + <<set hashPush($nationalities, "Syrian")>> + <<set hashPush($nationalities, "Turkish", "Turkish", "Turkish")>> + <<set hashPush($nationalities, "Yemeni", "Yemeni")>> <</if>> <<case "Africa">> <<if $targetArcology.type != "Supremacist">> @@ -389,60 +390,60 @@ <<set $arcologies[0].FSSubjugationistRace = "white">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Algerian", "Algerian", "Algerian")>> - <<set hashPush($nationalities, "Angolan")>> - <<set hashPush($nationalities, "Beninese")>> - <<set hashPush($nationalities, "Bissau-Guinean")>> - <<set hashPush($nationalities, "Burkinabé")>> - <<set hashPush($nationalities, "Burundian")>> - <<set hashPush($nationalities, "Cameroonian")>> - <<set hashPush($nationalities, "Cape Verdean")>> - <<set hashPush($nationalities, "Central African")>> - <<set hashPush($nationalities, "Chadian")>> - <<set hashPush($nationalities, "Comorian")>> - <<set hashPush($nationalities, "Congolese")>> - <<set hashPush($nationalities, "Djiboutian")>> - <<set hashPush($nationalities, "Equatoguinean")>> - <<set hashPush($nationalities, "Eritrean")>> - <<set hashPush($nationalities, "Ethiopian", "Ethiopian", "Ethiopian")>> - <<set hashPush($nationalities, "Gabonese")>> - <<set hashPush($nationalities, "Gambian")>> - <<set hashPush($nationalities, "Ghanan", "Ghanan")>> - <<set hashPush($nationalities, "Guinean")>> - <<set hashPush($nationalities, "Ivorian")>> - <<set hashPush($nationalities, "Kenyan", "Kenyan", "Kenyan")>> - <<set hashPush($nationalities, "Liberian")>> - <<set hashPush($nationalities, "Libyan", "Libyan")>> - <<set hashPush($nationalities, "Malagasy")>> - <<set hashPush($nationalities, "Malawian")>> - <<set hashPush($nationalities, "Malian", "Malian")>> - <<set hashPush($nationalities, "Mauritanian")>> - <<set hashPush($nationalities, "Mauritian")>> - <<set hashPush($nationalities, "Moroccan", "Moroccan")>> - <<set hashPush($nationalities, "Mosotho")>> - <<set hashPush($nationalities, "Motswana")>> - <<set hashPush($nationalities, "Mozambican")>> - <<set hashPush($nationalities, "Namibian")>> - <<set hashPush($nationalities, "Nigerian", "Nigerian", "Nigerian", "Nigerian")>> - <<set hashPush($nationalities, "Nigerien", "Nigerien")>> - <<set hashPush($nationalities, "Rwandan")>> - <<set hashPush($nationalities, "Sahrawi")>> - <<set hashPush($nationalities, "São Toméan")>> - <<set hashPush($nationalities, "Senegalese")>> - <<set hashPush($nationalities, "Seychellois")>> - <<set hashPush($nationalities, "Sierra Leonean")>> - <<set hashPush($nationalities, "Somali")>> - <<set hashPush($nationalities, "South African", "South African", "South African", "South African")>> - <<set hashPush($nationalities, "South Sudanese")>> - <<set hashPush($nationalities, "Sudanese", "Sudanese", "Sudanese")>> - <<set hashPush($nationalities, "Swazi")>> - <<set hashPush($nationalities, "Tanzanian", "Tanzanian")>> - <<set hashPush($nationalities, "Togolese")>> - <<set hashPush($nationalities, "Tunisian", "Tunisian")>> - <<set hashPush($nationalities, "Ugandan", "Ugandan")>> - <<set hashPush($nationalities, "Zairian", "Zairian", "Zairian")>> - <<set hashPush($nationalities, "Zambian")>> - <<set hashPush($nationalities, "Zimbabwean", "Zimbabwean")>> + <<set hashPush($nationalities, "Algerian", "Algerian", "Algerian")>> + <<set hashPush($nationalities, "Angolan")>> + <<set hashPush($nationalities, "Beninese")>> + <<set hashPush($nationalities, "Bissau-Guinean")>> + <<set hashPush($nationalities, "Burkinabé")>> + <<set hashPush($nationalities, "Burundian")>> + <<set hashPush($nationalities, "Cameroonian")>> + <<set hashPush($nationalities, "Cape Verdean")>> + <<set hashPush($nationalities, "Central African")>> + <<set hashPush($nationalities, "Chadian")>> + <<set hashPush($nationalities, "Comorian")>> + <<set hashPush($nationalities, "Congolese")>> + <<set hashPush($nationalities, "Djiboutian")>> + <<set hashPush($nationalities, "Equatoguinean")>> + <<set hashPush($nationalities, "Eritrean")>> + <<set hashPush($nationalities, "Ethiopian", "Ethiopian", "Ethiopian")>> + <<set hashPush($nationalities, "Gabonese")>> + <<set hashPush($nationalities, "Gambian")>> + <<set hashPush($nationalities, "Ghanan", "Ghanan")>> + <<set hashPush($nationalities, "Guinean")>> + <<set hashPush($nationalities, "Ivorian")>> + <<set hashPush($nationalities, "Kenyan", "Kenyan", "Kenyan")>> + <<set hashPush($nationalities, "Liberian")>> + <<set hashPush($nationalities, "Libyan", "Libyan")>> + <<set hashPush($nationalities, "Malagasy")>> + <<set hashPush($nationalities, "Malawian")>> + <<set hashPush($nationalities, "Malian", "Malian")>> + <<set hashPush($nationalities, "Mauritanian")>> + <<set hashPush($nationalities, "Mauritian")>> + <<set hashPush($nationalities, "Moroccan", "Moroccan")>> + <<set hashPush($nationalities, "Mosotho")>> + <<set hashPush($nationalities, "Motswana")>> + <<set hashPush($nationalities, "Mozambican")>> + <<set hashPush($nationalities, "Namibian")>> + <<set hashPush($nationalities, "Nigerian", "Nigerian", "Nigerian", "Nigerian")>> + <<set hashPush($nationalities, "Nigerien", "Nigerien")>> + <<set hashPush($nationalities, "Rwandan")>> + <<set hashPush($nationalities, "Sahrawi")>> + <<set hashPush($nationalities, "São Toméan")>> + <<set hashPush($nationalities, "Senegalese")>> + <<set hashPush($nationalities, "Seychellois")>> + <<set hashPush($nationalities, "Sierra Leonean")>> + <<set hashPush($nationalities, "Somali")>> + <<set hashPush($nationalities, "South African", "South African", "South African", "South African")>> + <<set hashPush($nationalities, "South Sudanese")>> + <<set hashPush($nationalities, "Sudanese", "Sudanese", "Sudanese")>> + <<set hashPush($nationalities, "Swazi")>> + <<set hashPush($nationalities, "Tanzanian", "Tanzanian")>> + <<set hashPush($nationalities, "Togolese")>> + <<set hashPush($nationalities, "Tunisian", "Tunisian")>> + <<set hashPush($nationalities, "Ugandan", "Ugandan")>> + <<set hashPush($nationalities, "Zairian", "Zairian", "Zairian")>> + <<set hashPush($nationalities, "Zambian")>> + <<set hashPush($nationalities, "Zimbabwean", "Zimbabwean")>> <</if>> <<case "Asia">> <<if $targetArcology.type != "Supremacist">> @@ -452,35 +453,35 @@ <<set $arcologies[0].FSSubjugationistRace = "indo-aryan">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi")>> - <<set hashPush($nationalities, "Bhutanese")>> - <<set hashPush($nationalities, "Bruneian")>> - <<set hashPush($nationalities, "Burmese", "Burmese")>> - <<set hashPush($nationalities, "Cambodian")>> - <<set hashPush($nationalities, "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese")>> - <<set hashPush($nationalities, "East Timorese")>> - <<set hashPush($nationalities, "Filipina", "Filipina", "Filipina")>> - <<set hashPush($nationalities, "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian")>> - <<set hashPush($nationalities, "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian")>> - <<set hashPush($nationalities, "Japanese", "Japanese", "Japanese")>> - <<set hashPush($nationalities, "Kazakh", "Kazakh")>> - <<set hashPush($nationalities, "Korean", "Korean")>> - <<set hashPush($nationalities, "Kyrgyz")>> - <<set hashPush($nationalities, "Laotian")>> - <<set hashPush($nationalities, "Malaysian", "Malaysian", "Malaysian")>> - <<set hashPush($nationalities, "Maldivian")>> - <<set hashPush($nationalities, "Mongolian")>> - <<set hashPush($nationalities, "Nepalese", "Nepalese")>> - <<set hashPush($nationalities, "Pakistani", "Pakistani", "Pakistani")>> - <<set hashPush($nationalities, "Singaporean")>> - <<set hashPush($nationalities, "Sri Lankan")>> - <<set hashPush($nationalities, "Taiwanese")>> - <<set hashPush($nationalities, "Tajik")>> - <<set hashPush($nationalities, "Thai", "Thai", "Thai")>> - <<set hashPush($nationalities, "Tibetan")>> - <<set hashPush($nationalities, "Turkmen")>> - <<set hashPush($nationalities, "Uzbek", "Uzbek")>> - <<set hashPush($nationalities, "Vietnamese", "Vietnamese", "Vietnamese")>> + <<set hashPush($nationalities, "Bangladeshi", "Bangladeshi", "Bangladeshi", "Bangladeshi")>> + <<set hashPush($nationalities, "Bhutanese")>> + <<set hashPush($nationalities, "Bruneian")>> + <<set hashPush($nationalities, "Burmese", "Burmese")>> + <<set hashPush($nationalities, "Cambodian")>> + <<set hashPush($nationalities, "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese", "Chinese")>> + <<set hashPush($nationalities, "East Timorese")>> + <<set hashPush($nationalities, "Filipina", "Filipina", "Filipina")>> + <<set hashPush($nationalities, "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian", "Indian")>> + <<set hashPush($nationalities, "Indonesian", "Indonesian", "Indonesian", "Indonesian", "Indonesian")>> + <<set hashPush($nationalities, "Japanese", "Japanese", "Japanese")>> + <<set hashPush($nationalities, "Kazakh", "Kazakh")>> + <<set hashPush($nationalities, "Korean", "Korean")>> + <<set hashPush($nationalities, "Kyrgyz")>> + <<set hashPush($nationalities, "Laotian")>> + <<set hashPush($nationalities, "Malaysian", "Malaysian", "Malaysian")>> + <<set hashPush($nationalities, "Maldivian")>> + <<set hashPush($nationalities, "Mongolian")>> + <<set hashPush($nationalities, "Nepalese", "Nepalese")>> + <<set hashPush($nationalities, "Pakistani", "Pakistani", "Pakistani")>> + <<set hashPush($nationalities, "Singaporean")>> + <<set hashPush($nationalities, "Sri Lankan")>> + <<set hashPush($nationalities, "Taiwanese")>> + <<set hashPush($nationalities, "Tajik")>> + <<set hashPush($nationalities, "Thai", "Thai", "Thai")>> + <<set hashPush($nationalities, "Tibetan")>> + <<set hashPush($nationalities, "Turkmen")>> + <<set hashPush($nationalities, "Uzbek", "Uzbek")>> + <<set hashPush($nationalities, "Vietnamese", "Vietnamese", "Vietnamese")>> <</if>> <<case "Europe">> <<if $targetArcology.type != "Supremacist">> @@ -490,53 +491,53 @@ <<set $arcologies[0].FSSubjugationistRace = "middle eastern">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Albanian")>> - <<set hashPush($nationalities, "Andorran")>> - <<set hashPush($nationalities, "Austrian", "Austrian")>> - <<set hashPush($nationalities, "Belarusian", "Belarusian")>> - <<set hashPush($nationalities, "Belgian", "Belgian")>> - <<set hashPush($nationalities, "Bosnian")>> - <<set hashPush($nationalities, "British", "British", "British")>> - <<set hashPush($nationalities, "Bulgarian", "Bulgarian")>> - <<set hashPush($nationalities, "Catalan")>> - <<set hashPush($nationalities, "Croatian")>> - <<set hashPush($nationalities, "Czech", "Czech")>> - <<set hashPush($nationalities, "Danish", "Danish")>> - <<set hashPush($nationalities, "Dutch", "Dutch")>> - <<set hashPush($nationalities, "Estonian", "Estonian")>> - <<set hashPush($nationalities, "Finnish", "Finnish")>> - <<set hashPush($nationalities, "French", "French", "French")>> - <<set hashPush($nationalities, "German", "German", "German")>> - <<set hashPush($nationalities, "Greek", "Greek")>> - <<set hashPush($nationalities, "Hungarian", "Hungarian")>> - <<set hashPush($nationalities, "Icelandic", "Icelandic")>> - <<set hashPush($nationalities, "Irish", "Irish")>> - <<set hashPush($nationalities, "Italian", "Italian", "Italian")>> - <<set hashPush($nationalities, "Kosovan")>> - <<set hashPush($nationalities, "Latvian")>> - <<set hashPush($nationalities, "a Liechtensteiner")>> - <<set hashPush($nationalities, "Lithuanian", "Lithuanian")>> - <<set hashPush($nationalities, "Luxembourgian")>> - <<set hashPush($nationalities, "Macedonian")>> - <<set hashPush($nationalities, "Maltese")>> - <<set hashPush($nationalities, "Moldovan")>> - <<set hashPush($nationalities, "Monégasque")>> - <<set hashPush($nationalities, "Montenegrin")>> - <<set hashPush($nationalities, "Norwegian", "Norwegian")>> - <<set hashPush($nationalities, "Polish", "Polish", "Polish")>> - <<set hashPush($nationalities, "Portuguese", "Portuguese")>> - <<set hashPush($nationalities, "Romanian", "Romanian")>> - <<set hashPush($nationalities, "Russian", "Russian", "Russian", "Russian")>> - <<set hashPush($nationalities, "Sammarinese")>> - <<set hashPush($nationalities, "Scottish")>> - <<set hashPush($nationalities, "Serbian", "Serbian")>> - <<set hashPush($nationalities, "Slovak", "Slovak")>> - <<set hashPush($nationalities, "Slovene")>> - <<set hashPush($nationalities, "Spanish", "Spanish", "Spanish")>> - <<set hashPush($nationalities, "Swedish", "Swedish")>> - <<set hashPush($nationalities, "Swiss", "Swiss")>> - <<set hashPush($nationalities, "Ukrainian", "Ukrainian", "Ukrainian")>> - <<set hashPush($nationalities, "Vatican")>> + <<set hashPush($nationalities, "Albanian")>> + <<set hashPush($nationalities, "Andorran")>> + <<set hashPush($nationalities, "Austrian", "Austrian")>> + <<set hashPush($nationalities, "Belarusian", "Belarusian")>> + <<set hashPush($nationalities, "Belgian", "Belgian")>> + <<set hashPush($nationalities, "Bosnian")>> + <<set hashPush($nationalities, "British", "British", "British")>> + <<set hashPush($nationalities, "Bulgarian", "Bulgarian")>> + <<set hashPush($nationalities, "Catalan")>> + <<set hashPush($nationalities, "Croatian")>> + <<set hashPush($nationalities, "Czech", "Czech")>> + <<set hashPush($nationalities, "Danish", "Danish")>> + <<set hashPush($nationalities, "Dutch", "Dutch")>> + <<set hashPush($nationalities, "Estonian", "Estonian")>> + <<set hashPush($nationalities, "Finnish", "Finnish")>> + <<set hashPush($nationalities, "French", "French", "French")>> + <<set hashPush($nationalities, "German", "German", "German")>> + <<set hashPush($nationalities, "Greek", "Greek")>> + <<set hashPush($nationalities, "Hungarian", "Hungarian")>> + <<set hashPush($nationalities, "Icelandic", "Icelandic")>> + <<set hashPush($nationalities, "Irish", "Irish")>> + <<set hashPush($nationalities, "Italian", "Italian", "Italian")>> + <<set hashPush($nationalities, "Kosovan")>> + <<set hashPush($nationalities, "Latvian")>> + <<set hashPush($nationalities, "a Liechtensteiner")>> + <<set hashPush($nationalities, "Lithuanian", "Lithuanian")>> + <<set hashPush($nationalities, "Luxembourgian")>> + <<set hashPush($nationalities, "Macedonian")>> + <<set hashPush($nationalities, "Maltese")>> + <<set hashPush($nationalities, "Moldovan")>> + <<set hashPush($nationalities, "Monégasque")>> + <<set hashPush($nationalities, "Montenegrin")>> + <<set hashPush($nationalities, "Norwegian", "Norwegian")>> + <<set hashPush($nationalities, "Polish", "Polish", "Polish")>> + <<set hashPush($nationalities, "Portuguese", "Portuguese")>> + <<set hashPush($nationalities, "Romanian", "Romanian")>> + <<set hashPush($nationalities, "Russian", "Russian", "Russian", "Russian")>> + <<set hashPush($nationalities, "Sammarinese")>> + <<set hashPush($nationalities, "Scottish")>> + <<set hashPush($nationalities, "Serbian", "Serbian")>> + <<set hashPush($nationalities, "Slovak", "Slovak")>> + <<set hashPush($nationalities, "Slovene")>> + <<set hashPush($nationalities, "Spanish", "Spanish", "Spanish")>> + <<set hashPush($nationalities, "Swedish", "Swedish")>> + <<set hashPush($nationalities, "Swiss", "Swiss")>> + <<set hashPush($nationalities, "Ukrainian", "Ukrainian", "Ukrainian")>> + <<set hashPush($nationalities, "Vatican")>> <</if>> <<case "Australia">> <<if $targetArcology.type != "Supremacist">> @@ -545,25 +546,27 @@ <<if $targetArcology.type != "Subjugationist">> <<set $arcologies[0].FSSubjugationistRace = "asian">> <</if>> - <<set hashPush($nationalities, "Australian", "Australian", "Australian")>> - <<set hashPush($nationalities, "a Cook Islander")>> - <<set hashPush($nationalities, "Fijian")>> - <<set hashPush($nationalities, "French Polynesian")>> - <<set hashPush($nationalities, "Guamanian")>> - <<set hashPush($nationalities, "I-Kiribati")>> - <<set hashPush($nationalities, "Marshallese")>> - <<set hashPush($nationalities, "Micronesian")>> - <<set hashPush($nationalities, "Nauruan")>> - <<set hashPush($nationalities, "New Caledonian")>> - <<set hashPush($nationalities, "a New Zealander", "a New Zealander")>> - <<set hashPush($nationalities, "Ni-Vanuatu")>> - <<set hashPush($nationalities, "Niuean")>> - <<set hashPush($nationalities, "Palauan")>> - <<set hashPush($nationalities, "Papua New Guinean")>> - <<set hashPush($nationalities, "Samoan")>> - <<set hashPush($nationalities, "a Solomon Islander")>> - <<set hashPush($nationalities, "Tongan")>> - <<set hashPush($nationalities, "Tuvaluan")>> + <<if ndef $customVariety>> + <<set hashPush($nationalities, "Australian", "Australian", "Australian")>> + <<set hashPush($nationalities, "a Cook Islander")>> + <<set hashPush($nationalities, "Fijian")>> + <<set hashPush($nationalities, "French Polynesian")>> + <<set hashPush($nationalities, "Guamanian")>> + <<set hashPush($nationalities, "I-Kiribati")>> + <<set hashPush($nationalities, "Marshallese")>> + <<set hashPush($nationalities, "Micronesian")>> + <<set hashPush($nationalities, "Nauruan")>> + <<set hashPush($nationalities, "New Caledonian")>> + <<set hashPush($nationalities, "a New Zealander", "a New Zealander")>> + <<set hashPush($nationalities, "Ni-Vanuatu")>> + <<set hashPush($nationalities, "Niuean")>> + <<set hashPush($nationalities, "Palauan")>> + <<set hashPush($nationalities, "Papua New Guinean")>> + <<set hashPush($nationalities, "Samoan")>> + <<set hashPush($nationalities, "a Solomon Islander")>> + <<set hashPush($nationalities, "Tongan")>> + <<set hashPush($nationalities, "Tuvaluan")>> + <</if>> <<case "Japan">> <<if $targetArcology.type != "Supremacist">> <<set $arcologies[0].FSSupremacistRace = "asian">> @@ -572,7 +575,7 @@ <<set $arcologies[0].FSSubjugationistRace = "asian">> <</if>> <<if ndef $customVariety>> - <<set hashPush($nationalities, "Japanese", "Japanese", "Japanese")>> + <<set hashPush($nationalities, "Japanese", "Japanese", "Japanese")>> <</if>> <</switch>> <</if>> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index a91ccd914ba27167096a8773aceab38be01fde46..afcb75c701b1d1a4e1e2482a37af243c95366380 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -112,7 +112,7 @@ You are using standardized slave trading channels. [[Customize the slave trade|C <<if ndef $nationalitiescheck>> /* NGP: regenerate $nationalitiescheck from previous game's $nationalities array */ <<silently>><<include "Customize Slave Trade">><</silently>> <</if>> - <br style="clear:both" /><hr style="margin:0"> + <br style="clear:both"><hr style="margin:0"> <<set _len = Object.keys($nationalitiescheck).length>> <<set _j = 0>> <<for _nation, _i range $nationalitiescheck>> @@ -120,7 +120,7 @@ You are using standardized slave trading channels. [[Customize the slave trade|C <<set _j++>> <<if _j < _len>> | <</if>> <</for>> - <br style="clear:both" /><hr style="margin:0"> + <br style="clear:both"><hr style="margin:0"> <</if>> /* closes $customVariety is defined */ /* Accordion 000-250-006 */ diff --git a/src/facilities/farmyard/farmyard.tw b/src/facilities/farmyard/farmyard.tw index 84c46326557d1a0e48a88b846e0610fedf7e9e83..b44ac1f37449d5c9c73970c43d2728e1ae0fcbd5 100644 --- a/src/facilities/farmyard/farmyard.tw +++ b/src/facilities/farmyard/farmyard.tw @@ -105,7 +105,7 @@ $farmyardNameCaps is an oasis of growth in the midst of the jungle of steel and <br>It can support $farmyard farmhands. Currently there <<if $farmyardSlaves == 1>>is<<else>>are<</if>> $farmyardSlaves farmhand<<if $farmyardSlaves != 1>>s<</if>> at $farmyardName. [[Expand the farmyard|Farmyard][cashX(forceNeg(_Tmult0), "capEx"), $farmyard += 5, $PC.engineering += .1]] //Costs <<print cashFormat(_Tmult0)>> and will increase upkeep costs// -<span id="menials" +<span id="menials"> <br><br><br> <<if $farmMenials > 0>> Assigned here are $farmMenials slaves working to produce as much food as possible. diff --git a/src/facilities/nursery/childSummary.tw b/src/facilities/nursery/childSummary.tw index 2c587859428f1a674321bdc8e50438238c9568eb..90d34a94f2f370e99516c409bdab8af4b0ba9caf 100644 --- a/src/facilities/nursery/childSummary.tw +++ b/src/facilities/nursery/childSummary.tw @@ -31,7 +31,7 @@ <<if (/Select/i.test(_Pass))>> <<set _offset = -25>> <</if>> - <br /> + <br> <<set _tableCount = _tableCount || 0>> <<set _tableCount++>> /* @@ -105,8 +105,7 @@ <<set _chosenClothes = saChoosesOwnClothes(_Child)>> <<set $cribs[_csi].devotion = _oldDevotion, _Child = $cribs[_csi]>> /* restore devotion value so repeatedly changing clothes isn't an exploit */ <</if>> - <br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Child 1>></div><</if>> - /* + <br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Child 1>></div><</if>> <<if "be your Head Girl" == _Child.assignment>>''@@.lightcoral;HG@@'' <<elseif "recruit girls" == _Child.assignment>>''@@.lightcoral;RC@@'' <<elseif "guard you" == _Child.assignment>>''@@.lightcoral;BG@@'' @@ -114,7 +113,27 @@ <<if Array.isArray($personalAttention) && $personalAttention.findIndex(function(s) { return s.ID == _Child.ID; }) != -1>>''@@.lightcoral;PA@@''<</if>> */ [[_childName|Child Interact][$activeSlave = $cribs[_csi]]] /* lists their names */ -/* may potentially be added down the line + +/* TODO: will the PC be able to give children PA? */ +<<case "Personal Attention Select">> + <br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>><<if ($seeImages == 1) && ($seeSummaryImages == 1)>><div class="imageRef smlImg"><<SlaveArt _Child 1>></div><</if>> + <<link _childName>> + <<if !Array.isArray($personalAttention)>> /* first PA target */ + <<set $personalAttention = [{ID: $cribs[_csi].ID, trainingRegimen: "undecided"}]>> + <<else>> + <<set _pai = $personalAttention.findIndex(function(s) { return s.ID == $cribs[_csi].ID; })>> + <<if _pai == -1>> /* not already a PA target; add */ + <<set $activeSlave = $cribs[_csi], $personalAttention.push({ID: $cribs[_csi].ID, trainingRegimen: "undecided"})>> + <<else>> /* already a PA target; remove */ + <<set $personalAttention.deleteAt(_pai)>> + <<if $personalAttention.length == 0>> + <<set $personalAttention = "sex">> + <</if>> + <</if>> + <</if>> + <<goto "Personal Attention Select">> + <</link>> + <<case "New Game Plus">> <<if $Flag == 0>> <br>__''@@.pink;_Child.slaveName@@''__ diff --git a/src/gui/css/mainStyleSheet.tw b/src/gui/css/mainStyleSheet.tw index ada4f930d6ac92d32933c8d878d92416be7dec5f..468eb5e3f82cea4d466a2daa49b745c03d9a0dd2 100644 --- a/src/gui/css/mainStyleSheet.tw +++ b/src/gui/css/mainStyleSheet.tw @@ -31,6 +31,15 @@ img { text-indent: -10000px; } +.imageColumn { /* TODO: this is mostly a copy of imageRef to get its flex features working properly. They can probably be removed from imageRef at some point */ + display: flex; + flex-direction: column; + flex-wrap: wrap; + align-items: flex-start; + position: relative; + float: right; +} + .imageRef { display: flex; flex-direction: column; diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw index afefb47380b49f6355f41269ac5bd6f842d3546e..d8c08dce33727b9173234eb4a23982ee8e560e21 100644 --- a/src/init/storyInit.tw +++ b/src/init/storyInit.tw @@ -69,13 +69,13 @@ You should have received a copy of the GNU General Public License along with thi <<set $slaves[_i].nationality = "Ancient Chinese Revivalist">> <</if>> <<if $slaves[_i].relationTarget != 0>> - <<set $slaves[_i].relationTarget += _NGPOffset>> + <<set $slaves[_i].relationTarget += _NGPOffset>> <</if>> <<if $slaves[_i].relationshipTarget != 0>> - <<set $slaves[_i].relationshipTarget += _NGPOffset>> + <<set $slaves[_i].relationshipTarget += _NGPOffset>> <</if>> <<if $slaves[_i].cloneID != 0>> - <<set $slaves[_i].cloneID += _NGPOffset>> + <<set $slaves[_i].cloneID += _NGPOffset>> <</if>> <<set $slaves[_i].rivalry = 0, $slaves[_i].rivalryTarget = 0, $slaves[_i].subTarget = 0>> <<set $slaves[_i].drugs = "no drugs">> @@ -146,7 +146,7 @@ You should have received a copy of the GNU General Public License along with thi <<set _seed = 1>> <</if>> <<if _seed == 0>> - <<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>> + <<set $slaves[_i].relation = 0, $slaves[_i].relationTarget = 0>> <</if>> <</if>> <<if $slaves[_i].relationship > 0>> @@ -156,7 +156,7 @@ You should have received a copy of the GNU General Public License along with thi <<set _seed = 1>> <</if>> <<if _seed == 0>> - <<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>> + <<set $slaves[_i].relationship = 0, $slaves[_i].relationshipTarget = 0>> <</if>> <</if>> <</for>> @@ -345,7 +345,7 @@ You should have received a copy of the GNU General Public License along with thi }>> <<set $formatNumbers = 0>> - /*onlyintendeddickgirls variables */ + /* onlyintendeddickgirls variables */ <<set $makeDicks = 0>> /* economy reports variables */ @@ -368,7 +368,7 @@ You should have received a copy of the GNU General Public License along with thi <<set $weightAffectsAssets = 1>> <<set $curativeSideEffects = 1>> - /*non-vanilla shit*/ + /* non-vanilla shit */ <<set $pedo_mode = 0>> <<set $minimumSlaveAge = 18>> <<set $fertilityAge = 13>> @@ -445,7 +445,7 @@ You should have received a copy of the GNU General Public License along with thi <</if>> /*Undefining corporation variables*/ - <<unset $corpCash,$personalShares,$publicShares,$corpDividend,$dividendTimer,$corpDiv,$corpRev,$corpDivExtraSlaves,$corpDivLegalSlaves,$corpDivBreakSlaves,$corpDivBreakSlaves2,$corpDivSurgerySlaves,$corpDivSurgerySlaves2,$corpDivTrainSlaves,$corpDivTrainSlaves2,$corpDivArcadeSlaves,$corpDivMenialSlaves,$corpDivDairySlaves,$corpDivWhoreSlaves,$corpRevOld,$corpAssetsSlaveOld,$corpAssetsSlave,$corpAssetsDevOld,$corpAssetsDev,$corpOverheadOld,$corpOpCostOld,$corpProfitOld,$corpSpecAccent,$corpSpecAge,$corpSpecAmputee,$corpSpecBalls,$corpSpecDevotion,$corpSpecDick,$corpSpecEducation,$corpSpecGender,$corpSpecGenitalia,$corpSpecWeight,$corpSpecHeight,$corpSpecHormones,$corpSpecImplants,$corpSpecInjection,$corpSpecIntelligence,$corpSpecMilk,$corpSpecMuscle,$corpSpecPussy,$corpSpecSexEd,$corpSpecTrust,$corpSpecVirgin,$corpDivExtraToArcade,$corpDivExtraToBreak,$corpDivExtraToMarket,$corpDivLegalToMenial,$corpDivLegalToSurgery,$corpDivLegalToTrain,$corpDivLegalToMarket,$corpDivBreakToMenial,$corpDivBreakToSurgery,$corpDivBreakToTrain,$corpDivBreakToMarket,$corpDivBreakFromMarket,$corpDivSurgeryToDairy,$corpDivSurgeryToTrain,$corpDivSurgeryToMarket,$corpDivSurgeryFromMarket,$corpDivTrainToWhore,$corpDivTrainToMarket,$corpDivTrainFromMarket,$corpDivArcadeFromMarket,$corpDivMenialFromMarket,$corpDivDairyFromMarket,$corpDivWhoreFromMarket>> + <<unset $corpAssetsDev, $corpAssetsDevOld, $corpAssetsSlave, $corpAssetsSlaveOld, $corpCash, $corpDiv, $corpDivArcadeFromMarket, $corpDivArcadeSlaves, $corpDivBreakFromMarket, $corpDivBreakSlaves, $corpDivBreakSlaves2, $corpDivBreakToMarket, $corpDivBreakToMenial, $corpDivBreakToSurgery, $corpDivBreakToTrain, $corpDivDairyFromMarket, $corpDivDairySlaves, $corpDivExtraSlaves, $corpDivExtraToArcade, $corpDivExtraToBreak, $corpDivExtraToMarket, $corpDividend, $corpDivLegalSlaves, $corpDivLegalToMarket, $corpDivLegalToMenial, $corpDivLegalToSurgery, $corpDivLegalToTrain, $corpDivMenialFromMarket, $corpDivMenialSlaves, $corpDivSurgeryFromMarket, $corpDivSurgerySlaves, $corpDivSurgerySlaves2, $corpDivSurgeryToDairy, $corpDivSurgeryToMarket, $corpDivSurgeryToTrain, $corpDivTrainFromMarket, $corpDivTrainSlaves, $corpDivTrainSlaves2, $corpDivTrainToMarket, $corpDivTrainToWhore, $corpDivWhoreFromMarket, $corpDivWhoreSlaves, $corpOpCostOld, $corpOverheadOld, $corpProfitOld, $corpRev, $corpRevOld, $corpSpecAccent, $corpSpecAge, $corpSpecAmputee, $corpSpecBalls, $corpSpecDevotion, $corpSpecDick, $corpSpecEducation, $corpSpecGender, $corpSpecGenitalia, $corpSpecHeight, $corpSpecHormones, $corpSpecImplants, $corpSpecInjection, $corpSpecIntelligence, $corpSpecMilk, $corpSpecMuscle, $corpSpecPussy, $corpSpecSexEd, $corpSpecTrust, $corpSpecVirgin, $corpSpecWeight, $dividendTimer, $personalShares, $publicShares>> <</if>> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 8f71836abf23b0824e4394ce0141f5c6a02a956d..2a72bb0ff5a8cf672762f51d0f251640cfb7070d 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -1822,7 +1822,7 @@ App.Entity.SlaveState = class SlaveState { * 0: not being rude; 1: insists on calling you a rude title */ this.rudeTitle = 0; /** - * holds the custom slave image file name (used if images are enabled) + * holds the custom slave image file name (used if images are enabled) * * @type {string} */ this.customImage = ""; diff --git a/src/js/economyJS.js b/src/js/economyJS.js index e2441ada2830fcc426dee198b91abc5f0caed38b..7b441043d74772a5d0fd6ffb5c66387956818da4 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -519,7 +519,7 @@ window.getEnvironmentCosts = function(cost) { }; window.getSFCosts = function() { - var costs = 0; + var costs = 0; if(State.variables.SF.Toggle && State.variables.SF.Active >= 1 && State.variables.SF.Subsidy !== undefined) { Count(); costs += Math.ceil(State.temporary.SFSubsidy); } @@ -1160,7 +1160,7 @@ window.repX = function(rep, what, who) { V.lastWeeksRepErrors += `Expected a finite number for ${what}, but got ${rep}<br>`; return 0; } - + //round the change rep = Math.trunc(rep); diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js index 368227ad92dde2ff3a5297f94d6dcb712645377c..64db893921f98427b06b35abb8b5a212a9d5f360 100644 --- a/src/js/extendedFamilyModeJS.js +++ b/src/js/extendedFamilyModeJS.js @@ -37,16 +37,16 @@ window.isAunt = /** @param {App.Entity.SlaveState} niece, @param {App.Entity.Sla if (!niece || !aunt || (niece.ID === aunt.ID)) { return false; } - + var mother; var father; - + if ((mother = getSlave(niece.mother)) && (mother.ID !== aunt.ID) && !sameTParent(mother, aunt) && sameMom(mother, aunt) && sameDad(mother, aunt)) { return true; } else if ((father = getSlave(niece.father)) && (father.ID !== aunt.ID) && !sameTParent(father, aunt) && sameMom(father, aunt) && sameDad(father, aunt)) { return true; } - + return false; }; @@ -143,12 +143,12 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit if (!slave1 || !slave2 || (slave1.ID === slave2.ID) || areSisters(slave1, slave2) ) { return false; } - + var slave1Mom; var slave1Dad; var slave2Mom; var slave2Dad; - + if ((slave1Mom = getSlave(slave1.mother)) && (slave2Mom = getSlave(slave2.mother)) && !sameTParent(slave1Mom, slave2Mom) && sameMom(slave1Mom, slave2Mom) && sameDad(slave1Mom, slave2Mom)){ return true; } else if ((slave1Mom = getSlave(slave1.mother)) && (slave2Dad = getSlave(slave2.father)) && !sameTParent(slave1Mom, slave2Dad) && sameMom(slave1Mom, slave2Dad) && sameDad(slave1Mom, slave2Dad)) { @@ -158,7 +158,7 @@ window.areCousins = /** @param {App.Entity.SlaveState} slave1, @param {App.Entit } else if ((slave1Dad = getSlave(slave1.father)) && (slave2Dad = getSlave(slave2.father)) && !sameTParent(slave1Dad, slave2Dad) && sameMom(slave1Dad, slave2Dad) && sameDad(slave1Dad, slave2Dad)) { return true; } - + return false; }; diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 137f7b1cad81d1ff75f290733dec869877913d66..311155c74e46521ef93fea701218a3568625ce9b 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1287,9 +1287,9 @@ window.rulesAssistantOptions = (function() { constructor() { const items = [ ["No default setting"], - ["None"], - ["Short stockings"], - ["Long stockings"], + ["None", "none"], + ["Short stockings", "short stockings"], + ["Long stockings", "long stockings"], ]; super("Leg accessory", items); this.setValue(current_rule.set.legAccessory); diff --git a/src/js/rulesAutosurgery.js b/src/js/rulesAutosurgery.js index 309ea9c71009f801f24c4b35e48bb569fe47fc08..86b325ac1a990bbb3651627af38581d50022f837 100644 --- a/src/js/rulesAutosurgery.js +++ b/src/js/rulesAutosurgery.js @@ -155,7 +155,7 @@ window.rulesAutosurgery = (function() { cashX(forceNeg(V.surgeryCost), "slaveSurgery", slave); if (V.PC.medicine >= 100) slave.health -= 5; else slave.health -= 10; - + } else if ((slave.hears === -1) && (thisSurgery.surgery_smells === 0)) { surgeries.push("surgery to correct her sense of smell"); slave.smells = 0; diff --git a/src/js/slaveStatsChecker.js b/src/js/slaveStatsChecker.js index c9fd17b4d5e24f359da2b6fabe0a11b82dee1d04..87ba3f18033a475d023a16a3a2c1a762dba89bf6 100644 --- a/src/js/slaveStatsChecker.js +++ b/src/js/slaveStatsChecker.js @@ -5,7 +5,7 @@ window.SlaveStatsChecker = (function() { piercingScore: piercingScore, tatScore: tatScore }; - + function hasLisp(slave) { if (State.variables.disableLisping === 1) { return false; diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js index ad365b27121b6131edd834ddf6669ac5da03bc9d..2eb64c87236dfc98bc5d26aee4a5a736ed49e1c3 100644 --- a/src/js/slaveSummaryWidgets.js +++ b/src/js/slaveSummaryWidgets.js @@ -4602,7 +4602,7 @@ window.SlaveSummaryUncached = (function(){ } r += " "; } - + /** @param {App.Entity.SlaveState} slave */ function long_chastity(slave) { if (slave.chastityAnus === 1 && slave.chastityPenis === 1 && slave.chastityVagina === 1) { @@ -5622,7 +5622,7 @@ App.UI.slaveSummaryList = function (passageName) { res.push(`<span id="slave-${slaves[_ssi].ID}"> </span>`); } res.push('<br/>'); - + if (slaveImagePrinted) { res.push(' '); } diff --git a/src/js/utilJS.js b/src/js/utilJS.js index d1512eda8cef64a953cd31cac80f711bd01af5b6..752971d503bb5094c9839831dcd348fd34cbda57 100644 --- a/src/js/utilJS.js +++ b/src/js/utilJS.js @@ -1512,7 +1512,7 @@ window.originPronounReplace = /** @param {App.Entity.SlaveState} slave */ functi } }; -window.HSM = function() { +window.HackingSkillMultiplier = function() { const V = State.variables; if (V.PC.hacking <= -100) { return 1.5; @@ -1589,6 +1589,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function OralSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; @@ -1598,7 +1599,7 @@ window.SkillIncrease = (function() { } } else if (slave.oralSkill <= 30) { if (slave.oralSkill + skillIncrease > 30) { - r = `<span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with $his mouth.`; + r = `<span class="green">${He} now has some oral skills,</span> and can reliably bring dicks and pussies to climax with ${his} mouth.`; } } else if (slave.oralSkill <= 60) { if (slave.oralSkill + skillIncrease > 60) { @@ -1643,12 +1644,13 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function AnalSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; if (slave.analSkill <= 10) { if (slave.analSkill + skillIncrease > 10) { - r = `<span class="green">${He} now has basic knowledge about anal sex,</span> and can accept penetration of $his anus without danger.`; + r = `<span class="green">${He} now has basic knowledge about anal sex,</span> and can accept penetration of ${his} anus without danger.`; } } else if (slave.analSkill <= 30) { if (slave.analSkill + skillIncrease > 30) { @@ -1656,7 +1658,7 @@ window.SkillIncrease = (function() { } } else if (slave.analSkill <= 60) { if (slave.analSkill + skillIncrease > 60) { - r = `<span class="green">${He} is now an anal sex expert,</span> and knows how to use $his sphincter to please.`; + r = `<span class="green">${He} is now an anal sex expert,</span> and knows how to use ${his} sphincter to please.`; } } else if (slave.analSkill < 100) { if (slave.analSkill + skillIncrease >= 100) { @@ -1670,6 +1672,7 @@ window.SkillIncrease = (function() { /** @param {App.Entity.SlaveState} slave */ function WhoreSkillIncrease(slave, skillIncrease) { const He = capFirstChar(slave.pronoun); + const his = slave.possessivePronoun; let r; skillIncrease = skillIncrease || State.variables.skillIncrease || 1; @@ -1679,7 +1682,7 @@ window.SkillIncrease = (function() { } } else if (slave.whoreSkill <= 30) { if (slave.whoreSkill + skillIncrease > 30) { - r = `<span class="green">${He} now has some skill as a whore,</span> and knows how to sell $his body at a good price.`; + r = `<span class="green">${He} now has some skill as a whore,</span> and knows how to sell ${his} body at a good price.`; } } else if (slave.whoreSkill <= 60) { if (slave.whoreSkill + skillIncrease > 60) { diff --git a/src/js/walkPastJS.js b/src/js/walkPastJS.js index f9fed6d059dddd5d5c1df23860de313bfa209334..39f6a270a8365e934fe81ae83ab847d4714516e9 100644 --- a/src/js/walkPastJS.js +++ b/src/js/walkPastJS.js @@ -84,7 +84,7 @@ window.loverSlave = function(activeSlave) { } else { activeSlaveRel = "slave wife"; } - + t += `${name} and ${partnerName} are `; if (!isSlaveAvailable(_partnerSlave)) { if (_partnerSlave.assignment === "work in the dairy" && V.DairyRestraintsSetting >= 2) { @@ -822,7 +822,7 @@ window.loverSlave = function(activeSlave) { t += `so ${he2} has to try ${his2} hardest to suck ${name}'s dick with ${his2} belly hindering ${his2} movements; something ${name} enjoys tremendously.`; } else { t += `so ${he2} has to try ${his2} hardest to orally service ${name} with ${his2} belly in the way; something ${name} enjoys tremendously.`; - } + } } } else if (activeSlave.belly >= 5000) { if (activeSlave.dick > 0 && _fuckSeed > 5) { @@ -1005,7 +1005,7 @@ window.loverSlave = function(activeSlave) { t += ` as a pillow.`; break; case "buttslut": - t += `sleeping in bed together. ${partnerName} is sleeping face down so ${name} can use ${his2} `; + t += `sleeping in bed together. ${partnerName} is sleeping face-down so ${name} can use ${his2} `; if (_partnerSlave.butt > 8) { t += `massive rear`; } else if (_partnerSlave.butt > 5) { @@ -1240,36 +1240,37 @@ window.relatedSlave = function(activeSlave) { const he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun; const He = capFirstChar(he), His = capFirstChar(his); let t = ""; - let _target = ""; + let partnerSlave; + + let fuckseed = jsRandom(1,100); if (V.partner === "relation") { if (V.familyTesting === 1) { - _partnerSlave = V.relation; + partnerSlave = V.relation; } else { - _partnerSlave = getSlave(activeSlave.relationTarget); + partnerSlave = getSlave(activeSlave.relationTarget); } } else { var activeSlaveRel = relationshipTerm(activeSlave); - _partnerSlave = getSlave(activeSlave.relationshipTarget); + partnerSlave = getSlave(activeSlave.relationshipTarget); } - - if (_partnerSlave !== undefined) { /* potential problem point */ - // let race2 = (V.seeRace ? _partnerSlave.race : ""); - t += " His "; + if (partnerSlave !== undefined) { /* potential problem point */ + + t += ` ${His} `; if (V.partner === "relation") { if (V.familyTesting === 1) { t += `${V.relationType} `; } else { - t += `${_partnerSlave.relation} `; + t += `${partnerSlave.relation} `; } } else { t += `${activeSlaveRel} `; } - t += `${_partnerSlave.slaveName} `; - + t += `${partnerSlave.slaveName} `; + t += walkPasts(partnerSlave, fuckseed); - V.target = "FRival"; /*potentially removed later*/ + V.target = "FRelation"; /*potentially removed later*/ } else { t += ` Expected partner not found!`; } @@ -1863,3 +1864,413 @@ window.walkPasts = function(slave, _seed) { } return t; }; + +window.boobWatch = function(slave) { + + /* will be moved up once this becomes a single, contained function. */ + let t = "" + let V = State.variables + + let pronouns = getPronouns(slave) + let he = pronouns.pronoun, him = pronouns.object, his = pronouns.possessive, hers = pronouns.possessivePronoun, himself = pronouns.objectReflexive, boy = pronouns.noun + let He = capFirstChar(he), His = capFirstChar(his) + + let breasts = (slave.boobs < 300) ? `flat chest` : `breasts`; + + t += `<<BoobsDescription>> `; + switch (slave.clothes) { + case "uncomfortable straps": + if (slave.boobs < 300) { + t += `The rings constantly rub against ${his} chest and force ${his} nipples to stick out.`; + } else { + t += `The strap over ${his} tits presses the soft flesh, and the ring around each nipple `; + if (slave.nipples === "fuckable") { + t += `forces them open.`; + } else { + t += `forces them to stick out.`; + } + } + break; + case "shibari ropes": + t += `The ropes binding ${his} chest `; + if (slave.boobs < 300) { + t += `shift slightly with every step, since ${he} lacks any breasts to hold them in place.`; + } else { + t += `dig into the soft flesh as ${he} moves.`; + } + break; + case "attractive lingerie for a pregnant women": + if (slave.boobs < 300) { + t += `The bulge of ${his} ${slave.nipples} nipples can be seen under the taut silk.`; + } else { + t += `${His} silken bra causes ${his} breasts to bulge around them.`; + } + break; + case "a maternity dress": + t += `${His} low cut dress `; + if (slave.boobs < 300) { + t += `was made with breasts in mind; every stop ${he} takes risks it sliding down and revealing ${his} ${slave.nipples} nipples.`; + } else { + t += `shows ample cleavage and is made to be easy to pull down.`; + } + break; + case "stretch pants and a crop-top": + if (slave.boobs < 300) { + t += `${His} flat chest makes the perfect canvas to read ${his} crop-top.`; + } else { + t += `${His} crop-top tightly clings to ${his} breasts and moves along with them. ${His} jiggling cleavage distracts from the writing on ${his} tits.`; + } + break; + case "restrictive latex": + if (slave.boobs < 300) { + t += `${His} lack of breasts draws your eyes straight to ${his} exposed nipples.`; + } else { + t += `${His} tits stick out through ${his} latex outfit.`; + } + break; + case "attractive lingerie": + t += `${His} pretty white lace bra has thoughtful cuts that tastefully let ${his} nipples stick through.`; + break; + case "kitty lingerie": + t += `${His} lingerie's cleavage window proudly displays ${his} `; + if (slave.boobs < 300) { + t += `flat chest.`; + } else { + t += `ample valley.`; + } + break; + case "a succubus outfit": + t += `${His} succubus outfit presents this sex demon's ${breasts}, inviting a damning fondle.`; + break; + case "a slutty maid outfit": + t += `${His} maid outfit covers ${his} ${breasts} with a thin white blouse designed to be easy to pull down.`; + break; + case "a nice maid outfit": + t += `${His} maid outfit covers ${his} ${breasts} demurely, offering the diverting task of pulling it off ${him}.`; + break; + case "a monokini": + t += `The straps of ${his} monokini cross in the center of ${his} chest, leaving the rest of ${his} ${breasts} naked.`; + break; + case "a cybersuit": + t += `${His} bodysuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a string bikini": + t += `${His} string bikini covers only ${his} nipples, leaving the remainder of ${his} ${breasts} naked.`; + break; + case "a scalemail bikini": + t += `${His} scalemail bikini covers `; + if (slave.boobs < 300) { + t += `all of $his flat chest.`; + } else if (slave.boobs < 700) { + t += `${his} breasts entirely.`; + } else if (slave.boobs < 1500) { + t += `much of ${his} breasts, while still emphasizing them.`; + } else { + t += `the front of ${his} breasts.`; + } + break; + case "striped panties": + t += `${His} cute panties covers only ${his} crotch, leaving ${his} ${breasts} bare.`; + break; + case "clubslut netting": + t += `As ${he} moves, the weave of the netting over ${his} chest slips back and forth across ${his} nipples.`; + break; + case "a cheerleader outfit": + t += `As ${he} moves, `; + if (slave.boobs < 300) { + t += `the tight fabric rubs across ${his} obvious nipples.`; + } else { + t += `${his} chest threatens to fall out of ${his} cheerleader top.`; + } + break; + case "an apron": + t += `As ${he} moves, ${his} apron `; + if (slave.boobs < 300) { + t += `threatens to bounce off ${his} flat chest and expose ${his} nipples.`; + } else { + t += `provides excellent views of the sides of ${his} breasts.`; + } + break; + case "cutoffs and a t-shirt": + if (slave.boobs < 300) { + t += `${His} non-existent breasts are bare under ${his} t-shirt; not that you can really tell since they lack motion completely.`; + } else { + t += `${His} tits are bare under ${his} t-shirt, so movement gives delicious hints of their motion.`; + } + break; + case "spats and a tank top": + if (slave.boobs < 300) { + t += `${His} flat chest makes ${his} form-fitting tank top look as if it's clinging to a tube.`; + } else { + t += `${His} breasts bounce slightly under ${his} tank top as ${he} moves.`; + } + break; + case "a slutty outfit": + t += `For today's slutty outfit ${he}'s chosen a `; + if (jsRandom(1,100) > 50) { + t += `handkerchief top that occasionally comes untied and `; + if (slave.boobs < 300) { + t += `reveals ${his} flat chest.`; + } else { + t += `spills ${his} breasts out naked.`; + } + } else { + t += `halter top cut so low that `; + if (slave.boobs < 300) { + t += `it occasionally slips down ${his} flat chest to reveal a nipple.`; + } else { + t += `${his} breasts occasionally pop out.`; + } + } + break; + case "a slave gown": + t += `${His} gorgeous dress has thoughtful cuts that tastefully bares ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts.`; + break; + case "slutty business attire": + t += `${His} suit jacket and blouse are low enough to show off a lot of `; + if (slave.boobs < 300) { + t += `boob, or they would, had ${he} had any.`; + } else { + t += `boob.`; + } + break; + case "nice business attire": + t += `${His} suit jacket and blouse are businesslike, but they could be removed easily enough.`; + break; + case "a halter top dress": + t += `${His} beautiful halter top dress almost seems to be sculpted around ${his} body.`; + break; + case "a ball gown": + t += `${His} fabulous silken ball gown is tailored to accentuate the shape of ${his} ${breasts}.`; + break; + case "a slutty nurse outfit": + t += `${His} jacket presents ${his} ${(slave.boobs < 300) ? 'nipples' : 'breasts'} to be ogled.`; + break; + case "a schoolgirl outfit": + t += `${His} blouse lewdly displays ${his} `; + if (slave.boobs < 300) { + t += `${slave.nipples} nipples.`; + } else { + t += `breasts.`; + } + break; + case "a kimono": + t += `${His} kimono is clearly designed to accentuate ${his} ${breasts}.`; + break; + case "a hijab and abaya": + case "a niqab and abaya": + t += `${His} abaya covers ${his} ${breasts} totally.`; + break; + case "a thong": + case "a skimpy loincloth": + case "boyshorts": + case "cutoffs": + case "panties": + case "leather pants": + case "jeans": + case "sport shorts": + t += `Since ${he}'s wearing nothing but ${slave.clothing}, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`; + break; + case "a hijab and blouse": + t += `${His} blouse and overshirt keep ${his} ${breasts} concealed.`; + break; + case "a huipil": + t += `${His} huipil `; + if (slave.boobs < 300) { + t += `daintily covers ${his} ${slave.nipples} nipples and flat chest.`; + } else { + t += `hugs the curves of ${his} breasts.`; + } + break; + case "battledress": + if (slave.boobs < 300) { + t += `As ${he} moves, you can occasionally spot ${his} lack of undergarments.`; + } else { + t += `${His} tank top and sports bra support rather than flatter ${his} breasts.`; + } + break; + case "a fallen nuns habit": + t += `${His} slutty nun outfit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits sinfully bare.`; + break; + case "a chattel habit": + t += `${His} chattel habit leaves ${his} ${(slave.boobs < 300) ? 'flat ' : ''}tits virtuously bare.`; + break; + case "a penitent nuns habit": + t += `${His} habit chafes ${his} nipples so harshly that it would probably be a relief to ${him} to have it stripped off ${him}.`; + break; + case "a comfortable bodysuit": + t += `${His} bodysuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a latex catsuit": + t += `${His} latex catsuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a military uniform": + case "a police uniform": + case "a schutzstaffel uniform": + case "a mounty outfit": + case "a red army uniform": + t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`; + break; + case "battlearmor": + t += `${His} battlearmor will take some considerable effort to get out of.`; + break; + case "a nice nurse outfit": + t += `${His} nurse's outfit is functional, but they could be removed easily enough.`; + break; + case "a mini dress": + t += `${His} mini dress is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a leotard": + if (slave.boobs < 300) { + t += `${His} leotard draws the eye straight to ${his} obvious nipples, since it lacks anything else to show off.`; + } else { + t += `${His} leotard is tight enough that it not only hugs ${his} breasts, but shows off ${his} nipples as well.`; + } + break; + case "a bunny outfit": + if (slave.boobs < 300) { + t += `With no breasts to speak of, ${his} strapless corset teddy manages to look rather slutty.`; + } else { + t += `${His} strapless corset teddy presents ${his} boobs while still managing to look a bit classy.`; + } + break; + case "harem gauze": + t += `${His} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are clearly visible through the thin gauze that covers them.`; + break; + case "slutty jewelry": + if (slave.boobs < 300) { + t += `The light chain across ${his} non-existent breasts is the only thing on ${his} chest capable of moving separately from ${him}.`; + } else { + t += `The light chain under ${his} breasts accentuates their natural movement.`; + } + break; + + //needs improvement + case "a klan robe": + t += `${His} robe covers ${his} ${breasts} totally.`; + break; + case "a burqa": + t += `${His} burqa covers ${his} ${breasts} totally.`; + break; + case "a tube top and thong": + case "a tube top": + case "leather pants and a tube top": + t += `${His} tube top covers ${his} ${breasts} totally.`; + break; + case "a button-up shirt and panties": + case "a button-up shirt": + case "a t-shirt": + case "a t-shirt and thong": + case "an oversized t-shirt and boyshorts": + case "an oversized t-shirt": + case "a t-shirt and jeans": + case "sport shorts and a t-shirt": + case "a t-shirt and panties": + t += `${His} shirt covers ${his} ${breasts} totally.`; + break; + case "a bra": + case "a striped bra": + case "striped underwear": + case "a sports bra": + case "sport shorts and a sports bra": + t += `${His} bra covers ${his} ${breasts} totally.`; + break; + case "a tank-top": + case "a tank-top and panties": + t += `${His} tank-top covers ${his} ${breasts} totally.`; + break; + case "a sweater": + case "a sweater and panties": + case "a sweater and cutoffs": + t += `${His} sweater covers ${his} ${breasts} totally.`; + break; + case "a slutty klan robe": + t += `${His} robe partially covers ${his} ${breasts}.`; + break; + case "a nice pony outfit": + case "a slutty pony outfit": + t += `${His} pony outfit partially covers ${his} ${breasts}.`; + break; + case "leather pants and pasties": + case "panties and pasties": + t += `${His} pasties cover nothing more than ${his} nipples.`; + break; + case "a one-piece swimsuit": + t += `${His} swimsuit is tight enough to show off `; + if (slave.boobs < 300) { + t += `just how flat ${he} is.`; + } else { + t += `every contour of ${his} chest.`; + } + break; + case "a hanbok": + t += `${His} hanbok covers ${his} ${breasts} totally.`; + break; + case "a gothic lolita dress": + t += `${His} dress covers ${his} ${breasts} totally.`; + break; + case "a burkini": + t += `${His} burkini clings to the shape of ${his} ${breasts}.`; + break; + case "a slutty schutzstaffel uniform": + t += `${His} uniform tunic and shirt are formal, but they could be removed easily enough.`; + break; + case "a long qipao": + t += `${His} elegant qipao can be removed with minimal effort.`; + break; + case "a dirndl": + t += `${His} dirndl can be removed with minimal effort.`; + break; + case "lederhosen": + t += `${His} lederhosen might come off faster than it takes to put them on.`; + break; + case "a biyelgee costume": + t += `${His} costume could be removed with barely any effort.`; + break; + // ends needs work block + + case "no clothing": + if (slave.chastityAnus == 1 || slave.chastityVagina == 1 || slave.chastityPenis == 1) { + t += `Since ${he}'s wearing nothing but a chastity belt, ${his} ${(slave.boobs < 300) ? 'non-existent ' : ''}breasts are delightfully naked.`; + } else { + t += `${His} naked `; + if (slave.boobs < 300) { + t += `flat chest and exposed nipples`; + } else { + t += `breasts`; + } + t += ` catch your eye.`; + } + break; + default: // for outfits with exposed breasts that aren't worth having a unique description for + t += `${His} naked `; + if (slave.boobs < 300) { + t += `flat chest and exposed nipples`; + } else { + t += `breasts`; + } + t += ` catch your eye.`; + } + V.target = "FBoobs"; + return t; +}; diff --git a/src/npc/descriptions/fAnus.tw b/src/npc/descriptions/fAnus.tw index a6dcfd056588ea1367e1712880be2e30157e4dd2..ab26218d4a249c0dcd27a703aae774298c847bc8 100644 --- a/src/npc/descriptions/fAnus.tw +++ b/src/npc/descriptions/fAnus.tw @@ -204,7 +204,7 @@ You call $him over so you can <<case "be a servant">> $He uses an enema to clean $his _Anus, since $his chores didn't perform themselves while you used $his backdoor. <<case "rest">> - $He uses an enema to clean $his _Anus before crawling back into bed, face down. + $He uses an enema to clean $his _Anus before crawling back into bed, face-down. <<case "get milked">> $He uses an enema to clean $his _Anus <<if $activeSlave.lactation > 0>>before going to get $his uncomfortably milk-filled tits drained<<else>>and then rests until $his balls are ready to be drained again<</if>>. <<case "please you">> diff --git a/src/npc/descriptions/fBoobs.tw b/src/npc/descriptions/fBoobs.tw index b6d3891deb654a108a8a868a192143a6a9e683d3..118337bb555a4df26717467822c47eb403ce30ce 100644 --- a/src/npc/descriptions/fBoobs.tw +++ b/src/npc/descriptions/fBoobs.tw @@ -60,38 +60,38 @@ tits. <<if $PC.dick == 1>> You lay $him down on the couch on $his back, lather oil onto $his breasts and gingerly straddle $his face; your stiff prick between $his tits and under your belly, and your needy cunt over $his mouth. <<if ($activeSlave.boobs >= 20000)>> - $His breasts are so colossal you can barely maintain this position. They completely devour your dick and threaten to swallow up your pregnant belly as well. Between $his licking, and the fleshy prison surrounding your privates, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His breasts are so colossal you can barely maintain this position. They completely devour your dick and threaten to swallow up your pregnant belly as well. Between $his licking, and the fleshy prison surrounding your privates, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobs >= 10000)>> - $His breasts are so massive you can barely maintain this position. They completely devour your dick and swell around the sides of your pregnancy as well. Between $his licking, and the fleshy prison surrounding your privates, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His breasts are so massive you can barely maintain this position. They completely devour your dick and swell around the sides of your pregnancy as well. Between $his licking, and the fleshy prison surrounding your privates, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobs >= 5000)>> - $His breasts are so monstrous they completely devour your dick and tickle your pregnant belly. Pushing $his breasts together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His breasts are so monstrous they completely devour your dick and tickle your pregnant belly. Pushing $his breasts together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobs >= 1000)>> - $His huge breasts fill the area under your pregnancy nicely. Pushing them together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His huge breasts fill the area under your pregnancy nicely. Pushing them together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobsImplant > 250)>> - $His fake breasts fill the area under your pregnancy nicely. Pushing them together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His fake breasts fill the area under your pregnancy nicely. Pushing them together under your gravidness, you thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobs >= 650)>> - $His big breasts fill the area under your pregnancy nicely. You thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. + $His big breasts fill the area under your pregnancy nicely. You thrust between them and the underside of your middle, all the while rubbing your pussy into $his face. With $his licking, and all the flesh against your cock, it doesn't take long for you to soak $his face and plant your seed deep into $his cleavage. <<elseif ($activeSlave.boobs >= 300)>> - You have to feel around under your pregnancy to hold your cock against $his tiny breasts. You thrust against them and your hand, while the other teases your middle, all the while rubbing your pussy against $his face. Between $his licking, and your own teasing, it doesn't take long for you to soak $his face and splatter your seed across $his front. + You have to feel around under your pregnancy to hold your cock against $his tiny breasts. You thrust against them and your hand, while the other teases your middle, all the while rubbing your pussy against $his face. Between $his licking, and your own teasing, it doesn't take long for you to soak $his face and splatter your seed across $his front. <<else>> - You have to lean forward and pin your cock against $his flat chest with the underside of your own pregnancy to make any real channel to thrust into. You fondle your belly<<if $PC.boobs > 0>> and breasts<</if>>, all the while rubbing your pussy against $his face. Between $his licking, and your own teasing, it doesn't take long for you to soak $his face and splatter your seed across your underbelly and $his front. You turn around and have $his lick you clean before pulling your gravid bulk off of $him. + You have to lean forward and pin your cock against $his flat chest with the underside of your own pregnancy to make any real channel to thrust into. You fondle your belly<<if $PC.boobs > 0>> and breasts<</if>>, all the while rubbing your pussy against $his face. Between $his licking, and your own teasing, it doesn't take long for you to soak $his face and splatter your seed across your underbelly and $his front. You turn around and have $his lick you clean before pulling your gravid bulk off of $him. <</if>> <<else>> You lay $him down on the couch on $his back, lather oil onto $his breasts and gingerly straddle $his face; your needy cunt over $his mouth. <<if ($activeSlave.boobs >= 20000)>> - $His breasts are so colossal you can barely maintain this position, but they are massively fun to play with as $he eats you out. You massage your pregnancy with $his acres of breast flesh, teasing your own stretched skin with $hers. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you fall into $his endless cleavage for a short rest. + $His breasts are so colossal you can barely maintain this position, but they are massively fun to play with as $he eats you out. You massage your pregnancy with $his acres of breast flesh, teasing your own stretched skin with $hers. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you fall into $his endless cleavage for a short rest. <<elseif ($activeSlave.boobs >= 10000)>> - $His breasts are so massive you can barely maintain this position, but they are fun to play with as $he eats you out. You massage the edges of your pregnancy with $his breast flesh, teasing your own stretched skin with $hers. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you fall into $his immense cleavage for a short rest. + $His breasts are so massive you can barely maintain this position, but they are fun to play with as $he eats you out. You massage the edges of your pregnancy with $his breast flesh, teasing your own stretched skin with $hers. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you fall into $his immense cleavage for a short rest. <<elseif ($activeSlave.boobs >= 5000)>> - $His breasts are so monstrous they make a fabulous rest for your pregnancy as $he eats you out. You tease $his breasts using your baby bump, rubbing it against them and vice versa. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his monster breasts for a quick rest. + $His breasts are so monstrous they make a fabulous rest for your pregnancy as $he eats you out. You tease $his breasts using your baby bump, rubbing it against them and vice versa. You can visibly see the vibrations running through $his tits as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his monster breasts for a quick rest. <<elseif ($activeSlave.boobs >= 1000)>> - $His breasts are huge enough to support your pregnancy as $he eats you out. You press your belly more and more into them as $his tongue delves deeper into your folds. You can visibly see the vibrations running through the breast flesh forced to the sides of your middle as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his huge breasts for a quick rest. + $His breasts are huge enough to support your pregnancy as $he eats you out. You press your belly more and more into them as $his tongue delves deeper into your folds. You can visibly see the vibrations running through the breast flesh forced to the sides of your middle as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his huge breasts for a quick rest. <<elseif ($activeSlave.boobs >= 650)>> - $His big breasts fill the area under your pregnancy nicely. You press your belly more and more into them as $his tongue delves deeper into your folds. You can visibly see the vibrations running through the breast flesh forced to the sides of your middle as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his big breasts for a quick rest. + $His big breasts fill the area under your pregnancy nicely. You press your belly more and more into them as $his tongue delves deeper into your folds. You can visibly see the vibrations running through the breast flesh forced to the sides of your middle as you quiver from the mouth working your pussy. Thoroughly soaking $him, you dismount and lean against $his big breasts for a quick rest. <<elseif ($activeSlave.boobs >= 300)>> - $His tiny breasts are completely covered by your pregnancy. You reach under yourself, grabbing what you can of $his breasts and pushing them against your crotch. Between rubbing $his breasts against your self and $his tongue in your pussy, you quickly climax, thoroughly soaking $him. + $His tiny breasts are completely covered by your pregnancy. You reach under yourself, grabbing what you can of $his breasts and pushing them against your crotch. Between rubbing $his breasts against your self and $his tongue in your pussy, you quickly climax, thoroughly soaking $him. <<else>> - $His flat chest is completely covered by your pregnancy. Reach under yourself, you feel around until you find $his nipples. You tease $his flat chest until you're at you limit, thoroughly soaking $him, before dismounting and returning to your desk. + $His flat chest is completely covered by your pregnancy. Reach under yourself, you feel around until you find $his nipples. You tease $his flat chest until you're at you limit, thoroughly soaking $him, before dismounting and returning to your desk. <</if>> <</if>> <<elseif ($activeSlave.amp == 1)>> @@ -105,25 +105,25 @@ tits. <<elseif tooBigBelly($activeSlave)>> <<if $PC.dick == 1>> - $His excessively large belly makes $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, lube $his cleavage, and gingerly fit yourself between $his belly and $his breasts. With your cock between $his breasts, you <<if ($activeSlave.boobs >= 650)>>squash $his tits together to form a nice lubricated channel,<<else>>hold your cock in place,<</if>> and ride back and forth on $him. You blast $him in the face with your cum in no time<<if $PC.vagina == 1>>, leaving your pussyjuice on $his belly where you rubbed against $him<</if>>. + $His excessively large belly makes $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, lube $his cleavage, and gingerly fit yourself between $his belly and $his breasts. With your cock between $his breasts, you <<if ($activeSlave.boobs >= 650)>>squash $his tits together to form a nice lubricated channel,<<else>>hold your cock in place,<</if>> and ride back and forth on $him. You blast $him in the face with your cum in no time<<if $PC.vagina == 1>>, leaving your pussyjuice on $his belly where you rubbed against $him<</if>>. <<elseif $PC.boobs != 0>> - You lie down on top of $him, face to face, forced high into the air by $his excessively large belly, so that your breasts press into $his<<if ($activeSlave.boobs >= 20000)>> colossal tits.<<elseif ($activeSlave.boobs >= 10000)>> massive tits.<<elseif ($activeSlave.boobs >= 5000)>> monster tits.<<elseif ($activeSlave.boobs >= 1000)>> huge tits.<<elseif ($activeSlave.boobsImplant > 250)>> fake tits.<<elseif ($activeSlave.boobs >= 650)>> big tits.<<elseif ($activeSlave.boobs >= 300)>> small tits.<<else>> flat chest.<</if>> Scooting around to stimulate your nipples against $his warm breastflesh, you kiss the slave while pushing a hand down between you to schlick yourself against $him. + You lie down on top of $him, face to face, forced high into the air by $his excessively large belly, so that your breasts press into $his<<if ($activeSlave.boobs >= 20000)>> colossal tits.<<elseif ($activeSlave.boobs >= 10000)>> massive tits.<<elseif ($activeSlave.boobs >= 5000)>> monster tits.<<elseif ($activeSlave.boobs >= 1000)>> huge tits.<<elseif ($activeSlave.boobsImplant > 250)>> fake tits.<<elseif ($activeSlave.boobs >= 650)>> big tits.<<elseif ($activeSlave.boobs >= 300)>> small tits.<<else>> flat chest.<</if>> Scooting around to stimulate your nipples against $his warm breastflesh, you kiss the slave while pushing a hand down between you to schlick yourself against $him. <<else>> - You set $his massively distended body on the floor, and tease $him for a while until $his nipples are rock hard. This done, you kneel down on $him with each of your legs aside $his torso, rear against the top of $his belly, and hump your pussy back and forth on the stiff nub of one nipple. $He lies there, desperately trying to reach around $his bulk to $his own pussy, but unable to do so, resorts to squirming with the stimulation. + You set $his massively distended body on the floor, and tease $him for a while until $his nipples are rock hard. This done, you kneel down on $him with each of your legs aside $his torso, rear against the top of $his belly, and hump your pussy back and forth on the stiff nub of one nipple. $He lies there, desperately trying to reach around $his bulk to $his own pussy, but unable to do so, resorts to squirming with the stimulation. <</if>> <<elseif tooBigBreasts($activeSlave)>> <<if $PC.dick == 1>> - $His excessive breasts make $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, lube $his cleavage, and straddle $his torso. $He holds $his udders together, creating a warm, wet channel as fuckable as any hole. You blast $him in the face with your cum in no time<<if $PC.vagina == 1>>, leaving your pussyjuice on $his chest where you rubbed against $him<</if>>. + $His excessive breasts make $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, lube $his cleavage, and straddle $his torso. $He holds $his udders together, creating a warm, wet channel as fuckable as any hole. You blast $him in the face with your cum in no time<<if $PC.vagina == 1>>, leaving your pussyjuice on $his chest where you rubbed against $him<</if>>. <<elseif $PC.boobs != 0>> - You lie down on top of $him, face to face, so that your much smaller breasts press into the massive pillows formed by $his chest. Scooting around to stimulate your nipples against $his warm breastflesh, you kiss the slave while pushing a hand down between you to schlick yourself against $him. + You lie down on top of $him, face to face, so that your much smaller breasts press into the massive pillows formed by $his chest. Scooting around to stimulate your nipples against $his warm breastflesh, you kiss the slave while pushing a hand down between you to schlick yourself against $him. <<else>> - You set $his nearly helpless body on the floor and then scoot your hips under the massive weight of $his tits. The heft feels nice against you, and you worm a naughty hand under there to play with yourself in the warm cave formed by your pelvis and $his udders. + You set $his nearly helpless body on the floor and then scoot your hips under the massive weight of $his tits. The heft feels nice against you, and you worm a naughty hand under there to play with yourself in the warm cave formed by your pelvis and $his udders. <</if>> <<elseif tooBigButt($activeSlave)>> <<if $PC.dick == 1>> - $His excessive butt makes $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, $his butt hoisting $his crotch high above $his head, lube $his cleavage, and straddle $his torso. With your cock between $his breasts, you <<if ($activeSlave.boobs >= 650)>>squash $his tits together to form a nice lubricated channel,<<else>>hold your cock in place,<</if>> and ride back and forth on $him<<if $PC.vagina == 1>>, leaving your pussyjuice on $his chest where you rubbed against $him<</if>>. $He has some trouble breathing under the assault, but $he manages. And for the finale, $he's totally unable to avoid a perfect cumshot. + $His excessive butt makes $him a unique appliance for mammary intercourse. You lay $him down on the ground on $his back, $his butt hoisting $his crotch high above $his head, lube $his cleavage, and straddle $his torso. With your cock between $his breasts, you <<if ($activeSlave.boobs >= 650)>>squash $his tits together to form a nice lubricated channel,<<else>>hold your cock in place,<</if>> and ride back and forth on $him<<if $PC.vagina == 1>>, leaving your pussyjuice on $his chest where you rubbed against $him<</if>>. $He has some trouble breathing under the assault, but $he manages. And for the finale, $he's totally unable to avoid a perfect cumshot. <<elseif $PC.boobs != 0>> - You set $him upright on your lap, facing you, so that your breasts and $hers are resting heavily against one another and $his massive ass covers your lap. $He turns $his head to avoid getting splashed in the eyes as you add a generous coating of oil to the combined breastflesh. You reach around to grab $his luxurious ass and jiggle $him up and down, giving you both a wonderful mammary oil massage. + You set $him upright on your lap, facing you, so that your breasts and $hers are resting heavily against one another and $his massive ass covers your lap. $He turns $his head to avoid getting splashed in the eyes as you add a generous coating of oil to the combined breastflesh. You reach around to grab $his luxurious ass and jiggle $him up and down, giving you both a wonderful mammary oil massage. <<else>> You set $his nearly helpless body on the floor and then scoot your hips under the massive weight of $his tits. The heft feels nice against you, and you worm a naughty hand under there to play with yourself in the warm cave formed by your pelvis and $his udders. <</if>> diff --git a/src/npc/descriptions/fVagina.tw b/src/npc/descriptions/fVagina.tw index 4a759eb68d9a2815183154d3d7e015662fa27626..ad0363e131d8d178a4f34f3156f82345115dc387 100644 --- a/src/npc/descriptions/fVagina.tw +++ b/src/npc/descriptions/fVagina.tw @@ -206,9 +206,9 @@ You call $him over so you can on the couch and straddle $his hips, bringing your already-wet pussy <<if _fSpeed > 75>>hard against $him. You grind powerfully<<elseif _fSpeed > 50>>firmly against $him. You grind vigorously<<elseif _fSpeed > 25>>against $him. You grind steadily<<else>>softly against $him. You grind gently<</if>> against $his helpless body, using $him as a living sybian until $his warmth and movement brings you to orgasm. <</if>> <<elseif !canWalk($activeSlave) && tooBigBelly($activeSlave)>> - You tell $him to get situated on the couch, face down. This position pins $him down by the massive weight of $his belly, pushing $his face in amongst the cushions and keeping $his crotch in the ideal position to penetrate. $His belly serves as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of $his bulging belly as it sticks out from either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>. + You tell $him to get situated on the couch, face-down. This position pins $him down by the massive weight of $his belly, pushing $his face in amongst the cushions and keeping $his crotch in the ideal position to penetrate. $His belly serves as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of $his bulging belly as it sticks out from either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>. <<elseif !canWalk($activeSlave) && tooBigBreasts($activeSlave)>> - You tell $him to get situated on the couch, face down. This position pins $him down by the massive weight of $his tits, pushing $his face in amongst the cushions. $His tits serve as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of the breastflesh that sticks out to either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>. + You tell $him to get situated on the couch, face-down. This position pins $him down by the massive weight of $his tits, pushing $his face in amongst the cushions. $His tits serve as an anchor, allowing you to take $him doggy style without any real contribution from $him. The position muffles $his reaction entirely, other than the rhythmic jiggling of the breastflesh that sticks out to either side of $his torso as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>. <<elseif !canWalk($activeSlave) && tooBigButt($activeSlave)>> You tell $him to get situated on the couch, face up. This position pins $him down by the massive weight of $his rear, causing $him to sink into the cushions. $His ass serves as an anchor, allowing you to take $him in the missionary position without any real contribution from $him. This lets you clearly see $his reaction, as well as the rhythmic jiggling of the buttflesh that sticks out to either side of $his hips as you <<if _fSpeed > 75>>pound $him hard and fast<<elseif _fSpeed > 50>>pound $him firmly and vigorously<<elseif _fSpeed > 25>>fuck $him steadily<<else>>fuck $him slowly and tenderly<</if>>. <<elseif !canWalk($activeSlave) && tooBigBalls($activeSlave)>> diff --git a/src/npc/fPCImpreg.tw b/src/npc/fPCImpreg.tw index 81284de615f6061d8b5fdc98486b895cd6a74a6d..afe0ccbc175ca52a1cb6bc2ed548d430f85c9848 100644 --- a/src/npc/fPCImpreg.tw +++ b/src/npc/fPCImpreg.tw @@ -89,17 +89,17 @@ You call $him over so you can <</if>> <<elseif ($activeSlave.amp == 1)>> - You set $his limbless torso on the end of the couch, face down, with $his hips up in the air. This way, you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>> you can manage. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $his limbless torso on the end of the couch, face-down, with $his hips up in the air. This way, you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>> you can manage. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif tooFatSlave($activeSlave)>> - You set $him down on the couch, face down, with $his hips up in the air. This way, $he's pinned in place by the weight of $his own body, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>; after you push into $his soft folds enough to reach it, of course. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $him down on the couch, face-down, with $his hips up in the air. This way, $he's pinned in place by the weight of $his own body, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>; after you push into $his soft folds enough to reach it, of course. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif tooBigBreasts($activeSlave)>> - You set $him down on the couch, face down, with $his hips up in the air. This way, $he's pinned in place by the weight of $his ridiculous tits, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $him down on the couch, face-down, with $his hips up in the air. This way, $he's pinned in place by the weight of $his ridiculous tits, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif tooBigButt($activeSlave)>> - You set $him down on the couch, face down, with $his hips up in the air. This way, $he's stuck under $his ridiculous ass, you get an amazingly soft rear to pound, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $him down on the couch, face-down, with $his hips up in the air. This way, $he's stuck under $his ridiculous ass, you get an amazingly soft rear to pound, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif tooBigDick($activeSlave)>> - You set $him down on the couch, face down, with $his hips up in the air. This way, $he's anchored in place by the weight of $his ridiculous cock, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $him down on the couch, face-down, with $his hips up in the air. This way, $he's anchored in place by the weight of $his ridiculous cock, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif tooBigBalls($activeSlave)>> - You set $him down on the couch, face down, with $his hips up in the air. This way, $he's anchored in place by the weight of $his ridiculous balls, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. + You set $him down on the couch, face-down, with $his hips up in the air. This way, $he's anchored in place by the weight of $his ridiculous balls, and you get the greatest degree of penetration into $his fertile <<if $activeSlave.mpreg == 1>>ass<<else>>pussy<</if>>. $He moans into the cushions, knowing that when $he feels the hot flow of semen<<if $PC.balls == 3>> filling $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pouring into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pouring into $him<</if>>, $he has probably gotten pregnant. <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $He comes submissively over, smiling a little submissive smile, and spreads $himself for you. You take $him on the couch next to your desk in the missionary position. $He hugs $his torso to you and $his breasts press against your chest; you can feel $his heart beating hard. As the sex reaches its climax your semen<<if $PC.balls == 3>> fills $him until $his stomach is distended and wobbling with your cum<<elseif $PC.balls == 2>> pours into $him until $he is stuffed with your cum<<elseif $PC.balls == 1>> pours into $him<<else>> jets into $his welcoming depths<</if>> as $he begs you to use $his unworthy body to make a new slave. <<elseif $activeSlave.devotion < -20>> diff --git a/src/npc/fSlaveImpregConsummate.tw b/src/npc/fSlaveImpregConsummate.tw index 06f6ad4c0914e38cfa4cae13fb3754df70ad6d17..c7b0adde93ed825146422a3ad9b4dd8f317d12c5 100644 --- a/src/npc/fSlaveImpregConsummate.tw +++ b/src/npc/fSlaveImpregConsummate.tw @@ -111,13 +111,13 @@ Next, you see to $activeSlave.slaveName. <<elseif ($activeSlave.amp == 1)>> You set $his limbless torso up for $impregnatrix.slaveName. <<elseif tooBigBreasts($activeSlave)>> - You set $him up for $impregnatrix.slaveName, face down so the weight of $his tits pins $him helplessly in place. + You set $him up for $impregnatrix.slaveName, face-down so the weight of $his tits pins $him helplessly in place. <<elseif tooBigButt($activeSlave)>> - You set $him up for $impregnatrix.slaveName, face down so the weight of $his giant ass pins $him helplessly in place and gives $impregnatrix.slaveName a lovely cushion to thrust against. + You set $him up for $impregnatrix.slaveName, face-down so the weight of $his giant ass pins $him helplessly in place and gives $impregnatrix.slaveName a lovely cushion to thrust against. <<elseif tooBigDick($activeSlave)>> - You set $him up for $impregnatrix.slaveName, face up so $he is pinned under the weight of $his giant cock. + You set $him up for $impregnatrix.slaveName, face-up so $he is pinned under the weight of $his giant cock. <<elseif tooBigBalls($activeSlave)>> - You set $him up for $impregnatrix.slaveName, face down so the weight of $his giant balls anchor $him helplessly in place. + You set $him up for $impregnatrix.slaveName, face-down so the weight of $his giant balls anchor $him helplessly in place. <<elseif ($activeSlave.fetish == "submissive") && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishStrength > 60) && ($activeSlave.fetishKnown == 1)>> $He is accustomed to submit to you, but as a natural submissive $he doesn't have much trouble submitting to $impregnatrix.slaveName's seed instead. <<elseif $activeSlave.devotion < -20>> diff --git a/src/player/actions/fondleButt.tw b/src/player/actions/fondleButt.tw index 89fb1636b147ef4a1dce203187b7d31b921f9c3c..b98c510223453fbe63e837e2da09b5fb37234b36 100644 --- a/src/player/actions/fondleButt.tw +++ b/src/player/actions/fondleButt.tw @@ -67,7 +67,7 @@ as well as $his <<if canWalk($activeSlave)>> You strongly pull $his body closer towards you by $his buttocks, turn $him around and push $him down to bend $him over your desk. <<else>> - You move closer towards $him, turn $him around and firmly hold $him down on desk, face down so that $his butt is facing you up into the air. + You move closer towards $him, turn $him around and firmly hold $him down on desk, face-down so that $his butt is facing you up into the air. <</if>> $He pretends to be unwilling but cannot disguise $his obvious joy. You see that $his rear has reddened in your rough play and you continue to squeeze $his cheeks hard and spank them with your firm hands. $He moans harder at you squeezing along the contours of $his posterior with both your hands and at $his virgin butthole as you push against it with your fingers and thumb. Eventually you decide to stop and $he squeals with delight after you give $his <<if $activeSlave.butt < 2>> @@ -118,7 +118,7 @@ as well as $his <<if canWalk($activeSlave)>> You pull $his body closer towards you by $his buttocks, turn $him around and bend $him over your desk. <<else>> - You move closer towards $him, turn $him around and push $him down on desk, face down so that $his butt is facing you up into the air. + You move closer towards $him, turn $him around and push $him down on desk, face-down so that $his butt is facing you up into the air. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You explore the contours of $his posterior with both your eyes and hands, then look at $his virgin butthole as you trace it with your fingers and thumb. Eventually you decide to stop and $he squeals with delight after you give $his <<if $activeSlave.butt < 2>> @@ -372,7 +372,7 @@ as well as $his <<if ($activeSlave.amp != 1)>> You pull $his body closer towards you by $his buttocks, turn $him around and push $him down, bending $him over your desk while $he tries to push away. <<else>> - You move closer to $him, turn $him around and push $him down, face down on your desk while $he tries to wriggle desperately. + You move closer to $him, turn $him around and push $him down, face-down on your desk while $he tries to wriggle desperately. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his <<if ($activeSlave.anus > 3)>> @@ -429,7 +429,7 @@ as well as $his <<if ($activeSlave.amp != 1)>> You pull $his body closer towards you by $his buttocks, turn $him around and push $him down, bending $him over your desk. <<else>> - You move closer to $him, turn $him around and push $him down, face down on your desk while $he wriggles. + You move closer to $him, turn $him around and push $him down, face-down on your desk while $he wriggles. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his <<if ($activeSlave.anus > 3)>> @@ -486,7 +486,7 @@ as well as $his <<if ($activeSlave.amp != 1)>> You pull $his body closer towards you by $his buttocks, turn $him around and push $him down, bending $him over your desk. <<else>> - You move closer to $him, turn $him around and push $him down, face down on your desk while $he tries to wriggle desperately. + You move closer to $him, turn $him around and push $him down, face-down on your desk while $he tries to wriggle desperately. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop and $he looks up into your eyes longingly, as if $he wants more. <<else>> @@ -531,7 +531,7 @@ as well as $his <<if ($activeSlave.amp != 1)>> You pull $his body closer towards you by $his buttocks, turn $him around and push $him down, bending $him over your desk. <<else>> - You move closer to $him, turn $him around and push $him down, face down on your desk so that $his butt is up facing towards you. + You move closer to $him, turn $him around and push $him down, face-down on your desk so that $his butt is up facing towards you. <</if>> You look at $his rear while you squeeze $his cheeks and rub them with your firm hands. You wander along the outline of $his posterior with both your eyes and hands, then look at $his butthole as you trace it with your fingers and thumb. Eventually, you decide to stop and $he looks up into your eyes ecstatically,<<if ($activeSlave.amp != 1)>> as $he stands,<</if>> eager for more. <</if>> diff --git a/src/pregmod/analyzePregnancy.tw b/src/pregmod/analyzePregnancy.tw index 96e44d0ad3427caa205d803f2a1603f784056387..05a81bc1a43bef40768c330bb222f59aadaf8d4f 100644 --- a/src/pregmod/analyzePregnancy.tw +++ b/src/pregmod/analyzePregnancy.tw @@ -24,44 +24,45 @@ <br> Fetal development week: $activeSlave.preg <<if $incubator + $nursery > 0>> - <br><br> - <<if $incubator > 0>> - <<if _incubatorReservations > 0>> - <<link "Remove all of $his children from $incubatorName" "Analyze Pregnancy">> - <<run WombChangeReserveType($activeSlave, "incubator", "")>> - <<set $reservedChildren -= _incubatorReservations>> - <</link>> - <</if>> - <<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>> - <<link "Keep all of $his children in $incubatorName" "Analyze Pregnancy">> - <<run WombChangeReserveType($activeSlave, "nursery", "incubator")>> - <<run WombChangeReserveType($activeSlave, "", "incubator")>> - <<set $reservedChildrenNursery -= _nurseryReservations>> - <<set $reservedChildren += _WL - _incubatorReservations>> - <</link>> - <<elseif _incubatorReservations < _WL>> - There is not enough free space in $incubatorName for the rest of $his children. - <</if>> - <</if>> - <<if $nursery > 0>> - <<if _nurseryReservations > 0>> - | <<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">> - <<run WombChangeReserveType($activeSlave, "nursery", "")>> - <<set $reservedChildrenNursery -= _nurseryReservations>> - <</link>> + <br><br> + <<if $incubator > 0>> + <<if _incubatorReservations > 0>> + <<link "Remove all of $his children from $incubatorName" "Analyze Pregnancy">> + <<run WombChangeReserveType($activeSlave, "incubator", "")>> + <<set $reservedChildren -= _incubatorReservations>> + <</link>> | + <</if>> + <<if _incubatorReservations < _WL && ($reservedChildren + _WL - _incubatorReservations <= $freeTanks)>> + <<link "Keep all of $his children in $incubatorName" "Analyze Pregnancy">> + <<run WombChangeReserveType($activeSlave, "nursery", "incubator")>> + <<run WombChangeReserveType($activeSlave, "", "incubator")>> + <<set $reservedChildrenNursery -= _nurseryReservations>> + <<set $reservedChildren += _WL - _incubatorReservations>> + <</link>> + <<elseif _incubatorReservations < _WL>> + There is not enough free space in $incubatorName for the rest of $his children. + <</if>> <</if>> - <<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>> - | <<link "Keep all of $his children in $nurseryName" "Analyze Pregnancy">> - <<run WombChangeReserveType($activeSlave, "incubator", "nursery")>> - <<run WombChangeReserveType($activeSlave, "", "nursery")>> - <<set $reservedChildren -= _incubatorReservations>> - <<set $reservedChildrenNursery += _WL - _nurseryReservations>> - <</link>> - <<elseif _nurseryReservations < _WL>> - There is not enough free space in $nurseryName for the rest of $his children. + <br> + <<if $nursery > 0>> + <<if _nurseryReservations > 0>> + <<link "Remove all of $his children from $nurseryName" "Analyze Pregnancy">> + <<run WombChangeReserveType($activeSlave, "nursery", "")>> + <<set $reservedChildrenNursery -= _nurseryReservations>> + <</link>> | + <</if>> + <<if _nurseryReservations < _WL && ($reservedChildrenNursery + _WL - _nurseryReservations <= $freeCribs)>> + <<link "Keep all of $his children in $nurseryName" "Analyze Pregnancy">> + <<run WombChangeReserveType($activeSlave, "incubator", "nursery")>> + <<run WombChangeReserveType($activeSlave, "", "nursery")>> + <<set $reservedChildren -= _incubatorReservations>> + <<set $reservedChildrenNursery += _WL - _nurseryReservations>> + <</link>> + <<elseif _nurseryReservations < _WL>> + There is not enough free space in $nurseryName for the rest of $his children. + <</if>> <</if>> <</if>> - <</if>> <br><br> Deep scan: diff --git a/src/pregmod/basenationalitiesControls.tw b/src/pregmod/basenationalitiesControls.tw index c2bc54130fed19119db266f9ae0180c4e457bcf7..e090c5ba894608cd26a53442bf767fc1d8d13ec4 100644 --- a/src/pregmod/basenationalitiesControls.tw +++ b/src/pregmod/basenationalitiesControls.tw @@ -48,7 +48,7 @@ Filter by Race: ">> <</if>> <<if _i < setup.filterRaces.length-1>> - | + | <</if>> <</for>> <br> @@ -66,7 +66,7 @@ Filter by Region: ">> <</if>> <<if _i < setup.filterRegions.length-1>> - | + | <</if>> <</for>> <br style="clear:both" /><hr style="margin:0"> @@ -84,27 +84,27 @@ Filter by Region: <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> <</link>>@@ ">> - <<if def $nationalitiescheck[_nation]>> - <<print " - @@.minusButton;<<link '–'>> - <<set $nationalities[setup.baseNationalities["+_i+"]] -= 1>> - <<if $nationalities[setup.baseNationalities["+_i+"]] <= 0>> + <<if def $nationalitiescheck[_nation]>> + <<print " + @@.minusButton;<<link '–'>> + <<set $nationalities[setup.baseNationalities["+_i+"]] -= 1>> + <<if $nationalities[setup.baseNationalities["+_i+"]] <= 0>> + <<set delete $nationalities[setup.baseNationalities["+_i+"]]>> + <</if>> + <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> + <</link>>@@ + ">> + <</if>> + <<if $nationalities[_nation] > 1 >> + <<print " + @@.zeroButton;<<link '0'>> <<set delete $nationalities[setup.baseNationalities["+_i+"]]>> - <</if>> - <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> - <</link>>@@ - ">> + <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> + <</link>>@@ + ">> <</if>> - <<if $nationalities[_nation] > 1 >> - <<print " - @@.zeroButton;<<link '0'>> - <<set delete $nationalities[setup.baseNationalities["+_i+"]]>> - <<replace '#PopControl'>><<include 'Basenationalities Controls'>><</replace>> - <</link>>@@ - ">> - <</if>> - <<if _i < setup.baseNationalities.length-1>>| <</if>> - </div> + <<if _i < setup.baseNationalities.length-1>>| <</if>> + </div> <</for>> <div style="clear: both;">By dominant race/ethnicity (hover over the name to see the nationalities affected):</div> <<foreach _race of setup.filterRaces>> diff --git a/src/pregmod/electiveSurgery.tw b/src/pregmod/electiveSurgery.tw index d5cfd69be60e9a894cbda0377727e6cfbfbe2344..e3638da4bb35d81235c1b3756a5491762eb7323f 100644 --- a/src/pregmod/electiveSurgery.tw +++ b/src/pregmod/electiveSurgery.tw @@ -355,33 +355,33 @@ You have @@.orange;$PC.skin skin.@@<<if $PC.skin != $PC.origSkin>> Your original <<if $PC.preg > 0>> She pokes your belly. "You're pregnant. What did I tell you?" <<else>> -<<if $PC.dick == 1 && $PC.vagina == 1>> - You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" - <br> - [[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, cashX(25000, "PCmedical"), $surgeryType = "herm2female"]] | - [[Remove your female half|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2male"]] - <<if $PC.title > 0>> - | [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.title = 0, generatePlayerPronouns($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2truefemale"]] + <<if $PC.dick == 1 && $PC.vagina == 1>> + You have working @@.orange;male and female reproductive organs@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" + <br> + [[Remove your male half|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, cashX(25000, "PCmedical"), $surgeryType = "herm2female"]] | + [[Remove your female half|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2male"]] + <<if $PC.title > 0>> + | [[Remove your male half completely|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.title = 0, generatePlayerPronouns($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2truefemale"]] + <<else>> + | [[Remove your female half completely|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $PC.title = 1, generatePlayerPronouns($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2truemale"]] + <</if>> + <<elseif $PC.dick == 1>> + You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" + <br> + [[Have your male organs replaced with female ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.vagina = 1, $PC.newVag = 1, cashX(50000, "PCmedical"), $surgeryType = "male2female"]] | + [[Add a female reproductive tract|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), cashX(150000, "PCmedical"), $surgeryType = "male2herm"]] + <<if $PC.title > 0>> + | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, generatePlayerPronouns($PC), cashX(50000, "PCmedical"), $surgeryType = "male2truefemale"]] + | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $PC.title = 0, generatePlayerPronouns($PC), cashX(150000, "PCmedical"), $surgeryType = "male2hermfemale"]] + <</if>> <<else>> - | [[Remove your female half completely|PC Surgery Degradation][$PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, $PC.title = 1, generatePlayerPronouns($PC), cashX(25000, "PCmedical"), $surgeryType = "herm2truemale"]] - <</if>> -<<elseif $PC.dick == 1>> - You have @@.orange;male genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ "We'll store some of your sperm for you, should you decide to lose your maleness, and have it shipped to your arcology. Who you decide to use it on, well... That's up to you!" - <br> - [[Have your male organs replaced with female ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.vagina = 1, $PC.newVag = 1, cashX(50000, "PCmedical"), $surgeryType = "male2female"]] | - [[Add a female reproductive tract|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), cashX(150000, "PCmedical"), $surgeryType = "male2herm"]] - <<if $PC.title > 0>> - | [[Become a woman|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 0, $PC.storedCum += 10, $PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, $PC.title = 0, generatePlayerPronouns($PC), cashX(50000, "PCmedical"), $surgeryType = "male2truefemale"]] - | [[Become a hermaphrodite girl|PC Surgery Degradation][$PC.vagina = 1, $PC.newVag = 1, $PC.preg = 0, WombFlush($PC), $PC.title = 0, generatePlayerPronouns($PC), cashX(150000, "PCmedical"), $surgeryType = "male2hermfemale"]] + You have @@.orange;female genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ + <br> + [[Have your female organs replaced with male ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, cashX(50000, "PCmedical"), $surgeryType = "female2male"]] | + [[Add a male reproductive tract|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, cashX(150000, "PCmedical"), $surgeryType = "female2herm"]] + <<if $PC.title == 0>> + | [[Become a man|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.title = 1, generatePlayerPronouns($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, cashX(50000, "PCmedical"), $surgeryType = "female2truemale"]] + | [[Become a hermaphrodite boy|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.title = 1, generatePlayerPronouns($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, cashX(150000, "PCmedical"), $surgeryType = "female2hermmale"]] + <</if>> <</if>> -<<else>> - You have @@.orange;female genitalia@@ and a @@.orange;<<if $PC.title > 0>>masculine<<else>>feminine<</if>> appearance.@@ - <br> - [[Have your female organs replaced with male ones|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, cashX(50000, "PCmedical"), $surgeryType = "female2male"]] | - [[Add a male reproductive tract|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, cashX(150000, "PCmedical"), $surgeryType = "female2herm"]] - <<if $PC.title == 0>> - | [[Become a man|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.vagina = 0, $PC.preg = 0, WombFlush($PC), $PC.title = 1, generatePlayerPronouns($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, cashX(50000, "PCmedical"), $surgeryType = "female2truemale"]] - | [[Become a hermaphrodite boy|PC Surgery Degradation][$PC.ballsImplant = 0, $PC.balls = 0, $PC.dick = 1, $PC.title = 1, generatePlayerPronouns($PC), $PC.boobs = 0, $PC.boobsBonus = 0, $PC.boobsImplant = 0, cashX(150000, "PCmedical"), $surgeryType = "female2hermmale"]] - <</if>> -<</if>> <</if>> diff --git a/src/pregmod/fSelf.tw b/src/pregmod/fSelf.tw index ff7f1ea1702189d4ac7e2cdecadb8d9d344b9724..7d58f8ded7dc678b38f893ed2486c13efa9c65e4 100644 --- a/src/pregmod/fSelf.tw +++ b/src/pregmod/fSelf.tw @@ -36,11 +36,11 @@ Taking the hose and attaching your favorite cockhead to it, you eagerly drag it <<elseif $PC.cumTap < 25>> -Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you struggle to even get off the bed. After minutes of effort, several attempts ruined by aftershock orgasms, you manage to get on your feet. Cradling your massive cum-belly, you gingerly waddle to your waiting bath. You look like you are ready to burst with triplets, imagine what the public would say if they way you in this state. +Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you struggle to even get off the bed. After minutes of effort, several attempts ruined by aftershock orgasms, you manage to get on your feet. Cradling your massive cum-belly, you gingerly waddle to your waiting bath. You look like you are ready to burst with triplets, imagine what the public would say if they saw you in this state. <<else>> -Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you roll over onto your back so that you may tease your<<if $PC.boobs > 0>> breasts,<</if>><<if $PC.dick > 0>> dick,<</if>> belly and pussy. If anyone saw you, they would swear your were on the verge of delivering sextuplets. You made sure to schedule this block for absolute privacy, so no one should disturb you while you play with your bloated body. Once you are exhausted and drained of your contents, you head for the showers and to get a servant to clean up your bed - from the slave you enjoyed with the cum hose, of course. +Taking the hose and attaching your favorite cockhead to it, you eagerly drag it to your bed and make yourself comfortable. You waste no time driving it into your aching cunt. With every thrust, you jet massive bursts of cum into your empty womb, swelling yourself more and more as your pleasure rises, until you reach your climax and unleash your "lover"'s pent up load into yourself. Patting your taut, overfilled belly, you roll over onto your back so that you may tease your<<if $PC.boobs > 0>> breasts,<</if>><<if $PC.dick > 0>> dick,<</if>> belly and pussy. If anyone saw you, they would swear your were on the verge of delivering sextuplets. You made sure to schedule this block for absolute privacy, so no one should disturb you while you play with your bloated body. Once you are exhausted and drained of your contents, you head for the showers and to get a servant to clean up your bed — from the slave you enjoyed with the cum hose, of course. <</if>> diff --git a/src/pregmod/fSlaveSlaveVagConsummate.tw b/src/pregmod/fSlaveSlaveVagConsummate.tw index 88d2629cf242a7a6aa1b8040dfe94fcd7f1892df..e6e3ca338f371e8b941453781fef19515cbb5f77 100644 --- a/src/pregmod/fSlaveSlaveVagConsummate.tw +++ b/src/pregmod/fSlaveSlaveVagConsummate.tw @@ -97,7 +97,6 @@ You take a look at the slave you selected. <br><br> - Next, you see to $activeSlave.slaveName. <<if _isIncest == 1>> @@ -181,13 +180,13 @@ Next, you see to $activeSlave.slaveName. <<if ($activeSlave.amp == 1)>> You set $his limbless torso up for $slaverapistx.slaveName. <<elseif tooBigBreasts($activeSlave)>> - You set $him up for $slaverapistx.slaveName, face down so the weight of $his tits pins $him helplessly in place. + You set $him up for $slaverapistx.slaveName, face-down so the weight of $his tits pins $him helplessly in place. <<elseif tooBigButt($activeSlave)>> - You set $him up for $slaverapistx.slaveName, face down so the weight of $his giant ass pins $him helplessly in place and gives $slaverapistx.slaveName a lovely cushion to thrust against. + You set $him up for $slaverapistx.slaveName, face-down so the weight of $his giant ass pins $him helplessly in place and gives $slaverapistx.slaveName a lovely cushion to thrust against. <<elseif tooBigDick($activeSlave)>> You set $him up for $slaverapistx.slaveName, face up so $he is pinned under the weight of $his giant cock. <<elseif tooBigBalls($activeSlave)>> - You set $him up for $slaverapistx.slaveName, face down so the weight of $his giant balls anchor $him helplessly in place. + You set $him up for $slaverapistx.slaveName, face-down so the weight of $his giant balls anchor $him helplessly in place. <<elseif $activeSlave.devotion < -20>> $He tries to refuse, so you restrain $him despite $his resistance to the idea of being raped by another slave. <<elseif $activeSlave.devotion <= 20>> diff --git a/src/pregmod/geneLab.tw b/src/pregmod/geneLab.tw index f0aecc162280b73dc8f70493770727e4cfd3bc98..632badb17e82f15d11e9d90234a32444cbbae02f 100644 --- a/src/pregmod/geneLab.tw +++ b/src/pregmod/geneLab.tw @@ -1,6 +1,5 @@ :: Gene Lab [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Manage Penthouse", $showEncyclopedia = 1, $encyclopedia = "The Pharmaceutical Fab.", _PCSkillCheck = Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier)>> <br> diff --git a/src/pregmod/implantManufactory.tw b/src/pregmod/implantManufactory.tw index 24817e64022c1a0ceee36303b391e4011f4cd72f..17ed3d1d45238e965b29c66a632839cea615bbb1 100644 --- a/src/pregmod/implantManufactory.tw +++ b/src/pregmod/implantManufactory.tw @@ -1,6 +1,5 @@ :: Implant Manufactory [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Manage Penthouse", $showEncyclopedia = 1, $encyclopedia = "The Pharmaceutical Fab.", _PCSkillCheck = Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier)>> <br> diff --git a/src/pregmod/incubator.tw b/src/pregmod/incubator.tw index c5efa54a29ed033b660ada6c47fac8dc5a839e6e..c6aadbc121e66ef3ef91097461c485cd084bb5ed 100644 --- a/src/pregmod/incubator.tw +++ b/src/pregmod/incubator.tw @@ -599,7 +599,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu <<if _readySlaves == 1>> <<if $incubatorBulkRelease == 1>> <<set $newSlavePool = []>> - <<for _inc = 0; _inc < $incubatorSlaves; _inc++>> + <<for _inc = 0; _inc < $tanks.length; _inc++>> <<if $tanks[_inc].growTime <= 0>> <<set $incubatorOldID = $tanks[_inc].ID>> /* single slave case */ <<set _tempObject = {object: $tanks[_inc], ID: $tanks[_inc].ID}>> @@ -609,7 +609,7 @@ Target age for release: <<textbox "$targetAge" $targetAge "Incubator">> [[Minimu <</if>> <</for>> <<if $newSlavePool.length == 1>> - <<set $readySlave = $newSlavePool[0]>> + <<set $readySlave = $newSlavePool[0].object>> <<set $newSlavePool = 0>> <</if>> <<else>> diff --git a/src/pregmod/manageCorporation.tw b/src/pregmod/manageCorporation.tw index d262f5433b10d100fe66716f1b30023d4ab7fbcd..958fdb839754b959cfd7ac22cfb60aa870ece4ee 100644 --- a/src/pregmod/manageCorporation.tw +++ b/src/pregmod/manageCorporation.tw @@ -735,7 +735,7 @@ __Division Management__ <<elseif $corpDivTrainSurgerySwitch == 1 && $corpDivTrainSurgeryTimer < 5>> <<set _corpDivTrainCost = Math.trunc(700 * $corpDivTrainSlaves + Math.pow($corpDivTrainDev, 2)), _corpDivTrainCostPU = Math.trunc(_corpDivTrainCost / ($corpDivTrainSlaves * 0.2)), - _corpDivTrainRev = Math.trunc(menialSlaveCost() * (26 + $corpDivTrainSurgeryTimer * 1.6)), + _corpDivTrainRev = Math.trunc(menialSlaveCost() * (26 + $corpDivTrainSurgeryTimer * 1.6)), _corpDivTrainProc = Math.trunc($corpDivTrainDev * 0.2)>> <br>The corporation has a slave training division. <br>It can train an average of @@.green;<<print _corpDivTrainProc>> slaves@@ each week when filled to capacity ($corpDivTrainDev). @@ -817,14 +817,14 @@ __Division Management__ <</if>> | [[Sell all|Manage Corporation][$corpCash += $corpDivTrainSlaves2 * 26 * menialSlaveCost(-$corpDivTrainSlaves2), $corpDivTrainSlaves2 = 0, $menialDemandFactor -= $corpDivTrainSlaves2, $corpRev += $corpDivTrainSlaves2 * 26 * menialSlaveCost(-$corpDivTrainSlaves2)]] <<elseif $corpDivTrainSurgerySwitch == 1 && $corpDivTrainSurgeryTimer < 5>> - <br>You can sell these slaves on the market. [[Sell 1|Manage Corporation][$corpCash += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost()), $corpDivTrainSlaves2 -= 1, $menialDemandFactor -= 1, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost())]] + <br>You can sell these slaves on the market. [[Sell 1|Manage Corporation][$corpCash += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost()), $corpDivTrainSlaves2 -= 1, $menialDemandFactor -= 1, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost())]] <<if $corpDivTrainSlaves2 >= 10>> - | [[Sell 10|Manage Corporation][$corpCash += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 10 * menialSlaveCost(-10)), $corpDivTrainSlaves2 -= 10, $menialDemandFactor -= 10, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 10 * menialSlaveCost())]] + | [[Sell 10|Manage Corporation][$corpCash += Math.trunc((26 +\ $corpDivTrainSurgeryTimer * 1.6) * 10 * menialSlaveCost(-10)), $corpDivTrainSlaves2 -= 10, $menialDemandFactor -= 10, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 10 * menialSlaveCost())]] <</if>> <<if $corpDivTrainSlaves2 >= 100>> - | [[Sell 100|Manage Corporation][$corpCash += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 100 * menialSlaveCost(-100)), $corpDivTrainSlaves2 -= 100, $menialDemandFactor -= 100, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 100 * menialSlaveCost())]] + | [[Sell 100|Manage Corporation][$corpCash += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 100 * menialSlaveCost(-100)), $corpDivTrainSlaves2 -= 100, $menialDemandFactor -= 100, $corpRev += Math.trunc((26 + $corpDivTrainSurgeryTimer * 1.6) * 100 * menialSlaveCost())]] <</if>> - | [[Sell all|Manage Corporation][$corpCash += Math.trunc($corpDivTrainSlaves2 * (26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost(-$corpDivTrainSlaves2)), $corpDivTrainSlaves2 = 0, $menialDemandFactor -= $corpDivTrainSlaves2, $corpRev += Math.trunc($corpDivTrainSlaves2 * (26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost(-$corpDivTrainSlaves2))]] + | [[Sell all|Manage Corporation][$corpCash += Math.trunc($corpDivTrainSlaves2 * (26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost(-$corpDivTrainSlaves2)), $corpDivTrainSlaves2 = 0, $menialDemandFactor -= $corpDivTrainSlaves2, $corpRev += Math.trunc($corpDivTrainSlaves2 * (26 + $corpDivTrainSurgeryTimer * 1.6) * menialSlaveCost(-$corpDivTrainSlaves2))]] <<else>> <br>You can sell these slaves on the market. [[Sell 1|Manage Corporation][$corpCash += 34 * menialSlaveCost(), $corpDivTrainSlaves2 -= 1, $menialDemandFactor -= 1, $corpRev += 34 * menialSlaveCost()]] <<if $corpDivTrainSlaves2 >= 10>> diff --git a/src/pregmod/managePersonalAffairs.tw b/src/pregmod/managePersonalAffairs.tw index 721f3f7f33754af278ff2d5b0a7a812de61c22ac..8129092b978f25b710722cd0cfb638e054f38f1d 100644 --- a/src/pregmod/managePersonalAffairs.tw +++ b/src/pregmod/managePersonalAffairs.tw @@ -126,7 +126,7 @@ Around back; <</if>> <</if>> -/* yes, I am aware this looks horrendeous - if you can find a way to clean this up, by all means */ +/* yes, I am aware this looks horrendous - if you can find a way to clean this up, by all means */ You have a wedding planned for this weekend; you are <<if $weddingPlanned == 1>>marrying<<elseif $weddingPlanned == 2>>sharing<<elseif $weddingPlanned == 3>>knocking up<</if>> <<print "[[SlaveFullName(_slave1)|Slave Interact][$activeSlave = _slave1]]">><<if _ML > 2>>, <<elseif _ML == 2>> and <<print "[[SlaveFullName(_slave2)|Slave Interact][$activeSlave = _slave2]]">><</if>><<if _ML > 2>><<print "[[SlaveFullName(_slave2)|Slave Interact][$activeSlave = _slave2]]">><<if _ML == 3>> and <<else>>, <</if>><<print "[[SlaveFullName(_slave3)|Slave Interact][$activeSlave = _slave3]]">><<if _ML == 4>> and <<print "[[SlaveFullName(_slave4)|Slave Interact][$activeSlave = _slave4]]">><</if>> <<if $weddingPlanned == 2>>with your honored guests<</if>><</if>>. [[Cancel it|Manage Personal Affairs][$weddingPlanned = -1, $marrying = []]] <</if>> @@ -404,31 +404,31 @@ __Contraceptives and Fertility__ In total, you have given birth to: <<if $PC.birthElite > 0>> -<br><<print $PC.birthElite>> bab<<if $PC.birthElite > 1>>ies<<else>>y<</if>> for the Societal Elite. + <br><<print $PC.birthElite>> bab<<if $PC.birthElite > 1>>ies<<else>>y<</if>> for the Societal Elite. <</if>> <<if $PC.birthMaster > 0>> -<br><<print $PC.birthMaster>> bab<<if $PC.birthMaster > 1>>ies<<else>>y<</if>> for your former master. + <br><<print $PC.birthMaster>> bab<<if $PC.birthMaster > 1>>ies<<else>>y<</if>> for your former master. <</if>> <<if $PC.birthClient > 0>> -<br><<print $PC.birthClient>> bab<<if $PC.birthClient > 1>>ies<<else>>y<</if>> from clients you've slept with. + <br><<print $PC.birthClient>> bab<<if $PC.birthClient > 1>>ies<<else>>y<</if>> from clients you've slept with. <</if>> <<if $PC.birthDegenerate > 0>> -<br><<print $PC.birthDegenerate>> bastard<<if $PC.birthDegenerate > 1>>s<</if>> from getting fucked by slaves. + <br><<print $PC.birthDegenerate>> bastard<<if $PC.birthDegenerate > 1>>s<</if>> from getting fucked by slaves. <</if>> <<if $PC.birthArcOwner > 0>> -<br><<print $PC.birthArcOwner>> bab<<if $PC.birthArcOwner > 1>>ies<<else>>y<</if>> from your time with that male arcology owner. + <br><<print $PC.birthArcOwner>> bab<<if $PC.birthArcOwner > 1>>ies<<else>>y<</if>> from your time with that male arcology owner. <</if>> <<if $PC.birthCitizen > 0>> -<br><<print $PC.birthCitizen>> bab<<if $PC.birthCitizen > 1>>ies<<else>>y<</if>> from sex with arcology citizens. + <br><<print $PC.birthCitizen>> bab<<if $PC.birthCitizen > 1>>ies<<else>>y<</if>> from sex with arcology citizens. <</if>> <<if $PC.birthOther > 0>> -<br><<print $PC.birthOther>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from sources you can't quite recall. + <br><<print $PC.birthOther>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from sources you can't quite recall. <</if>> <<if $PC.birthSelf > 0>> -<br><<print $PC.birthSelf>> bab<<if $PC.birthSelf > 1>>ies<<else>>y<</if>> that <<if $PC.birthSelf > 1>>are<<else>>is<</if>> literally all you. + <br><<print $PC.birthSelf>> bab<<if $PC.birthSelf > 1>>ies<<else>>y<</if>> that <<if $PC.birthSelf > 1>>are<<else>>is<</if>> literally all you. <</if>> <<if $PC.birthLab > 0>> -<br><<print $PC.birthLab>> bab<<if $PC.birthLab > 1>>ies<<else>>y<</if>> specially designed in the lab. + <br><<print $PC.birthLab>> bab<<if $PC.birthLab > 1>>ies<<else>>y<</if>> specially designed in the lab. <</if>> <</if>> <<if $PC.slavesKnockedUp > 0>> @@ -536,28 +536,28 @@ In total, you have given birth to: <br><br> Before your sex change, you had given birth to: <<if $PC.birthElite > 0>> - <br><<print commaNum($PC.birthElite)>> bab<<if $PC.birthElite > 1>>ies<<else>>y<</if>> for the Societal Elite. + <br><<print commaNum($PC.birthElite)>> bab<<if $PC.birthElite > 1>>ies<<else>>y<</if>> for the Societal Elite. <</if>> <<if $PC.birthMaster > 0>> - <br><<print commaNum($PC.birthMaster)>> bab<<if $PC.birthMaster > 1>>ies<<else>>y<</if>> for your former master. + <br><<print commaNum($PC.birthMaster)>> bab<<if $PC.birthMaster > 1>>ies<<else>>y<</if>> for your former master. <</if>> <<if $PC.birthClient > 0>> - <br><<print commaNum($PC.birthOther)>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from clients you've slept with. + <br><<print commaNum($PC.birthOther)>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from clients you've slept with. <</if>> <<if $PC.birthDegenerate > 0>> - <br><<print commaNum($PC.birthDegenerate)>> bastard<<if $PC.birthDegenerate > 1>>s<</if>> from getting fucked by slaves. + <br><<print commaNum($PC.birthDegenerate)>> bastard<<if $PC.birthDegenerate > 1>>s<</if>> from getting fucked by slaves. <</if>> <<if $PC.birthArcOwner > 0>> - <br><<print commaNum($PC.birthArcOwner)>> bab<<if $PC.birthArcOwner > 1>>ies<<else>>y<</if>> from your time with that male arcology owner. + <br><<print commaNum($PC.birthArcOwner)>> bab<<if $PC.birthArcOwner > 1>>ies<<else>>y<</if>> from your time with that male arcology owner. <</if>> <<if $PC.birthCitizen > 0>> - <br><<print commaNum($PC.birthCitizen)>> bab<<if $PC.birthCitizen > 1>>ies<<else>>y<</if>> from sex with arcology citizens. + <br><<print commaNum($PC.birthCitizen)>> bab<<if $PC.birthCitizen > 1>>ies<<else>>y<</if>> from sex with arcology citizens. <</if>> <<if $PC.birthOther > 0>> - <br><<print commaNum($PC.birthOther)>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from sources you can't quite recall. + <br><<print commaNum($PC.birthOther)>> bab<<if $PC.birthOther > 1>>ies<<else>>y<</if>> from sources you can't quite recall. <</if>> <<if $PC.birthSelf > 0>> - <br><<print commaNum($PC.birthSelf)>> bab<<if $PC.birthSelf > 1>>ies<<else>>y<</if>> that were literally all you. + <br><<print commaNum($PC.birthSelf)>> bab<<if $PC.birthSelf > 1>>ies<<else>>y<</if>> that were literally all you. <</if>> <</if>> <<if $PC.slavesKnockedUp > 0>> @@ -598,9 +598,9 @@ __Drugs__ <br><br> __Other Personal Business__ <<if $rep >= 10000>> -<br> [[Visit the Black Market|The Black Market]] + <br> [[Visit the Black Market|The Black Market]] <<elseif $rep > 7500>> -<br> You lack the reputation to be invited to the underground Black Market. + <br> You lack the reputation to be invited to the underground Black Market. <</if>> <<if $propOutcome == 1 && $arcologies[0].FSRestart != "unset">> diff --git a/src/pregmod/newChildIntro.tw b/src/pregmod/newChildIntro.tw index 9ecbb2dabb2734ffc4cf85c948ccfb7703e58559..066a43037475e714b9f54088a854e45f0e71f075 100644 --- a/src/pregmod/newChildIntro.tw +++ b/src/pregmod/newChildIntro.tw @@ -614,7 +614,7 @@ You slowly strip down, gauging $his reactions to your show, until you are fully <</if>> <<if $arcologies[0].FSPaternalistLaw == 1>> - $He saw a good deal of your arcology and its society on $his way to your penthouse, and was amazed by all the happy, healthy slaves. $He @@.mediumaquamarine;begins to trust@@ that $he'll be one of them, and @@.hotpink;anticipates playing@@ with all $his happy friends. + $He <<if canSee($activeSlave)>>saw<<elseif canHear($activeSlave)>>overheard<<else>>passed through<</if>> a good deal of your arcology and its society on $his way to your penthouse, and was amazed by all the happy, healthy slaves. $He @@.mediumaquamarine;begins to trust@@ that $he'll be one of them, and @@.hotpink;anticipates playing@@ with all $his happy friends. <<set $activeSlave.trust += 4>> <<set $activeSlave.devotion += 4>> <</if>> @@ -837,7 +837,7 @@ As $he begins to moan with lust, you grip down tightly and force $him to the flo <<if $seeExtreme == 1>> <br><<link "Geld $him as punishment">> <<replace "#result2">> - Righting yourself, you grab the gloating slave, drag $him to the autosurgery and strap $his face down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. + Righting yourself, you grab the gloating slave, drag $him to the autosurgery and strap $him face-down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. <<if $arcologies[0].FSGenderRadicalist != "unset">> Society @@.green;approves@@ of your promptly gelding $him; this advances the idea that all societal inferiors can be made female. <<= FSChange("GenderRadicalist", 2)>> @@ -897,7 +897,7 @@ You beckon the curious $girl to your hefty breasts, having noticed how hungrily <<if $seeExtreme == 1>> <br><<link "Geld $him as punishment">> <<replace "#result2">> - Righting yourself, you grab the cowering slave, drag $him to the autosurgery and strap $his face down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. + Righting yourself, you grab the cowering slave, drag $him to the autosurgery and strap $him face-down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. <<if $arcologies[0].FSGenderRadicalist != "unset">> Society @@.green;approves@@ of your promptly gelding $him; this advances the idea that all societal inferiors can be made female. <<= FSChange("GenderRadicalist", 2)>> @@ -988,7 +988,7 @@ You beckon the curious $girl to your hefty breasts, having noticed how hungrily <<set $activeSlave.health -= 10>> <<set $activeSlave.trust -= 100>> <<replace "#result">> - You escort $him to the remote surgery and strap $his face down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. + You escort $him to the remote surgery and strap $him face-down with $his legs spread. $He doesn't understand what's happening, but giggles at the sensations running through $his numb body. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He spends the rest of the week dimly trying to find where $his balls went. <<if $arcologies[0].FSGenderRadicalist != "unset">> Society @@.green;approves@@ of your promptly gelding $him; this advances the idea that all societal inferiors can be made female. <<= FSChange("GenderRadicalist", 2)>> @@ -1009,7 +1009,7 @@ You beckon the curious $girl to your hefty breasts, having noticed how hungrily <<set $activeSlave.health -= 10>> <<set $activeSlave.trust -= 5>> <<replace "#result">> - You escort $him to the remote surgery and strap $his face down with $his legs bare. $He doesn't understand what's coming for a while, but giggles as $his lower legs are carefully cleaned and disinfected. $He can't see the approaching surgical manipulators, but eventually $he feels a tugging at $his lower legs even through the local anesthetic. $He gets one squeal of protest out before the surgery begins to apply healing agents. $He now requires special heels to walk, and will @@.gold;remember your power@@ with every @@.red;painful@@ step $he takes. $He seems @@.hotpink;inappropriately happy@@ about getting to wear pretty shoes when $he can no longer walk without them. + You escort $him to the remote surgery and strap $him face-down with $his legs bare. $He doesn't understand what's coming for a while, but giggles as $his lower legs are carefully cleaned and disinfected. $He can't see the approaching surgical manipulators, but eventually $he feels a tugging at $his lower legs even through the local anesthetic. $He gets one squeal of protest out before the surgery begins to apply healing agents. $He now requires special heels to walk, and will @@.gold;remember your power@@ with every @@.red;painful@@ step $he takes. $He seems @@.hotpink;inappropriately happy@@ about getting to wear pretty shoes when $he can no longer walk without them. <</replace>> <</link>> <</if>> diff --git a/src/pregmod/organFarm.tw b/src/pregmod/organFarm.tw index cbb057752a4c7006985509b7e1e32c125e22b04f..cb6e1bee501426e7c32e403181730e37ae93d06d 100644 --- a/src/pregmod/organFarm.tw +++ b/src/pregmod/organFarm.tw @@ -1,6 +1,5 @@ :: Organ Farm [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Manage Penthouse", $showEncyclopedia = 1, $encyclopedia = "The Pharmaceutical Fab.", _PCSkillCheck = Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier)>> <br> diff --git a/src/pregmod/pInsemination.tw b/src/pregmod/pInsemination.tw index 3811f691addb21de5300b299fc0244a687341d54..ca92a093f438f35aab4c3c6ca5f0c5bfda3eb680 100644 --- a/src/pregmod/pInsemination.tw +++ b/src/pregmod/pInsemination.tw @@ -40,7 +40,7 @@ <<case "quick">> <<if $quickCount == 0>> - You arrive at the apartment of the very wealthy fuel baron who is to sire your child. He is eagerly waiting for you and quickly hurries you inside. He wastes no time; practically ripping your clothes off and forcing over the edge of his bed. He hastily mounts you and roughly fucks your cunt - until he quickly finishes, that is, leaving you unsatisfied as he shoves you out the door, clothes in <<if $PC.dick == 1>>one hand and raging boner in the other<<else>>hand<</if>>. + You arrive at the apartment of the very wealthy fuel baron who is to sire your child. He is eagerly waiting for you and quickly hurries you inside. He wastes no time; practically ripping your clothes off and forcing over the edge of his bed. He hastily mounts you and roughly fucks your cunt — until he quickly finishes, that is, leaving you unsatisfied as he shoves you out the door, clothes in <<if $PC.dick == 1>>one hand and raging boner in the other<<else>>hand<</if>>. <<set $quickCount++>> <<else>> You arrive at the apartment of the quick-shooting fuel baron and once more he quickly pulls you in. He barely manages to undress you before he is on top of you humping away. Just as he is about to cum, you wrap your legs around him; anchoring yourself to him. You remind him that his job is to knock you up, and a quick in and out isn't good enough. Buying it, he keeps thrusting, letting you reach your own orgasm. He still hurried you out the door in the end, but you got some pleasure out of him this time. diff --git a/src/pregmod/pcSurgeryDegredation.tw b/src/pregmod/pcSurgeryDegredation.tw index 4f540a7aa412260253e1961e8f8a861476aae5f4..84717c7cf5a31f1aa928999e422008a8fac86eb4 100644 --- a/src/pregmod/pcSurgeryDegredation.tw +++ b/src/pregmod/pcSurgeryDegredation.tw @@ -37,16 +37,16 @@ After a few hours, you awaken in the recovery wing with a sore chest. <<if $PC.belly >= 10000 || $PC.boobsBonus == 3>>Struggling to sit<<else>>Sitting<</if>> up, you immediately notice a new weight on your chest. Pulling the covers off yourself, you observe your new, soft C-cup boobs in the mirror-covered wall across from your bed. "So do you like them?", asks the surgeon's assistant, seating herself behind you and wrapping her hands around to your heaving breasts. "With these, you should be able to compete with any girls around you." She begins groping your breasts, feeling the added mass for any oddities. "I know you're still a little sore, but bear with it." She moves on to your nipples and begins teasing them. <<if $PC.lactation > 0>>She lets out a surprised squeak when a gush of milk escapes your breasts and a moan escapes your lips. "<<if $PC.pregKnown == 1>>Should have expected that with the pregnancy and all.<<else>>You did recently have a child didn't you? Or have you just been enjoying your nipples too much?<</if>> Either way, this is a good thing. Your breasts work."<</if>> You can't help but moan under your building arousal as she massages and teases your new tits. "Enjoying yourself are we? Let me finish you off." She sneaks a hand down to your <<if $PC.dick == 1>>stiff prick and begins stroking its length, quickly bringing you to orgasm and relieving you of your built up tension.<<else>>stiff clit and begins teasing it as well, quickly bringing you to orgasm and relieving you of your built up tension.<</if>> She states, while licking her fingers, "I always did enjoy the way you taste. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Satisfied, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. <<case "buttReductionImplant">> - After a few hours, you awaken in the recovery wing, face down in a bed made to accommodate as person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much smaller it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your butt. "Size isn't everything in an ass, shape is important too." She begins groping your bottom, feeling around for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. + After a few hours, you awaken in the recovery wing, face-down in a bed made to accommodate as person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much smaller it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your butt. "Size isn't everything in an ass, shape is important too." She begins groping your bottom, feeling around for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. <<case "buttShrinkage">> - After a few hours, you awaken in the recovery wing, face down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much smaller it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping." She begins groping your bottom, feeling around for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. + After a few hours, you awaken in the recovery wing, face-down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much smaller it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping." She begins groping your bottom, feeling around for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. <<case "buttEnlargementImplant">> - After a few hours, you awaken in the recovery wing, face down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much bigger it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your <<if $PC.butt == 3>>enormous<<elseif $PC.butt == 2>>huge<<else>>big<</if>> rounded butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping when we put in the implant." She begins groping your bottom, feeling the silicone filled implant for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Though you may need some help righting yourself until you get used to its added weight. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. + After a few hours, you awaken in the recovery wing, face-down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much bigger it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your <<if $PC.butt == 3>>enormous<<elseif $PC.butt == 2>>huge<<else>>big<</if>> rounded butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping when we put in the implant." She begins groping your bottom, feeling the silicone filled implant for any oddities. "I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Though you may need some help righting yourself until you get used to its added weight. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. <<case "buttEnlargement">> - After a few hours, you awaken in the recovery wing, face down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much bigger it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your <<if $PC.butt == 3>>enormous<<elseif $PC.butt == 2>>huge<<else>>big<</if>> soft butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping when we added the fat." She begins groping your bottom, feeling around for any oddities. "So soft... I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Though you may need some help righting yourself until you get used to its added weight. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. + After a few hours, you awaken in the recovery wing, face-down in a bed made to accommodate a person with your body type, with a sore ass. You push yourself up and look at the mass under the cover behind you that is your rear, taking note of how much bigger it is now than when you arrived. "So do you like it?", asks the surgeon's assistant, seating herself beside you and bringing her hands to your <<if $PC.butt == 3>>enormous<<elseif $PC.butt == 2>>huge<<else>>big<</if>> soft butt. "Size isn't everything in an ass, shape is important too, though I think you've got a good balance. We didn't need to do much reshaping when we added the fat." She begins groping your bottom, feeling around for any oddities. "So soft... I know you're still a little sore, but bear with it. There, everything feels good, now rest up and you'll be set! Though you may need some help righting yourself until you get used to its added weight. Feel free to rest as long as you need before departing. If you need, or want, me, I'll be around." Groggy, you lie back down to sleep off the rest of the anesthesia before returning to your arcology. <<case "ballEnlargement">> After a few hours, you awaken in the recovery wing with a distinct soreness <<if $PC.ballsImplant > 2>>and the sense that something massive is pushing your legs apart<<elseif $PC.ballsImplant == 2>>and tight feeling between your legs<<else>>between your legs<</if>>. You pull the covers off of yourself to catch sight of the result of the surgery and diff --git a/src/pregmod/rePregInventor.tw b/src/pregmod/rePregInventor.tw index a24b7ce616d7eadd992a5ca8a829fb8fddce3b3c..e40b21e3f85fb66af2d9554966e7cef4a29a2ef4 100644 --- a/src/pregmod/rePregInventor.tw +++ b/src/pregmod/rePregInventor.tw @@ -287,7 +287,7 @@ <<link "Have $him show off $his developments in the sport of advanced maternity swing gymnastics.">> <<EventNameDelink $activeSlave>> <<replace "#result">> - $He is brought into your office alongside $his invention: a customized maternity swing. It is a true marvel of Free Cities engineering, resembling something designed for use with large marine mammals rather than a sex aid for a pregnant woman. It has been specially rigged to support both its user and their sexual partner, and to suspend them in the air, enabling them to explore sex positions that would otherwise be rendered impossible by a hyperpregnant slave's mass and size. Just watching the effort your menials expend squeezing the <<print SlaveTitle($activeSlave)>> into a device that would dwarf a normal person is enough to get you excited, and you're fully ready to enjoy some personal time with $him by the time they've hooked you both into the device. The maternity swing is controlled via a vocal command system and, as your menials retreat to give you time alone, you instruct it to lift both you and $him into the air. + $He is brought into your office alongside $his invention: a customized maternity swing. It is a true marvel of Free Cities engineering, resembling something designed for use with large marine mammals rather than a sex aid for a pregnant $woman. It has been specially rigged to support both its user and their sexual partner, and to suspend them in the air, enabling them to explore sex positions that would otherwise be rendered impossible by a hyperpregnant slave's mass and size. Just watching the effort your menials expend squeezing the <<print SlaveTitle($activeSlave)>> into a device that would dwarf a normal person is enough to get you excited, and you're fully ready to enjoy some personal time with $him by the time they've hooked you both into the device. The maternity swing is controlled via a vocal command system and, as your menials retreat to give you time alone, you instruct it to lift both you and $him into the air. <br><br> The reinforced silk supports strain slightly under the weight of your slave's belly, but they make no noise, and you soon find yourself suspended in midair with $his <<if $activeSlave.vagina == 10>> diff --git a/src/pregmod/saPorn.tw b/src/pregmod/saPorn.tw index 495b08e64bc7969871c4ac5fe5fcdb2313817023..d42bce6793666b0cbc889cef21b06fd6416af378 100644 --- a/src/pregmod/saPorn.tw +++ b/src/pregmod/saPorn.tw @@ -1,7 +1,6 @@ :: SA Porn [nobr] <<if $studio == 1 && $slaves[$i].pornFeed == 1>> /* content is being produced */ - <<set $HackingSkillMultiplier = HSM()>> /* rate of decay*/ <<if $slaves[$i].pornPrestige > 1>> /* 50k */ diff --git a/src/pregmod/seBurst.tw b/src/pregmod/seBurst.tw index f9fefea70ad59a73e75a112697b480cdda9bb3d2..032fad3539c850414b0d95c5b00fe1a5e0d7738f 100644 --- a/src/pregmod/seBurst.tw +++ b/src/pregmod/seBurst.tw @@ -154,10 +154,14 @@ taken to $incubatorName. <<elseif _cToIncub < _curBabies && _cToIncub > 0>> split between $incubatorName and - <<if _cToNursery == _curBabies-_cToIncub && _incubated > 0>> - $nurseryName. - <<elseif _cToNursery < _curBabies-_cToIncub && _cToNursery > 0>> - $nurseryName, and the medical suite. + <<if _cToNursery > 0>> + <<if _cToNursery == _curBabies-_cToIncub && _incubated > 0>> + $nurseryName. + <<elseif _cToNursery < _curBabies-_cToIncub && _cToNursery > 0>> + $nurseryName, and the medical suite. + <</if>> + <<else>> + the medical suite. <</if>> <<elseif _cToNursery == _curBabies>> taken to $nurseryName. @@ -170,12 +174,12 @@ <<if _cToIncub > 0 || _cToNursery > 0>> <<for _cb = 0; _cb < _curBabies; _cb++>> /* if there is no reserved children, code in loop will not trigger */ <<if $slaves[_b].curBabies[_cb].reserve == "incubator">> - <<set $slaves[_b] = generateChild($slaves[_b], $slaves[_b].curBabies[_cb], 1)>> + <<set $activeSlave = generateChild($slaves[_b], $slaves[_b].curBabies[_cb], 1)>> <<include "Incubator Workaround">> <<run $slaves[_b].curBabies.splice($slaves[_b].curBabies[_cb], 1)>> <<set _cb--, _curBabies-->> <<elseif $slaves[_b].curBabies[_cb].reserve == "nursery">> - <<set $slaves[_b] = generateChild($slaves[_b], $slaves[_b].curBabies[_cb])>> + <<set $activeSlave = generateChild($slaves[_b], $slaves[_b].curBabies[_cb])>> <<include "Nursery Workaround">> <<run $slaves[_b].curBabies.splice($slaves[_b].curBabies[_cb], 1)>> <<set _cb--, _curBabies-->> diff --git a/src/pregmod/seFCTVshows.tw b/src/pregmod/seFCTVshows.tw index 676eeb938ee251a9d77822882d493227e9637b82..dd0d1bbc5b2ccbf5cbf63dde2490ac92cb9936c2 100644 --- a/src/pregmod/seFCTVshows.tw +++ b/src/pregmod/seFCTVshows.tw @@ -469,7 +469,7 @@ The offered price is <<print cashFormat($slaveCost)>>. Bess looks impressed. "You've got a pretty smart master! Seems like he takes good care of the cows, too!" <br><br> The milk maid gives an emphatic nod. <i>"My Master's daddy, and his daddy's daddy were dairy farmers, so he knows what he's doin'. Master said that lots of folks think slaves don't deserve any care or fancy treatment, that slaves are animals and you can't give 'em anything without putting ideas in their heads. Master said those folks are right we don't </i>deserve<i> anything, but that otherwise those folks just don't know jack shit about raising livestock."</i> - Bess smiles. "I guess G-9 isn't at the top of the quality and quantity charts by accident!" She moves over toward one of the occupied milkers to take a better look. Rather than a chair, it's set up almost like a massage table, and the slave is lying face down on the table's comfortable padding. The chest area of the table is almost completely missing, allowing the cow's 15,000 CC udders to hang downward. Rather than hang painfully, however, they're well supported by some kind of strong fabric that looks soft but stretchy. Their supported shape seems ideal for milking, opening up the milk ducts and letting gravity drain the milk toward the exposed nipples. A clear cup is attached to each teat, rich milk flooding rhythmically down wide tubes to be collected in a massive intermediary reservoir. Bess turns back to the milk maid. "So I think I understand what the setup in the front is for, but what's all this going on in the back?" + Bess smiles. "I guess G-9 isn't at the top of the quality and quantity charts by accident!" She moves over toward one of the occupied milkers to take a better look. Rather than a chair, it's set up almost like a massage table, and the slave is lying face-down on the table's comfortable padding. The chest area of the table is almost completely missing, allowing the cow's 15,000 CC udders to hang downward. Rather than hang painfully, however, they're well supported by some kind of strong fabric that looks soft but stretchy. Their supported shape seems ideal for milking, opening up the milk ducts and letting gravity drain the milk toward the exposed nipples. A clear cup is attached to each teat, rich milk flooding rhythmically down wide tubes to be collected in a massive intermediary reservoir. Bess turns back to the milk maid. "So I think I understand what the setup in the front is for, but what's all this going on in the back?" <br><br> Anabell walks up to the milking table, and gestures to the lower half. <i>"Ma'am, is it okay if I answer one part at a time?"</i> Bess gives a cheerful nod, so Anabell points to the cow's abdomen. <i>"I know it's hard to see cause of that metal holdin' up the table, but there's actually an adjustable belly support there."</i> the dairy slave gives the cow an affectionate rub on one butt cheek. <i>"She may not look it right now, but this one here is more 'n seven months pregnant with triplets. The table supports the womb, taking the weight and pressure off the cow. All the cows say it's the most comfortable place to be when they're full of calf!"</i> Smiling, Anabell points down between the cow's legs. The camera moves closer to get a good look, and the microphone starts picking up traces of audio from whatever program the cow's watching. Once the camera is positioned at the feet, you can see between her slightly-spread legs that there's a large adjustable-looking opening under her pubic region. More fascinating though, is the device attached to her groin; it looks really similar to an athletic cup. It's just a bit bigger and longer with some tubes and a wire coming out of it, and hides the cow's vulva and asshole from the camera. <br><br> diff --git a/src/pregmod/widgets/assignmentFilterWidget.tw b/src/pregmod/widgets/assignmentFilterWidget.tw index d3c6ad02a0ae0c4eb83a59b7af92cb1f99627d64..87ce972f2e3744befa869e33ff1e71a8327fdef7 100644 --- a/src/pregmod/widgets/assignmentFilterWidget.tw +++ b/src/pregmod/widgets/assignmentFilterWidget.tw @@ -44,7 +44,7 @@ <</widget>> <<widget "farmyardAssignmentFilter">> - <<set $slaves.map(function(y){y.assignmentVisible = 0})>><<set $slaves.filter(function(x){return x.assignment == "work as a farmhand" || x.assignment == "be the Farmer"}).map(function(y){y.assignmentVisible = 1})>> + <<set $slaves.map(function(y){y.assignmentVisible = 0})>><<set $slaves.filter(function(x){return x.assignment == "work as a farmhand" || x.assignment == "be the Farmer"}).map(function(y){y.assignmentVisible = 1})>> <</widget>> <<widget "headgirlSuiteAssignmentFilter">> diff --git a/src/pregmod/widgets/pregmodBirthWidgets.tw b/src/pregmod/widgets/pregmodBirthWidgets.tw index 39f81ba35c74e0939404e12ce5697110d3c199e0..f1d9ce31563d0bca61fe1033f7d39e7e35eb3e72 100644 --- a/src/pregmod/widgets/pregmodBirthWidgets.tw +++ b/src/pregmod/widgets/pregmodBirthWidgets.tw @@ -236,7 +236,7 @@ <<else>> While sucking a dick through the hole of $his confining box, $slaves[$i].slaveName's water breaks. $He quickly finishes the dick off before seating $himself in the back of the box. <<ClothingBirth>> - As $he finishes, $he could have sworn $he saw an eye peeping through the glory hole, watching the show. The box is opened and <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child is gathered and taken away as $he struggles to reach the fresh cock poking through the hole. + As $he finishes, $he <<if canSee($slaves[$i])>>could have sworn $he saw an eye<<else>>swears $he can feel somebody<</if>> peeping through the glory hole, watching the show. The box is opened and <<if $slaves[$i].birthsTotal == 0>>$his first<<else>>this week's<</if>> child is gathered and taken away as $he struggles to reach the fresh cock poking through the hole. <</if>> <</if>> diff --git a/src/uncategorized/BackwardsCompatibility.tw b/src/uncategorized/BackwardsCompatibility.tw index 479305fc95e946cf6fe7f9383a27f11f1f88751b..df7d1e9163e1d5ecd2bc26e8e8944caf2838b5ac 100644 --- a/src/uncategorized/BackwardsCompatibility.tw +++ b/src/uncategorized/BackwardsCompatibility.tw @@ -3562,5 +3562,7 @@ Done! <<set $releaseID = 1036>> <</if>> +<<set $HackingSkillMultiplier = HackingSkillMultiplier()>> + /* reset NaNArray after BC is run */ <<set $NaNArray = findNaN()>> diff --git a/src/uncategorized/PESS.tw b/src/uncategorized/PESS.tw index 6290da67f5177c21baf5c40c68ed0859a5bd6104..9bc6c000a7ab9ac78361938bda3d5e79e50e2443 100644 --- a/src/uncategorized/PESS.tw +++ b/src/uncategorized/PESS.tw @@ -60,7 +60,7 @@ <<set _clothesTemp = $activeSlave.clothes>> <<switch $PESSevent>> - /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ + /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ <<case "tired collectrix" "tired milkmaid" "loving concubine" "bodyguard bedtime" "headgirl dickgirl">> <<set $activeSlave.clothes = "no clothing">> <</switch>> @@ -68,11 +68,13 @@ <<if $RESSevent == "headgirl dickgirl">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -193,7 +195,7 @@ $He sees you examining at $him, and looks back at you submissively, too tired to <br><<link "$He intimidates him with $his towering height">> <<EventNameDelink $activeSlave>> <<replace "#result">> - $activeSlave.slaveName calmly strides over to the drunken delinquent and simply towers over him with a glower on $his $activeSlave.faceShape face. The man quickly finds himself sobering up and moves to run from the scene with all the drunken haste he can muster. Unfortunately for him, $activeSlave.slaveName matches his pace with a brisk power-walk, and the citizen soon finds himself face down on the pavement after a swift strike to the back of the head. Word of your giant protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior twice the height of any man. + $activeSlave.slaveName calmly strides over to the drunken delinquent and simply towers over him with a glower on $his $activeSlave.faceShape face. The man quickly finds himself sobering up and moves to run from the scene with all the drunken haste he can muster. Unfortunately for him, $activeSlave.slaveName matches his pace with a brisk power-walk, and the citizen soon finds himself face-down on the pavement after a swift strike to the back of the head. Word of your giant protector is soon @@.green;the talk of $arcologies[0].name and beyond,@@ with many in the Old World mistakenly believing you are guarded by a warrior twice the height of any man. <<run repX(2500, "event", $activeSlave)>> <<if $activeSlave.prestige < 1>> <<set $activeSlave.prestige = 1,$activeSlave.prestigeDesc = "Word in the arcology is $he is twice the height of any man.">> <</if>> <</replace>> <</link>> @@ -545,11 +547,13 @@ $He sees you examining at $him, and looks back at you submissively, too tired to <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/PETS.tw b/src/uncategorized/PETS.tw index 0e688988a6d672d128285e43bb99c283477c30ac..78cd37b841559c13d2b2db10249103f7a4efbd2a 100644 --- a/src/uncategorized/PETS.tw +++ b/src/uncategorized/PETS.tw @@ -59,7 +59,7 @@ <<set _clothesTemp = $activeSlave.clothes>> <<set _clothesTemp2 = $subSlave.clothes>> <<switch $PETSevent>> - /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ + /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ <<case "comforting attendant">> <<set $activeSlave.clothes = "no clothing">> <<set $subSlave.clothes = "no clothing">> @@ -70,11 +70,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/RECI.tw b/src/uncategorized/RECI.tw index f91b51f70a89864891898ca8ef58a0305c3e5e4f..9c3dbbeda74ccec0fd2dcbbf98bf1d4d02460283 100644 --- a/src/uncategorized/RECI.tw +++ b/src/uncategorized/RECI.tw @@ -43,7 +43,7 @@ <<set _clothesTemp = $activeSlave.clothes>> <<switch $RECIevent>> - /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ + /*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ <<case "butthole" "futa" "orientation" "MILF" "feminization" "ugly">> <<set $activeSlave.clothes = "no clothing">> <</switch>> @@ -299,11 +299,13 @@ $He looks pensive, and goes through two false starts before $he clears $his thro <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $HeadGirl 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $HeadGirl 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -345,11 +347,13 @@ $He looks pensive, and goes through two false starts before $he clears $his thro <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $Concubine 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $Concubine 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/REFI.tw b/src/uncategorized/REFI.tw index 35b9df56a1e5b9346e94e834543c4cf3ab2d6025..5ff429580440b76c56d5232cf181b8d5079055d7 100644 --- a/src/uncategorized/REFI.tw +++ b/src/uncategorized/REFI.tw @@ -121,22 +121,28 @@ <<setLocalPronouns $activeSlave>> <<setLocalPronouns $subSlave 2>> +<<set _clothesTemp = $subSlave.clothes>> <<switch $REFIevent>> - -<<case "masochist">> - -<<set _clothesTemp = $subSlave.clothes, $subSlave.clothes = "no clothing">> +<<case "masochist" "pregnancy" "boobs" "cumslut">> /* Prep clothing for images */ + <<set $subSlave.clothes = "no clothing">> +<</switch>> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ -<<set $subSlave.clothes = _clothesTemp>> +<<set $subSlave.clothes = _clothesTemp>> /*restore clothing to original values */ + +<<switch $REFIevent>> + +<<case "masochist">> <<if $subSlave.belly >= 1500>> You have $subSlave.slaveName lying down on your desk, and are seeing to your own amusement and _his2 masochistic streak at once. _He2 has _his2 body flat on the surface, but is unrestrained, and has been told that _he2 must not rise off it at all, nor tilt _his2 bulk to either side. You then tell _his2 to count strokes and begin to flog _his2 _subBelly belly with a leathern instrument<<if $subSlave.pregKnown == 1>>, taking care not to cause _his2 pregnancy any lasting harm<</if>>. Before long _he2 is experiencing more pain than the human body can support without involuntary movement, and you tell _him2 to go back one count whenever _he2 does. At long last _he2 completes the required number of blows, and lies quivering and sobbing, thanking you over and over, until _he2 stiffens again at the @@ -214,19 +220,6 @@ It seems $he passed by while you were beating $subSlave.slaveName and found the <<case "pregnancy">> -<<set _clothesTemp = $subSlave.clothes, $subSlave.clothes = "no clothing">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ -<<set $subSlave.clothes = _clothesTemp>> - $subSlave.slaveName gets inspected more regularly than your other slaves, since _he2's quite pregnant. _His2 pregnancy is progressing acceptably, but having _his2 belly inspected gets _him2 <<if $subSlave.pregSource == -1>> extremely eager to feel more of _his2 <<= WrittenMaster($subSlave)>>'s seed in _his2 fertile <<if $subSlave.mpreg == 1>>rear<<else>>cunt<</if>>. $subSlave.slaveName has been a good _girl2, @@ -367,19 +360,6 @@ It seems $he passed by while you were enjoying the heavily pregnant $subSlave.sl <<case "boobs">> -<<set _clothesTemp = $subSlave.clothes, $subSlave.clothes = "no clothing">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ -<<set $subSlave.clothes = _clothesTemp>> - $subSlave.slaveName is on lunch duty today. That means that as you eat your working lunch, _he2 sits on the edge of your desk right next to you, so that <<if $subSlave.belly >= 100000>>a nipple is<<else>>_his2 nipples are<</if>> conveniently at mouth height. Whenever you feel thirsty, you lean over<<if $subSlave.nipples == "partially inverted" || $subSlave.nipples == "inverted">>, pop one out,<<elseif $subSlave.nipples == "fuckable">>, slip your tongue deep inside,<</if>> and take some of _his2 creamy, slightly vanilla-toned milk straight from the source. Every time you do, _he2 shudders convulsively, <<if canTalk($subSlave)>> giving little mewling whimpers. @@ -428,17 +408,6 @@ It seems $he passed by while you were drinking from $subSlave.slaveName and foun <<case "submissive">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ - $subSlave.slaveName is lying on the edge of your desk with _his2<<if $subSlave.belly >= 1500>> bloated<</if>> body helpless beneath you, your <<if $PC.dick == 1>>dick<<else>>strap-on<</if>> in _him2, and your hands around _his2 neck. It's just breath play, and you're practiced enough that _he2's in no danger. _He2's such a sexual submissive that _he2 sometimes acts out if not managed. This happens when _he2 feels the urge to misbehave in order to access punishment, so you personally ensure that _he2 can indulge _his2 submissiveness when _he2 needs it. _He2 does not orgasm with you, _his2 complete servitude to your pleasure fulfilling a deeper need than that. _He2 leaves your office with a serene look on _his2 face, passing <<EventNameLink>>, who is <<if $activeSlave.amp == 1>> propped limblessly nearby. $He has @@ -483,17 +452,6 @@ It seems $he passed by while you were dominating $subSlave.slaveName. <<if $acti <<case "buttslut">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ - In the middle of the afternoon, you take a break from work to fuck $subSlave.slaveName in your office. $subSlave.slaveName is such a complete buttslut that _he2's enjoying _himself2 to an almost indecent degree: moaning, begging, or just smiling idiotically with _his2 mouth open and _his2 tongue lolling. After you finish and _he2 leaves, you notice $activeSlave.slaveName at the door to your office. You call $his in. <br><br> <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused: @@ -530,19 +488,6 @@ It seems $he passed by while you were buttfucking $subSlave.slaveName and found <<case "cumslut">> -<<set _clothesTemp = $subSlave.clothes, $subSlave.clothes = "no clothing">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ -<<set $subSlave.clothes = _clothesTemp>> - You wake up to the sensation of $subSlave.slaveName eagerly sucking your dick. _He2's industriously pumping _his2 mouth up and down on your member. In truth, $subSlave.slaveName doesn't give the perfect blowjob: _he2 loves cum so much that _he2 mostly enjoys oral sex in an anticipatory way, and usually works to make the recipient cum as soon as possible so as to get _his2 favorite treat into _his2 mouth quicker. Still, _his2 enthusiasm is nice and _he2 does have permission to wake you at your usual time in this way. As you get up after finishing, you notice <<EventNameLink>> at the door to your bedroom. You call $him in. <br><br> <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused: @@ -579,17 +524,6 @@ It seems $he passed by while $subSlave.slaveName was blowing you. $He swallows p <<case "humiliation">> -/* 000-250-006 */ -<<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> -<</if>> -/* 000-250-006 */ - You have $subSlave.slaveName pinned up against a railing on a balcony that overlooks a public atrium. Passersby below cannot see you, but they can certainly see $subSlave.slaveName's upper body as _he2 takes your dick. _He2's blushing furiously with the sex and with _his2 trademark mixed arousal and embarrassment at having an audience. _He2 makes a show of trying to disguise the fact that _he2's getting railed, but it's obvious. When you finish, you pull _him2 off the railing so _he2 can clean up. <<EventNameLink>> <<if canSee($activeSlave)>>saw<<elseif canHear($activeSlave)>>heard<<else>>felt the heat from<</if>> the denouement of this exhibitionist fun, and seems intrigued. <br><br> <<EventNameLink>> hesitates before explaining $himself, and the $desc is obviously aroused: diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 2d03b89a111d5d735af120eadeb973ac10ab6041..15f5ee9a375e8165f47792aeb6a0570955fe1d11 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -43,7 +43,7 @@ <<set _clothesTemp = $activeSlave.clothes>> <<switch $RESSevent>> -/*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ +/*Some events start with the slave naked (any event that starts with the daily inspection, for example). Here we switch their clothing just for the image to load, then switch it back quickly so the player's choice is not messed up.*/ <<case "devoted lotion" "sore shoulders" "bed snuggle" "confident tanning" "devoted nympho" "devoted exhibition" "permitted masturbation" "terrified inspection" "spa boobs" "resistant shower" "resistant gelding" "rebellious arrogant" "bondage gear" "vocal disobedience" "heavy piercing" "resting amp" "age implant" "shift masturbation" "shift sleep" "slave dick huge" "obedient idiot" "tendon fall" "unhappy virgin" "fearful balls" "extreme aphrodisiacs" "shaped areolae" "huge tits" "trusting HG" "ignorant horny" "used whore" "restricted smart" "restricted profession" "mods please" "penitent" "devoted waist" "muscles" "obedient girlish" "huge naturals" "hugely pregnant" "slave dick on slave" "slave clit on slave" "language lesson" "kitchen molestation" "mindbroken morning" "sleeping ambivalent" "sexy succubus" "PA flirting" "fucktoy tribbing" "tittymonster inspection" "bonded love" "bad dream" "cockfeeder resistance" "suppository resistance" "shower slip" "happy dance" "plimb help" "orchiectomy please" "torpedo squeeze" "retching cum feeding" "subjugation blues" "transition anxiety" "moist pussy" "breast expansion blues" "gaped asshole" "ara ara" "im scared" "ass fitting" "young PC age difference" "old PC age difference" "devoted educated slave" "devoted shortstack" "desperate null" "implant inspection" "back stretch" "modest clothes">> <<set $activeSlave.clothes = "no clothing">> <<case "whore rebellious">> @@ -105,18 +105,20 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> + <div class="imageColumn"> <div class="imageRef medImg"> - <<SlaveArt _newSlaves[2] 2 0>> + <<SlaveArt $activeSlave 2 0>> </div> <div class="imageRef medImg"> - <<SlaveArt _newSlaves[1] 2 0>> + <<SlaveArt _newSlaves[0] 2 0>> </div> <div class="imageRef medImg"> - <<SlaveArt _newSlaves[0] 2 0>> + <<SlaveArt _newSlaves[1] 2 0>> </div> <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <<SlaveArt _newSlaves[2] 2 0>> </div> + </div> <</if>> /* 000-250-006 */ </span> @@ -1464,7 +1466,7 @@ tits dominate $his figure, but the real attention getter are $his unique, $activ <<case "huge tits">> -There is a horrible crash from the shower. You rush in to see <<EventNameLink>> face down and covered in soap. $He's uninjured, but $his tits are so huge that, soapy as $he is, $he can't seem to stand again. $His udders have $him pinned to the ground with $his legs sticking out of the shower. $He pleads +There is a horrible crash from the shower. You rush in to see <<EventNameLink>> face-down and covered in soap. $He's uninjured, but $his tits are so huge that, soapy as $he is, $he can't seem to stand again. $His udders have $him pinned to the ground with $his legs sticking out of the shower. $He pleads <<if ($activeSlave.lips > 70)>> through $his huge lips, <<elseif ($activeSlave.lipsPiercing+$activeSlave.tonguePiercing > 2)>> @@ -4082,7 +4084,7 @@ says a third, obviously smitten. "I'd give anything to have a night with $him." Although your life as an arcology owner comes with many associated privileges, extended idleness to bask in your luxury is not often among them. Thankfully, $assistantName knows better than to let you run yourself ragged from the weight of your assorted responsibilities and often allots time in the evenings of your active schedule to simply relax. <br><br> -Of course, no self respecting arcology owner could be expected to enjoy a lazy night of idle relaxation on their own. As you resolve the last of your most pressing responsibilities for the evening, $assistantName directs one of your attentive slaves to gently guide you away from the unending burdens of running your arcology. Leaning against the doorway and wearing a facsimile of what an old world woman might wear on a casual night in, <<EventNameLink>> +Of course, no self respecting arcology owner could be expected to enjoy a lazy night of idle relaxation on their own. As you resolve the last of your most pressing responsibilities for the evening, $assistantName directs one of your attentive slaves to gently guide you away from the unending burdens of running your arcology. Leaning against the doorway and wearing a facsimile of what an old world $woman might wear on a casual night in, <<EventNameLink>> <<if !canTalk($activeSlave)>> asks with a gesture that carries just the right mixture of submission and exaggerated casualness if you'd like to 'hang out.' <<elseif SlaveStatsChecker.checkForLisp($activeSlave)>> @@ -4631,7 +4633,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> "What doe<<s>> that mean <<Master>>?" <</if>> - You quickly approach and catch $him, forcing $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid <<else>>distended <</if>><</if>>body face down onto the couch<<if $activeSlave.belly >= 100000>> as best you can<</if>>. $He <<if canSee($activeSlave)>>watches you carefully<<else>>listens to your movements<</if>> as you size up $his fully erect + You quickly approach and catch $him, forcing $his <<if $activeSlave.belly >= 1500>><<if $activeSlave.bellyPreg >= 1500>>gravid <<else>>distended <</if>><</if>>body face-down onto the couch<<if $activeSlave.belly >= 100000>> as best you can<</if>>. $He <<if canSee($activeSlave)>>watches you carefully<<else>>listens to your movements<</if>> as you size up $his fully erect <<if $activeSlave.dick == 1>> tiny dick. <<elseif $activeSlave.dick == 2>> @@ -4748,7 +4750,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<set $activeSlave.balls = 0, $activeSlave.health -= 10, $activeSlave.trust -= 20>> <<EventNameDelink $activeSlave>> <<replace "#result">> - You bluntly tell $him $he is becoming potent, and that is something you can't allow to roam unchecked amongst your fertile slaves. You drag $him to the remote surgery and strap $him face down with $his legs spread <<if $activeSlave.belly >= 5000>>$his _belly rounded belly forcing $his rear into the air<</if>>. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He numbly carries on, terrified. + You bluntly tell $him $he is becoming potent, and that is something you can't allow to roam unchecked amongst your fertile slaves. You drag $him to the remote surgery and strap $him face-down with $his legs spread <<if $activeSlave.belly >= 5000>>$his _belly rounded belly forcing $his rear into the air<</if>>. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He numbly carries on, terrified. <</replace>> <</link>> <</if>> @@ -5277,7 +5279,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> You struggle underneath $his grip and manage to wriggle your arms free. You push at the amorous bull and attempt to lift the heavy $girl off you. $activeSlave.slaveName takes this poorly and rams $his gigantic dick straight into your vagina and through your cervix. You pass out from the pain. <br><br> - You awaken some time later, your crotch extremely sore and your belly slightly bloated. Most of $his deposit has flowed back out of you, but you still feel a fair amount sloshing inside you. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. + You awaken some time later, your crotch extremely sore and your belly slightly bloated. Most of $his deposit has flowed back out of you, but you still feel a fair amount sloshing inside you. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. <<= knockMeUp($PC, 100, 0, $activeSlave.ID, 1)>> <<set $activeSlave.penetrativeCount += 4, $penetrativeTotal += 4>> <</if>> @@ -5288,7 +5290,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<replace "#result">> $He is far stronger than you expected and has you trapped in a compromising position. You've seen $activeSlave.slaveName fuck before; $he's a quick shot, only in it to get $his mate pregnant. $He cums so hard $he nearly blacks out; that will be your best chance to escape $him. You question your choice as $his gigantic dick pokes at your crotch, eager to find the egg at the end of the tunnel. $He lacks even the basic understanding of foreplay, you realize, as $he drives $his cock deep into your pussy. You groan with pain at the sheer size of the rod stretching out your poor hole and struggle to hold back the tears once $he starts thrusting. There is no pleasure for you here as $he batters your cervix; should $he force through it, you may not be able to throw $him off. With a loud grunt, $he does just that. $He may be deep seated now, but you aren't going to give up. You feel $him tense up; now's your chance! As $he climaxes, you slip a leg around $his side and push $him with all your might. $He flops over, pulling out as $he spurts $his massive load and nailing you right in the face. You spit the jism out of your mouth and quickly restrain the dribbling bull. <br><br> - Panting, you look over the damage: Your pussy is gaping, there is semen everywhere, and given the steady flow from you, $he likely got some of that ejaculation in you. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you, a fertile woman. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, $he knew you were fertile and went right for the prize; it would be wise to assume you've been impregnated. + Panting, you look over the damage: Your pussy is gaping, there is semen everywhere, and given the steady flow from you, $he likely got some of that ejaculation in you. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you, a fertile _womanP. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, $he knew you were fertile and went right for the prize; it would be wise to assume you've been impregnated. <<= knockMeUp($PC, 20, 0, $activeSlave.ID, 1)>> <<set $activeSlave.penetrativeCount++, $penetrativeTotal++>> <</replace>> @@ -5299,14 +5301,14 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He $He is far stronger than you expected and has you trapped in a compromising position; you shout out for <<if $Bodyguard != 0>>$Bodyguard.slaveName<<elseif $Concubine != 0 && canWalk($Concubine)>>$Concubine.slaveName<<else>>somebody<</if>> to help you. You've seen $activeSlave.slaveName fuck before; $he's a quick shot, only in it to get $his mate pregnant. You question if anyone is coming as $his gigantic dick pokes at your crotch, eager to find the egg at the end of the tunnel. $He lacks even the basic understanding of foreplay, you realize, as $he drives $his cock deep into your pussy. You groan with pain at the sheer size of the rod stretching out your poor hole and struggle to hold back the tears once $he starts thrusting. There is no pleasure for you here as $he batters your cervix; you barely stop yourself from screaming out as $he slams through your final defense <<if $Bodyguard != 0>> <<setLocalPronouns $Bodyguard 2>> - and gets tackled off of you by $Bodyguard.slaveName. After a quick tussle, the amorous cow is restrained and leaking cum on your floor. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. $Bodyguard.slaveName is visibly disturbed by an assault on you happening within _his2 defensive perimeter and @@.hotpink;vows@@ to not allow it to happen again. + and gets tackled off of you by $Bodyguard.slaveName. After a quick tussle, the amorous cow is restrained and leaking cum on your floor. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. $Bodyguard.slaveName is visibly disturbed by an assault on you happening within _his2 defensive perimeter and @@.hotpink;vows@@ to not allow it to happen again. <<set $slaves[$slaveIndices[$Bodyguard.ID]].devotion += 2>> <<elseif $Concubine != 0 && canWalk($Concubine)>> - and gets tackled off of you by $Concubine.slaveName. After a violent struggle, the amorous cow is restrained and leaking cum on your floor. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. $Concubine.slaveName is @@.gold;visibly shaken@@ by the assault and was @@.red;badly beaten@@ by the muscular slave during the fight. + and gets tackled off of you by $Concubine.slaveName. After a violent struggle, the amorous cow is restrained and leaking cum on your floor. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. $Concubine.slaveName is @@.gold;visibly shaken@@ by the assault and was @@.red;badly beaten@@ by the muscular slave during the fight. <<set _c = $slaveIndices[$Concubine.ID]>> <<set $slaves[_c].health -= 40, $slaves[_c].trust -= 5>> <<else>> - and cums directly into your exposed womb. $He backs off, possibly startled by the shouting, giving you the chance to slip away to safety. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, $he knew you were fertile and went right for the prize; it would be wise to assume $he's done $his job well. + and cums directly into your exposed womb. $He backs off, possibly startled by the shouting, giving you the chance to slip away to safety. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, $he knew you were fertile and went right for the prize; it would be wise to assume $he's done $his job well. <<= knockMeUp($PC, 50, 0, $activeSlave.ID)>> <<set $activeSlave.penetrativeCount++, $penetrativeTotal++>> <</if>> @@ -5327,7 +5329,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> _He2 gestures _his2 apologies and points to the bound and gagged $activeSlave.slaveName, before expressing _his2 concerns about your visible state. <</if>> - You do your best to calm _him2 down; this is your fault after all. $activeSlave.slaveName's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. As for the belly, it'll go down soon, you're sure. + You do your best to calm _him2 down; this is your fault after all. $activeSlave.slaveName's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. As for the belly, it'll go down soon, you're sure. <<elseif $Bodyguard != 0>> <<setLocalPronouns $Bodyguard 2>> with $Bodyguard.slaveName sobbing over your swollen belly. @@ -5337,9 +5339,9 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<else>> _He2 gestures _his2 apologies and points to the bound and gagged $activeSlave.slaveName, before begging you to punish _him2 too for _his2 failures as your guardian. <</if>> - You do your best to calm _him2 down; this is your fault after all. $activeSlave.slaveName's a breeding bull and you, a fertile woman. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. + You do your best to calm _him2 down; this is your fault after all. $activeSlave.slaveName's a breeding bull and you, a fertile _womanP. $He only did what $he was conditioned for; the blame is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. <<else>> - to $activeSlave.slaveName snoring beside you, $his massive cock soft and slightly drooling cum. Most of $his deposit has flowed back out of you, but you're still heavy with sperm. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile woman. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. + to $activeSlave.slaveName snoring beside you, $his massive cock soft and slightly drooling cum. Most of $his deposit has flowed back out of you, but you're still heavy with sperm. You sigh to yourself, knowing you have nobody to blame but yourself for this. $He's a breeding bull and you a fertile _womanP. $He only did what $he was conditioned for; the fault is on you for ignoring the warning signs and not taking the proper precautions. Still, there is no doubt in your mind that @@.lime;you're pregnant@@ with $his child. <</if>> <<= knockMeUp($PC, 100, 0, $activeSlave.ID, 1)>> <<set $activeSlave.penetrativeCount += 4, $penetrativeTotal += 4>> @@ -5921,9 +5923,9 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <</if>> You tell $assistantName to inform your business contacts that you'll be attending the meeting by telepresence. A camera mounted above you focuses tightly on your face, making it look like you're relaxing, but concealing the fact that you have a naked <<if $activeSlave.physicalAge > 30>> - woman + $woman <<elseif $activeSlave.physicalAge > 18>> - girl + $girl <<elseif $activeSlave.physicalAge > 12>> teen <<else>> @@ -5941,9 +5943,9 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<replace "#result">> You tell $assistantName to cancel the appointment, plant a kiss atop your bedmate's sleeping head, and go back to sleep yourself, with the peerless comfort of a warm, naked <<if $activeSlave.physicalAge > 30>> - woman + $woman <<elseif $activeSlave.physicalAge > 18>> - girl + $girl <<elseif $activeSlave.physicalAge > 12>> teen <<else>> @@ -6970,7 +6972,7 @@ brought in to you. This time <<EventNameLink>> has been sent to deliver it. $He <<replace "#result">> $He's filled with anxiety as you <<if $activeSlave.belly < 1500>> - lay $him face down on your desk, + lay $him face-down on your desk, <<else>> direct $him to lay on $his side on your desk<<if $activeSlave.belly >= 300000>> with $his _belly belly hanging over the edge<</if>>, <</if>> @@ -7713,7 +7715,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Extirpate this foolishness with pain">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You seize $him and begin to bind $him for appropriate punishment. $activeSlave.slaveName does not resist you physically at first. $He finds $himself tied bent over your desk, face down, with $his arms locked behind $him<<if $activeSlave.belly >= 1500>> and $his _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly hanging off the edge<</if>>. $He struggles a little when you insert your cock into $his <<if ($activeSlave.anus == 1)>>poor little anus<<elseif ($activeSlave.anus == 2)>>whore's butt<<else>>gaping rear end<</if>>, but $his real agony begins when you place $his arms in an inescapable joint lock and apply a little pressure. It doesn't damage $him, but it easily causes more pain than $he is capable of resisting. $He does a little dance within $his bindings, squealing and involuntarily clenching you nicely with $his anal ring. You require $him to recite the litany "My name i<<s>> <<print _slavename>>!", coaching $him with alternate orders and agonizing correction until $he's screaming every word at the top of $his lungs in an endless wail. $His screeching rises and falls as $he feels the burning sensation of your merciless use of $his ass, but $he works $his lungs hard to avoid as much pain as $he can. When you've climaxed and cast off $his bindings, you make $him repeat $his name one last time as $he stiffly rubs $his abused arms and anus. $He does, @@.gold;without hesitation.@@ + You seize $him and begin to bind $him for appropriate punishment. $activeSlave.slaveName does not resist you physically at first. $He finds $himself tied bent over your desk, face-down, with $his arms locked behind $him<<if $activeSlave.belly >= 1500>> and $his _belly <<if $activeSlave.bellyPreg >= 1500>>pregnant <</if>>belly hanging off the edge<</if>>. $He struggles a little when you insert your cock into $his <<if ($activeSlave.anus == 1)>>poor little anus<<elseif ($activeSlave.anus == 2)>>whore's butt<<else>>gaping rear end<</if>>, but $his real agony begins when you place $his arms in an inescapable joint lock and apply a little pressure. It doesn't damage $him, but it easily causes more pain than $he is capable of resisting. $He does a little dance within $his bindings, squealing and involuntarily clenching you nicely with $his anal ring. You require $him to recite the litany "My name i<<s>> <<print _slavename>>!", coaching $him with alternate orders and agonizing correction until $he's screaming every word at the top of $his lungs in an endless wail. $His screeching rises and falls as $he feels the burning sensation of your merciless use of $his ass, but $he works $his lungs hard to avoid as much pain as $he can. When you've climaxed and cast off $his bindings, you make $him repeat $his name one last time as $he stiffly rubs $his abused arms and anus. $He does, @@.gold;without hesitation.@@ <<set $activeSlave.trust -= 5>> <<= AnalVCheck()>> <</replace>> @@ -7855,9 +7857,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<if $activeSlave.belly >= 300000>> You carefully balance the protesting, defenseless torso atop $his own _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>>. <<elseif $activeSlave.belly >= 5000>> - You place the protesting, defenseless torso on your lap, face down with $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>> belly between your legs. + You place the protesting, defenseless torso on your lap, face-down with $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnant <</if>> belly between your legs. <<else>> - You place the protesting, defenseless torso on your desk, face down. + You place the protesting, defenseless torso on your desk, face-down. <</if>> <</if>> You spank $him severely, leaving $his buttocks bright pink. $He must count the strokes or have $his punishment start over. Sobbing, $he counts @@ -11216,7 +11218,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<elseif $activeSlave.belly < 1500>> lie on $his side. <<else>> - lie face down. + lie face-down. <</if>> $He <<if $activeSlave.belly >= 10000>>struggles to heft $his <<if $activeSlave.bellyPreg >= 3000>>gravid <</if>>body<<else>>clambers<</if>> up, and you let $his lie there for a while, tortured by anticipation and arousal, before giving $his nearest buttock a harsh open-handed slap. The shock and pain send $him over the edge immediately, and $he grinds forward into the desk involuntarily; the feeling of the cool desk against $his <<if ($activeSlave.dick > 0)>>dickhead<<elseif $activeSlave.vagina == -1>>crotch<<else>>mons<</if>> slams $him into a second climax, and $he sobs with overstimulation. You keep $him there for a good long while, using $him as a desktop toy that makes interesting noises when you hit it. <</switch>> @@ -11392,7 +11394,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<link "Have some fun with $him once $he's using the milkers">> <<EventNameDelink $activeSlave>> <<replace "#result">> - $activeSlave.slaveName is face down on a special bench much like one used for massages<<if $activeSlave.belly >= 1500>>, though with a hole for $his <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> to fit into<</if>>, with $his breasts hanging down so the milkers can work away at $his nipples. As such, $his back and ass are on display as $he grunts and groans with relief. $He starts at your hand on $his back but <<if $activeSlave.devotion > 20>>quickly<<else>>slowly<</if>> relaxes. + $activeSlave.slaveName is face-down on a special bench much like one used for massages<<if $activeSlave.belly >= 1500>>, though with a hole for $his <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>belly<</if>> to fit into<</if>>, with $his breasts hanging down so the milkers can work away at $his nipples. As such, $his back and ass are on display as $he grunts and groans with relief. $He starts at your hand on $his back but <<if $activeSlave.devotion > 20>>quickly<<else>>slowly<</if>> relaxes. <<if canDoVaginal($activeSlave)>> The stimulation of the milking has $his soaking wet, and $he whimpers with pleasure as you enter $his sopping pussy. $He's so wet that $his plentiful vaginal secretions make it <<if canDoAnal($activeSlave)>> @@ -13418,7 +13420,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<if $activeSlave.belly >= 5000>> on $his side on it. You lie next to $him and <<else>> - face down on it. You + face-down on it. You <</if>> run your hands across $his sweaty <<if $seeRace == 1>>$activeSlave.race <</if>>muscles before giving $him a thorough, skillful and very intense massage. $He moans and grunts as you work the lactic acid out of $his muscles, slowly reducing $him to a puddle of ripped sex slave. As you're rubbing $him down to finish the massage, $he meekly begs you to fuck $him. <<if !canDoVaginal($activeSlave) && !canDoAnal($activeSlave)>> @@ -13564,9 +13566,9 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<if $activeSlave.belly >= 300000>> lean over $his _belly belly<<if $PC.dick == 0>> while you don a strap-on<</if>>. <<elseif $activeSlave.belly >= 5000>> - lean face down into the couch cushions<<if $PC.dick == 0>> while you don a strap-on<</if>>. + lean face-down into the couch cushions<<if $PC.dick == 0>> while you don a strap-on<</if>>. <<else>> - lie face down on the couch<<if $PC.dick == 0>> while you don a strap-on<</if>>. + lie face-down on the couch<<if $PC.dick == 0>> while you don a strap-on<</if>>. <</if>> $He does doubtfully, only realizing what you intend when $he feels <<if $PC.dick == 0>>the strap-on<<else>>your dickhead<</if>> forcing its way between $his narrow buttcheeks. <<= AnalVCheck()>> @@ -15574,7 +15576,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <br><<link "Cum on $his face">> <<EventNameDelink $activeSlave>> <<replace "#result">> - You stand over $him, quietly masturbating while watching $him sleep. Several of $his fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You fancy yourself a bit of a marks<<if $PC.title == 1>>man<<else>>woman<</if>>, and you don't feel the need to bend over $him to score good hits. Your load comes in three main jets: the first hits $him on the nipple, the second tracks up $his sternum and throat, and the third splashes full across $his face as $his eyes fly open<<if $PC.vagina == 1>>, each of these accompanied by some less directionally perfect girlcum<</if>>. $He sputters with surprise and then outrage, but <<if !canSee($activeSlave)>>once $he recognizes your <<if canTaste($activeSlave)>>taste<<else>>presence<</if>> and<<else>>then $he<</if>> realizes who it is standing over $him <<if canSee($activeSlave)>>and<<else>>does $he<</if>> @@.gold;freezes in terror.@@ + You stand over $him, quietly masturbating while watching $him sleep. Several of $his fellow slaves come and go as you do so, but if they're surprised by the sight, they have the presence of mind not to show it. You fancy yourself a bit of a marks<<= _womanP>>, and you don't feel the need to bend over $him to score good hits. Your load comes in three main jets: the first hits $him on the nipple, the second tracks up $his sternum and throat, and the third splashes full across $his face as $his eyes fly open<<if $PC.vagina == 1>>, each of these accompanied by some less directionally perfect girlcum<</if>>. $He sputters with surprise and then outrage, but <<if !canSee($activeSlave)>>once $he recognizes your <<if canTaste($activeSlave)>>taste<<else>>presence<</if>> and<<else>>then $he<</if>> realizes who it is standing over $him <<if canSee($activeSlave)>>and<<else>>does $he<</if>> @@.gold;freezes in terror.@@ <<if $activeSlave.intelligence+$activeSlave.intelligenceImplant > 50>> $He's quick, and $he immediately realizes <<elseif $activeSlave.intelligence+$activeSlave.intelligenceImplant >= -15>> @@ -17398,17 +17400,19 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _newSlaves[2] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _newSlaves[1] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _newSlaves[0] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _newSlaves[0] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _newSlaves[1] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _newSlaves[2] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -18466,7 +18470,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<case "be the Schoolteacher">>($his office in $schoolroomName, where $he'll decide today's lesson), <<case "be the Stewardess">>($his office in $servantsQuartersName, where $he'll divvy out today's tasks), <<case "be the Milkmaid">>($dairyName, to check on the cattle), - <<case "be the Farmer">><<($farmyardName, to tend to the crops), + <<case "be the Farmer">>($farmyardName, to tend to the crops), <<case "be the Wardeness">>($cellblockName, to oversee the inmates), <<case "be your Concubine">>(your bed), <<case "be the Nurse">>($clinicName, to check on the patients), diff --git a/src/uncategorized/RETS.tw b/src/uncategorized/RETS.tw index cb3acdd5794c531f5808e7f7d86fffe41eba0ceb..a85dd814cf3bbb67ee3bc23f1320363db493888f 100644 --- a/src/uncategorized/RETS.tw +++ b/src/uncategorized/RETS.tw @@ -178,11 +178,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -1119,11 +1121,13 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -1146,11 +1150,13 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -1178,11 +1184,13 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -1554,11 +1562,13 @@ $he adds impishly. <<if canHear($subSlave)>>Hearing this<<else>>Realizing your p <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/REresistantmotherdaughter.tw b/src/uncategorized/REresistantmotherdaughter.tw index 59665a7feff6db7850f9605dadef27b450cfc5f7..46e2c4ac1fb71c84e784675e017c980cc91d1580 100644 --- a/src/uncategorized/REresistantmotherdaughter.tw +++ b/src/uncategorized/REresistantmotherdaughter.tw @@ -12,11 +12,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$i] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$i] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/REroyalblood.tw b/src/uncategorized/REroyalblood.tw index e5dbca26f716c7d5093044f8c17b04a63847707f..b0e92526acc188cf611926764e761fc76737c6fd 100644 --- a/src/uncategorized/REroyalblood.tw +++ b/src/uncategorized/REroyalblood.tw @@ -745,7 +745,7 @@ Time is short, but you are well placed to acquire some choice slaves. With an ad <br><br> Eventually they all arrive in your penthouse. The prince and princess are flushed with embarrassment in their compromising position. The former prince is beside _himself2 with rage, but seems to be holding _himself2 back for _his2 little sister's sake, while $he struggles to maintain a façade of poise and grace. The slightest trembling of $his balled up fists, the minute tremors that mar $his immaculate posture, $his inability to meet your eyes with $his own — all signs that $he is still a scared $girl despite all $his royal trappings. Nonetheless, though the princess's court training is unlikely to be very beneficial to $him in $his new life in the penthouse, it does stand in stark contrast to $his more common slave peers. However, the prince's submission to life as a slave is another question entirely. The Queen, on the other hand, seems almost relieved and basks in the opulence of _his3 new surroundings. Yet, it seems likely that _his3 relief has more to do with saving _him3 from a lifetime of gang rape at the mercy of _his3 former subjects, than it does the familiar luxury. _He3 submits to biometric scanning obediently and without fuss<<if $seePreg != 0>>, during which you discover to _his3 surprise that _he3 is pregnant. Since _he3 hasn't begun to show yet, it's unclear whether the child is the former King's or the new arcology owner's. You don't have the means to discern the father of the child, but you notice _he3 cradles _his3 ever so slightly rounded stomach protectively nonetheless<</if>>. Lastly, the ladies seem comforted by the opulence of their new surroundings. Though they still retain much of their aristocratic arrogance, they each submit to biometric scanning with relative obedience. It seems likely that their obedience is borne out of a delusional rationalization that enslavement by one wealthy master is better than enslavement by the unwashed masses they once lorded over. You also scored @@.yellowgreen;<<print cashFormat(_loot)>>@@ in valuables from the raid. <<set $arcologies[0].prosperity = 2>> - <<set _repShares = Math.trunc($rep/-15)>> /*this event is supposed to end in reputation at 0. In order to slice up that pie, we find shares of "everything" here and give them out later, before finally setting leftovers to 0. 3 ladies at one share each, +3 for prince, +4 for queen, +5 for princess is 15 shares.*/ + <<set _repShares = Math.trunc($rep/-15)>> /*this event is supposed to end in reputation at 0. In order to slice up that pie, we find shares of "everything" here and give them out later, before finally setting leftovers to 0. 3 ladies at one share each, +3 for prince, +4 for queen, +5 for princess is 15 shares.*/ /* ladies */ <<for $i = 0; $i < 3; $i++>> diff --git a/src/uncategorized/bodyModificationReaction.tw b/src/uncategorized/bodyModificationReaction.tw index c346dbb3fb476b76b4559278ce8801fe56d249eb..59c445d20d558dc1eed196eade96718c96353434 100644 --- a/src/uncategorized/bodyModificationReaction.tw +++ b/src/uncategorized/bodyModificationReaction.tw @@ -10,34 +10,55 @@ As you cast off $his bindings<<if canSee($activeSlave)>> and <<if ($activeSlave. <<set $activeSlave.health -= 10>> <</if>> <<if $activeSlave.fetish != "mindbroken" && $activeSlave.fuckdoll == 0>> -<<if ($degradation > 10) && ($activeSlave.devotion <= 50) && ($activeSlave.trust < -50)>> - $He is appalled by the whorish spectacle you have made of $him. $He @@.gold;fears@@ you all the more for this but is so terrified of you it does not affect $his submission. - <<set $activeSlave.trust -= 10>> -<<elseif ($degradation > 10) && ($activeSlave.devotion <= 50)>> - $He is appalled by the whorish spectacle you have made of $him. $He @@.mediumorchid;hates@@ and @@.gold;fears@@ you for this. - <<set $activeSlave.devotion -= 10>> - <<set $activeSlave.trust -= 10>> -<<elseif ($degradation > 10)>> - $He is shocked by the whorish spectacle you have made of $him. However, $he is so submissive to your will that $he @@.hotpink;accepts@@ that the slave <<if canSee($activeSlave)>>in the mirror<<else>>$he pictures<</if>> is who $he is now. - <<set $activeSlave.devotion += 4>> -<<elseif ($degradation > 4) && ($activeSlave.devotion <= 20) && ($activeSlave.trust < -20)>> - $He is so afraid of you that $he suppresses any reaction to the slutty modifications you have made to $his body and @@.gold;fears@@ your power to do whatever you like to $him. - <<set $activeSlave.trust -= 5>> -<<elseif ($degradation > 4)>> - $He is surprised with the slutty modifications you have made to $his body. However, $he is so obedient that $he @@.hotpink;accepts@@ your changes. - <<set $activeSlave.devotion += 4>> -<<elseif ($degradation > 1) && ($activeSlave.devotion < -20) && ($activeSlave.trust < 20)>> - $He is @@.gold;afraid@@ that $he has been permanently altered against $his will, but is also scared of your reaction to any objection and suppresses $his disgust. - <<set $activeSlave.trust -= 5>> -<<elseif ($degradation > 1) && ($activeSlave.devotion < -20)>> - $He is @@.mediumorchid;angry@@ and @@.gold;afraid@@ that $he has been permanently altered against $his will. - <<set $activeSlave.devotion -= 5>> - <<set $activeSlave.trust -= 5>> -<<elseif ($degradation > 1)>> - $He is saddened to have been altered against $his will. However, $he realizes that $he is a slave, so $he @@.hotpink;accepts@@ your work. - <<set $activeSlave.devotion += 4>> -<<else>> - $He shows no real reaction to your modifications. -<</if>> + <<if $degradation > 10>> + <<if $activeSlave.devotion < -20 && $activeSlave.trust > 20>> + $He is appalled by the whorish spectacle you have made of $him. $He @@.mediumorchid;lothes@@ you all the more for this, but $his resolve is @@.gold;whittled down@@ by your power over $him. + <<set $activeSlave.devotion -= 10, $activeSlave.trust -= 10>> + <<elseif $activeSlave.devotion <= 50 && $activeSlave.trust < -50>> + $He is appalled by the whorish spectacle you have made of $him. $He @@.gold;fears@@ you all the more for this but is so terrified of you it does not affect $his submission. + <<set $activeSlave.trust -= 10>> + <<elseif $activeSlave.devotion <= 50>> + $He is appalled by the whorish spectacle you have made of $him. $He @@.mediumorchid;hates@@ and @@.gold;fears@@ you for this. + <<set $activeSlave.devotion -= 10, $activeSlave.trust -= 10>> + <<elseif $activeSlave.devotion <= 90>> + $He is shocked by the whorish spectacle you have made of $him. However, $he is @@.hotpink;so submissive to your will@@ that $he accepts that the slave <<if canSee($activeSlave)>>in the mirror<<else>>$he pictures<</if>> is who $he is now. + <<set $activeSlave.devotion += 3>> + <<else>> + $He fully understands that $his body belongs to you and that it is yours to modify as you see fit, the slave <<if canSee($activeSlave)>>in the mirror<<else>>$he pictures<</if>> is still somewhat shocking to $him. Like a good slave<<= $girl>> though, $he can't wait to show off your changes. + <</if>> + <<elseif $degradation > 4>> + <<if $activeSlave.devotion < -20 && $activeSlave.trust > 20>> + $He is disgusted by the slutty modifications you have made to $his body. $He @@.mediumorchid;hates@@ for it, but begins to @@.gold;fear@@ the power you hold over $him. + <<set $activeSlave.devotion -= 5, $activeSlave.trust -= 5>> + <<elseif $activeSlave.devotion <= 20 && $activeSlave.trust < -20>> + $He is so afraid of you that $he suppresses any reaction to the slutty modifications you have made to $his body and @@.gold;fears@@ your power to do whatever you like to $him. + <<set $activeSlave.trust -= 5>> + <<elseif $activeSlave.devotion < 50>> + $He is surprised with the slutty modifications you have made to $his body. However, $he is so obedient that $he @@.hotpink;accepts your changes.@@ + <<set $activeSlave.devotion += 2>> + <<else>> + $He is surprised with the slutty modifications you have made to $his body but thrilled that you'd put so much into a slave like $him. + <</if>> + <<elseif $degradation > 1>> + <<if $activeSlave.devotion < -20 && $activeSlave.trust > 20>> + While $he hates being permanently altered by you, $he @@.orangered;refuses to give you any reaction.@@ + <<set $activeSlave.trust += 1>> + <<elseif $activeSlave.devotion < -20 && $activeSlave.trust < 20>> + $He is @@.gold;afraid@@ that $he has been permanently altered against $his will, but is also scared of your reaction to any objection and suppresses $his disgust. + <<set $activeSlave.trust -= 5>> + <<elseif $activeSlave.devotion < -20>> + $He is @@.mediumorchid;angry@@ and @@.gold;afraid@@ that $he has been permanently altered against $his will. + <<set $activeSlave.devotion -= 5, $activeSlave.trust -= 5>> + <<elseif $activeSlave.devotion < 0>> + $He is saddened to have been altered against $his will, but @@.hotpink;begins to understand@@ that it is not $his decision. + <<set $activeSlave.devotion += 1>> + <<elseif $activeSlave.devotion < 20>> + $He is saddened to have been altered against $his will. However, $he realizes that $he is a slave, so $he accepts your work. + <<else>> + $He fully understands that $his body belongs to you and that it is yours to modify as you see fit. + <</if>> + <<else>> + $He shows no real <<if $activeSlave.devotion < -20 && $activeSlave.trust > 20>>interest in<<else>>reaction to<</if>> your modifications. + <</if>> <</if>> <<set $degradation = 0>> diff --git a/src/uncategorized/costsBudget.tw b/src/uncategorized/costsBudget.tw index 9a0a76788dd5459d8c24f2a38d645b03295e544d..91585b2133dcb644703afde1c4fd4bac89b3fd93 100644 --- a/src/uncategorized/costsBudget.tw +++ b/src/uncategorized/costsBudget.tw @@ -128,7 +128,7 @@ for(var i = 0; i < State.variables.lastWeeksCashIncome.length; i++){ <<print budgetLine("weather", "<<if $lastWeeksCashExpenses.weather < 0 && $weatherCladding == 0>> - Weather is causing @@.red;expensive damage.@@ Consider a protective [[upgrade|Manage Arcology][$nextButton = \"Back to Budget\", $nextLink = \"Costs Budget\"]]. + Weather is causing @@.red;expensive damage.@@ Consider a protective [[upgrade|Manage Arcology][$nextButton = \"Back to Budget\", $nextLink = \"Costs Budget\"]]. <<else>> Weather <</if>>")>> diff --git a/src/uncategorized/costsReport.tw b/src/uncategorized/costsReport.tw index 71acb6f942c242ce81e7ef69fd797dc0d9050f71..18fac0b47ff03305456796fa86ea478344ea1ae3 100644 --- a/src/uncategorized/costsReport.tw +++ b/src/uncategorized/costsReport.tw @@ -817,7 +817,7 @@ $nursery > 0 || $masterSuiteUpgradePregnancy > 0 || $incubator > 0 || <<set _total = 0>> <<set _SL = $slaves.length>> <<for $i = 0; $i < _SL; $i++>> <<capture $i>> - <br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> + <br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> [[$slaves[$i].slaveName|Slave Interact][$activeSlave = $slaves[$i]]] will $slaves[$i].assignment. <<SlaveExpenses $slaves[$i]>> <</capture>> diff --git a/src/uncategorized/costsReportSlaves.tw b/src/uncategorized/costsReportSlaves.tw index 68276158fa87dfcb7adb8d0ab89bb9287d745226..3399fecd92dfe8a6509c01412263bd4e8a05718d 100644 --- a/src/uncategorized/costsReportSlaves.tw +++ b/src/uncategorized/costsReportSlaves.tw @@ -6,7 +6,7 @@ <<set _total = 0>> <<set _SL = $slaves.length>> <<for $i = 0; $i < _SL; $i++>> <<capture $i>> - <br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> + <br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> [[$slaves[$i].slaveName|Slave Interact][$activeSlave = $slaves[$i]]] will $slaves[$i].assignment. <<SlaveExpenses $slaves[$i]>> <</capture>> diff --git a/src/uncategorized/dispensary.tw b/src/uncategorized/dispensary.tw index 3e99655d894a21c15ef206da6486969aae3e98c4..ac03858e2cdb25fc0f30ba76665eb38e51785a5d 100644 --- a/src/uncategorized/dispensary.tw +++ b/src/uncategorized/dispensary.tw @@ -1,6 +1,5 @@ :: Dispensary [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Manage Penthouse", $showEncyclopedia = 1, $encyclopedia = "The Pharmaceutical Fab.", _PCSkillCheck = Math.min($upgradeMultiplierMedicine, $HackingSkillMultiplier)>> <br> diff --git a/src/uncategorized/fullReport.tw b/src/uncategorized/fullReport.tw index a36372da4c246bfd4fa4427047fca67d6aabd750..6e111eb0edeec02858a2f51dcb54447230f0739b 100644 --- a/src/uncategorized/fullReport.tw +++ b/src/uncategorized/fullReport.tw @@ -3,7 +3,7 @@ /* 000-250-006 */ <<if $seeImages && $seeReportImages>> <div class="imageRef medImg"> - <<SlaveArt $slaves[$i] 2 0>> + <<SlaveArt $slaves[$i] 2 0>> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/genericPlotEvents.tw b/src/uncategorized/genericPlotEvents.tw index d580ad16b373492390139b04f2bc2154681b7e80..e36afbcbf1cb3ff98418d26b2251f596118f711c 100644 --- a/src/uncategorized/genericPlotEvents.tw +++ b/src/uncategorized/genericPlotEvents.tw @@ -493,7 +493,7 @@ When the aircraft lands at your penthouse pad, the would-be escapees are still u <<set $one_time_age_overrides_pedo_mode = 1>> /% Old enough to be pregnant. %/ <<set $oneTimeDisableDisability = 1>> <<set $fixedRace = "white">> - <<set _missLeader = GenerateNewSlave("XX")>> + <<set _missLeader = GenerateNewSlave("XX")>> <<set _missLeader.origin = "She was the head nun of a conquered mission. Once claimed, she was reduced to nothing more than a cum dump for her black masters.">> <<set _missLeader.career = "a nun">> <<set _missLeader.intelligence = random(16,80)>> @@ -1299,7 +1299,7 @@ A screen opposite your desk springs to life, <<if $assistant == 0>>showing your <<set $activeSlave.sexualFlaw = "none">> <<set $activeSlave.behavioralFlaw = "odd">> <<setLocalPronouns $activeSlave>> - You decide to drop the really rare specimen, and place your taser slug in $his leg. $He goes stiff and slumps to the grass, squealing with pain since the taser robbed $his ability to break $his fall, leading $him to land on nearly <<if $showInches == 2>>a foot<<else>>thirty centimeters<</if>> of flaccid cock. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Apathy fills your supine prize's eyes, and $he simply lies face down and quiescent. $He obeys orders to roll over so you can see what you've gotten, however. $He's clearly a work of long and careful hormonal treatment. $He has no implants, but sports big breasts, feminine hips, a nice butt, plush lips, and a huge dick. When you fuck $his pussy and then $his anus, $he even gets a massive erection, showing that $he isn't even on hormone treatment to maintain this unusual set of attributes. + You decide to drop the really rare specimen, and place your taser slug in $his leg. $He goes stiff and slumps to the grass, squealing with pain since the taser robbed $his ability to break $his fall, leading $him to land on nearly <<if $showInches == 2>>a foot<<else>>thirty centimeters<</if>> of flaccid cock. Your taser slug is linked to $assistantName, who hits $him again whenever $he tries to rise. Meanwhile, an athletic slave has successfully crossed the lawn, and is sobbing with joy as _hisU manumission forms are completed. Apathy fills your supine prize's eyes, and $he simply lies face-down and quiescent. $He obeys orders to roll over so you can see what you've gotten, however. $He's clearly a work of long and careful hormonal treatment. $He has no implants, but sports big breasts, feminine hips, a nice butt, plush lips, and a huge dick. When you fuck $his pussy and then $his anus, $he even gets a massive erection, showing that $he isn't even on hormone treatment to maintain this unusual set of attributes. <<run newSlave($activeSlave)>> /* skip New Slave Intro */ <</replace>> <</link>> diff --git a/src/uncategorized/jeSlaveDispute.tw b/src/uncategorized/jeSlaveDispute.tw index 5cb5d532e12931ab03478070604fa353dc82119b..a8d79a8c225a6a13eacc5ac4efe983a212e825b6 100644 --- a/src/uncategorized/jeSlaveDispute.tw +++ b/src/uncategorized/jeSlaveDispute.tw @@ -374,6 +374,7 @@ <<set $activeSlave.oldDevotion = $activeSlave.devotion>> <<set $activeSlave.indenture = random(52,78)>> <<set $activeSlave.indentureRestrictions = 2>> + <<set $activeSlave.origin = "You took over her indenture after she launched a legal complaint against an abusive master.">> <<run cashX(forceNeg($contractCost), "slaveTransfer")>> <<replace "#result">> You offer to simply buy out the indenture contract, thereby acquiring $him, to which both parties readily agree. This decision is viewed as @@.green;incredibly generous@@ by both your arcology's romantically-minded and financially-inclined citizens. For their part, your new servant is hopeful that you will be more considerate of $his health, while the former holder is just happy to have $him off his hands. diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw index ae53475b18f103b5b5d2c5ad1dccf6ae0e38ed17..185fb225230df2fcd68868a629001b3605034bf3 100644 --- a/src/uncategorized/manageArcology.tw +++ b/src/uncategorized/manageArcology.tw @@ -1,6 +1,5 @@ :: Manage Arcology [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Main">> <<if $cheatMode == 1>> @@ -66,7 +65,7 @@ __Construction__ <<if ($receiverAvailable == 1) && ($FCTVenable != 0) && ($FCTVreceiver == 0)>> You have not installed an FCTV receiver. Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>. You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>>. You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>. - [[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(500, "capEx"), $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(-1500, "capEx"), $PC.engineering += 1]] + [[No subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(25000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(500, "capEx"), $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(20000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][cashX(forceNeg(Math.trunc(10000*$upgradeMultiplierArcology)), "capEx"), $FCTVreceiver = 1, $receiverAvailable = $week, repX(-1500, "capEx"), $PC.engineering += 1]] <<elseif ($FCTVreceiver == 3)>> You have installed the FCTV receiver and have access to the full range of FCTV's programs. High viewership rates amongst your citizens makes it easier to pursue your societal goals. <<elseif ($FCTVreceiver == 2)>> @@ -165,7 +164,7 @@ __Special Arcology Upgrades__ <br><br> -Your slaves have participated in approximately <<print commaNum($oralTotal+$vaginalTotal+$analTotal)>> sexual encounters: <<print commaNum($oralTotal)>> primarily oral, <<print commaNum($vaginalTotal)>> vanilla, <<print commaNum($mammaryTotal)>> mammary, <<print commaNum($analTotal)>> anal, and <<print commaNum($penetrativeTotal)>> with the slave penetrating another. They have produced about <<print commaNum($milkTotal)>> liters of marketable milk, <<if $seeDicks != 0>>about <<print commaNum($cumTotal)>> deciliters of marketable cum, <</if>>and have given birth <<print commaNum($birthsTotal)>> times. +Your slaves have participated in approximately <<print commaNum($oralTotal+$vaginalTotal+$analTotal)>> sexual encounters: <<print commaNum($oralTotal)>> primarily oral, <<print commaNum($vaginalTotal)>> vanilla, <<print commaNum($mammaryTotal)>> mammary, <<print commaNum($analTotal)>> anal, and <<print commaNum($penetrativeTotal)>> with the slave penetrating another. They have produced about <<print commaNum($milkTotal)>> liters of marketable milk, <<if $seeDicks != 0>>about <<print commaNum($cumTotal)>> deciliters of marketable cum, <</if>>and have given birth <<print commaNum($birthsTotal)>> times. <<if $pitKillsTotal > 0>>$pitKillsTotal slaves have died in your fighting pit.<</if>> <<if $fuckdollsSold > 0>>$fuckdollsSold mindbroken arcade slaves have been converted into Fuckdolls and sold.<</if>> diff --git a/src/uncategorized/matchmaking.tw b/src/uncategorized/matchmaking.tw index 12a503ef0a9d0d0d50263822deebc7d5a0ff0433..dd884f98f2f89e5d5ab15c90e087add69e27bc40 100644 --- a/src/uncategorized/matchmaking.tw +++ b/src/uncategorized/matchmaking.tw @@ -13,7 +13,7 @@ /* 000-250-006 */ <<if $seeImages == 1>> <div class="imageRef medImg"> - <<SlaveArt $eventSlave 2 0>> + <<SlaveArt $eventSlave 2 0>> </div> <</if>> /* 000-250-006 */ @@ -378,7 +378,7 @@ Despite $his devotion and trust, $he is still a slave, and probably knows that $ <</if>> */ -<<if $seeImages == 1>><br style="clear:both" /><</if>> +<<if $seeImages == 1>><br style="clear:both"><</if>> <br><br>__Put $him with another worshipful <<if $eventSlave.relationship == -2>>emotionally bonded slave<<else>>emotional slut<</if>>:__ <<set $Flag = 1>> @@ -390,11 +390,13 @@ Despite $his devotion and trust, $he is still a slave, and probably knows that $ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $eventSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $eventSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/multiImplant.tw b/src/uncategorized/multiImplant.tw index 05427420b0c4924f0b255cf91519e768c2c0f9c4..3e60acccb5720b6ead1b67c6cf39d7eb8a35b811 100644 --- a/src/uncategorized/multiImplant.tw +++ b/src/uncategorized/multiImplant.tw @@ -24,6 +24,7 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized horseOvaries: 0, cowOvaries: 0, eyes: 0, + ears: 0, cochleae: 0, voicebox: 0, mpreg: 0, @@ -85,6 +86,9 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized <<elseif $completedOrgans[_j].type == "eyes">> <<set _slaveOrgans.eyes = $completedOrgans[_j]>> <<set $completedOrgans.deleteAt(_j),_j-->> + <<elseif $completedOrgans[_j].type == "ears">> + <<set _slaveOrgans.ears = $completedOrgans[_j]>> + <<set $completedOrgans.deleteAt(_j),_j-->> <<elseif $completedOrgans[_j].type == "cochleae">> <<set _slaveOrgans.cochleae = $completedOrgans[_j]>> <<set $completedOrgans.deleteAt(_j),_j-->> @@ -146,6 +150,27 @@ You head down to your <<if $surgeryUpgrade == 1>>heavily upgraded and customized <<set $completedOrgans.push(_slaveOrgans.eyes)>> <</if>> <</if>> + /* ears */ + <<if _slaveOrgans.ears != 0>> + <<if $activeSlave.earShape == "none">> + <<run cashX(forceNeg($surgeryCost), "slaveSurgery", $activeSlave)>> + <<set $activeSlave.earShape = "normal">> + <<if $activeSlave.hears == -1>> + <<set $activeSlave.hears = 0>> + <</if>> + <<set $activeSlave.health -= 15>> + <<if $organFarmUpgrade == 2>> + <<set $activeSlave.chem += 20>> + <</if>> + <<set $surgeryType = "earMinor">> + <br><hr> + <<include "Surgery Degradation">> + <<else>> + <br><hr> + @@.red;Could not implant ears on $activeSlave.slaveName: $he already has them. Additional options available under individual surgery.@@ + <<set $completedOrgans.push(_slaveOrgans.ears)>> + <</if>> + <</if>> /* cochleae */ <<if _slaveOrgans.cochleae != 0>> <<if ($activeSlave.hears == -2) && $activeSlave.earImplant != 1>> diff --git a/src/uncategorized/neighborsDevelopment.tw b/src/uncategorized/neighborsDevelopment.tw index 9b02b666e2bde53c0de144e50a2d5b803ce124af..184cc19a78f182e4ee50e3dcffe9db30516910a7 100644 --- a/src/uncategorized/neighborsDevelopment.tw +++ b/src/uncategorized/neighborsDevelopment.tw @@ -514,7 +514,7 @@ has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trunc((0.1*$arcol <<set $arcologies[$i].prosperity -= $arcologies[0].CyberEconomic*2, _WarSpoils = Math.ceil(10+Math.max(((100/_weekModifier)*$arcologies[$i].prosperity*$arcologies[0].CyberEconomic),0))>> <<set $arcologies[$i].prosperity = Math.clamp($arcologies[$i].prosperity, 1, 300)>> <<if random(0,100) >= _Catchchance-(10*$arcologies[0].CyberEconomic)>> - <<set $arcologies[0].prosperity -= $arcologies[0].CyberEconomic*3, _redHanded = 1>> + <<set $arcologies[0].prosperity -= $arcologies[0].CyberEconomic*3, _redHanded = 1>> <<run repX(forceNeg(random(100,200)), "war")>> <<if $secExp == 1>> <<set $authority -= random(100,500)*$arcologies[0].CyberEconomic, $crime += random(10,25)>> diff --git a/src/uncategorized/neighborsFSAdoption.tw b/src/uncategorized/neighborsFSAdoption.tw index d8b6a3b8852956fddb7722dedf4026654caa47b8..67aaf8314b7bab1bdfb2a2835d5bab2c86f1c0a5 100644 --- a/src/uncategorized/neighborsFSAdoption.tw +++ b/src/uncategorized/neighborsFSAdoption.tw @@ -337,7 +337,7 @@ societal development. Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Gender Radicalism,@@ since $he's a walking, swinging argument for dickgirls. <<set $arcologies[$i].FSGenderRadicalist = 5>><<break>> <<elseif $leaders[$j].pregKnown == 1 || $leaders[$j].bellyPreg > 1500>> - Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Gender Fundamentalism,@@ since its citizens find leadership by a pregnant woman fascinating. + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Gender Fundamentalism,@@ since its citizens find leadership by a pregnant $woman fascinating. <<set $arcologies[$i].FSGenderFundamentalist = 5>><<break>> <</if>> <</if>> diff --git a/src/uncategorized/newSlaveIntro.tw b/src/uncategorized/newSlaveIntro.tw index bc3bb32de5ddb0df144f98e13bc71503f367a161..b4665d1217a5b791bf4c2ed5213a2094577da3c6 100644 --- a/src/uncategorized/newSlaveIntro.tw +++ b/src/uncategorized/newSlaveIntro.tw @@ -617,7 +617,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <br> <<link "Abort $his child">> <<replace "#introResult">> - You loudly place an innocuous-looking drug injector on your desk, and let $him think about it for a long moment. Then, you declare exactly what made that sound, abortifacients. After a moment of comprehension, $his mood instantly improves. $He pledges to @@.hotpink;submit to you,@@ <<if $PC.dick == 1 && $PC.vagina == 1>>suck your cock, take it in $his pussy, take it up $his ass, eat you out<<elseif $PC.dick == 1>>suck your cock, take it in $his pussy, take it up $his ass<<else>>eat you out, worship you with $his pussy, serve you with $his ass<</if>>, anything, as long as you @@.mediumaquamarine;remove $his rape baby.@@ You observe that $he'll do all of those things, regardless of what you decide to do about $his pregnancy, but for now, you'll let $him terminate it; $he needs all the nutrients for $himself right now. $He thanks you through $his tears. + You loudly place an innocuous-looking drug injector on your desk, and let $him think about it for a long moment. Then, you declare exactly what made that sound: abortifacients. After a moment of comprehension, $his mood instantly improves. $He pledges to @@.hotpink;submit to you,@@ <<if $PC.dick == 1 && $PC.vagina == 1>>suck your cock, take it in $his pussy, take it up $his ass, eat you out<<elseif $PC.dick == 1>>suck your cock, take it in $his pussy, take it up $his ass<<else>>eat you out, worship you with $his pussy, serve you with $his ass<</if>>, anything, as long as you @@.mediumaquamarine;remove $his rape baby.@@ You observe that $he'll do all of those things, regardless of what you decide to do about $his pregnancy, but for now, you'll let $him terminate it; $he needs all the nutrients for $himself right now. $He thanks you through $his tears. <</replace>> <<set $activeSlave.devotion += 4>> <<set $activeSlave.trust += 3>> @@ -626,7 +626,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<set $activeSlave.pregType = 0>> <<set $activeSlave.pregSource = 0>> <<set $activeSlave.pregKnown = 0>> - <<set $activeSlave.pregWeek = 0>> + <<set $activeSlave.pregWeek = -4>> <<run SetBellySize($activeSlave)>> <</link>> <br> @@ -698,7 +698,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<if ($activeSlave.indentureRestrictions <= 0) && ($seeExtreme == 1)>> | <<link "Cruelly castrate $him">> <<replace "#introResult">> - You rise from your desk and move in close, wordlessly dominating $him without touch, tempting and overawing $him until $he's desperate with desire, $his prick stiff as iron. $He follows you willingly into the autosurgery and even allows you to strap $him in, face down, without comment. $His fuckhole welcomes your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> and $he gasps with pleasure. $He climaxes with indecent speed, dripping $his cum onto the surgery floor. You keep fucking $him, but lean forward to whisper to $him that that was $his last hard-on. $He's completely confused and says nothing, but gradually realizes what the numb feeling around $his ballsack means. $He @@.gold;screams with horror@@ and @@.mediumorchid;sobs disconsolately@@ as the autosurgery disengages from $his clipped genitals and you disengage from $his <<if $PC.dick == 1>>cum-filled<<else>>wilting<</if>> butthole. $He gingerly stumbles back to your office with you and, without even being ordered to, arranges $himself on the couch with $his fuckhole ready. The gelding does affect $his @@.red;health@@ somewhat. + You rise from your desk and move in close, wordlessly dominating $him without touch, tempting and overawing $him until $he's desperate with desire, $his prick stiff as iron. $He follows you willingly into the autosurgery and even allows you to strap $him in, face-down, without comment. $His fuckhole welcomes your <<if $PC.dick == 1>>cock<<else>>strap-on<</if>> and $he gasps with pleasure. $He climaxes with indecent speed, dripping $his cum onto the surgery floor. You keep fucking $him, but lean forward to whisper to $him that that was $his last hard-on. $He's completely confused and says nothing, but gradually realizes what the numb feeling around $his ballsack means. $He @@.gold;screams with horror@@ and @@.mediumorchid;sobs disconsolately@@ as the autosurgery disengages from $his clipped genitals and you disengage from $his <<if $PC.dick == 1>>cum-filled<<else>>wilting<</if>> butthole. $He gingerly stumbles back to your office with you and, without even being ordered to, arranges $himself on the couch with $his fuckhole ready. The gelding does affect $his @@.red;health@@ somewhat. <</replace>> <<set $activeSlave.devotion -= 10>> <<set $activeSlave.trust -= -10>> @@ -1104,7 +1104,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <</replace>> <<set $activeSlave.preg = -3>> <<set $activeSlave.pregType = 0>> - <<set $activeSlave.pregWeek = 0>> + <<set $activeSlave.pregWeek = -4>> <<set $activeSlave.pregKnown = 0>> <<run SetBellySize($activeSlave)>> <<set $activeSlave.ovaries = 0>> @@ -1130,7 +1130,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<if $activeSlave.balls > 0>> <<link "Geld $him">> <<replace "#introResult">> - You drag $him to the remote surgery and strap $his face down with $his legs spread. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He numbly carries on, terrified. + You drag $him to the remote surgery and strap $him face-down with $his legs spread. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. When $he does, $his poor mind scarcely processes the @@.gold;horror@@ of what's happened. $He numbly carries on, terrified. <<if $arcologies[0].FSGenderRadicalist != "unset">> Society @@.green;approves@@ of your promptly gelding $him; this advances the idea that all societal inferiors can be made female. <<= FSChange("GenderRadicalist", 2)>> @@ -1146,7 +1146,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <</if>> <<link "Remove $his genitalia">> <<replace "#introResult">> - You drag $him to the remote surgery and strap $his face down with $his legs spread. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. Eventually, though, $he realizes that $he's been reduced to the status of a genital null: the only remaining feature of $his newly smooth groin is a tiny soft hole, $his urethra. + You drag $him to the remote surgery and strap $him face-down with $his legs spread. $He doesn't understand what's happening, since the anesthetics totally deprive $him of any sensation. $He's so drugged and drowsy with @@.red;surgical recovery@@ that it takes a while for $him to figure out what's happened. Eventually, though, $he realizes that $he's been reduced to the status of a genital null: the only remaining feature of $his newly smooth groin is a tiny soft hole, $his urethra. <<if $activeSlave.scrotum > 0>>$He retains $his ballsack beneath this, though of course you can always remove that later if you decide to geld $him, too.<</if>> $He almost passes out from @@.gold;sheer horror.@@ Instead, $he collapses and tries desperately to vomit. Fortunately, $he doesn't have anything to bring up. $He's reduced to impotent weeping and retching as $he begins to process the stress of having had $his parts cut off. <<if $arcologies[0].FSRestart != "unset">> @@ -1154,7 +1154,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<= FSChange("Eugenics", 3)>> <</if>> <</replace>> - <<set $activeSlave.chastityVagina = 0,$activeSlave.dick = 0,$activeSlave.foreskin = 0,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregKnown = 0,$activeSlave.pregSource = 0,$activeSlave.pregType = 0,$activeSlave.pregWeek = 0,$activeSlave.vagina = -1,$activeSlave.vaginalSkill = 0>> + <<set $activeSlave.chastityVagina = 0,$activeSlave.dick = 0,$activeSlave.foreskin = 0,$activeSlave.ovaries = 0,$activeSlave.preg = -2,$activeSlave.pregKnown = 0,$activeSlave.pregSource = 0,$activeSlave.pregType = 0,$activeSlave.pregWeek = -4,$activeSlave.vagina = -1,$activeSlave.vaginalSkill = 0>> <<run SetBellySize($activeSlave)>> <<set $activeSlave.health -= 10, $activeSlave.trust = Math.clamp($activeSlave.trust-100, -100, 100)>> <</link>> @@ -1165,7 +1165,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <br> <<link "Clip $his Achilles tendons">> <<replace "#introResult">> - You drag $him to the remote surgery and strap $his face down with $his legs bare. $He doesn't understand what's coming for a while, even as $his lower legs are carefully cleaned and disinfected. $He can't see the approaching surgical manipulators, but eventually $he feels a tugging at $his lower legs even through the local anesthetic. $He gets one squeal of protest out before the surgery begins to apply healing agents. $He now requires special heels to walk, and will @@.mediumorchid;remember $his status@@ with every @@.red;painful@@ step $he takes. $He's barefoot, crawling, and @@.gold;frightened@@ for now, until you decide to give $him heels — if you ever do. + You drag $him to the remote surgery and strap $him face-down with $his legs bare. $He doesn't understand what's coming for a while, even as $his lower legs are carefully cleaned and disinfected. $He can't see the approaching surgical manipulators, but eventually $he feels a tugging at $his lower legs even through the local anesthetic. $He gets one squeal of protest out before the surgery begins to apply healing agents. $He now requires special heels to walk, and will @@.mediumorchid;remember $his status@@ with every @@.red;painful@@ step $he takes. $He's barefoot, crawling, and @@.gold;frightened@@ for now, until you decide to give $him heels — if you ever do. <</replace>> <<set $activeSlave.heels = 1>> <<set $activeSlave.devotion -= 5>> @@ -1178,7 +1178,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <br> <<link "Implant $him with slow release lactation drugs">> <<replace "#introResult">> - You <<if $activeSlave.devotion > 20>> guide the compliant $desc <<else>>have the $desc restrained and brought<</if>> to the remote surgery. The procedure is quick and @@.red;minimally invasive@@<<set $activeSlave.health -= 10>>. Once the process is complete and the anesthesia subsides $he begins to feel a rising pressure with-in $his <<if $activeSlave.boobs > 2000 >>gigantic udders<<elseif $activeSlave.boobs > 900>>plentiful bosom<<elseif $activeSlave.boobs > 400>>healthy breasts<<else>>small breasts<</if>>. You then <<if $activeSlave.devotion > 20>>instruct $him to rest<<else>>have $him restrained<</if>> beside your desk until further notice. After a few hours $his increasing discomfort becomes obvious, and white droplets begin to appear across $his nipples and areola. + You <<if $activeSlave.devotion > 20>> guide the compliant $desc <<else>>have the $desc restrained and brought<</if>> to the remote surgery. The procedure is quick and @@.red;minimally invasive@@<<set $activeSlave.health -= 10>>. Once the process is complete and the anesthesia subsides $he begins to feel a rising pressure within $his <<if $activeSlave.boobs > 2000 >>gigantic udders<<elseif $activeSlave.boobs > 900>>plentiful bosom<<elseif $activeSlave.boobs > 400>>healthy breasts<<else>>small breasts<</if>>. You then <<if $activeSlave.devotion > 20>>instruct $him to rest<<else>>have $him restrained<</if>> beside your desk until further notice. After a few hours $his increasing discomfort becomes obvious, and white droplets begin to appear across $his nipples and areola. <<if $activeSlave.devotion > 20>> <<if $activeSlave.fetish == "boobs">> @@ -1567,6 +1567,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <</link>> <<if $PC.vagina == 1 && $activeSlave.dick > 0 && canAchieveErection($activeSlave)>> + <<setPlayerPronouns>> <br> <<link "Dominate $his penis and demonstrate $his place">> <<replace "#introResult">> @@ -1613,7 +1614,7 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <<replace "#introResult">> You aggressively approach $activeSlave.slaveName, forcing your pregnancy directly into $his <<if $activeSlave.height > 175>>stomach<<elseif $activeSlave.height < 155>>face<<else>>chest<</if>> until $he has no choice but to be pushed to the ground. You quickly straddle $his face, forcing your oozing cunt over $his mouth as you eagerly stroke $his cock to full length. <<if $activeSlave.fetish == "pregnancy">> - $He groans with disappointment as your pregnant pussy leaves $his reach, though $his displeasure is short lived as you greedily take $his entire dick into your aching snatch. You ride $him mercilessly, frequently smacking $him with your heavy belly. $He loves every minute of it, especially when $he feels your body tense up as $he lets loose $his load deep into you. Where most slaves would be begging for mercy, $he @@.hotpink;eagerly complies@@ as you adjust yourself and begin round two. You don't know what came over you, but when you wake up, you find $he's resting peacefully under your gravid mass. <<if $activeSlave.fetishKnown == 0>>It seems $he likes @@.green;being a pregnant woman's plaything.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a pregnancy fetish and the look on $his face confirms it.<</if>> A kick from within startles you from your thoughts; it would appear your child agrees that you'll have to have another ride sometime. + $He groans with disappointment as your pregnant pussy leaves $his reach, though $his displeasure is short lived as you greedily take $his entire dick into your aching snatch. You ride $him mercilessly, frequently smacking $him with your heavy belly. $He loves every minute of it, especially when $he feels your body tense up as $he lets loose $his load deep into you. Where most slaves would be begging for mercy, $he @@.hotpink;eagerly complies@@ as you adjust yourself and begin round two. You don't know what came over you, but when you wake up, you find $he's resting peacefully under your gravid mass. <<if $activeSlave.fetishKnown == 0>>It seems $he likes @@.green;being a pregnant _womanP's plaything.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a pregnancy fetish and the look on $his face confirms it.<</if>> A kick from within startles you from your thoughts; it would appear your child agrees that you'll have to have another ride sometime. <<set $activeSlave.devotion += 15>> <<else>> $He coughs as your pregnant pussy vacates $his face, though $his relief is short lived as you greedily slam yourself down onto $his waiting dick. You ride $him mercilessly, frequently smacking $him with your heavy belly. $He hates every minute of it, choosing to alternate between begging you to stop and just openly weeping. You cum hard as you watch the look on $his face as $he unwillingly cums deep inside you. $He cries out in protest as you continue raping $him, but you don't care. All that matters is your satisfaction. You are eventually awoken by desperate struggle to escape from beneath your gravid mass; $he quickly regrets $his choices as you remount $him for one last go. $He now @@.hotpink;better understands $his place as a toy@@ and is @@.gold;terrified@@ of your insatiable lust. @@ -1647,10 +1648,10 @@ The legalities completed, ''__@@.pink;<<= SlaveFullName($activeSlave)>>@@__'' << <</if>> $He tries to squirm away from the moist spot growing under $his cheek, but you reveal your nipple and carefully direct $his mouth over it. <<if $activeSlave.fetish == "pregnancy">> - Slowly $he begins to suckle from your swollen breast. You gently brush $his head as you try to hold back your pleasure, a wasted effort as a hand sneaks its way to your <<if $PC.dick == 1>>growing erection and enthusiastically begins pumping away. You clutch your pervy $girl closer to you as $he caresses your pregnancy with one hand and gets you off with the other<<else>>wet pussy and enthusiastically begins rubbing your clit. You clutch your pervy $girl closer to you as $he caresses your pregnancy with one hand and gets you off with the other<</if>>. Before long you find yourself bucking your hips with lust, a queue for you to release $him from your nipple so $he may slide down your gravid dome of a belly to finish you off. Happy to serve $his pregnant <<= WrittenMaster($activeSlave)>>, $he returns to your chest, happy to relieve you of the pressure building in your neglected breast. <<if $activeSlave.fetishKnown == 0>>Judging by that show, @@.green;$he savors getting to be with a pregnant woman.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a pregnancy fetish and $his eagerness to serve a pregnant woman proves that.<</if>> A kick from within startles you from your thoughts; as you reach to soothe your child, you find your new slave @@.mediumaquamarine;already doting on it.@@ $He's already starting to @@.hotpink;show understanding of $his place.@@ + Slowly $he begins to suckle from your swollen breast. You gently brush $his head as you try to hold back your pleasure, a wasted effort as a hand sneaks its way to your <<if $PC.dick == 1>>growing erection and enthusiastically begins pumping away. You clutch your pervy $girl closer to you as $he caresses your pregnancy with one hand and gets you off with the other<<else>>wet pussy and enthusiastically begins rubbing your clit. You clutch your pervy $girl closer to you as $he caresses your pregnancy with one hand and gets you off with the other<</if>>. Before long you find yourself bucking your hips with lust, a queue for you to release $him from your nipple so $he may slide down your gravid dome of a belly to finish you off. Happy to serve $his pregnant <<= WrittenMaster($activeSlave)>>, $he returns to your chest, happy to relieve you of the pressure building in your neglected breast. <<if $activeSlave.fetishKnown == 0>>Judging by that show, @@.green;$he savors getting to be with a pregnant _womanP.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a pregnancy fetish and $his eagerness to serve a pregnant _womanP proves that.<</if>> A kick from within startles you from your thoughts; as you reach to soothe your child, you find your new slave @@.mediumaquamarine;already doting on it.@@ $He's already starting to @@.hotpink;show understanding of $his place.@@ <<set $activeSlave.devotion += 15, $activeSlave.trust += 15>> <<elseif $activeSlave.fetish == "boobs">> - Eagerly $he begins to suckle from your swollen breast. You gently brush $his head as you try to hold back your pleasure, a wasted effort as a hand sneaks its way to your neglected breast. $He massages it, careful not to encourage your lactation too much, as $he greedily sucks you dry. $He wastes no time in swapping to your other nipple, shifting $his ministrations to the one the just left. By the time your reserves are tapped out, both you and $he are quite content. You permit $him to rest against your chest for a little before you send $him on $his way. <<if $activeSlave.fetishKnown == 0>>Judging by $his enthusiasm, @@.green;$he savors getting $his mouth close to a pair of boobs.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a breast fetishist and $his eagerness to lighten a lactating woman proves that.<</if>> A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your child that you'll make sure to save some milk for them. $He's already starting to @@.hotpink;show understanding of $his place@@ and even @@.mediumaquamarine;beginning to build trust@@ with you. + Eagerly $he begins to suckle from your swollen breast. You gently brush $his head as you try to hold back your pleasure, a wasted effort as a hand sneaks its way to your neglected breast. $He massages it, careful not to encourage your lactation too much, as $he greedily sucks you dry. $He wastes no time in swapping to your other nipple, shifting $his ministrations to the one the just left. By the time your reserves are tapped out, both you and $he are quite content. You permit $him to rest against your chest for a little before you send $him on $his way. <<if $activeSlave.fetishKnown == 0>>Judging by $his enthusiasm, @@.green;$he savors getting $his mouth close to a pair of boobs.@@<<set $activeSlave.fetishKnown = 1>><<else>>You knew $he had a breast fetishist and $his eagerness to lighten a lactating _womanP proves that.<</if>> A kick from within startles you from your thoughts; you pat your gravid middle, reassuring your child that you'll make sure to save some milk for them. $He's already starting to @@.hotpink;show understanding of $his place@@ and even @@.mediumaquamarine;beginning to build trust@@ with you. <<set $activeSlave.devotion += 15, $activeSlave.trust += 15>> <<else>> Reluctantly $he begins to suckle from your swollen breast. You gently brush $his head as you try to hold back your pleasure, but it is too much. As $he drinks deeper, you begin moaning with relief. At first $he tenses at <<if canHear($activeSlave)>>the sound<<else>>your body's shuddering<</if>>, fearing punishment, but soon realizes you have no intent on @@.mediumaquamarine;harming $him.@@ $He allows you to dote over $him as if $he were your child, carefully moving to your other breast once the first runs dry. As $he drinks, $he begins to massage your taut middle, $his touch soft and gentle. When you both finish, you push $him to $his feet and send $him on $his way. @@.hotpink;$He stays and offers a hand to help you to your feet.@@ You are surprised by this display; it might be obedience, but $he also may view you in your gravid state as someone weak. As $he helps you back to your desk, $he shoulders all of your weight. It would appear $he is putting you first, for now. diff --git a/src/uncategorized/nextWeek.tw b/src/uncategorized/nextWeek.tw index 292057afd60e7cee4303d3bbea13b86c0ebc6247..755f3ae730b60212efec12788c39065972d0665b 100644 --- a/src/uncategorized/nextWeek.tw +++ b/src/uncategorized/nextWeek.tw @@ -1,5 +1,7 @@ :: Next Week [nobr] +<<set $HackingSkillMultiplier = HackingSkillMultiplier()>> + <<if $rivalOwner != 0>> <<set _rival = $arcologies.find(function(s) { return s.rival == 1; })>> <<if def _rival>> diff --git a/src/uncategorized/options.tw b/src/uncategorized/options.tw index 1c7c4fb5bbe624165e3cbd59ce83926c2c93674d..dde2ff781bdf5821fd11a45ddc39a616e08159b7 100644 --- a/src/uncategorized/options.tw +++ b/src/uncategorized/options.tw @@ -196,7 +196,7 @@ Main menu slave tabs are <</if>> <</if>> -<br /> +<br> The slave Quick list in-page scroll-to is <<if $useSlaveListInPageJSNavigation != 1>> @@ -254,7 +254,7 @@ Master Suite report details such as slave changes are <</if>> /* Accordion 000-250-006 */ -<br /> +<br> Accordion effects on weekly reports are <<if ($useAccordion != 1)>> @@.red;DISABLED.@@ [[Enable|Options][$useAccordion = 1]] diff --git a/src/uncategorized/pBombing.tw b/src/uncategorized/pBombing.tw index 34c29d5cd6c728654218d127e3480435e4c4f9a4..e9f9e146a1499319c6fb7b371ed218c86d4cf05f 100644 --- a/src/uncategorized/pBombing.tw +++ b/src/uncategorized/pBombing.tw @@ -5,6 +5,17 @@ <<if $Bodyguard != 0>> <<setLocalPronouns $Bodyguard>> + <span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $Bodyguard 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $Bodyguard 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ + </span> <</if>> One fine day, you're strolling down the main promenade, making your usual combined inspection and public rounds. These walks are triply useful, since they allow you to keep a finger on the pulse of your demesne, identify any problems, and display yourself to the population. <<if $Bodyguard != 0>>$Bodyguard.slaveName is walking with you, of course; $his presence protection, intimidation, and ostentation, all in one.<</if>> diff --git a/src/uncategorized/pHostageAcquisition.tw b/src/uncategorized/pHostageAcquisition.tw index 454fc563461ec7a709ac16433323ccb48c8710f3..925581ba12d3115e0bd813b53b87a8116c53c33b 100644 --- a/src/uncategorized/pHostageAcquisition.tw +++ b/src/uncategorized/pHostageAcquisition.tw @@ -9,6 +9,18 @@ <<run Enunciate($activeSlave)>> <<setLocalPronouns $activeSlave>> +<span id="artFrame"> + /* 000-250-006 */ + <<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $activeSlave 2 0>></div> + <</if>> + <</if>> + /* 000-250-006 */ +</span> + <<= SlaveFullName($activeSlave)>>, once <<switch $PC.career>> <<case "wealth">> diff --git a/src/uncategorized/pRivalryActions.tw b/src/uncategorized/pRivalryActions.tw index 522622e381cb182236a6c8195856d4495de37ca3..1cb4af039fa20771b227ab3cae70b562e9e256de 100644 --- a/src/uncategorized/pRivalryActions.tw +++ b/src/uncategorized/pRivalryActions.tw @@ -6,9 +6,9 @@ /* 000-250-006 */ <<if $seeImages == 1>> <<if $imageChoice == 1>> - <div class="imageRef lrgVector"><div class="mask"> </div><<SlaveArt $hostage 2 0>></div> + <div class="imageRef medImg"><<SlaveArt $hostage 2 0>></div> <<else>> - <div class="imageRef lrgRender"><div class="mask"> </div><<SlaveArt $hostage 2 0>></div> + <div class="imageRef medImg"><<SlaveArt $hostage 2 0>></div> <</if>> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/pRivalryCapture.tw b/src/uncategorized/pRivalryCapture.tw index c2441845e91239dc5863c87f973d5d85f0208ae2..3824c52f8e8e5c88a9e00dba09cfa009a5aa587f 100644 --- a/src/uncategorized/pRivalryCapture.tw +++ b/src/uncategorized/pRivalryCapture.tw @@ -429,6 +429,14 @@ <<setLocalPronouns $activeSlave>> +<<if $seeImages == 1>> + <<if $imageChoice == 1>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <<else>> + <div class="imageRef medImg"><<SlaveArt $activeSlave 2 0>></div> + <</if>> +<</if>> + Your <<if passage() == "P rivalry actions">> target is quickly delivered. Politely dismissing the head of your <<if $mercenariesTitle != "mercenaries">> $mercenariesTitle<<else>> mercenaries<</if>>, you savor diff --git a/src/uncategorized/peHeadgirlConcubine.tw b/src/uncategorized/peHeadgirlConcubine.tw index b9f1a84c83f14323fe3c80f850b61f716ed857dd..de7ccb1e92791514183583220e9a59a4ac584cf7 100644 --- a/src/uncategorized/peHeadgirlConcubine.tw +++ b/src/uncategorized/peHeadgirlConcubine.tw @@ -13,11 +13,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $Concubine 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $HeadGirl 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $HeadGirl 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $Concubine 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/peLonelyBodyguard.tw b/src/uncategorized/peLonelyBodyguard.tw index 28f11ac7b8fd4682838f3a46d13f1339ca4f1dda..817390f78a50fee29957e689a26c8980940f732f 100644 --- a/src/uncategorized/peLonelyBodyguard.tw +++ b/src/uncategorized/peLonelyBodyguard.tw @@ -16,11 +16,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/personalAssistantAppearance.tw b/src/uncategorized/personalAssistantAppearance.tw index 5019e7106d7395c968ce8574b54d09ddcee4e3b1..605a154263cdc67c0cbd31f40a74b531911030f5 100644 --- a/src/uncategorized/personalAssistantAppearance.tw +++ b/src/uncategorized/personalAssistantAppearance.tw @@ -398,7 +398,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF <<if ($cockFeeder == 1) && (_paSeed == 1)>> A recognizable little representation of one of your slaves is suckling at _hisA milky tits. The slave must be down in the kitchen, getting a meal out of the food dispensers. The goddess notices you watching, and smiles while _heA cradles the slave to _hisA nourishing bosom. <<elseif ($suppository == 1) && (_paSeed == 2)>> - A recognizable little representation of one of your slaves is laying face down in _hisA lap, letting the goddess slowly but firmly put more and more of _hisA hand up the slave's butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. The slave writhes under the strain, and the goddess starts stroking _hisU back to calm _himU down. + A recognizable little representation of one of your slaves is laying face-down in _hisA lap, letting the goddess slowly but firmly put more and more of _hisA hand up the slave's butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. The slave writhes under the strain, and the goddess starts stroking _hisU back to calm _himU down. <<elseif ($masturbationAllowed == 1) && (_paSeed == 3)>> _HeA's having sex with a recognizable little representation of one of your slaves, kissing deeply and pulling _himU tight to _hisA pillowy chest. The slave must be using one of the penthouse's many vibrators. _HeA sees you watching and lays farther back, balancing the slave atop _hisA stomach and reaching down to fondle more thoroughly. <<elseif (_paSeed == 4)>> @@ -574,7 +574,7 @@ _HeA's a cute little <<if $arcologies[0].FSSupremacist != "unset" && $assistantF <<if ($cockFeeder == 1) && (_paSeed == 1)>> A recognizable little representation of one of your slaves is suckling at _hisA milky tits, _hisU stomach bloated with milk. The slave must be down in the kitchen, getting a meal out of the food dispensers. The goddess notices you watching, and smiles while _heA cradles the swollen slave to _hisA nourishing bosom. <<elseif ($suppository == 1) && (_paSeed == 2)>> - A recognizable little representation of one of your slaves is laying face down in _hisA lap, letting the goddess slowly but firmly put more and more of _hisA hand up the slave's butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. The slave writhes under the strain, and the goddess starts stroking _hisU back to calm _himU down. + A recognizable little representation of one of your slaves is laying face-down in _hisA lap, letting the goddess slowly but firmly put more and more of _hisA hand up the slave's butt. The slave must be receiving _hisU drugs from one of the dildo dispensers. The slave writhes under the strain, and the goddess starts stroking _hisU back to calm _himU down. <<elseif ($masturbationAllowed == 1) && (_paSeed == 3)>> _HeA's having sex with a recognizable little representation of one of your slaves, kissing deeply and pulling _himU tight to _hisA pillowy chest. The slave must be using one of the penthouse's many vibrators. _HeA sees you watching and lays farther back, balancing the slave atop _hisA stomach and reaching down to fondle more thoroughly. <<elseif (_paSeed == 4)>> diff --git a/src/uncategorized/personalAssistantOptions.tw b/src/uncategorized/personalAssistantOptions.tw index 0cefcdfb85c736356d2ae717195e1f0f9861f89b..fc0dce0614f86abddcb02a958ff2fafe00285e00 100644 --- a/src/uncategorized/personalAssistantOptions.tw +++ b/src/uncategorized/personalAssistantOptions.tw @@ -1,6 +1,5 @@ :: Personal assistant options [nobr] -<<set $HackingSkillMultiplier = HSM()>> <<set $nextButton = "Back", $nextLink = "Main">> <<if $marketAssistantLimit>><<set $marketAssistantLimit to Math.clamp($marketAssistantLimit, 10000, 10000000)>><</if>> diff --git a/src/uncategorized/reAnalPunishment.tw b/src/uncategorized/reAnalPunishment.tw index 200cfc8a5e0f67f3fad859900cfb9d8876bbc336..858a59e34c2d5ea98dc780695068410e775805ab 100644 --- a/src/uncategorized/reAnalPunishment.tw +++ b/src/uncategorized/reAnalPunishment.tw @@ -13,11 +13,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $HeadGirl 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $HeadGirl 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reBusyMasterSuite.tw b/src/uncategorized/reBusyMasterSuite.tw index dacbea4c3bc0e5710d195f2ad646bbfedc27342f..b9e8e544dbe58af2d1c8c0297c2b075f6bdc3c31 100644 --- a/src/uncategorized/reBusyMasterSuite.tw +++ b/src/uncategorized/reBusyMasterSuite.tw @@ -2,34 +2,44 @@ <<set $nextButton = "Continue", $nextLink = "RIE Eligibility Check">> -<<set _msAnalVirginIdx = [], _msIdx = [], $slaves.forEach(function(s, index, array) { if (s.fuckdoll == 0 && s.assignment == "serve in the master suite") {if (s.anus == 0) _msAnalVirginIdx.push(index); else _msIdx.push(index);} })>> +<<set _msAnalVirginIdx = [], _msIdx = []>> +<<foreach _slave of $slaves>> + <<if _slave.assignment == "serve in the master suite">> + <<if _slave.anus == 0>> + <<set _msAnalVirginIdx.push(_slave)>> + <<else>> + <<set _msIdx.push(_slave)>> + <</if>> + <</if>> +<</foreach>> <<if _msIdx.length < 3>> <<goto "RIE Eligibility Check">> <<else>> <<setLocalPronouns $Concubine>> -<<setLocalPronouns $slaves[_msIdx[0]] 2>> +<<setLocalPronouns _msIdx[0] 2>> You have an extended meeting with a prominent citizen planned, from the start of business in the morning until you're done. That's likely to be in the late evening, since he's probably going to get into technical business proposals, and $Concubine.slaveName knows it. $He is surprised, therefore, when a minor business emergency calls your would-be interlocutor away, canceling the meeting and sending you home hours earlier than you'd planned. $He <<if canTalk($Concubine)>>giggles helplessly<<else>>signs humorously<</if>> at the surprise when you walk into your suite. Apparently, $he decided to while away the hours until you got back by having some truly grandiose group sex with all the slave girls you have in the suite. <br><br> -$He had to turn to greet you as you entered, since $he was facing away from the entry, and the reason why is rather obvious. Up near the opposite wall, <<print $slaves[_msIdx[0]].slaveName>> is on the floor with _his2 face down and _his2 ass up. +$He had to turn to greet you as you entered, since $he was facing away from the entry, and the reason why is rather obvious. Up near the opposite wall, _msIdx[0].slaveName is on the floor with _his2 face down and _his2 ass up. <<for $i = 0; $i < _msIdx.length-2; $i++>> /* after the loop, $i will be _msIdx.length - 1, the last eligible slave */ - <<print $slaves[_msIdx[$i]].slaveName>>'s - <<if $slaves[_msIdx[$i]].anus > 2>> + <<set $j = ($i + 1)>> + _msIdx[$i].slaveName's + <<if _msIdx[$i].anus > 2>> asspussy - <<elseif $slaves[_msIdx[$i]].anus > 1>> + <<elseif _msIdx[$i].anus > 1>> asshole <<else>> tight butt <</if>> is - <<if canPenetrate($slaves[_msIdx[$i+1]])>> - filled by <<print $slaves[_msIdx[$i+1]].slaveName>>'s - <<if $slaves[_msIdx[$i+1]].dick > 3>> + <<if canPenetrate(_msIdx[$j])>> + filled by _msIdx[$j].slaveName's + <<if _msIdx[$j].dick > 3>> painfully big <<else>> hard @@ -37,39 +47,39 @@ $He had to turn to greet you as you entered, since $he was facing away from the dick, <<else>> filled by a - <<if $slaves[_msIdx[$i]].anus > 2>> + <<if _msIdx[$i].anus > 2>> huge - <<elseif $slaves[_msIdx[$i]].anus > 1>> + <<elseif _msIdx[$i].anus > 1>> big <<else>> moderate <</if>> - strap-on worn by <<print $slaves[_msIdx[$i+1]].slaveName>>, + strap-on worn by _msIdx[$j].slaveName, <</if>> - <<setLocalPronouns $slaves[_msIdx[$i+1]] 3>> - <<if $slaves[_msIdx[$i+1]].belly >= 150000>> - whose middle is so obscenely distended, <<print $slaves[_msIdx[$i]].slaveName>> is struggling to support it. - <<elseif $slaves[_msIdx[$i+1]].belly >= 10000 || $slaves[_msIdx[$i+1]].weight >= 160>> - whose middle is resting on <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> back. - <<elseif $slaves[_msIdx[$i+1]].boobs > 10000>> - whose tits are so unreasonably large they're resting on <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> back. - <<elseif $slaves[_msIdx[$i]].butt > 4>> - well cushioned by <<print $slaves[_msIdx[$i]].slaveName>>'s huge ass. - <<elseif $slaves[_msIdx[$i+1]].nipples == "huge">> - who is bending to rub _his3 enormous hard nipples across <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> back. - <<elseif $slaves[_msIdx[$i+1]].lips > 40>> - who is bending forward to nibble along <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> neck. - <<elseif $slaves[_msIdx[$i+1]].amp != 1>> - who is reaching around to grope <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> chest. + <<setLocalPronouns _msIdx[$j] 3>> + <<if _msIdx[$j].belly >= 150000>> + whose middle is so obscenely distended, _msIdx[$i].slaveName is struggling to support it. + <<elseif _msIdx[$j].belly >= 10000 || _msIdx[$j].weight >= 160>> + whose middle is resting on _msIdx[$i].slaveName's _msIdx[$i].skin back. + <<elseif _msIdx[$j].boobs > 10000>> + whose tits are so unreasonably large they're resting on _msIdx[$i].slaveName's _msIdx[$i].skin back. + <<elseif _msIdx[$i].butt > 4>> + well cushioned by _msIdx[$i].slaveName's huge ass. + <<elseif _msIdx[$j].nipples == "huge">> + who is bending to rub _his3 enormous hard nipples across _msIdx[$i].slaveName's _msIdx[$i].skin back. + <<elseif _msIdx[$j].lips > 40>> + who is bending forward to nibble along _msIdx[$i].slaveName's _msIdx[$i].skin neck. + <<elseif _msIdx[$j].amp != 1>> + who is reaching around to grope _msIdx[$i].slaveName's _msIdx[$i].skin chest. <<else>> - who is propped up against <<print $slaves[_msIdx[$i]].slaveName>>'s <<print $slaves[_msIdx[$i]].skin>> butt. + who is propped up against _msIdx[$i].slaveName's _msIdx[$i].skin butt. <</if>> <</for>> -Finally, <<print $slaves[_msIdx[$i]].slaveName>>'s -<<if $slaves[_msIdx[$i]].anus > 2>> +Finally, _msIdx[$i].slaveName's +<<if _msIdx[$i].anus > 2>> asspussy -<<elseif $slaves[_msIdx[$i]].anus > 1>> +<<elseif _msIdx[$i].anus > 1>> asshole <<else>> tight butt @@ -85,9 +95,9 @@ is dick, <<else>> filled by a - <<if $slaves[_msIdx[$i]].anus > 2>> + <<if _msIdx[$i].anus > 2>> huge - <<elseif $slaves[_msIdx[$i]].anus > 1>> + <<elseif _msIdx[$i].anus > 1>> big <<else>> moderate @@ -97,24 +107,24 @@ is who has paused $his thrusting to issue a peremptory order to the slaves to stay where they are, before turning to greet you cheerfully. <<if _msAnalVirginIdx.length > 2>> <<set _lastAnalVirgin = _msAnalVirginIdx.pop(), _otherNames = _msAnalVirginIdx.map(function(idx) { return $slaves[idx].slaveName; }).join(", ")>> - <<print _otherNames>> and <<print $slaves[_lastAnalVirgin].slaveName>> are anal virgins, so $Concubine.slaveName has them busy lying under slaves who aren't, offering what oral stimulation they can manage. + _otherNames and _lastAnalVirgin.slaveName are anal virgins, so $Concubine.slaveName has them busy lying under slaves who aren't, offering what oral stimulation they can manage. <<elseif _msAnalVirginIdx.length == 2>> - <<print $slaves[_msAnalVirginIdx[0]].slaveName>> and <<print $slaves[_msAnalVirginIdx[1]].slaveName>> are anal virgins, so $Concubine.slaveName has them busy lying under slaves who aren't, offering what oral stimulation they can manage. + _msAnalVirginIdx[0].slaveName and _msAnalVirginIdx[1].slaveName are anal virgins, so $Concubine.slaveName has them busy lying under slaves who aren't, offering what oral stimulation they can manage. <<elseif _msAnalVirginIdx.length > 0>> - <<setLocalPronouns $slaves[_msIdx[0]] 2>> - <<print $slaves[_msAnalVirginIdx[0]].slaveName>> is an anal virgin, so $Concubine.slaveName has _him2 busy lying under slaves who aren't, offering what oral stimulation _he2 can manage. + <<setLocalPronouns _msIdx[0] 2>> + _msAnalVirginIdx[0].slaveName is an anal virgin, so $Concubine.slaveName has _him2 busy lying under slaves who aren't, offering what oral stimulation _he2 can manage. <</if>> <br><br> -/* $slaves[_msIdx[$i]] is still the last slave in the chain */ +/* _msIdx[$i] is still the last slave in the chain */ <span id="result"> <<if canDoAnal($Concubine) && $Concubine.anus > 0>> <<link "Slide in behind the concubine for some anal">> <<replace "#result">> - <<setLocalPronouns $slaves[_msIdx[$i]] 2>> - $Concubine.slaveName anticipates you, and is already sliding $himself partway out of <<print $slaves[_msIdx[$i]].slaveName>> and cocking $his hips to spread $his + <<setLocalPronouns _msIdx[$i] 2>> + $Concubine.slaveName anticipates you, and is already sliding $himself partway out of _msIdx[$i].slaveName and cocking $his hips to spread $his <<if $activeSlave.butt > 15>> immeasurable <<elseif $activeSlave.butt > 10>> @@ -128,17 +138,17 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <<else>> trim <</if>> - buttocks as wide as $he can without disentangling $himself from the anal train. Up on the bed $he's at just the right height, and $he winks $his <<if ($Concubine.anus > 2)>>loose anus<<elseif ($Concubine.anus > 1)>>asshole<<else>>tight little asshole<</if>> invitingly<<if canTalk($Concubine)>>, laughing at the sheer decadence of it<</if>>. <<if ($PC.dick == 0)>>You pull on a strap-on and push it<<else>>You push yourself<</if>> home with some force, your concubine's extreme state of arousal leaving $his ass very relaxed and welcoming; the thrust shoves $him forward to hilt $himself in <<print $slaves[_msIdx[$i]].slaveName>>, and so on down the line, producing more giggling, some squealing, and much scrabbling for balance. It takes a while to find the rhythm, and while you wait for the inevitable tangles to be fixed you decide to challenge yourself. You reach around and <<if ($Concubine.boobs > 10000)>>sink your hands into $Concubine.slaveName's massive boobs<<elseif ($Concubine.boobs > 1000)>>heft $Concubine.slaveName's heavy boobs<<elseif ($Concubine.boobs > 300)>>tease $Concubine.slaveName's healthy breasts<<else>>massage $Concubine.slaveName's flat chest<</if>>, nibbling $his $Concubine.skin neck, and generally torturing $him with stimulation until $he climaxes to $his beloved <<= WrittenMaster($Concubine)>>. When $he does, you extract yourself and pull $him unceremoniously off <<print $slaves[_msIdx[$i]].slaveName>>, replacing $him up <<print $slaves[_msIdx[$i]].slaveName>>'s butt. You work your way down the line, orgasm by orgasm, delaying your own climax until the exhausted <<print $slaves[_msIdx[0]].slaveName>> manages an anal orgasm by heroic efforts, and you're done. As you roll off _him2, panting, there is scattered applause and much congratulation from your harem of @@.mediumaquamarine;trusting buttslaves.@@ + buttocks as wide as $he can without disentangling $himself from the anal train. Up on the bed $he's at just the right height, and $he winks $his <<if ($Concubine.anus > 2)>>loose anus<<elseif ($Concubine.anus > 1)>>asshole<<else>>tight little asshole<</if>> invitingly<<if canTalk($Concubine)>>, laughing at the sheer decadence of it<</if>>. <<if ($PC.dick == 0)>>You pull on a strap-on and push it<<else>>You push yourself<</if>> home with some force, your concubine's extreme state of arousal leaving $his ass very relaxed and welcoming; the thrust shoves $him forward to hilt $himself in _msIdx[$i].slaveName, and so on down the line, producing more giggling, some squealing, and much scrabbling for balance. It takes a while to find the rhythm, and while you wait for the inevitable tangles to be fixed you decide to challenge yourself. You reach around and <<if ($Concubine.boobs > 10000)>>sink your hands into $Concubine.slaveName's massive boobs<<elseif ($Concubine.boobs > 1000)>>heft $Concubine.slaveName's heavy boobs<<elseif ($Concubine.boobs > 300)>>tease $Concubine.slaveName's healthy breasts<<else>>massage $Concubine.slaveName's flat chest<</if>>, nibbling $his $Concubine.skin neck, and generally torturing $him with stimulation until $he climaxes to $his beloved <<= WrittenMaster($Concubine)>>. When $he does, you extract yourself and pull $him unceremoniously off _msIdx[$i].slaveName, replacing $him up _msIdx[$i].slaveName's butt. You work your way down the line, orgasm by orgasm, delaying your own climax until the exhausted _msIdx[0].slaveName>> manages an anal orgasm by heroic efforts, and you're done. As you roll off _him2, panting, there is scattered applause and much congratulation from your harem of @@.mediumaquamarine;trusting buttslaves.@@ <<for _reBMS = 0; _reBMS < $slaves.length; _reBMS++>> <<if $slaves[_reBMS].ID == $Concubine.ID>> <<set $slaves[_reBMS].trust += 5, $slaves[_reBMS].analCount++, $analTotal++, $slaves[_reBMS].penetrativeCount++, $penetrativeTotal++>> <<elseif $slaves[_reBMS].assignment == "serve in the master suite">> <<if $slaves[_reBMS].anus > 0>> <<set $slaves[_reBMS].trust += 1, $slaves[_reBMS].analCount++, $analTotal++>> - <<if $slaves[_reBMS].ID != $slaves[_msIdx[0]].ID>> + <<if $slaves[_reBMS].ID != _msIdx[0].ID>> <<set $slaves[_reBMS].penetrativeCount++, $penetrativeTotal++>> - <<elseif canImpreg($slaves[_msIdx[0]], $PC)>> - <<= knockMeUp($slaves[_msIdx[0]], 10, 1, $PC.ID, 1)>> + <<elseif canImpreg(_msIdx[0], $PC)>> + <<= knockMeUp(_msIdx[0], 10, 1, $PC.ID, 1)>> <</if>> <<else>> <<set $slaves[_reBMS].trust += 1, $slaves[_reBMS].oralCount++, $oralTotal++>> @@ -151,8 +161,8 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <<if canDoVaginal($Concubine) && $Concubine.vagina > 0>> <br><<link "Slide in behind the concubine for some pussy with an anal chaser">> <<replace "#result">> - <<setLocalPronouns $slaves[_msIdx[$i]] 2>> - $Concubine.slaveName anticipates you, and is already sliding $himself partway out of <<print $slaves[_msIdx[$i]].slaveName>> and cocking $his hips to spread $his + <<setLocalPronouns _msIdx[$i] 2>> + $Concubine.slaveName anticipates you, and is already sliding $himself partway out of _msIdx[$i].slaveName and cocking $his hips to spread $his <<if $activeSlave.butt > 15>> immeasurable <<elseif $activeSlave.butt > 10>> @@ -166,17 +176,17 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <<else>> trim <</if>> - rear as wide as $he can without disentangling $himself from the pussy train. Up on the bed $he's at just the right height, and $he wiggles $his <<if ($Concubine.vagina > 2)>>loose pussy<<elseif ($Concubine.vagina > 1)>>pussy<<else>>tight little pussy<</if>> invitingly<<if canTalk($Concubine)>>, laughing at the sheer decadence of it<</if>>. <<if ($PC.dick == 0)>>You pull on a strap-on and push it<<else>>You push yourself<</if>> home with some force, your concubine's extreme state of arousal leaving $his pussy very relaxed and welcoming; the thrust shoves $him forward to hilt $himself in <<print $slaves[_msIdx[$i]].slaveName>>, and so on down the line, producing more giggling, some squealing, and much scrabbling for balance. It takes a while to find the rhythm, and while you wait for the inevitable tangles to be fixed you decide to challenge yourself. You reach around and <<if ($Concubine.boobs > 10000)>>sink your hands into $Concubine.slaveName's massive boobs<<elseif ($Concubine.boobs > 1000)>>heft $Concubine.slaveName's heavy boobs<<elseif ($Concubine.boobs > 300)>>tease $Concubine.slaveName's healthy breasts<<else>>massage $Concubine.slaveName's flat chest<</if>>, nibbling $his $Concubine.skin neck, and generally torturing $him with stimulation until $he climaxes to $his beloved <<= WrittenMaster($Concubine)>>. When $he does, you extract yourself and pull $him unceremoniously off <<print $slaves[_msIdx[$i]].slaveName>>, replacing $him up <<print $slaves[_msIdx[$i]].slaveName>>'s ass. You work your way down the line, orgasm by orgasm, delaying your own climax until the exhausted <<print $slaves[_msIdx[0]].slaveName>> manages an anal orgasm by heroic efforts, and you're done. As you roll off _him2, panting, there is scattered applause and much congratulation from your harem of @@.mediumaquamarine;trusting fuckslaves.@@ + rear as wide as $he can without disentangling $himself from the pussy train. Up on the bed $he's at just the right height, and $he wiggles $his <<if ($Concubine.vagina > 2)>>loose pussy<<elseif ($Concubine.vagina > 1)>>pussy<<else>>tight little pussy<</if>> invitingly<<if canTalk($Concubine)>>, laughing at the sheer decadence of it<</if>>. <<if ($PC.dick == 0)>>You pull on a strap-on and push it<<else>>You push yourself<</if>> home with some force, your concubine's extreme state of arousal leaving $his pussy very relaxed and welcoming; the thrust shoves $him forward to hilt $himself in _msIdx[$i].slaveName, and so on down the line, producing more giggling, some squealing, and much scrabbling for balance. It takes a while to find the rhythm, and while you wait for the inevitable tangles to be fixed you decide to challenge yourself. You reach around and <<if ($Concubine.boobs > 10000)>>sink your hands into $Concubine.slaveName's massive boobs<<elseif ($Concubine.boobs > 1000)>>heft $Concubine.slaveName's heavy boobs<<elseif ($Concubine.boobs > 300)>>tease $Concubine.slaveName's healthy breasts<<else>>massage $Concubine.slaveName's flat chest<</if>>, nibbling $his $Concubine.skin neck, and generally torturing $him with stimulation until $he climaxes to $his beloved <<= WrittenMaster($Concubine)>>. When $he does, you extract yourself and pull $him unceremoniously off _msIdx[$i].slaveName, replacing $him up _msIdx[$i].slaveName's ass. You work your way down the line, orgasm by orgasm, delaying your own climax until the exhausted _msIdx[0].slaveName manages an anal orgasm by heroic efforts, and you're done. As you roll off _him2, panting, there is scattered applause and much congratulation from your harem of @@.mediumaquamarine;trusting fuckslaves.@@ <<for _reBMS = 0; _reBMS < $slaves.length; _reBMS++>> <<if $slaves[_reBMS].ID == $Concubine.ID>> <<set $slaves[_reBMS].trust += 5, $slaves[_reBMS].vaginalCount++, $vaginalTotal++, $slaves[_reBMS].penetrativeCount++, $penetrativeTotal++>> <<elseif $slaves[_reBMS].assignment == "serve in the master suite">> <<if $slaves[_reBMS].anus > 0>> <<set $slaves[_reBMS].trust += 1, $slaves[_reBMS].analCount++, $analTotal++>> - <<if $slaves[_reBMS].ID != $slaves[_msIdx[0]].ID>> + <<if $slaves[_reBMS].ID != _msIdx[0].ID>> <<set $slaves[_reBMS].penetrativeCount++, $penetrativeTotal++>> - <<elseif canImpreg($slaves[_msIdx[0]], $PC)>> - <<= knockMeUp($slaves[_msIdx[0]], 10, 1, $PC.ID, 1)>> + <<elseif canImpreg(_msIdx[0], $PC)>> + <<= knockMeUp(_msIdx[0], 10, 1, $PC.ID, 1)>> <</if>> <<else>> <<set $slaves[_reBMS].trust += 1, $slaves[_reBMS].oralCount++, $oralTotal++>> @@ -188,18 +198,18 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <</if>> <br><<link "Slide in up at the head of the bed for some oral">> <<replace "#result">> - <<setLocalPronouns $slaves[_msIdx[0]] 2>> - <<print $slaves[_msIdx[0]].slaveName>>'s <<eyeColor $slaves[_msIdx[0]]>> eyes widen when you push _him2 upright for a moment and slide in under _him2, but _he2 wraps _his2 - <<if ($slaves[_msIdx[0]].lips > 95)>> + <<setLocalPronouns _msIdx[0] 2>> + _msIdx[0].slaveName's <<eyeColor _msIdx[0]>> eyes widen when you push _him2 upright for a moment and slide in under _him2, but _he2 wraps _his2 + <<if (_msIdx[0].lips > 95)>> facepussy - <<elseif ($slaves[_msIdx[0]].lips > 70)>> + <<elseif (_msIdx[0].lips > 70)>> dick sucking lips - <<elseif ($slaves[_msIdx[0]].lips > 20)>> + <<elseif (_msIdx[0].lips > 20)>> pretty lips <<else>> lips <</if>> - around your <<if ($PC.dick == 0)>>clit<<else>>cock<<if $PC.vagina == 1>> and starts stroking your pussy<</if>><</if>> eagerly enough, even as <<print $slaves[_msIdx[1]].slaveName>> goes back to sodomizing _him2. The anal train is fairly gentle, since anything too fast would disintegrate the gymnastic arrangement, but <<print $slaves[_msIdx[0]].slaveName>> is still getting enough of a buttfuck that _he2 whimpers quietly into your <<if ($PC.vagina == 1)>>pussy<<else>>dick<</if>>, a nice feeling. The blowjob is <<if ($slaves[_msIdx[0]].oralSkill >= 100)>>masterful, despite the distraction<<elseif ($slaves[_msIdx[0]].oralSkill > 10)>>serviceable, despite the distraction<<else>>only mediocre, but serviceable enough<</if>>, so you let _him2 work for a while before gently shoving _him2 off the side of the bed and telling _him2 to get to the back of the line. The slaves all shuffle forward awkwardly, and inadvertently block your view so that you hear rather than see <<print $slaves[_msIdx[0]].slaveName>> start groping your concubine $Concubine.slaveName's + around your <<if ($PC.dick == 0)>>clit<<else>>cock<<if $PC.vagina == 1>> and starts stroking your pussy<</if>><</if>> eagerly enough, even as _msIdx[1].slaveName goes back to sodomizing _him2. The anal train is fairly gentle, since anything too fast would disintegrate the gymnastic arrangement, but _msIdx[0].slaveName is still getting enough of a buttfuck that _he2 whimpers quietly into your <<if ($PC.vagina == 1)>>pussy<<else>>dick<</if>>, a nice feeling. The blowjob is <<if (_msIdx[0].oralSkill >= 100)>>masterful, despite the distraction<<elseif (_msIdx[0].oralSkill > 10)>>serviceable, despite the distraction<<else>>only mediocre, but serviceable enough<</if>>, so you let _him2 work for a while before gently shoving _him2 off the side of the bed and telling _him2 to get to the back of the line. The slaves all shuffle forward awkwardly, and inadvertently block your view so that you hear rather than see _msIdx[0].slaveName start groping your concubine $Concubine.slaveName's <<if $activeSlave.butt > 15>> immeasurable <<elseif $activeSlave.butt > 10>> @@ -220,7 +230,7 @@ who has paused $his thrusting to issue a peremptory order to the slaves to stay <<elseif $slaves[_reBMS].assignment == "serve in the master suite">> <<if $slaves[_reBMS].anus > 0>> <<set $slaves[_reBMS].trust += 1, $slaves[_reBMS].analCount++, $analTotal++, $slaves[_reBMS].oralCount++, $oralTotal++>> - <<if $slaves[_reBMS].ID != $slaves[_msIdx[0]].ID>> + <<if $slaves[_reBMS].ID != _msIdx[0].ID>> <<set $slaves[_reBMS].penetrativeCount++, $penetrativeTotal++>> <</if>> <<else>> diff --git a/src/uncategorized/reDevotedMotherDaughter.tw b/src/uncategorized/reDevotedMotherDaughter.tw index fc9f65f5dc316071b4aa99c76f1bdc1a28f8b22c..06203541b3023c0bd6479325236395aca9b9d508 100644 --- a/src/uncategorized/reDevotedMotherDaughter.tw +++ b/src/uncategorized/reDevotedMotherDaughter.tw @@ -10,11 +10,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$i] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$i] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reDevotedTwins.tw b/src/uncategorized/reDevotedTwins.tw index cfea87fabb593d5bda0f01f1b25732dfd6c44ea0..0a44295821e20e740114c869f42c0044f3da9adb 100644 --- a/src/uncategorized/reDevotedTwins.tw +++ b/src/uncategorized/reDevotedTwins.tw @@ -8,11 +8,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$i] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$i] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reDevotees.tw b/src/uncategorized/reDevotees.tw index b4d20ccc3ba1dbd4c1865e4eec0d9ac9938cb591..c9c85f4d105c4ab11835948e3eb71bb3fccddf92 100644 --- a/src/uncategorized/reDevotees.tw +++ b/src/uncategorized/reDevotees.tw @@ -9,17 +9,19 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_red1] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_red2] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_red3] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_red4] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_red1] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_red2] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_red3] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_red4] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reFullBed.tw b/src/uncategorized/reFullBed.tw index 61a00501d9fcd874f683a5097ddd03eefbee3606..ef5c885bc8c263810a9be93d2baa1a10a9eaf9c0 100644 --- a/src/uncategorized/reFullBed.tw +++ b/src/uncategorized/reFullBed.tw @@ -7,11 +7,13 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_bedSlaveOne] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_bedSlaveTwo] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_bedSlaveOne] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_bedSlaveTwo] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reHGReplacement.tw b/src/uncategorized/reHGReplacement.tw index bac7696c083af71b595313baa7323c63e6a14a1f..0d49859533e73b2e2fc08efc898cb3725e07da9e 100644 --- a/src/uncategorized/reHGReplacement.tw +++ b/src/uncategorized/reHGReplacement.tw @@ -11,11 +11,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $HeadGirl 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $HeadGirl 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reRebels.tw b/src/uncategorized/reRebels.tw index e9bf72ae79bcae953ab2de73fefcb41fcd0b593e..2d1bc299ec545f6e10a4022421afed55c5a971f3 100644 --- a/src/uncategorized/reRebels.tw +++ b/src/uncategorized/reRebels.tw @@ -13,11 +13,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_i] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_i] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reRecruit.tw b/src/uncategorized/reRecruit.tw index bff03653c80555b43fba7e61d847d7e577b42551..c3573e6ba1f2de73ff5291fb9adf390f2318289a 100644 --- a/src/uncategorized/reRecruit.tw +++ b/src/uncategorized/reRecruit.tw @@ -2009,26 +2009,29 @@ <<case "female recruit">> <<setLocalPronouns $HeadGirl 2>> +<<setSpokenLocalPronouns $activeSlave $HeadGirl>> -Your Head Girl sends you a discreet message that _he2 may have found a slave for you. $HeadGirl.slaveName duly ushers a girl into your office. $He looks very young, like a dissolute party girl. $He bites $his lip nervously when $he sees you, and looks to $HeadGirl.slaveName for guidance. $HeadGirl.slaveName nods at $him reassuringly, so $he explains $himself. +Your Head Girl sends you a discreet message that _he2 may have found a slave for you. $HeadGirl.slaveName duly ushers a $girl into your office. $He looks very young, like a dissolute party $girl. $He bites $his lip nervously when $he sees you, and looks to $HeadGirl.slaveName for guidance. $HeadGirl.slaveName nods at $him reassuringly, so $he explains $himself. <br><br> -"<<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm, um, bored, I gue<<ss>>. I go to club<<s>> and get drunk and fuck guy<<s>> and it'<<s>> ju<<s>>t kinda boring. I thought it would be different when I turned <<= numberToWords($activeSlave.actualAge)>>, but that wa<<s>> a couple month<<s>> ago and, well, nothing'<<s>> different. I <<s>>aw $HeadGirl.slaveName and _he2 wa<<s>> ju<<s>>t <<s>>o gra<<c>>eful and beautiful and _he2 <<s>>eemed <<s>>o confident in what _he2 wa<<s>> doing and who _he2 wa<<s>> and I talked to _him2 and _he2 <<s>>aid _he2 wa<<s>> your Head Girl and... I want to be like _him2. Can I be your <<s>>lave? I'd be good, I'm good at <<s>>ucking dick<<s>> and <<s>>tuff." $He seems to be a little naïve about sexual slavery, but there's no need to tell $him that. +"<<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm, um, bored, I gue<<ss>>. I go to club<<s>> and get drunk and fuck guy<<s>> and it'<<s>> ju<<s>>t kinda boring. I thought it would be different when I turned <<= numberToWords($activeSlave.actualAge)>>, but that wa<<s>> a couple month<<s>> ago and, well, nothing'<<s>> different. I <<s>>aw $HeadGirl.slaveName and <<he 2>> wa<<s>> ju<<s>>t <<s>>o gra<<c>>eful and beautiful and <<he 2>> <<s>>eemed <<s>>o confident in what <<he 2>> wa<<s>> doing and who <<he 2>> wa<<s>> and I talked to _him2 and <<he 2>> <<s>>aid <<he 2>> wa<<s>> your Head Girl and... I want to be like _him2. Can I be your <<s>>lave? I'd be good, I'm good at <<s>>ucking dick<<s>> and <<s>>tuff." $He seems to be a little naïve about sexual slavery, but there's no need to tell $him that. <<case "male recruit">> <<setLocalPronouns $HeadGirl 2>> +<<setSpokenLocalPronouns $activeSlave $HeadGirl>> Your Head Girl sends you a discreet message that _he2 may have found a slave for you. $HeadGirl.slaveName duly ushers an androgynous young person into your office. $He's dressed as a girl and acts like one. $He looks very young, like a dissolute party girl. $He bites $his lip nervously when $he sees you, and looks to $HeadGirl.slaveName for guidance. $HeadGirl.slaveName nods at $him reassuringly, so $he explains $himself. <br><br> -"<<if $PC.title != 0>>Sir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm, um, bored, I gue<<ss>>. I go to club<<s>> and get drunk and fuck guy<<s>> and it'<<s>> ju<<s>>t kinda boring. I thought it would be different when I turned <<= numberToWords($activeSlave.actualAge)>>, but that wa<<s>> a couple month<<s>> ago and, well, nothing'<<s>> different. I <<s>>aw $HeadGirl.slaveName and _he2 wa<<s>> ju<<s>>t <<s>>o beautiful and ha<<s>> a dick like me and _he2 <<s>>eemed <<s>>o confident in what _he2 wa<<s>> doing and who _he2 wa<<s>> and I talked to _him2 and _he2 <<s>>aid _he2 wa<<s>> your Head Girl and... I want to be like _him2. Can I be your <<s>>lave? I'd be good, I'm good at <<s>>ucking dick<<s>>." $He seems to be a little naïve about sexual slavery, but there's no need to tell $him that. +"<<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm, um, bored, I gue<<ss>>. I go to club<<s>> and get drunk and fuck guy<<s>> and it'<<s>> ju<<s>>t kinda boring. I thought it would be different when I turned <<= numberToWords($activeSlave.actualAge)>>, but that wa<<s>> a couple month<<s>> ago and, well, nothing'<<s>> different. I <<s>>aw $HeadGirl.slaveName and <<he 2>> wa<<s>> ju<<s>>t <<s>>o beautiful and ha<<s>> a dick like me and <<he 2>> <<s>>eemed <<s>>o confident in what <<he 2>> wa<<s>> doing and who <<he 2>> wa<<s>> and I talked to _him2 and <<he 2>> <<s>>aid <<he 2>> wa<<s>> your Head Girl and... I want to be like _him2. Can I be your <<s>>lave? I'd be good, I'm good at <<s>>ucking dick<<s>>." $He seems to be a little naïve about sexual slavery, but there's no need to tell $him that. <<case "whore recruit">> <<setLocalPronouns $HeadGirl 2>> +<<setSpokenLocalPronouns $activeSlave $HeadGirl>> -Your Head Girl sends you a discreet message that _he2 may have found a slave for you. $HeadGirl.slaveName duly ushers a working girl into your office. $He looks like a classic street hooker, and $he's clearly had a rough time recently. $He needs no prompting to explain $himself, and $he does so without embarrassment. +Your Head Girl sends you a discreet message that _he2 may have found a slave for you. $HeadGirl.slaveName duly ushers a working $girl into your office. $He looks like a classic street hooker, and $he's clearly had a rough time recently. $He needs no prompting to explain $himself, and $he does so without embarrassment. <br><br> -"<<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm a <<s>>treet whore. Working girl<<s>> get to know each other, <<s>>o I know $HeadGirl.slaveName pretty well. I've been having a bad time on the <<s>>treet<<s>>, and la<<s>>t night a john beat on me pretty good. I'm broke and I'm <<s>>ick of thi<<s>>. Being free i<<s>>n't worth shit. $HeadGirl.slaveName like<<s>> you and _he2 <<s>>eem<<s>> to do OK. <<S>>o, can I be your <<s>>lave? I'm a good bet, <<if $PC.title != 0>><<s>>ir<<else>>ma'am<</if>>. I'd be happy enough working for you a<<s>> a <<s>>lave whore if you keep me healthy and <<s>>afe, and I'm a good fuck." +"<<if $PC.title != 0>><<S>>ir<<else>>Ma'am<</if>>, my name i<<s>> $activeSlave.slaveName. I'm a <<s>>treet whore. Working <<= $girl>><<s>> get to know each other, <<s>>o I know $HeadGirl.slaveName pretty well. I've been having a bad time on the <<s>>treet<<s>>, and la<<s>>t night a john beat on me pretty good. I'm broke and I'm <<s>>ick of thi<<s>>. Being free i<<s>>n't worth shit. $HeadGirl.slaveName like<<s>> you and <<he 2>> <<s>>eem<<s>> to do OK. <<S>>o, can I be your <<s>>lave? I'm a good bet, <<if $PC.title != 0>><<s>>ir<<else>>ma'am<</if>>. I'd be happy enough working for you a<<s>> a <<s>>lave whore if you keep me healthy and <<s>>afe, and I'm a good fuck." <<case "female debtor">> diff --git a/src/uncategorized/reRelationshipAdvice.tw b/src/uncategorized/reRelationshipAdvice.tw index 839f48a1dffb4050149422c323c81a85f2a46a73..a917d79e3f32b73df09ab9f272500bb1c62d3a2e 100644 --- a/src/uncategorized/reRelationshipAdvice.tw +++ b/src/uncategorized/reRelationshipAdvice.tw @@ -12,11 +12,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $subSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $subSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reRelativeRecruiter.tw b/src/uncategorized/reRelativeRecruiter.tw index f864a7f8cf3e1648dc4e8715915c72db615f779d..276c4107103d8b56160866a2cf1410030da5e336 100644 --- a/src/uncategorized/reRelativeRecruiter.tw +++ b/src/uncategorized/reRelativeRecruiter.tw @@ -685,18 +685,18 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $activeSlave.mother = $eventSlave.mother>> <<set $activeSlave.father = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> - <<set $slaves[$j].father = $missingParentID>> - <</if>> + <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> + <<set $slaves[$j].father = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <<elseif $eventSlave.father != 0>> <<set $activeSlave.father = $eventSlave.father>> <<set $activeSlave.mother = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> - <<set $slaves[$j].mother = $missingParentID>> - <</if>> + <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> + <<set $slaves[$j].mother = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <</if>> @@ -715,18 +715,18 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $activeSlave.mother = $eventSlave.mother>> <<set $activeSlave.father = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> - <<set $slaves[$j].father = $missingParentID>> - <</if>> + <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> + <<set $slaves[$j].father = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <<elseif $eventSlave.father != 0>> <<set $activeSlave.father = $eventSlave.father>> <<set $activeSlave.mother = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> - <<set $slaves[$j].mother = $missingParentID>> - <</if>> + <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> + <<set $slaves[$j].mother = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <</if>> @@ -745,18 +745,18 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $activeSlave.mother = $eventSlave.mother>> <<set $activeSlave.father = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> - <<set $slaves[$j].father = $missingParentID>> - <</if>> + <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> + <<set $slaves[$j].father = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <<elseif $eventSlave.father != 0>> <<set $activeSlave.father = $eventSlave.father>> <<set $activeSlave.mother = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> - <<set $slaves[$j].mother = $missingParentID>> - <</if>> + <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> + <<set $slaves[$j].mother = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <</if>> @@ -775,18 +775,18 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $activeSlave.mother = $eventSlave.mother>> <<set $activeSlave.father = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> - <<set $slaves[$j].father = $missingParentID>> - <</if>> + <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> + <<set $slaves[$j].father = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <<elseif $eventSlave.father != 0>> <<set $activeSlave.father = $eventSlave.father>> <<set $activeSlave.mother = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> - <<set $slaves[$j].mother = $missingParentID>> - <</if>> + <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> + <<set $slaves[$j].mother = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <</if>> @@ -805,18 +805,18 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<set $activeSlave.mother = $eventSlave.mother>> <<set $activeSlave.father = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> - <<set $slaves[$j].father = $missingParentID>> - <</if>> + <<if sameMom($activeSlave, $slaves[$j]) && $slaves[$j].father == 0>> + <<set $slaves[$j].father = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <<elseif $eventSlave.father != 0>> <<set $activeSlave.father = $eventSlave.father>> <<set $activeSlave.mother = $missingParentID>> <<for $j = 0; $j < $slaves.length; $j++>> - <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> - <<set $slaves[$j].mother = $missingParentID>> - <</if>> + <<if sameDad($activeSlave, $slaves[$j]) && $slaves[$j].mother == 0>> + <<set $slaves[$j].mother = $missingParentID>> + <</if>> <</for>> <<set $missingParentID-->> <</if>> @@ -825,11 +825,13 @@ You look up the _relationType. _He2 costs <<print cashFormat($slaveCost)>>, a ba <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $eventSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $eventSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reShelterInspection.tw b/src/uncategorized/reShelterInspection.tw index 54dc48e2bc813bcac848bc8019e71a8c9a6691ce..b062a258e9e2f9abf6895f7863e60eaa7fe5169c 100644 --- a/src/uncategorized/reShelterInspection.tw +++ b/src/uncategorized/reShelterInspection.tw @@ -61,11 +61,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _Inspectee 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _Inspectee 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reShowerPunishment.tw b/src/uncategorized/reShowerPunishment.tw index 91732022a3fec29046a556761c2933e930f5e2f6..2753fa517ef23bb2575cda79fae1bf7a9aa6d797 100644 --- a/src/uncategorized/reShowerPunishment.tw +++ b/src/uncategorized/reShowerPunishment.tw @@ -13,11 +13,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $HeadGirl 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $HeadGirl 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reSiblingRevenge.tw b/src/uncategorized/reSiblingRevenge.tw index bf4922c21cf35194ce4ccee232945c64f1ae8ab7..4ab39122274293b39c236073448fe12ff148988f 100644 --- a/src/uncategorized/reSiblingRevenge.tw +++ b/src/uncategorized/reSiblingRevenge.tw @@ -12,11 +12,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$j] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $slaves[$i] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$i] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[$j] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reSlaveMarriage.tw b/src/uncategorized/reSlaveMarriage.tw index 555312cfdfa565e53dd3dcea5908fbcc0e4b7589..99413870dd011a758940f80dafab37a9ae1ff838 100644 --- a/src/uncategorized/reSlaveMarriage.tw +++ b/src/uncategorized/reSlaveMarriage.tw @@ -17,11 +17,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $groomSlave 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $brideSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $groomSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $brideSlave 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/reStaffedMorning.tw b/src/uncategorized/reStaffedMorning.tw index 92514ba423f4f44cff26399b47e7a98b5581e2c5..a4f8d3119f89cd4c5cea280dadbd31d510c7214a 100644 --- a/src/uncategorized/reStaffedMorning.tw +++ b/src/uncategorized/reStaffedMorning.tw @@ -15,11 +15,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _bedSlaves[1] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _bedSlaves[0] 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt _bedSlaves[0] 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _bedSlaves[1] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/remoteSurgery.tw b/src/uncategorized/remoteSurgery.tw index 0c15667aadd183e369ab43753422deefc634ba78..cf1c8e9e69441054ce8e8e83c7bbee1517c82acc 100644 --- a/src/uncategorized/remoteSurgery.tw +++ b/src/uncategorized/remoteSurgery.tw @@ -193,67 +193,67 @@ $He has <<set $activeSlave.brand = 0>> <</if>> <<else>> - <br>Give $him: <<if $activeSlave.earShape != "pointy">> - [[Small Elfin Ears|Surgery Degradation][$activeSlave.earShape = "pointy", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + | [[Reshape into small elfin ears|Surgery Degradation][$activeSlave.earShape = "pointy", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] <</if>> <<if $surgeryUpgrade == 1>> <<if $activeSlave.earShape != "elven">> - | [[Long Elf Ears|Surgery Degradation][$activeSlave.earShape = "elven", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into long elf ears|Surgery Degradation][$activeSlave.earShape = "elven", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <<if $activeSlave.earShape != "ushi">> - | [[Bovine Ears|Surgery Degradation][$activeSlave.earShape = "ushi", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + | [[Reshape into bovine ears|Surgery Degradation][$activeSlave.earShape = "ushi", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] <</if>> <</if>> <</if>> <</if>> /*Top Ears*/ -<br> -$He has -<<if $activeSlave.earT == "none">> - <<if $activeSlave.earShape != "none">>only one set of ears<<else>>no secondary ears<</if>>. -<<elseif $activeSlave.earT == "normal">> - <<if $activeSlave.earShape != "none">>a second pair of ears grafted to $his head<<else>>a pair of ears grafted to the top of $his head<</if>>. -<<elseif $activeSlave.earT == "neko">> - a pair of cat ears adorning $his head. -<<elseif $activeSlave.earT == "inu">> - a pair of dog ears adorning $his head. -<<elseif $activeSlave.earT == "kit">> - a pair of fox ears adorning $his head. -<<elseif $activeSlave.earT == "tanuki">> - a pair of tanuki ears adorning $his head. -<<else>> - You done goofed. //Report This// -<</if>> -<<if $activeSlave.indentureRestrictions >= 2>> - //$His indenture forbids elective surgery// -<<else>> - <<if $activeSlave.earT != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> - [[Remove them|Surgery Degradation][$activeSlave.earT = "none", $cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "earGone"]] +<<if $activeSlave.earT != "none">> + <br> + $He has + <<if $activeSlave.earT == "none">> + <<if $activeSlave.earShape != "none">>only one set of ears<<else>>no secondary ears<</if>>. + <<elseif $activeSlave.earT == "normal">> + <<if $activeSlave.earShape != "none">>a second pair of ears grafted to $his head<<else>>a pair of ears grafted to the top of $his head<</if>>. + <<elseif $activeSlave.earT == "neko">> + a pair of cat ears adorning $his head. + <<elseif $activeSlave.earT == "inu">> + a pair of dog ears adorning $his head. + <<elseif $activeSlave.earT == "kit">> + a pair of fox ears adorning $his head. + <<elseif $activeSlave.earT == "tanuki">> + a pair of tanuki ears adorning $his head. + <<else>> + You done goofed. //Report This// <</if>> - <<if $activeSlave.earT == "normal">> - <br>Reshape them: - <<if $activeSlave.earT != "neko">> - [[Cat Ears|Surgery Degradation][$activeSlave.earT = "neko", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "inu">> - | [[Dog Ears|Surgery Degradation][$activeSlave.earT = "inu", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "kit">> - | [[Fox Ears|Surgery Degradation][$activeSlave.earT = "kit", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] - <</if>> - <<if $activeSlave.earT != "tanuki">> - | [[Tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <<if $activeSlave.indentureRestrictions >= 2>> + //$His indenture forbids elective surgery// + <<else>> + <<if $activeSlave.earT != "none" && $seeExtreme == 1 && $activeSlave.indentureRestrictions < 1>> + [[Remove them|Surgery Degradation][$activeSlave.earT = "none", $cash -= $surgeryCost, $activeSlave.health -= 20, $surgeryType = "earGone"]] <</if>> - <<elseif $activeSlave.earT != "none">> - <br> - <<if $activeSlave.earTColor == "hairless">> - They are completely bald. - [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <<if $activeSlave.earT == "normal">> + <<if $activeSlave.earT != "neko">> + | [[Reshape into cat Ears|Surgery Degradation][$activeSlave.earT = "neko", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "inu">> + | [[Reshape into dog Ears|Surgery Degradation][$activeSlave.earT = "inu", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "kit">> + | [[Reshape into fox Ears|Surgery Degradation][$activeSlave.earT = "kit", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> + <<if $activeSlave.earT != "tanuki">> + | [[Reshape into tanuki Ears|Surgery Degradation][$activeSlave.earT = "tanuki", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMajor"]] + <</if>> <<else>> - They are covered by a multitude of implanted $activeSlave.earTColor fibers mimicking hair. - [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <br> + <<if $activeSlave.earTColor == "hairless">> + They are completely bald. + [[Implant hair mimicking fibers|Surgery Degradation][$activeSlave.earTColor = $activeSlave.hColor, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <<else>> + They are covered by a multitude of implanted $activeSlave.earTColor fibers mimicking hair. + [[Remove them|Surgery Degradation][$activeSlave.earTColor = "hairless", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "earMinor"]] + <</if>> <</if>> <</if>> <</if>> @@ -294,8 +294,10 @@ $He has /*Horns*/ <br> $He has <<if $activeSlave.horn == "none">>no horns<<else>>$activeSlave.horn<</if>>. -<<if $activeSlave.horn != "none">> - [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>><br> +<<if $activeSlave.indentureRestrictions >= 2>> + //$His indenture forbids elective surgery// +<<elseif $activeSlave.horn != "none">> + [[Remove them|Surgery Degradation][$activeSlave.horn = "none", $activeSlave.hornColor = "none", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "hornGone"]]<</if>> Give $him: <<if $activeSlave.horn != "curved succubus horns">> [[Succubus horns|Surgery Degradation][$activeSlave.horn = "curved succubus horns", $activeSlave.hornColor = "jet black", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> @@ -304,7 +306,7 @@ $He has <<if $activeSlave.horn == "none">>no horns<<else>>$activeSlave.horn<</if <<if $activeSlave.horn != "cow horns">> | [[Bovine horns|Surgery Degradation][$activeSlave.horn = "cow horns", $activeSlave.hornColor = "ivory", $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "one long oni horn">> - | [[an oni horn|Surgery Degradation][$activeSlave.horn = "one long oni horn", $activeSlave.hornColor = $activeSlave.skin, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> + | [[an oni horn|Surgery Degradation][$activeSlave.horn = "one long oni horn", $activeSlave.hornColor = $activeSlave.skin, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "two long oni horns">> | [[2 oni horns|Surgery Degradation][$activeSlave.horn = "two long oni horns", $activeSlave.hornColor = $activeSlave.skin, $cash -= $surgeryCost, $activeSlave.health -= 10, $surgeryType = "horn"]]<</if>> <<if $activeSlave.horn != "small horns">> @@ -880,7 +882,7 @@ $He's got a <<if $activeSlave.butt <= 1>>flat and <<print either("skinny", "slim", "taut")>> ass. <<elseif $activeSlave.butt <= 2>><<print either("rounded, small", "small but rounded", "small, sleek")>> rear end. <<elseif $activeSlave.butt <= 3>><<print either("big and healthy", "curved and plump", "healthy and plump")>> derrière. -<<elseif $activeSlave.butt <= 4>><<print either("big bubble butt", "curvy and enticing butt", "juicy and large butt")>>. +<<elseif $activeSlave.butt <= 4>><<print either("big bubble", "curvy and enticing", "juicy and large")>> butt. <<elseif $activeSlave.butt <= 5>><<print either("huge", "juicy and huge", "massive and undeniable")>> rear end. <<elseif ($activeSlave.amp == 1)>>ridiculous ass. It's so big it would jiggle as $he walked — if $he could walk. <<else>>ridiculous ass. It's so big it jiggles as $he walks. diff --git a/src/uncategorized/repBudget.tw b/src/uncategorized/repBudget.tw index f539894bc0a2fa5cbd32f5e4658d66364d92e83b..fe0d34951a2ce43fb4e2177e227661adc3b744c9 100644 --- a/src/uncategorized/repBudget.tw +++ b/src/uncategorized/repBudget.tw @@ -12,9 +12,9 @@ <</if>> <br> -//Reputation is a difficult thing to quantify, <<= properTitle()>>. Here you see an overview of topics that interest people in the arcology, and in turn, reflect on your own reputation. The more symbols you see in a category, the more impact that category is having on your reputation lately.// +//Reputation is a difficult thing to quantify, <<= properTitle()>>. Here you see an overview of topics that interest people in the arcology, and in turn, reflect on your own reputation. The more symbols you see in a category, the more impact that category is having on your reputation lately.// -<br style="clear:both" /><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> +<br style="clear:both"><<if $lineSeparations == 0>><br><<else>><hr style="margin:0"><</if>> <br> //Your weekly reputation changes are as follows:// @@ -168,7 +168,7 @@ for(var i = 0; i < State.variables.lastWeeksRepIncome.length; i++){ </td> <td> <<set $lastWeeksRepProfits.Total = ($lastWeeksRepIncome.Total + $lastWeeksRepExpenses.Total)>> - /* each "profit" item is calculated on this sheet, and there's two ways to generate a profit total: the difference of the income and expense totals, and adding all the profit items. If they aren't the same, I probably forgot to properly add an item's profit calculation to this sheet.*/ + /* each "profit" item is calculated on this sheet, and there's two ways to generate a profit total: the difference of the income and expense totals, and adding all the profit items. If they aren't the same, I probably forgot to properly add an item's profit calculation to this sheet.*/ <<if $lastWeeksRepProfits.Total != hashSum($lastWeeksRepProfits) - $lastWeeksRepProfits.Total>>/* The profits object includes the total number of profits, so we have to subtract it back out */ <<print (commaNum(Math.trunc(hashSum($lastWeeksRepProfits)-$lastWeeksRepProfits.Total)))>><br> @@.red;Fix profit calc<br>@@ diff --git a/src/uncategorized/reputation.tw b/src/uncategorized/reputation.tw index 77ddf0e06a5105615aedb97ac3fbb593f1d124f8..6aabb016be8fec2a20487c172c056891f3ead47f 100644 --- a/src/uncategorized/reputation.tw +++ b/src/uncategorized/reputation.tw @@ -118,7 +118,7 @@ On formal occasions, you are announced as $PCTitle. <</if>> <</if>> -/*play games with overflow. Gains are calculated (and then sadly rounded) on previous pages but losses are calculated here, after the overflow happened. Let's borrow from the past.*/ +/*play games with overflow. Gains are calculated (and then sadly rounded) on previous pages but losses are calculated here, after the overflow happened. Let's borrow from the past.*/ <<if $lastWeeksRepExpenses.overflow < 0>> <<set $rep += Math.abs($lastWeeksRepExpenses.overflow)>> <<set $lastWeeksRepExpenses.overflow = 0>> diff --git a/src/uncategorized/rulesSlaveDeselectWorkaround.tw b/src/uncategorized/rulesSlaveDeselectWorkaround.tw index 0650e4deb96b8d412d3da6ef45e475823b085008..fda2a7f7570445ddb3ad2f160d2095bb8b4f736e 100644 --- a/src/uncategorized/rulesSlaveDeselectWorkaround.tw +++ b/src/uncategorized/rulesSlaveDeselectWorkaround.tw @@ -1,6 +1,5 @@ -:: Rules Slave Deselect Workaround +:: Rules Slave Deselect Workaround [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Slave Select">> <<if ruleSlaveSelected($activeSlave, $currentRule)>> @@ -8,4 +7,3 @@ <</if>> <<goto "Rules Slave Select">> -<</nobr>> diff --git a/src/uncategorized/rulesSlaveExclude.tw b/src/uncategorized/rulesSlaveExclude.tw index 5c6e5a4f5226d8b86da1dae715c467f39fe0be98..3bda3fbbe8e85595d0a240438868031231cd0a27 100644 --- a/src/uncategorized/rulesSlaveExclude.tw +++ b/src/uncategorized/rulesSlaveExclude.tw @@ -1,6 +1,5 @@ -:: Rules Slave Exclude +:: Rules Slave Exclude [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Assistant">> <<if ndef $currentRule.excludedSlaves>> @@ -20,4 +19,3 @@ <<set $Flag = 0>> <<include "Slave Summary">> <</if>> -<</nobr>> diff --git a/src/uncategorized/rulesSlaveExcludeWorkaround.tw b/src/uncategorized/rulesSlaveExcludeWorkaround.tw index 7c74635680cf37e6a4e90dc84c2611e1badc710d..e35b1fcd4c6303c209bdb08aa8e22305f5cee76b 100644 --- a/src/uncategorized/rulesSlaveExcludeWorkaround.tw +++ b/src/uncategorized/rulesSlaveExcludeWorkaround.tw @@ -1,6 +1,5 @@ -:: Rules Slave Exclude Workaround +:: Rules Slave Exclude Workaround [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Slave Exclude">> <<if !ruleSlaveExcluded($activeSlave, $currentRule)>> @@ -11,4 +10,3 @@ <</if>> <<goto "Rules Slave Exclude">> -<</nobr>> diff --git a/src/uncategorized/rulesSlaveNoExcludeWorkaround.tw b/src/uncategorized/rulesSlaveNoExcludeWorkaround.tw index 3522b7ffc06e2f919de14a4337168c6efe576093..3213729339855c1cab2d7dfb034a63277258c2ad 100644 --- a/src/uncategorized/rulesSlaveNoExcludeWorkaround.tw +++ b/src/uncategorized/rulesSlaveNoExcludeWorkaround.tw @@ -1,6 +1,5 @@ -:: Rules Slave NoExclude Workaround +:: Rules Slave NoExclude Workaround [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Slave Exclude">> <<if ruleSlaveExcluded($activeSlave, $currentRule)>> @@ -8,4 +7,3 @@ <</if>> <<goto "Rules Slave Exclude">> -<</nobr>> diff --git a/src/uncategorized/rulesSlaveSelect.tw b/src/uncategorized/rulesSlaveSelect.tw index 2c7a4cf70ab7319230d34ea7a1b6def0917606c3..4f234f4a0790886558cb52525bd6877576724c84 100644 --- a/src/uncategorized/rulesSlaveSelect.tw +++ b/src/uncategorized/rulesSlaveSelect.tw @@ -1,6 +1,5 @@ -:: Rules Slave Select +:: Rules Slave Select [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Assistant">> <<if ndef $currentRule.selectedSlaves>> @@ -20,4 +19,3 @@ <<set $Flag = 0>> <<include "Slave Summary">> <</if>> -<</nobr>> diff --git a/src/uncategorized/rulesSlaveSelectWorkaround.tw b/src/uncategorized/rulesSlaveSelectWorkaround.tw index 61af797ced7d28f52e6f2040261c2d783e5dd680..af9e05771eb64595e42676badff8f37852dd7a85 100644 --- a/src/uncategorized/rulesSlaveSelectWorkaround.tw +++ b/src/uncategorized/rulesSlaveSelectWorkaround.tw @@ -1,6 +1,5 @@ -:: Rules Slave Select Workaround +:: Rules Slave Select Workaround [nobr] -<<nobr>> <<set $nextButton = "Continue", $nextLink = "Rules Slave Select">> <<if !ruleSlaveSelected($activeSlave, $currentRule)>> @@ -11,4 +10,3 @@ <</if>> <<goto "Rules Slave Select">> -<</nobr>> diff --git a/src/uncategorized/salon.tw b/src/uncategorized/salon.tw index 6f26a5d5f465b71fc70ecd1908b836e2bbdeff5d..84b316bf113b3b8843395c58901f96dbd22964cd 100644 --- a/src/uncategorized/salon.tw +++ b/src/uncategorized/salon.tw @@ -3,8 +3,11 @@ <<set $nextButton = "Continue", $nextLink = "Slave Interact">> <<set $showEncyclopedia = 1>><<set $encyclopedia = "The Auto Salon">> - -<<set _oldHLength = $activeSlave.hLength, _newHLength = 0>> +<<if $showInches == 2>> + <<set _oldHLength = Math.round($activeSlave.hLength/2.54), _newHLength = 0>> +<<else>> + <<set _oldHLength = $activeSlave.hLength, _newHLength = 0>> +<</if>> <h1>The Auto Salon</h1> @@ -433,14 +436,15 @@ Set horn color: <<elseif $activeSlave.hLength < 150>> | [[Apply extensions|Salon][$activeSlave.hLength += 10,cashX(forceNeg($modCost), "slaveMod", $activeSlave)]] <</if>> - /* FIXME: get this to work | Custom length: <<textbox "_newHLength" _oldHLength "Salon">> - <<if (_newHLength < _oldHLength) && (_newHLength > 0)>> - <<set $activeSlave.hLength = _newHLength>> - <<else>> - <<set $activeSlave.hLength = _oldHLength>> - <</if>> - */ + <<if $showInches == 1>> + cm (<<= cmToInchString($activeSlave.hLength)>>) + <<elseif $showInches == 2>> + inches + <<else>> + cm + <</if>> + [[Apply|Salon][cashX(forceNeg($modCost), "slaveMod", $activeSlave), $activeSlave.hLength = (Number(_newHLength) || $activeSlave.hLength)]] <br> Have $his hair carefully maintained at its current length: diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw index 4c8b2beeba32417837a5633da45988f65e5a175a..a0c2fc1bd9542b73bde1ee9394572ea24a14a71f 100644 --- a/src/uncategorized/seCoursing.tw +++ b/src/uncategorized/seCoursing.tw @@ -239,11 +239,13 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har <<set _clothesTemp = $Lurcher.clothes, $Lurcher.clothes = "no clothing">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $hare1 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $Lurcher 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $Lurcher 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $hare1 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -260,11 +262,13 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har <<set _clothesTemp = $Lurcher.clothes, $Lurcher.clothes = "no clothing">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $hare2 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $Lurcher 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $Lurcher 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $hare2 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -282,11 +286,13 @@ You lead your lurcher $Lurcher.slaveName out on a leash, naked just like the har <<set _clothesTemp = $Lurcher.clothes, $Lurcher.clothes = "no clothing">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $hare3 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $Lurcher 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $Lurcher 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $hare3 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/seLethalPit.tw b/src/uncategorized/seLethalPit.tw index 43662f2f5f85633c4adaee4c5e9e5df450236a2d..bb99a3cd0cf031894035dcacf8c4f610294f7ca7 100644 --- a/src/uncategorized/seLethalPit.tw +++ b/src/uncategorized/seLethalPit.tw @@ -26,11 +26,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _fighterTwo 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _fighterOne 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt _fighterOne 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _fighterTwo 2 0>> + </div> </div> <</if>> /* 000-250-006 */ @@ -756,7 +758,7 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <<else>> <<switch _animal.type>> <<case "canine" "feline">> - _loser.slaveName doesn't stand a chance, and $he knows it. $He comes in with a furious overhead slash, which the _animal.species dodges with ease. It also dodges the next few slashes before coming to a standstill. With a furious growl, it runs around $him, just out of reach of $his sword, before jumping at the wall of $pitName and launching itself off. Its <<if _animal.type == "canine">>teeth<<else>>claws<</if>> connect with _loser.slaveName's throat, completely severing $his windpipe. $He falls to his knees, eyes wide and clutching $his throat, before completely collapsing. + _loser.slaveName doesn't stand a chance, and $he knows it. $He comes in with a furious overhead slash, which the _animal.species dodges with ease. It also dodges the next few slashes before coming to a standstill. With a furious growl, it runs around $him, just out of reach of $his sword, before jumping at the wall of $pitName and launching itself off. Its <<if _animal.type == "canine">>teeth<<else>>claws<</if>> connect with _loser.slaveName's throat, completely severing $his windpipe. $He falls to $his knees, eyes wide and clutching $his throat, before completely collapsing. <<case "hooved">> The _animal.species paws at the ground for a few seconds before launching itself at $activeSlave.slaveName. $He just barely manages to get out of the way, and the _animal.species has to backpedal to avoid smashing into the wall. $activeSlave.slaveName isn't out of danger just yet, though — $he is still standing directly behind the _animal.species. $He realizes this too late, as both of the its hooves connect with $his jaw. With a sickening //crunch//, $he flies backwards, $his body slamming into the other wall of $pitName. <</switch>> diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw index 36b0715f8cbfed4cf189ec45a887641598180967..7ae6176f16599216d4e483f46c6449d35965523b 100644 --- a/src/uncategorized/seNonlethalPit.tw +++ b/src/uncategorized/seNonlethalPit.tw @@ -19,11 +19,13 @@ <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _fighterTwo 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _fighterOne 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt _fighterOne 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _fighterTwo 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/seRetirement.tw b/src/uncategorized/seRetirement.tw index bb2a1d919d3cf97e18447ac2729621f9d31ce9a2..1ecab00f1cff96ed80a9cac3b81db3777390212a 100644 --- a/src/uncategorized/seRetirement.tw +++ b/src/uncategorized/seRetirement.tw @@ -210,17 +210,19 @@ Your arcology has gained a well-off citizen. <</if>> <</replace>> <</link>> -<br /> +<br> <<if _clonedSlave.relationship >= 4>> <<link "Send $his _girl2 into retirement with $him">> <<replace "#artFrame">> /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt $slaves[_sr] 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt $activeSlave 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt $activeSlave 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt $slaves[_sr] 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/seWeddingDouble.tw b/src/uncategorized/seWeddingDouble.tw index 925a2609e4471d04c08b2e926048e05b9409ba8b..1d7421074727d9b646e938d97aba763a394f73a4 100644 --- a/src/uncategorized/seWeddingDouble.tw +++ b/src/uncategorized/seWeddingDouble.tw @@ -10,11 +10,13 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _slave2 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _slave1 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt _slave1 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _slave2 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/seWeddingTriple.tw b/src/uncategorized/seWeddingTriple.tw index 67474090048403bbd63cf9e214efe7650ed923fe..f82e55b3b6f0b4c153ac9a110999e4f91daec105 100644 --- a/src/uncategorized/seWeddingTriple.tw +++ b/src/uncategorized/seWeddingTriple.tw @@ -14,14 +14,16 @@ /* 000-250-006 */ <<if $seeImages == 1>> - <div class="imageRef medImg"> - <<SlaveArt _slave3 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _slave2 2 0>> - </div> - <div class="imageRef medImg"> - <<SlaveArt _slave1 2 0>> + <div class="imageColumn"> + <div class="imageRef medImg"> + <<SlaveArt _slave1 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _slave2 2 0>> + </div> + <div class="imageRef medImg"> + <<SlaveArt _slave3 2 0>> + </div> </div> <</if>> /* 000-250-006 */ diff --git a/src/uncategorized/sellSlave.tw b/src/uncategorized/sellSlave.tw index 4756b401a804d921d52cec28a18058c7e7aa720f..c6184084657ab2545f0d93d3ca319f2a6a6af44c 100644 --- a/src/uncategorized/sellSlave.tw +++ b/src/uncategorized/sellSlave.tw @@ -1896,7 +1896,7 @@ __Bids Received__ <</if>> <br><br> -<<link "Re-list $him" "Sell Slave">><<run cashX(-500, "slaveTransfer")>><</link>> +<<link "Re-list $him" "Sell Slave">><<run cashX(-500, "personalBusiness")>><</link>> //This will cost <<print cashFormat(500)>>// <</if>> diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw index 78efeee68d035763cfb7517f2760bb9c1a8d98df..d7e76b5929ba976df026ffbc0f035a52a9fb1a4c 100644 --- a/src/uncategorized/slaveInteract.tw +++ b/src/uncategorized/slaveInteract.tw @@ -1845,7 +1845,7 @@ __Financial__: <<elseif $activeSlave.accent > 3>> //$His lack of language and basic life skills is a red sign to most slave appraisers. $He must not act like a child to be sold without raising suspicion.// | <<else>> - <<link "Sell $him" "Sell Slave">><<run cashX(-500, "slaveTransfer", $activeSlave)>><</link>> //Listing $him for sale will cost <<print cashFormat(500)>>// | + <<link "Sell $him" "Sell Slave">><<run cashX(-500, "personalBusiness", $activeSlave)>><</link>> //Listing $him for sale will cost <<print cashFormat(500)>>// | <<if ($seeAge != 0) && ($activeSlave.indenture < 1)>> <<link "Retire $him" "SE retirement">><<set $retiree = $activeSlave.ID, $retired = 1>><</link>> | <</if>> diff --git a/src/uncategorized/specialSlave.tw b/src/uncategorized/specialSlave.tw index 3bd3bf7762125cd4b79864401011205e30186699..20239971e6c72fae8605ad1ae9f59b9f24d7463a 100644 --- a/src/uncategorized/specialSlave.tw +++ b/src/uncategorized/specialSlave.tw @@ -97,7 +97,7 @@ <br><br> - [[Pay to access complete catalog of slaves|Complete Catalog][cashX(-1000, "slaveTransfer")]] //Costs <<print cashFormat(1000)>>.// + [[Pay to access complete catalog of slaves|Complete Catalog][cashX(-1000, "personalBusiness")]] //Costs <<print cashFormat(1000)>>.// <br><br> diff --git a/src/uncategorized/walkPast.tw b/src/uncategorized/walkPast.tw index 0312fa83bccdf030d3cb425b3427fea72b93b930..5c8f4312b09ef455edee2d65a802a1576f202730 100644 --- a/src/uncategorized/walkPast.tw +++ b/src/uncategorized/walkPast.tw @@ -52,428 +52,13 @@ <<= loverSlave($activeSlave)>> <<elseif ($partner == "relationship") || ($partner == "relation")>> - <<set _partnerSlave = null>> - <<if ($partner == "relation")>> - <<if $familyTesting == 1>> - <<set _partnerSlave = $relation>> - <<setLocalPronouns _partnerSlave 2>> - <<else>> - <<set _partnerSlave = getSlave($activeSlave.relationTarget)>> - <<setLocalPronouns _partnerSlave 2>> - <</if>> - <<else>> - <<set _partnerSlave = getSlave($activeSlave.relationshipTarget)>> - <<setLocalPronouns _partnerSlave 2>> - <<if $activeSlave.relationship <= 1>> - <<set _activeSlaveRel = "friend", _partnerRel = "friend">> - <<elseif $activeSlave.relationship <= 2>> - <<set _activeSlaveRel = "best friend", _partnerRel = "best friend">> - <<elseif $activeSlave.relationship <= 3>> - <<set _activeSlaveRel = "friend with benefits", _partnerRel = "friend with benefits">> - <<elseif $activeSlave.relationship <= 4>> - <<set _activeSlaveRel = "lover", _partnerRel = "lover">> - <<elseif $activeSlave.relationship > 4>> - <<set _activeSlaveRel = "slave wife", _partnerRel = "slave wife">> - <</if>> - <</if>> - <<if ndef _partnerSlave || _partnerSlave == null>> - <<goto "Main">> - <</if>> - $His - <<if ($partner == "relation")>> - <<if $familyTesting == 1>> - $relationType - <<else>> - _partnerSlave.relation - <</if>> - <<else>> - _activeSlaveRel - <</if>> - _partnerSlave.slaveName - <<switch _partnerSlave.assignment>> - <<case "be your agent">> - is off managing an arcology in your stead, but you can call _him2 back for a visit if you were inclined. - <<case "be confined in the arcade">> - is nothing more than holes in $arcadeName, but you have a fine view of _his2 <<if $seeRace == 1>>_partnerSlave.race rear <</if>>on the feed from the facility. - <<case "stay confined">> - is confined, but you have a fine view of _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body on the feed from _his2 cell. - <<case "work in the brothel">> - is working in the brothel, and is - <<if (_seed > 80)>> - riding a customer's dick. - <<elseif (_seed > 60)>> - sucking a customer's cock. - <<elseif (_seed > 40)>> - pleasuring a customer's cunt. - <<elseif (_seed > 20)>> - getting pounded by a woman wearing a strap-on. - <<else>> - being held down and buttfucked by a customer. You have a voyeuristic view of _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body on the feeds. - <</if>> - You have a voyeuristic view of _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body on the feeds. - <<case "serve the public">> - is serving the public, and is - <<if (_seed > 80)>> - riding a citizen's dick. - <<elseif (_seed > 60)>> - sucking a citizen's cock. - <<elseif (_seed > 40)>> - pleasuring a citizen's cunt. - <<elseif (_seed > 20)>> - getting pounded by a citizen wearing a strap-on. - <<else>> - being held down and buttfucked by a citizen. - <</if>> - You have a voyeuristic view of _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body on the feeds. - <<case "work in the dairy">> - <<if ($dairyRestraintsSetting > 1)>> - is strapped to a milking machine in $dairyName. - <<elseif (_partnerSlave.lactation == 0) && (_partnerSlave.balls > 0)>> - is working in $dairyName, and is having _his2 cock milked. As you watch, _his2 balls tighten as the phallus up _his2 butt brings _him2 closer to a copious ejaculation. - <<elseif _seed > 50>> - is working in $dairyName, having _his2 tits milked. - <<else>> - is working in $dairyName, massaging _his2 sore tits. - <</if>> - You have a good view of _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body on the feeds. - <<case "serve in the club">> - is working on the club, - <<if _seed > 50>> - displaying _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body, keeping citizens company, and flirting with anyone who shows interest. - <<else>> - or rather just off it, having taken a prominent citizen back to a discreet room so he can use _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body. - <</if>> - <<case "work as a servant">> - <<if _seed > 50>> - was scrubbing the penthouse floor, until another slave requested oral service. - <<else>> - is scrubbing the penthouse floor. - <</if>> - <<case "guard you">> - is standing discreetly behind your left shoulder, watching for threats. _He2 has a straight ceramic sword strapped to _his2 back and a machine pistol at _his2 hip. - <<case "be the Madam">> - is managing the brothel: _he2 is making sure all the customers are satisfied and all the whores are working hard. - <<case "be the Attendant">> - is seeing to slaves in the spa: _he2 is gently soaping an exhausted slave. - <<case "be the Stewardess">> - is managing the house servants: _he2 overseeing the laboring house slaves and punishing any that step out of line. - <<case "be the DJ">> - is taking the lead on the club: _he2 greets new arrivals, flirts with them prettily, and subtly guides them towards choice sluts. - <<case "be the Schoolteacher">> - is teaching classes: _he2 is leading the slave students in rote recitation. - <<case "be the Milkmaid">> - is working in the dairy, looking after your stock. - <<default>> + <<= relatedSlave($activeSlave)>> - <<if (_partnerSlave.heels == 1) && !["flats", "none"].includes(_partnerSlave.shoes)>> - walks past your desk with the tiny swaying steps $he must take in order to walk on _his2 surgically altered legs. _He2 is on _his2 way to - <<elseif ["heels", "pumps"].includes(_partnerSlave.shoes)>> - walks past your desk with the swaying steps _he2 must take in _his2 high heels. _He2 is on _his2 way to - <<elseif (_partnerSlave.shoes == "boots")>> - walks past your desk with the confident gait encouraged by _his2 high heeled boots. _He2 is on _his2 way to - <<elseif (_partnerSlave.shoes == "extreme heels")>> - walks past your desk with the tiny swaying steps _he2 must take in _his2 ridiculous heels. _He2 is on _his2 way to - <<elseif (_partnerSlave.heels == 1)>> - crawls past your desk on all fours, since _he2 has not been allowed the heels _he2 needs to walk upright. _He2 is on _his2 way to - <<elseif (_partnerSlave.amp == 1)>> - is carried past your desk by one of your other slaves. _He2 is on _his2 way to - <<else>> - walks past your desk on _his2 way to - <</if>> - - <<switch _partnerSlave.assignment>> - <<case "whore">> - <<if _seed > 50>> - whore; - <<else>> - sell _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body; - <</if>> - <<case "serve the public">> - <<if _seed > 50>> - serve the public; - <<else>> - be a public slut; - <</if>> - <<case "rest">> - <<if _seed > 50>> - eat; - <<else>> - bed; - <</if>> - <<case "get milked">> - <<if _seed > 50>> - milk _his2 overfull <<if $seeRace == 1>>_partnerSlave.race <</if>>tits; - <<else>> - drain _his2 milky <<if $seeRace == 1>>_partnerSlave.race <</if>>udders; - <</if>> - <<case "please you">> - sit next to you and wait for - <<if _seed > 50>> - you to fuck _him2; - <<else>> - _his2 Master to use _his2 <<if $seeRace == 1>>_partnerSlave.race <</if>>body; - <</if>> - <<case "be a subordinate slave">> - service your other slaves; - <<case "be a servant">> - clean up after your other slaves; - <<case "be your Head Girl">> - oversee your other slaves; - <<case "recruit girls">> - use _his2 connections to recruit slaves; - <</switch>> +<<elseif (_flag > 80) && ($activeSlave.fuckdoll == 0)>> - <<if (_partnerSlave.amp == 1)>> - _he2 is carried by on _his2 way to _his2 next task. - <<elseif _partnerSlave.fetish == "mindbroken">> - _he2 does not even glance at you as _he2 goes mindlessly to _his2 next task. - <<elseif _partnerSlave.devotion < -50>> - _he2 directs a look of pure hatred at where you sit as _he2 passes. - <<elseif _partnerSlave.devotion < -20>> - _he2 cannot keep the loathing from _his2 face as _he2 passes. - <<elseif _partnerSlave.devotion <= 20>> - _he2 passes quickly, obviously hoping to avoid you. - <<elseif _partnerSlave.devotion <= 50>> - _he2 rushes by, hurrying to _his2 next task. - <<else>> - as _he2 passes _he2 gives you a look of adoration. - <</if>> + <<= boobWatch($activeSlave)>> - <</switch>> - <<set $target = "FRelation", _partnerSlave = null>> -<<elseif (_flag > 80) && ($activeSlave.fuckdoll == 0)>> - <<BoobsDescription>> - <<switch $activeSlave.clothes>> - <<case "uncomfortable straps">> - <<if $activeSlave.boobs < 300>> - The rings constantly rub against $his chest and force $his nipples to stick out. - <<else>> - The strap over $his tits presses the soft flesh, and the ring around each nipple - <<if $activeSlave.nipples == "fuckable">> - forces them open. - <<else>> - forces them to stick out. - <</if>> - <</if>> - <<case "shibari ropes">> - <<if $activeSlave.boobs < 300>> - The ropes binding $his chest shift slightly with every step, since $he lacks any breasts to hold them in place. - <<else>> - The ropes binding $his chest dig into the soft flesh as $he moves. - <</if>> - <<case "attractive lingerie for a pregnant women">> - <<if $activeSlave.boobs < 300>> - The bulge of $his $activeSlave.nipples nipples can be seen under the taut silk. - <<else>> - $His silken bra causes $his breasts to bulge around them. - <</if>> - <<case "a maternity dress">> - <<if $activeSlave.boobs < 300>> - $His low cut dress was made with breasts in mind; every stop $he takes risks it sliding down and revealing $his $activeSlave.nipples nipples. - <<else>> - $His low cut dress shows ample cleavage and is made to be easy to pull down. - <</if>> - <<case "stretch pants and a crop-top">> - <<if $activeSlave.boobs < 300>> - $His flat chest makes the perfect canvas to read $his crop-top. - <<else>> - $His crop-top tightly clings to $his breasts and moves along with them. $His jiggling cleavage distracts from the writing on $his tits. - <</if>> - <<case "restrictive latex">> - <<if $activeSlave.boobs < 300>> - $His lack of breasts draws your eyes straight to $his exposed nipples. - <<else>> - $His tits stick out through $his latex outfit. - <</if>> - <<case "attractive lingerie">> - $His pretty white lace bra has thoughtful cuts that tastefully let $his nipples stick through. - <<case "kitty lingerie">> - <<if $activeSlave.boobs < 300>> - $His lingerie's cleavage window proudly displays $his flat chest. - <<else>> - $His lingerie's cleavage window proudly displays $his ample cleavage. - <</if>> - <<case "a succubus outfit">> - <<if $activeSlave.boobs < 300>> - $His succubus outfit presents this sex demon's flat chest, inviting a damning fondle. - <<else>> - $His succubus outfit presents this sex demon's breasts, inviting a damning fondle. - <</if>> - <<case "a slutty maid outfit">> - <<if $activeSlave.boobs < 300>> - $His maid outfit covers $his flat chest with a thin white blouse designed to be easy to pull down. - <<else>> - $His maid outfit covers $his breasts with a thin white blouse designed to be easy to pull down. - <</if>> - <<case "a nice maid outfit">> - <<if $activeSlave.boobs < 300>> - $His maid outfit covers $his flat chest demurely, offering the diverting task of pulling it off $him. - <<else>> - $His maid outfit covers $his breasts demurely, offering the diverting task of pulling it off $him. - <</if>> - <<case "a monokini">> - The straps of $his monokini cross in the center of $his chest, leaving the rest of $his <<if $activeSlave.boobs < 300>>flat <</if>>breasts naked. - <<case "a cybersuit">> - $His bodysuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a string bikini">> - $His string bikini covers only $his nipples, leaving the remainder of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> naked. - <<case "a scalemail bikini">> - $His scalemail bikini covers <<if $activeSlave.boobs < 300>>all of $his flat chest.<<elseif $activeSlave.boobs < 700>>$his breasts entirely.<<elseif $activeSlave.boobs < 1500>>much of $his breasts, while still emphasizing them.<<else>>the front of $his breasts.<</if>> . - <<case "striped panties">> - $His cute panties covers only $his crotch, leaving $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> bare. - <<case "clubslut netting">> - As $he moves, the weave of the netting over $his chest slips back and forth across $his nipples. - <<case "a cheerleader outfit">> - <<if $activeSlave.boobs < 300>> - As $he moves, the tight fabric rubs across $his obvious nipples. - <<else>> - As $he moves, $his chest threatens to fall out of $his cheerleader top. - <</if>> - <<case "an apron">> - <<if $activeSlave.boobs < 300>> - As $he moves, $his apron threatens to bounce off $his flat chest and expose $his nipples. - <<else>> - As $he moves, $his apron provides excellent views of the sides of $his breasts. - <</if>> - <<case "cutoffs and a t-shirt">> - <<if $activeSlave.boobs < 300>> - $His non-existent breasts are bare under $his t-shirt; not that you can really tell since they lack motion completely. - <<else>> - $His tits are bare under $his t-shirt, so movement gives delicious hints of their motion. - <</if>> - <<case "spats and a tank top">> - <<if $activeSlave.boobs < 300>> - $His flat chest makes $his form-fitting tank top look as if it's clinging to a tube. - <<else>> - $His breasts bounce slightly under $his tank top as $he moves. - <</if>> - <<case "a slutty outfit">> - <<if (random(1,100) > 50)>> - For today's slutty outfit $he's chosen a handkerchief top that occasionally comes untied and <<if $activeSlave.boobs < 300>>reveals $his flat chest<<else>>spills $his breasts out naked<</if>>. - <<else>> - For today's slutty outfit $he's chosen a halter top cut so low that <<if $activeSlave.boobs < 300>>it occasionally slips down $his flat chest to reveal a nipple<<else>>$his breasts occasionally pop out<</if>>. - <</if>> - <<case "a slave gown">> - $His gorgeous dress has thoughtful cuts that tastefully bares $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts. - <<case "slutty business attire">> - $His suit jacket and blouse are low enough to show off a lot of boob<<if $activeSlave.boobs < 300>>, or they would, had $he had any<</if>>. - <<case "nice business attire">> - $His suit jacket and blouse are businesslike, but they could be removed easily enough. - <<case "a halter top dress">> - $His beautiful halter top dress almost seems to be sculpted around $his body. - <<case "a ball gown">> - $His fabulous silken ball gown is tailored to accentuate the shape of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a slutty nurse outfit">> - $His jacket presents $his <<if $activeSlave.boobs < 300>>nipples<<else>>breasts<</if>> to be ogled. - <<case "a schoolgirl outfit">> - $His blouse lewdly displays $his <<if $activeSlave.boobs < 300>>$activeSlave.nipples nipples<<else>>breasts<</if>>. - <<case "a kimono">> - $His kimono is clearly designed to accentuate $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a hijab and abaya" "a niqab and abaya">> - $His abaya covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a klan robe">> - $His robe covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a burqa">> - $His burqa covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a tube top and thong" "a tube top" "leather pants and a tube top">> - $His tube top covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a button-up shirt and panties" "a button-up shirt" "a police uniform" "a t-shirt" "a t-shirt and thong" "an oversized t-shirt and boyshorts" "an oversized t-shirt" "a t-shirt and jeans" "sport shorts and a t-shirt" "a t-shirt and panties">> - $His shirt covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a bra" "a striped bra" "striped underwear" "a sports bra" "sport shorts and a sports bra">> - $His bra covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a tank-top" "a tank-top and panties">> - $His tank-top covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a sweater" "a sweater and panties" "a sweater and cutoffs">> - $His sweater covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a thong" "a skimpy loincloth" "boyshorts" "cutoffs" "panties" "leather pants" "jeans" "sport shorts">> - $His clothing leaves $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally bare. - <<case "a slutty klan robe">> - $His robe partially covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a nice pony outfit" "a slutty pony outfit">> - $His pony outfit partially covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "leather pants and pasties" "panties and pasties">> - $His pasties only cover $his nipples on $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a one-piece swimsuit">> - $His swimsuit covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a hanbok">> - $His hanbok covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a gothic lolita dress">> - $His dress covers $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> totally. - <<case "a burkini">> - $His burkini clings to the shape of $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>>. - <<case "a hijab and blouse">> - $His blouse and overshirt keep $his <<if $activeSlave.boobs < 300>>flat chest<<else>>breasts<</if>> concealed. - <<case "a huipil">> - $His huipil hugs the curves of $his <<if $activeSlave.boobs < 300>>$activeSlave.nipples nipples<<else>>breasts<</if>>. - <<case "battledress">> - <<if $activeSlave.boobs < 300>> - As $he moves, you can occasionally spot $his lack of undergarments. - <<else>> - $His tank top and sports bra support rather than flatter $his breasts. - <</if>> - <<case "a fallen nuns habit">> - $His slutty nun outfit leaves $his <<if $activeSlave.boobs < 300>>flat <</if>>tits sinfully bare. - <<case "a chattel habit">> - $His chattel habit leaves $his <<if $activeSlave.boobs < 300>>flat <</if>>tits virtuously bare. - <<case "a penitent nuns habit">> - $His habit chafes $his nipples so harshly that it would probably be a relief to $him to have it stripped off $him. - <<case "a comfortable bodysuit">> - $His bodysuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a latex catsuit">> - $His latex catsuit is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a military uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a schutzstaffel uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a slutty schutzstaffel uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a red army uniform">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a long qipao">> - $His elegant qipao can be removed with minimal effort. - <<case "battlearmor">> - $His battlearmor will take some considerable effort to get out of. - <<case "a mounty outfit">> - $His uniform tunic and shirt are formal, but they could be removed easily enough. - <<case "a dirndl">> - $His dirndl can be removed with minimal effort. - <<case "lederhosen">> - $His lederhosen might come off faster than it takes to put them on. - <<case "a biyelgee costume">> - $His costume could be removed with barely any effort. - <<case "a nice nurse outfit">> - $His nurse's outfit is functional, but they could be removed easily enough. - <<case "a mini dress">> - $His mini dress is tight enough to show off <<if $activeSlave.boobs < 300>>just how flat $he is<<else>>every contour of $his chest<</if>>. - <<case "a leotard">> - <<if $activeSlave.boobs < 300>> - $His leotard draws the eye straight to $his obvious nipples, since it lacks anything else to show off. - <<else>> - $His leotard is tight enough that it not only hugs $his breasts, but shows off $his nipples. - <</if>> - <<case "a bunny outfit">> - <<if $activeSlave.boobs < 300>> - With no breasts to speak of, $his strapless corset teddy manages to look rather slutty. - <<else>> - $His strapless corset teddy presents $his boobs while still managing to look a bit classy. - <</if>> - <<case "harem gauze">> - $His <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts are clearly visible through the thin gauze that covers them. - <<case "slutty jewelry">> - <<if $activeSlave.boobs < 300>> - The light chain across $his non-existent breasts is the only thing on $his chest capable of moving as $he walks. - <<else>> - The light chain under $his breasts accentuates their natural movement. - <</if>> - <<default>> - <<if ($activeSlave.chastityAnus == 1 || $activeSlave.chastityVagina == 1 || $activeSlave.chastityPenis == 1)>> - Since $he's wearing nothing but a chastity belt, $his <<if $activeSlave.boobs < 300>>non-existent <</if>>breasts are delightfully naked. - <<else>> - $His naked <<if $activeSlave.boobs < 300>> flat chest and nipples<<else>>breasts<</if>> catch your eye. - <</if>> - <</switch>> - <<set $target = "FBoobs">> <<elseif (_flag > 60)>> <<ButtDescription>> <<switch $activeSlave.clothes>> diff --git a/src/utility/birthWidgets.tw b/src/utility/birthWidgets.tw index f1c08d693138db1ff0b38c9741f760e47d82be2a..e4ab84f540c87374d71645a50278babbe9c9a6ae 100644 --- a/src/utility/birthWidgets.tw +++ b/src/utility/birthWidgets.tw @@ -777,7 +777,7 @@ <<else>> While sucking a dick through the hole of $his confining box, $slaves[$i].slaveName's water breaks. $He quickly finishes the dick off before seating $himself in the back of the box. <<ClothingBirth>> - As $he finishes, $he could have sworn $he saw an eye peeping through the glory hole, watching the show. The box is opened and $his child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> gathered and taken away as $he turns to suck the fresh cock poking through the hole. + As $he finishes, $he <<if canSee($slaves[$i])>>could have sworn $he saw an eye<<else>>swears $he can feel somebody<</if>> peeping through the glory hole, watching the show. The box is opened and $his child<<if $slaves[$i].pregType > 1>>ren are<<else>> is<</if>> gathered and taken away as $he turns to suck the fresh cock poking through the hole. <</if>> <<case "get milked">> diff --git a/src/utility/descriptionWidgetsStyle.tw b/src/utility/descriptionWidgetsStyle.tw index 332c39fd64a2c10ea4c1dfdb09e46041161a8585..2b0b582edda330f37207b01447bd35e48c6a45e8 100644 --- a/src/utility/descriptionWidgetsStyle.tw +++ b/src/utility/descriptionWidgetsStyle.tw @@ -2532,7 +2532,7 @@ $His <<case "a string bikini" "cutoffs and a t-shirt" "a schoolgirl outfit" "a slutty maid outfit" "striped panties">> is curled into long flowing locks secured by hair ties with plastic buttons, bearing the garish inscription <<InscripDesc>> - <<case "a scalemail bikini" + <<case "a scalemail bikini">> is curled into long flowing locks, and topped by a gold headband. <<case "battledress">> is curled into floor-length locks secured by paracord. @@ -2606,7 +2606,7 @@ $His <<case "a string bikini" "cutoffs and a t-shirt" "a schoolgirl outfit" "a slutty maid outfit" "striped panties">> is curled into long locks secured by hair ties with plastic buttons, bearing the garish inscription <<InscripDesc>> - <<case "a scalemail bikini" + <<case "a scalemail bikini">> is curled into long flowing locks, and topped by a gold headband. <<case "battledress">> is curled into long locks, secured by paracord. @@ -2680,7 +2680,7 @@ $His <<case "a string bikini" "cutoffs and a t-shirt" "a schoolgirl outfit" "a slutty maid outfit" "striped panties">> is curled into short locks secured by hair ties with plastic buttons, bearing the garish inscription <<InscripDesc>> - <<case "a scalemail bikini" + <<case "a scalemail bikini">> is curled into short flowing locks, and topped by a gold headband. <<case "battledress">> is curled into short locks secured by paracord. diff --git a/src/utility/slaveCreationWidgets.tw b/src/utility/slaveCreationWidgets.tw index 38471801d83659a165d5d6609107c993f48693a0..9f96a0167f1e43ffa6e313a2b77a1c749e109129 100644 --- a/src/utility/slaveCreationWidgets.tw +++ b/src/utility/slaveCreationWidgets.tw @@ -4916,7 +4916,7 @@ <<if $newSlaves.length == 0>> <br>[["Buy " + $his + " slave contract"|New Slave Intro][cashX(forceNeg($slaveCost), "slaveTransfer", $activeSlave), _schoolToBuyFrom.schoolSale = 0, _schoolToBuyFrom.studentsBought += 1, $nextButton = "Continue", $nextLink = "AS Dump", $returnTo = "Main"]] <<else>> - <br>[["Buy " + $him + " and finish your order of " + $args[3]|Bulk Slave Intro][cashX(forceNeg($slaveCost), "slaveTransfer", $activeSlave), _schoolToBuyFrom.schoolSale = 0, _schoolToBuyFrom.studentsBought += 1, $newSlaves.push($activeSlave)]] + <br>[["Buy " + $him + " and finish your order of " + $args[2]|Bulk Slave Intro][cashX(forceNeg($slaveCost), "slaveTransfer", $activeSlave), _schoolToBuyFrom.schoolSale = 0, _schoolToBuyFrom.studentsBought += 1, $newSlaves.push($activeSlave)]] <</if>> <<else>> <br>//You lack the necessary funds to buy this $args[1].//