summaryrefslogtreecommitdiffstats
path: root/nfsw/scenes.py
diff options
context:
space:
mode:
authorrsiddharth <s@ricketyspace.net>2019-09-28 20:40:23 -0400
committerrsiddharth <s@ricketyspace.net>2019-09-28 20:40:23 -0400
commit27e059c29625f237ba33368a7e177125f49931cc (patch)
tree5199fe71cb0197782995811c75c4d26243d2065e /nfsw/scenes.py
parente5885dda12038bcd3c7fbcfe091730b212cb18ce (diff)
nfsw/scenes.py: sexshop initial version.
* nfsw/scenes.py (get_scene): Add garden. (sexshop): Initial working version. (garden): New function.
Diffstat (limited to 'nfsw/scenes.py')
-rw-r--r--nfsw/scenes.py107
1 files changed, 102 insertions, 5 deletions
diff --git a/nfsw/scenes.py b/nfsw/scenes.py
index 55f443f..2b8edd4 100644
--- a/nfsw/scenes.py
+++ b/nfsw/scenes.py
@@ -4,7 +4,8 @@ from nfsw.util import read_junk
def get_scene(name):
scenes = {
- 'sexshop': sexshop
+ 'sexshop': sexshop,
+ 'garden': garden
}
return scenes.get(name, None)
@@ -17,16 +18,112 @@ def current_scene():
def sexshop(o):
+ gobbledygook = [
+ 'I just got raped in the'
+ '\narse by 9238 sentinels.'
+ '\nPlease don\'t fuck with me like that'
+ '\n\nIt\'s easy.'
+ ]
+
+
+ def rj(name):
+ return read_junk('sexshop/{}'.format(name))
+
+
+ def gg():
+ l = len(gobbledygook)
+
+ for i in range(0, l):
+ if r().sismember(k('scene:sexshop:gg'), i):
+ continue
+
+ r().sadd(k('scene:sexshop:gg'), i)
+ return gobbledygook[i]
+
+ return 'I\'m outta words.'
+
+
def intro():
- return read_junk('sexshop/intro')
+ return rj('intro')
+
+
+ def p_done(q):
+ if r().sismember(k('scenes:done'), 'sexshop'):
+ return rj('done')
+
+ # Set player type.
+ type = '{}{}'.format(r().get(k('player:type:body')).decode(),
+ r().get(k('player:type:mind')).decode())
+ r().set(k('player:type'), type)
+
+ # Mark scene done
+ r().sadd(k('scenes:done'), 'sexshop')
+
+ # Move to next scene
+ r().set(k('scene'), 'garden')
+
+ return garden({'intro': 1})
+
+
+ def p_body(q):
+ if 'female' in q:
+ r().set(k('player:type:body'), 'f')
+
+ return '\n\n'.join([
+ rj('body-f-done'),
+ rj('mind-q')
+ ])
+
+ if 'male' in q:
+ r().set(k('player:type:body'), 'm')
+
+ return '\n\n'.join([
+ rj('body-m-done'),
+ rj('mind-q')
+ ])
+
+ return '\n'.join([gg(), rj('body-q')])
+
+
+ def p_mind(q):
+ if 'women' in q:
+ r().set(k('player:type:mind'), 'w')
+
+ return '\n\n'.join([
+ rj('mind-f-done'),
+ p_done(q)
+ ])
+
+ if 'men' in q:
+ r().set(k('player:type:mind'), 'm')
+
+ return '\n\n'.join([
+ rj('mind-m-done'),
+ p_done(q)
+ ])
+
+ return '\n'.join([gg(), rj('mind-q')])
+
+
+ def p(q):
+ if r().exists(k('player:type')):
+ return p_done(q)
+
+ if not r().exists(k('player:type:body')):
+ return p_body(q)
+
+ if not r().exists(k('player:type:mind')):
+ return p_mind(q)
+
+ return p_done(q)
- def process(q):
- return ''
if 'intro' in o:
return intro()
if 'q' in o:
- return process(o['q'])
+ return p(o['q'])
+def garden(o):
+ return 'The Garden'