summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2019-01-01 15:18:13 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2019-01-01 15:18:13 +0000
commit841f24b310d7c4edd84da778ce424a6f55e28e54 (patch)
tree65fe8a8aaa96b6f3ff6fcca667bc5997ed40314a
parentMaintain list of toys to hand in session (diff)
downloadtoy-841f24b310d7c4edd84da778ce424a6f55e28e54.zip
Initial webpage
-rw-r--r--.htaccess2
-rw-r--r--github.css409
-rw-r--r--index.md98
3 files changed, 509 insertions, 0 deletions
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..a6612ae
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,2 @@
+DirectoryIndex index.md
+MarkdownCss github.css
diff --git a/github.css b/github.css
new file mode 100644
index 0000000..738521e
--- /dev/null
+++ b/github.css
@@ -0,0 +1,409 @@
+/*
+Copyright (c) 2017 Chris Patuzzo
+https://twitter.com/chrispatuzzo
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+*/
+
+body {
+ font-family: Helvetica, arial, sans-serif;
+ font-size: 14px;
+ line-height: 1.6;
+ padding-top: 10px;
+ padding-bottom: 10px;
+ background-color: white;
+ padding: 30px;
+ color: #333;
+}
+
+body > *:first-child {
+ margin-top: 0 !important;
+}
+
+body > *:last-child {
+ margin-bottom: 0 !important;
+}
+
+a {
+ color: #4183C4;
+ text-decoration: none;
+}
+
+a.absent {
+ color: #cc0000;
+}
+
+a.anchor {
+ display: block;
+ padding-left: 30px;
+ margin-left: -30px;
+ cursor: pointer;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin: 20px 0 10px;
+ padding: 0;
+ font-weight: bold;
+ -webkit-font-smoothing: antialiased;
+ cursor: text;
+ position: relative;
+}
+
+h2:first-child, h1:first-child, h1:first-child + h2, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
+ text-decoration: none;
+}
+
+h1 tt, h1 code {
+ font-size: inherit;
+}
+
+h2 tt, h2 code {
+ font-size: inherit;
+}
+
+h3 tt, h3 code {
+ font-size: inherit;
+}
+
+h4 tt, h4 code {
+ font-size: inherit;
+}
+
+h5 tt, h5 code {
+ font-size: inherit;
+}
+
+h6 tt, h6 code {
+ font-size: inherit;
+}
+
+h1 {
+ font-size: 28px;
+ color: black;
+}
+
+h2 {
+ font-size: 24px;
+ border-bottom: 1px solid #cccccc;
+ color: black;
+}
+
+h3 {
+ font-size: 18px;
+}
+
+h4 {
+ font-size: 16px;
+}
+
+h5 {
+ font-size: 14px;
+}
+
+h6 {
+ color: #777777;
+ font-size: 14px;
+}
+
+p, blockquote, ul, ol, dl, li, table, pre {
+ margin: 15px 0;
+}
+
+hr {
+ border: 0 none;
+ color: #cccccc;
+ height: 4px;
+ padding: 0;
+}
+
+body > h2:first-child {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+body > h1:first-child {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+body > h1:first-child + h2 {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
+ margin-top: 0;
+ padding-top: 0;
+}
+
+h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
+ margin-top: 0;
+}
+
+li p.first {
+ display: inline-block;
+}
+
+ul, ol {
+ padding-left: 30px;
+}
+
+ul :first-child, ol :first-child {
+ margin-top: 0;
+}
+
+ul :last-child, ol :last-child {
+ margin-bottom: 0;
+}
+
+dl {
+ padding: 0;
+}
+
+dl dt {
+ font-size: 14px;
+ font-weight: bold;
+ font-style: italic;
+ padding: 0;
+ margin: 15px 0 5px;
+}
+
+dl dt:first-child {
+ padding: 0;
+}
+
+dl dt > :first-child {
+ margin-top: 0;
+}
+
+dl dt > :last-child {
+ margin-bottom: 0;
+}
+
+dl dd {
+ margin: 0 0 15px;
+ padding: 0 15px;
+}
+
+dl dd > :first-child {
+ margin-top: 0;
+}
+
+dl dd > :last-child {
+ margin-bottom: 0;
+}
+
+blockquote {
+ border-left: 4px solid #dddddd;
+ padding: 0 15px;
+ color: #777777;
+}
+
+blockquote > :first-child {
+ margin-top: 0;
+}
+
+blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+table {
+ padding: 0;
+}
+table tr {
+ border-top: 1px solid #cccccc;
+ background-color: white;
+ margin: 0;
+ padding: 0;
+}
+
+table tr:nth-child(2n) {
+ background-color: #f8f8f8;
+}
+
+table tr th {
+ font-weight: bold;
+ border: 1px solid #cccccc;
+ text-align: left;
+ margin: 0;
+ padding: 6px 13px;
+}
+
+table tr td {
+ border: 1px solid #cccccc;
+ text-align: left;
+ margin: 0;
+ padding: 6px 13px;
+}
+
+table tr th :first-child, table tr td :first-child {
+ margin-top: 0;
+}
+
+table tr th :last-child, table tr td :last-child {
+ margin-bottom: 0;
+}
+
+img {
+ max-width: 100%;
+}
+
+span.frame {
+ display: block;
+ overflow: hidden;
+}
+
+span.frame > span {
+ border: 1px solid #dddddd;
+ display: block;
+ float: left;
+ overflow: hidden;
+ margin: 13px 0 0;
+ padding: 7px;
+ width: auto;
+}
+
+span.frame span img {
+ display: block;
+ float: left;
+}
+
+span.frame span span {
+ clear: both;
+ color: #333333;
+ display: block;
+ padding: 5px 0 0;
+}
+
+span.align-center {
+ display: block;
+ overflow: hidden;
+ clear: both;
+}
+
+span.align-center > span {
+ display: block;
+ overflow: hidden;
+ margin: 13px auto 0;
+ text-align: center;
+}
+
+span.align-center span img {
+ margin: 0 auto;
+ text-align: center;
+}
+
+span.align-right {
+ display: block;
+ overflow: hidden;
+ clear: both;
+}
+
+span.align-right > span {
+ display: block;
+ overflow: hidden;
+ margin: 13px 0 0;
+ text-align: right;
+}
+
+span.align-right span img {
+ margin: 0;
+ text-align: right;
+}
+
+span.float-left {
+ display: block;
+ margin-right: 13px;
+ overflow: hidden;
+ float: left;
+}
+
+span.float-left span {
+ margin: 13px 0 0;
+}
+
+span.float-right {
+ display: block;
+ margin-left: 13px;
+ overflow: hidden;
+ float: right;
+}
+
+span.float-right > span {
+ display: block;
+ overflow: hidden;
+ margin: 13px auto 0;
+ text-align: right;
+}
+
+code, tt {
+ margin: 0 2px;
+ padding: 0 5px;
+ white-space: nowrap;
+ border: 1px solid #eaeaea;
+ background-color: #f8f8f8;
+ border-radius: 3px;
+}
+
+pre code {
+ margin: 0;
+ padding: 0;
+ white-space: pre;
+ border: none;
+ background: transparent;
+}
+
+.highlight pre {
+ background-color: #f8f8f8;
+ border: 1px solid #cccccc;
+ font-size: 13px;
+ line-height: 19px;
+ overflow: auto;
+ padding: 6px 10px;
+ border-radius: 3px;
+}
+
+pre {
+ background-color: #f8f8f8;
+ border: 1px solid #cccccc;
+ font-size: 13px;
+ line-height: 19px;
+ overflow: auto;
+ padding: 6px 10px;
+ border-radius: 3px;
+}
+
+pre code, pre tt {
+ background-color: transparent;
+ border: none;
+} \ No newline at end of file
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..c2d6421
--- /dev/null
+++ b/index.md
@@ -0,0 +1,98 @@
+<span style="float:right;">![Ancilla](/images/toy/ancilla/dress/9.jpg =x160 "A glimpse into your future")</span>
+
+# Toy
+*Become the plaything of your own virtual mistress.*
+
+## What is Toy?
+Toy is an attempt to create a virtual mistress in the form of a [SexScripts](http://ss.deviatenow.com/) package. Once running, she will provide endless fun and frustration, along with any punishments required.
+
+### What do I have to do?
+Run the script as often and for as long as you can. Listen out for your mistress summoning you. She likes to play and you are her new plaything...
+
+After that, you do what any good submissive does... what you're told, when you're told... without question or hesitation.
+
+### What can I expect?
+She's a tease... expect a lot of tease and denial, time and time again... for days on end. But if you're good, and she's pleased with your behaviour... she'll allow you the periodic release you'll come to crave.
+
+Of course, if you behaviour starts to deviate, punishments will be ordered.
+
+### What do I need?
+Nothing... just some free time, the more time you can devote to your mistress, the better. But if you do have any toys, all the better.
+
+## FAQ
+I plucked these from reading back through the original [forum post](http://ss.deviatenow.com/viewtopic.php?f=7&t=807). Please, if you have a question, do post about it!
+
+* Does it work on Android?
+ * Right now, no. The Android version of SexScripts doesn't seem to provide the same access to the native Java functionality available in the desktop version. If possible, I will address this in the future, but unfortunately, it is not a priority.
+* Frequency of play?
+ * Mistress will summon you for play *when she wants*, she's in charge remember. That being said...
+ * If play hasn't occurred in the last 4hrs, it will occur within 2-10mins of you and her being available to play at the same time (see notes on calendar events), otherwise it will occur within 20-90mins.
+* What are calendar events?
+ * Mistress will make plans to spend time being social with her friends. During this time, she will be unavailable for play. Poor you.... or lucky you, depending on what she had planned for you.
+ * Events are scheduled to occur repeatedly at random times over the next 3 or so days. You can request to see her current social calendar from the lounge.
+ * Lunch occurs around noon and early afternoon.
+ * Shopping occurs mid- to late-afternoon.
+ * Parties occur in the evening and sometimes on into the early hours.
+ * In all cases, she returns at an undetermined time of her choosing.
+ * But why? Right now, just to add a little more frustration and suspense. In the future, they will be used to introduce other characters and scenarios into play.
+* Customisation of activities?
+ * Most activities are controlled by configuring the availability of toys within SexScripts itself using the standard `toys.groovy`, available from the `Options` menu.
+ * There is no customisation of play beyond this at the moment. It is mostly random, but takes into account various aspects of previous plays. See below.
+* Customisation of mistress?
+ * Toy currently allows the installation of extra image packs for those who aren't a fan of the beautiful Ancilla Tilia or just like a little variety. These do not affect the behaviour of your mistress, just her appearance. See notes below on image packs.
+ * There are plans to move all the configurable bits of the script into these packs. This will allow for the creation of custom experiences and longer term "toy trading", where your owner may trade you between different [installed] owners.
+* What toys can I use?
+ * Any you like... but mistress will instruct you to apply/remove any of the following if you have them marked as available: nipple clamps, collar, gag, wooden spoon (or similar), handcuffs, chastity device/cage. This list will likely increase over time.
+
+### House rules
+1. Remember this is a game! It's meant to be fun! Don't do anything stupid or dangerous!
+2. No unauthorised masturbation. If you can't control yourself, you should confess your sins at first possible opportunity from the lounge menu, but be prepared to be punished...
+3. No removal of your chastity device without permission... however, *see point 1!* Be as strict with yourself as you wish; sleep, work, personal hygiene, etc. Confess your sins to a level you are comfortable with.
+
+## Development and status
+Toy is incomplete and very much a work in progress. I don't have any particular focus at the moment (although I will address any outright clear bugs as soon as possible), I'm very much winging it based on my mood and available time. Suggestions are welcome, please post them in the [forum](http://ss.deviatenow.com/viewtopic.php?f=7&t=807).
+
+You can access the [git repository](https://git.randomdan.homeip.net/repo/toy/) if you wish, and view the [change log](https://git.randomdan.homeip.net/repo/toy/log/) if you want to see if a problem you've encountered has already been fixed or are curious to what's changed etc.
+
+## Imagery
+Imagery and associated data will make the backbone of customisation in Toy. It should be possible to make your own and/or publish/download new packs to suit your tastes.
+
+### What's in a pack and how do I make one?
+The basic Toy script download already contains a single pack; Mistress Ancilla.
+
+To create a new pack, simply create the following things:
+
+* `images/` : existing SexScripts images folder.
+ * `toy/` : Toy specific sub-folder.
+ * `<mistress-name>/` : Mistress specific folder ([Ancilla exmaple](/images/toy/ancilla)).
+ * `lounge.jpg` : default image used when waiting to be summoned.
+ * `<sub-folder>/` : any number of sub-folders of sets of, ideally all matching, photos (periodically chosen at random based on event requirements and suitably tagged images).
+ * `tags` : text file containing image tags allowing selection of a suitable random image during play ([Ancilla example](/images/toy/ancilla/dress/tags)).
+
+ * `<image-name.jpg>` : any number of images from the photo set. Must be listed in `tags` to be used.
+
+The `tags` file should have the following format:
+
+ image1:tag1,tag2,tag3
+ image2:tag3,tag5
+
+* Image name does *not* include the `.jpg` extension, this is assumed.
+* Images can be listed in any order, as can tags.
+* Images not listed at all will never be selected.
+
+The following tags are understood and will affect selection and/or behaviour (which is currently open to change), exact usage of a tag might vary slightly depending on the character of the set and its intended atmosphere:
+
+* `dressed`: fully or at least mostly clothed in the outfit of choice, not necessarily suitable for going outdoors, but that might be character dependent.
+* `tits`: showing off cleavage, in part or full.
+* `pussy`: showing off pussy, in part or full or even just an underwear glimpse.
+* `ass`: showing off ass, in part of full.
+* `lingerie`: dressed in lingerie, suitable for fantasy bedtime.
+* `tease`: explicitly teasing at something.
+* `sssh`: Signalling to be quiet.
+* `mean`: A mean or stern look or expression.
+* `crop`: Holding a crop or similar.
+* `boots`: Boots are in clear view or focus.
+* `sit`: Sitting.
+* `kneel`: Kneeling.
+* `stood`: Standing.
+* `squat`: Squatting.