瀏覽代碼

move files around, refactor Rakefile, add files that were ignored, but should have been included

Ruduki2 6 年之前
父節點
當前提交
b058e3f5d1
共有 10 個文件被更改,包括 704 次插入9 次删除
  1. 0 3
      .gitignore
  2. 6 6
      Rakefile
  3. 159 0
      main.tw2
  4. 0 0
      story/01_intro.tw2
  5. 0 0
      story/02_transform.tw2
  6. 0 0
      story/03_custom_girl.tw2
  7. 0 0
      story/04_money_game.tw2
  8. 0 0
      story/05_beaches.tw2
  9. 195 0
      storyjs.tw2
  10. 344 0
      stylesheet.tw2

+ 0 - 3
.gitignore

@@ -1,8 +1,5 @@
 /develop.html
 /watch.html
 /release.html
-/main.tw2
-/storyjs.tw2
-/stylesheet.tw2
 /*_wrapper.tw2
 /Gemfile.lock

+ 6 - 6
Rakefile

@@ -2,11 +2,11 @@ task default: %w(develop)
 STORY_DIR=File.join(ENV['USERPROFILE'], 'Documents\\Twine\\Stories')
 STORY_TITLE = 'Volleyball'
 FILES = {
-  'intro' => 'Intro',
-  'transform' => 'Transform',
-  'custom_girl' => 'Custom Girl',
-  'beaches' => 'Beaches',
-  'money_game' => 'Money Games',
+  '01_intro' => '01 Intro',
+  '02_transform' => '02 Transform',
+  '03_custom_girl' => '03 Custom Girl',
+  '04_money_game' => '04 Money Games',
+  '05_beaches' => '05 Beaches',
 }
 
 def files
@@ -14,7 +14,7 @@ def files
     OpenStruct.new({
       short_name: short_name,
       long_name: long_name,
-      source_file: "#{short_name}.tw2",
+      source_file: "story/#{short_name}.tw2",
       dest_file: File.join(STORY_DIR, "#{STORY_TITLE} - #{long_name}.html"),
       wrapper_file: "#{short_name}_wrapper.tw2",
     })

+ 159 - 0
main.tw2

@@ -0,0 +1,159 @@
+::StoryTitle
+Volleyball Chapter 1 v0.5
+
+::landing <553,58>
+This interactive story contains adult content. Make sure it is lawful in your jurisdiction to consume such content.
+
+Erotic themes:
+- breast expansion
+- MtF transgender transformation, magicial change, fast but not instant, changed by clothing.  
+- teen sex (all 18+)
+- (optional) voyeurism
+- (planned) (optional) incest (brother-sister)
+- various lesbian sex
+- various straight sex
+- (planned) ambiguous consent (pretending to be someone else to gain sex)
+- sports (beach volleyball)
+- features bikinis and the beach prominently.
+
+[[This game is entered into the public domain under the terms of the Creative Commons Zero License.->License]]
+[[Third-Party Software]]
+
+Icon made by <a href="https://www.freepik.com/">Freepik</a> from <a href="http://www.flaticon.com">www.flaticon.com</a>.
+
+
+[[Version Log->Versionlog]]
+[[Start->Start Intro]]
+
+Fast-Forward:
+[[Get a Girl Name ⏩->ff1]]
+[[Travel to the Beach ⏩->ff2]]
+[[Choose your custom bikini ⏩->ff3]]
+[[Secret Beach⏩->secret beach 2]]
+[[name puzzle⏩->name puzzle start]]
+
+::Versionlog <289,61>
+<<silently>>
+TODO
+- Put on bottoms first
+- improve the boxed text to group the girls better. "None of the girls liked that." "Jess didn't like that, but Nat did." that sort of thing.
+\
+<</silently>>\
+
+v0.5
+
+v0.4
+Technical Changes
+- disabled "knowledge" notifications
+- added clothing variables to the sidebar (commented out because it doesn't do anything)
+- &lt;&lt;cyclinglink>>, &lt;&lt;cyclinglinka>> (array), and &lt;&lt;cyclinglinkd>> (dictionary/Object) macros added.
+- Added the &lt;&lt;bugreport>> and the &lt;&lt;checkvars>> to the sidebar.
+- Third-Party software page added.
+- Fastforward options so people can explore the story.
+
+Display Changes
+- Added a pink bikini favicon (along with copyright attribution for the icon creator).
+- Switched to "Bleached" stylesheet (black on white instead of white on black)
+- custom css effects (text message & paper notepad)
+
+Story Changes
+- clarified some dialog options as sarcastic
+
+Story Additions
+- "Character Creation" added (for custom bikini)
+- lower body transformation (incpomplete & inaccessible)
+- Choose a girl name
+- Choose a beach (private, public or secret)
+- public beach and the cheerleaders (not started)
+- private beach and the MILF (partial story)
+- secret beach and the greek goddesses (partial story)
+- money game (incomplete & innaccessible)
+
+v0.3
+- Guaranteed 80% bug free or your money back.
+- Proofread /every/ passage included in v0.2 (all broken links should be fixed as well as some flow issues).
+- ==Change from double to single quotes on passages I fix for readability.== on closer inspection this doesn't actually work. I gotta use "\"quoted text \"" -- all "broken links" due to encoding issues should be fixed.
+- Disposition and karmic actions (lies and spying attempts) are displayed in the sidebar.
+- Changes to disposition give a boxed notification (that's kind of fugly)
+- Your sister turns off the T.V not Sally.
+- In an earlier draft, you learned the names of Jess's friends only when they'd introduced themselves, this greatly complicated the story line and unnamed references to individual girls (the first friend, the second friend, etc.) have been removed.
+- Heather //is// supposed to meet the other girls at Jess's house.
+- Oh hai Mark! the \$room variable has been exorcised.
+- Knowledge is tracked using tags on passages. Check which knowledge you have via a link in the sidebar.
+- The info-dump has been re-worked a lot, there are several entry points now.
+- I realized there was an orphan passage (no way to get to it) that explained the sorority better, but instead of linking to it, I added back dialog from the (unreleased) alpha that made the people running the tournament mysterious.
+- Created an "Illuminated Manuscript" and reviewed every passage for typos, grammar and punctuation problems. Also fixed a lot of incidents where dialog was said by the wrong character.
+- Added a Creative Commons Zero license on the landing and in the sidebar.
+- Added a link to the IGDB in the sidebar.
+
+v0.2
+- Clarifications to landing page regarding the lack of underage sex.
+- More hints giving timeline up front, so it's more obvious through text that all characters are over age.
+- Sex scene involving Nat that was previously a stub.
+- Spelling  fixes from the community; especially @vortex456 on tfgamessite.org
+- Lots of broken links fixed.
+- Known problems: the "info dump" section still doesn't work quite right.
+
+v0.1 - Initial version.
+
+<<back>>
+
+::License <795,67>
+CC0 1.0 Universal (CC0 1.0)
+Public Domain Dedication
+
+This is a human-readable summary of the Legal Code.
+
+Disclaimer
+
+No Copyright
+
+This license is acceptable for Free Cultural Works.
+
+The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
+
+You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. See Other Information below.
+
+Other Information
+- In no way are the patent or trademark rights of any person affected by CC0, nor are the rights that other persons may have in the work or in how the work is used, such as publicity or privacy rights.
+- Unless expressly stated otherwise, the person who associated a work with this deed makes no warranties about the work, and disclaims liability for all uses of the work, to the fullest extent permitted by applicable law.
+- When using or citing the work, you should not imply endorsement by the author or the affirmer.
+
+<a href="https://creativecommons.org/publicdomain/zero/1.0/">Read the full text of the license on Creative Commons</a>
+
+This license does not apply to [[Third-Party Software]]
+
+<<back>>
+
+::Third-Party Software <801,199>
+This Interactive Story was created with Twine 2.x
+
+The Story format used was Sugarcube 2.x
+
+Several 3rd-party Sugarcube 2.x plugins were used:
+
+- &lt;&lt;checkvars>> macro
+- &lt;&lt;bugreport>> macro
+- Bleached Stylesheet
+- isEquivelant function taken from  http://adripofjavascript.com/blog/drips/object-equality-in-javascript.html
+- &lt;&lt;cyclinklink>> macro (also variants &lt;&lt;cyclinklinka>> and  <<cyclinklinkd>>)
+
+Graphics Used
+- Pink Bikini favicon by Flaticon.
+
+<<back>>
+
+::StoryIncludes
+images.tw2
+stylesheet.tw2
+storyjs.tw2
+story/01_intro.tw2
+story/02_transform.tw2
+story/03_custom_girl.tw2
+story/04_money_game.tw2
+story/05_beaches.tw2
+
+::Twee2Settings [twee2]
+@story_start_name = 'landing'
+Twee2::build_config.story_ifid = '12948A68-6A42-4C20-8C30-5296A11C58A3'
+Twee2::build_config.story_format = 'SugarCube2'

+ 0 - 0
intro.tw2 → story/01_intro.tw2


+ 0 - 0
transform.tw2 → story/02_transform.tw2


+ 0 - 0
custom_girl.tw2 → story/03_custom_girl.tw2


+ 0 - 0
money_game.tw2 → story/04_money_game.tw2


+ 0 - 0
beaches.tw2 → story/05_beaches.tw2


File diff suppressed because it is too large
+ 195 - 0
storyjs.tw2


+ 344 - 0
stylesheet.tw2

@@ -0,0 +1,344 @@
+::StoryCSS [stylesheet]
+
+.flashed-message {
+  border: 1px solid gray;
+  display: block;
+  padding: 5px;
+  margin: 3px;
+}
+
+.hidden {
+  display: none;
+}
+
+header#title {
+  height: auto;
+  white-space: normal;
+}
+
+#story-subtitle, #story-author, #story-title-seperator {
+  display: none;
+}
+
+
+/* Notepad Effect */
+
+.notepad {
+  background-color: #f5f5f5;
+  width: 600px;
+  margin: 0 auto;
+  padding: 0;
+}
+.notepad h4 {
+  color: #cd0000 !important;
+  font-size: 42px !important;
+  letter-spacing: -2px !important;
+  text-align: left !important;
+  margin: 0;
+}
+.notepad ul.list {
+  color: #555 !important;
+  font-size: 22px;
+  padding: 0 !important;
+  width: auto;
+  font-family: courier, monospace;
+  border: 1px solid #dedede;
+  margin: 0;
+}
+.notepad ul.list li {
+  list-style: none;
+  border-bottom: 1px dotted #ccc;
+  text-indent: 25px;
+  height: auto;
+  padding: 10px;
+}
+.notepad .lines {
+  border-left: 1px solid #ffaa9f;
+  border-right: 1px solid #ffaa9f;
+  width: 2px;
+  float: left;
+  margin-left: 40px;
+}
+
+
+/* Text Message effect from https://codepen.io/2ne/pen/osvpj */
+
+
+@import "https://fonts.googleapis.com/css?family=Open+Sans:400,600,700";
+* {
+    box-sizing: border-box;
+}
+/*
+body {
+    background: none repeat scroll 0 0 #fff;
+    color: #FFFFFF;
+    font-family: "Open Sans";
+    line-height: 26px;
+    width: 400px;
+    margin: 0 auto;
+    overflow-X: hidden;
+    position: relative;
+}
+*/
+
+.left {
+  position: absolute;
+  top: 0;
+  left: 35px;
+  font-size: 18px
+}
+
+.left:after {
+    border: 3px solid #2095FE;
+    border-right: 3px solid transparent;
+    border-top: 3px solid transparent;
+    content: " ";
+    height: 14px;
+    left: -20px;
+    position: absolute;
+    top: 20px;
+    -webkit-transform: rotate(45deg);
+  -moz-transform: rotate(45deg);
+  transform: rotate(45deg);
+    width: 14px;
+}
+.right {
+  position: absolute;
+  top: 0;
+  right: 15px;
+  font-size: 18px
+}
+header {
+  color: #2095FE;
+  background: #eee;
+  border: 1px solid #ccc;
+  border-bottom: 1px solid #bbb;
+  box-shadow: 0 1px 2px rgba(1,1,1,0.2);
+  height: 60px;
+  text-align: center;
+  font-size: 20px;
+  line-height: 58px;
+  white-space: nowrap;
+  
+}
+header h2 {
+  font-weight: bold;
+  color: #111111;
+}
+ {
+  padding-top: 10px;
+  position: relative;
+  border: 1px solid #ddd;
+  border-top: 0 none;
+}
+.message {
+    border-radius: 20px 20px 20px 20px;
+    margin: 0 15px 10px;
+    padding: 15px 20px;
+    position: relative;
+}
+.message.to {
+    background-color: #2095FE;
+    color: #fff;
+    margin-left: 80px;
+}
+.message.from {
+    background-color: #E5E4E9;
+    color: #363636;
+    margin-right: 80px;
+}
+.message.to + .message.to,
+.message.from + .message.from {
+  margin-top: -7px;
+}
+.message:before {
+    border-color: #2095FE;
+    border-radius: 50% 50% 50% 50%;
+    border-style: solid;
+    border-width: 0 20px;
+    bottom: 0;
+    clip: rect(20px, 35px, 42px, 0px);
+    content: " ";
+    height: 40px;
+    position: absolute;
+    right: -50px;
+    width: 30px;
+    z-index: -1;
+}
+.message.from:before {
+    border-color: #E5E4E9;
+    left: -50px;
+    transform: rotateY(180deg);
+}
+
+/***********************************************************************
+	BLEACHED - A largely white style for SugarCube v2.17.0+
+***********************************************************************/
+body {
+	color: #111;
+	background-color: #fff;
+}
+a {
+	color: #35c;
+}
+a:hover {
+	color: #57e;
+}
+span.link-disabled {
+	color: #777;
+}
+button {
+	color: #111;
+	background-color: #acf;
+	border-color: #8ad;
+}
+button:hover {
+	background-color: #8ad;
+	border-color: #68b;
+}
+button:disabled {
+	background-color: #ccc;
+	border-color: #aaa;
+}
+input, select, textarea {
+	color: #111;
+	border-color: #ccc;
+}
+input:focus, select:focus, textarea:focus,
+input:hover, select:hover, textarea:hover {
+	background-color: #eee;
+	border-color: #111;
+}
+hr {
+	border-color: #111;
+}
+
+.error {
+	background-color: #eaa;
+	border-left-color: #d77;
+}
+
+#ui-bar {
+	background-color: #eee;
+	border-color: #ccc;
+}
+#ui-bar hr {
+	border-color: #ccc;
+}
+#ui-bar-toggle,
+#ui-bar-history [id|="history"] {
+	color: #111;
+	border-color: #ccc;
+}
+#ui-bar-toggle:hover,
+#ui-bar-history [id|="history"]:hover {
+	background-color: #ccc;
+	border-color: #111;
+}
+#ui-bar-history [id|="history"]:disabled {
+	color: #ccc;
+	background-color: transparent;
+	border-color: #ccc;
+}
+#menu ul {
+	border-color: #ccc;
+}
+#menu li:not(:first-child) {
+	border-top-color: #ccc;
+}
+#menu li a {
+	color: #111;
+}
+#menu li a:hover {
+	background-color: #ccc;
+	border-color: #111;
+}
+
+/* Default dialog styling */
+#ui-overlay {
+	background-color: #777;
+}
+#ui-dialog-titlebar {
+	background-color: #ccc;
+}
+#ui-dialog-close:hover {
+	background-color: #b44;
+	border-color: #a33;
+}
+#ui-dialog-body {
+	background-color: #fff;
+	border-color: #ccc;
+}
+#ui-dialog-body hr {
+	background-color: #ccc;
+}
+
+/* List-based dialog styling */
+#ui-dialog-body.list li:not(:first-child) {
+	border-top-color: #ccc;
+}
+#ui-dialog-body.list li a {
+	color: #111;
+}
+#ui-dialog-body.list li a:hover {
+	background-color: #ccc;
+	border-color: #111;
+}
+
+/* Saves dialog styling */
+#ui-dialog-body.saves > *:not(:first-child),
+#ui-dialog-body.saves tr:not(:first-child) {
+	border-top-color: #ccc;
+}
+#ui-dialog-body.saves .empty {
+	color: #777;
+}
+
+/* Settings dialog styling */
+#ui-dialog-body.settings button[id|="setting-control"] {
+	color: #111;
+	border-color: #ccc;
+}
+#ui-dialog-body.settings button[id|="setting-control"]:hover {
+	background-color: #eee;
+	border-color: #111;
+}
+#ui-dialog-body.settings button[id|="setting-control"].enabled {
+	background-color: #9e9;
+	border-color: #7c7;
+}
+#ui-dialog-body.settings button[id|="setting-control"].enabled:hover {
+	background-color: #7c7;
+	border-color: #5a5;
+}
+
+/* Debug view styling */
+html:not([data-debug-view]) #debug-view-toggle {
+	color: #111;
+	border-color: #ccc;
+}
+html:not([data-debug-view]) #debug-view-toggle:hover {
+	background-color: #eee;
+	border-color: #111;
+}
+html[data-debug-view] #debug-view-toggle {
+	background-color: #9e9;
+	border-color: #7c7;
+}
+html[data-debug-view] #debug-view-toggle:hover {
+	background-color: #7c7;
+	border-color: #5a5;
+}
+html[data-debug-view] .debug {
+	background-color: #dc9;
+}
+html[data-debug-view] .debug.hidden,
+html[data-debug-view] .debug.hidden .debug {
+	background-color: #bbb;
+}
+
+/*! <<bugreport>> macro for SugarCube 2.x (bleached) */
+#ui-dialog-body.bugreport #bugreport-info{margin-bottom:1em}#ui-dialog-body.bugreport #bugreport-data{display:block;overflow:auto;font-family:monospace,monospace;background-color:#eee;border:1px solid #111;margin:0;padding:6px;height:auto;min-height:200px;white-space:normal}#ui-dialog-body.bugreport .scroll-pad{margin:0;padding:0}
+
+/*! <<checkvars>> macro for SugarCube 2.x (bleached) */
+#ui-dialog-body.checkvars{padding:1em}#ui-dialog-body.checkvars h1{font-size:1.5em;margin-top:0}#ui-dialog-body.checkvars table{border-collapse:collapse;border-spacing:0}#ui-dialog-body.checkvars thead tr{border-bottom:2px solid #ccc}#ui-dialog-body.checkvars tr:not(:first-child){border-top:1px solid #ccc}#ui-dialog-body.checkvars td,#ui-dialog-body.checkvars th{padding:.25em 1em}#ui-dialog-body.checkvars td:first-child,#ui-dialog-body.checkvars th:first-child{padding-left:.5em;border-right:1px solid #ccc}#ui-dialog-body.checkvars td:last-child,#ui-dialog-body.checkvars th:last-child{padding-right:.5em}#ui-dialog-body.checkvars th:first-child{text-align:center}#ui-dialog-body.checkvars td:first-child{font-weight:700;text-align:right}#ui-dialog-body.checkvars td{font-family:monospace,monospace;vertical-align:top;white-space:pre-wrap}#ui-dialog-body.checkvars .scroll-pad{margin:0;padding:0}

Some files were not shown because too many files changed in this diff