diff --git a/src/index.py b/src/index.py index 1ceec79..67857a3 100644 --- a/src/index.py +++ b/src/index.py @@ -535,12 +535,34 @@ def gddbf(): @route('/gdd') def gdd(): return gddbf() +# Cast +@route('/blessfrey-cast') +def cast(): + """Cast Page""" + return char3() +# Credits +@route('/blessfrey-credits') +def creditsbf(): + """Credits Page""" + return credits() # ID @route('/blessfrey-ids') def id(): """ID Page""" info = {'css': 'doc', 'title': 'blessfrey gdd - IDs + keys', 'year': find_year()} return template('bf-id.tpl', info) +# Jobs +@route('/blessfrey-jobs') +def jobs(): + """Jobs Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - jobs', 'year': find_year()} + return template('bf-jobs.tpl', info) +# Keywords +@route('/blessfrey-keywords') +def keywords(): + """Keywords Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - keywords', 'year': find_year()} + return template('bf-keywords.tpl', info) # Blessfrey Mechanics @route('/blessfrey-mechanics') def mech(): @@ -552,25 +574,24 @@ def mech1(): """inspect""" info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} return template('bf-mech-inspect.tpl', info) -# Species Page -@route('/race/') # if no species given -def spec4(): - return species("human") -@route('/race/') -def spec3(species_name): - return species(species_name) -@route('/species/') # if no species given -def spec2(): - return species("human") -@route('/species/') -def spec(species_name): - """species page""" - loc = 'species/' - info = {'css': 'char', 'title': 'blessfrey - species | meet ' + species_name, 'year': find_year(), 'ocs': ["human","giant","serpent"], 'name': species_name, 'profile': prepare_profile(loc, species_name), 'gallery': find_gallery(species_name)} - abs_app_dir_path = os.path.dirname(os.path.realpath(__file__)) - abs_views_path = os.path.join(abs_app_dir_path, 'views') - TEMPLATE_PATH.insert(0, abs_views_path ) - return template(os.path.join(abs_views_path,'char.tpl'), info) +# Setting +@route('/blessfrey-setting') +def setting(): + """Setting Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - setting', 'year': find_year()} + return template('bf-setting.tpl', info) +# Skills +@route('/blessfrey-skills') +def skills(): + """Skills Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - skills', 'year': find_year()} + return template('bf-skills.tpl', info) +# Story +@route('/blessfrey-story') +def story(): + """Story Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - story', 'year': find_year()} + return template('bf-story.tpl', info) # Blessfrey Style Guide Page @route('/blessfrey-style-guide') def style3(): @@ -586,13 +607,24 @@ def style(): """style guide""" info = {'css': 'doc', 'title': 'blessfrey style guide', 'year': find_year()} return template('style-guide.tpl', info) +# Terms +@route('/blessfrey-terms') +def terms(): + """Terms Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - dictionary of terms', 'year': find_year()} + return template('bf-terms.tpl', info) # Art Direction @route('/blessfrey-vibe') def vibe(): """GDD Page""" info = {'css': 'doc', 'title': 'blessfrey gdd - vibe', 'year': find_year()} return template('bf-vibe.tpl', info) - +# Website +@route('/website') +def website(): + """Website Page""" + info = {'css': 'doc', 'title': 'blessfrey gdd - website', 'year': find_year()} + return template('website.tpl', info) # Home Page - Index Template #@route('/') @@ -647,6 +679,27 @@ def presskit(): info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()} return template('blessfrey-presskit.tpl', info) +# Species Page +@route('/race/') # if no species given +def spec4(): + return species("human") +@route('/race/') +def spec3(species_name): + return species(species_name) +@route('/species/') # if no species given +def spec2(): + return species("human") +@route('/species/') +def spec(species_name): + """species page""" + loc = 'species/' + info = {'css': 'char', 'title': 'blessfrey - species | meet ' + species_name, 'year': find_year(), 'ocs': ["human","giant","serpent"], 'name': species_name, 'profile': prepare_profile(loc, species_name), 'gallery': find_gallery(species_name)} + abs_app_dir_path = os.path.dirname(os.path.realpath(__file__)) + abs_views_path = os.path.join(abs_app_dir_path, 'views') + TEMPLATE_PATH.insert(0, abs_views_path ) + return template(os.path.join(abs_views_path,'char.tpl'), info) + + # Search Diary by Tag @route('/diary/tag/') # Start on first Diary tag page if no page given def tag2(tagin): diff --git a/src/static/css/all.css b/src/static/css/all.css index 5804010..4f8f880 100755 --- a/src/static/css/all.css +++ b/src/static/css/all.css @@ -19,7 +19,7 @@ html, body {padding:0; margin:0; height:100%;} footer{ position: fixed; bottom: 0; left: 0; - color: #df85a5; + color: #C0AAC0; background-color: transparent; width: 100vw; } @@ -84,9 +84,17 @@ pre,code { .top { grid-area: 1 / 1 / 2 / 2; - color: white; + color: #C0AAC0; text-align: center; } +.top a { + color: #C0AAC0; + font-weight: bold; +} +.top a:hover { + color: #A88AA8; +} + .content-grid { grid-area: 2 / 1 / 3 / 2; min-height: 60vh; diff --git a/src/static/css/me.css b/src/static/css/me.css index a91ec4c..612719f 100755 --- a/src/static/css/me.css +++ b/src/static/css/me.css @@ -1,7 +1,7 @@ .content-grid { display: grid; grid-template-columns: 25% 75%; -/* grid-template-rows: 992px;*/ + grid-template-rows: 992px; grid-column-gap: 0px; grid-row-gap: 0px; } @@ -23,29 +23,7 @@ grid-template-rows: auto auto auto auto; grid-column-gap: 0px; grid-row-gap: 0px; - /*max-height: 992px;*/ } - .intro, .rpg, .fashion, .projects, .ocs { - background-color: transparent;/*#C0AAC0;*/ - padding: 5%; - text-align: justify; - } - .intro { grid-area: 1 / 1 / 2 / 3;} - .rpg { grid-area: 2 / 1 / 3 / 2;} - .fashion { grid-area: 2 / 2 / 3 / 3;} - .projects { grid-area: 3 / 1 / 4 / 3;} - .ocs { grid-area: 4 / 1 / 5 / 3; text-align:left;} - .ocs-nav { - display: grid; - grid-template-columns: repeat(auto-fit, 150px); - background-color: #C0AAC0; - } - .ocs-btn { - background-color: #C0AAC0; - } - .ocs img { - width: 150px; - } .content-right h1, h2, ul, li, b, i, p, img, a { background-color: transparent; diff --git a/src/static/css/nav.css b/src/static/css/nav.css index 191b858..92c3623 100644 --- a/src/static/css/nav.css +++ b/src/static/css/nav.css @@ -73,20 +73,18 @@ .navlink { font-size: 110%; font-weight: bold; - color: #E6E8EF; + color: #C0AAC0; text-align: center; } .navlink a:link { - color: #E6E8EF; } .navlink a:visited { - color: #E6E8EF; } .navlink a:hover { color: #f463ad; } .navlink a:active { - color: #f463ad; + color: #C0AAC0; } .nav-grid img { height: auto; @@ -99,4 +97,7 @@ text-align: center; padding-top: 0.5em; padding-bottom: 1em; +} +.links a { + color: #C0AAC0; } diff --git a/src/views/bf-gdd.tpl b/src/views/bf-gdd.tpl index 9ccb8a4..8acd3d5 100644 --- a/src/views/bf-gdd.tpl +++ b/src/views/bf-gdd.tpl @@ -5,7 +5,7 @@

The vision for Blessfrey


    - % for i in [["characters","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["IDs","blessfrey-ids"],["inspect","blessfrey-inspect"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["milestones","blessfrey-milestones"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["sound","blessfrey-sound"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["tweaks","tweaks"],["vibe","blessfrey-vibe"]]: + % for i in [["characters","blessfrey-cast"],["credits","blessfrey-credits"],["game mechanics","blessfrey-mechanics"],["IDs","blessfrey-ids"],["jobs","blessfrey-jobs"],["keywords","blessfrey-keywords"],["milestones","blessfrey-milestones"],["setting","blessfrey-setting"],["skills","blessfrey-skills"],["story","blessfrey-story"],["style guide","style-guide"],["terms","blessfrey-terms"],["vibe","blessfrey-vibe"],["website","website"]]:
  • {{random.choice(['.','•','☆','★'])}} {{i[0]}}
  • % end
diff --git a/src/views/bf-id.tpl b/src/views/bf-id.tpl index e60587d..be22970 100644 --- a/src/views/bf-id.tpl +++ b/src/views/bf-id.tpl @@ -47,54 +47,61 @@
  • 0 - default
  • 1 - skill
    • -
    • 0 - common
    • +
    • 0 - common
      • 0 - roleplay
      • 1 - linguist
      -
    • 1 - armsman
    • + +
    • 1 - armsman
      • 0 - fitness
      • 1 - power
      • 2 - artistry
      • 3 - tactics
      -
    • 2 - disciple
    • + +
    • 2 - disciple
      • 0 - santification
      • 1 - power over nature
      • 2 - spiritual healing
      • 3 - divine protection
      -
    • 3 - tamer
    • + +
    • 3 - tamer
      • 0 - mimicry
      • 1 - husbandry
      • 2 - empathy
      • 3 - survival
      -
    • 4 - brawler
    • + +
    • 4 - brawler
      • 0 - critical eye
      • 1 - dirty fighting
      • 2 - improvisation
      • 3 - street smarts
      -
    • 5 - chemist
    • + +
    • 5 - chemist
      • 0 - cognate sciences
      • 1 - pharmacology
      • 2 - toxicology
      • 3 - materials engineering
      -
    • 6 - hacker
    • + +
    • 6 - hacker
      • 0 - social engineering
      • 1 - surveillance
      • 2 - robotics
      • 3 - gadgetry
      -
    • 7 - Mercur
    • + +
    • 7 - Mercur
      • 0 - supernal
      • 1 - projectile
      • @@ -102,33 +109,37 @@
      • 3 - unlearnable
      • 4 - job perk
      -
    • a - tycoon
    • + +
    • a - tycoon
      • 0 - perpetuity/diversified portfolio
      • 1 - negotiation
      • 2 - deceptive marketing
      • 3 - invisible hand
      -
    • b - traffic control
    • + +
    • b - traffic control
      • 0 - extraplanar refuge
      • 1 - footwork
      • 2 - alteration/landscaping
      • 3 - networking
      +
    -
  • 2 - character (next digits indicate job and whether it offers a service)
  • +
  • 2 - character (next digits indicate job and whether it offers a service)
    • 0 - dungeon girls
    • -
    • 1 - boss
    • +
    • 1 - boss
      • the second digit is its species then the other stuff
      +
    • 2 - human
    • 3 - Canaanite
    • -
    • 4 - beast
    • +
    • 4 - beast
        -
      • 0 - mammal
      • +
      • 0 - mammal
        • 0 - unsorted
        • 1 - rodent/bat/eulipotyphian
        • @@ -137,48 +148,56 @@
        • 4 - bear
        • 5 - ungulate
        +
      • 1 - bird
      • 2 - reptile
      • 3 - amphibian
      • 0 - fish
      • 4 - bug
      +
    • 5 - slime
    • 6 - construct
    • -
    • 7 - Mercurians
    • +
    • 7 - Mercurians
      • 0 - avatar
      • 1 - projectile
      +
    • 8 - machine
    -
  • 3 - item
  • + +
  • 3 - item
    • 0 - currency
    • 1 - quest item
    • -
    • 2 - equipment
    • +
    • 2 - equipment
      • 0 - weapon
      • 1 - gear
      • -
          -
        • 3 - consumable
        • +
        + +
      • 3 - consumable
        • 0 - food/medicine
        • 1 - item generator
          • +
          • 4 - flyer/book
          • 5 - container
          • 6 - upgrade/constant code/automatic effect
          • 7 - key
          • 8 - trinket
          -
        • 4 - location (followed by 0 - safe zone, 1 - combat zone)
        • + +
        • 4 - location (followed by 0 - safe zone, 1 - combat zone)
            -
          • 0 - nowhere
          • +
          • 0 - nowhere
            • 0 - test
            • 1 - bingo demo
              • +
              • 1 - subdivision
              • 2 - school
              • 3 - commercial district
              • @@ -193,18 +212,21 @@
              • c - serpent city
              • d - firewall
              -
            • 5 - app
            • + +
            • 5 - app
              • 0 - stock
              • 1 - optional
              -
            • 6 - activator
            • + +
            • 6 - activator
              • 0 - chest
              • 1 - button/switch
              • 2 - sign/lectern
              -
            • 7 - job/
            • + +
            • 7 - job
              • 0aaaa - idle
              • 1aaaa - armsman
              • @@ -217,16 +239,19 @@
              • a0000 - tycoon
              • b0000 - traffic control
              -
            • 8 - perk/attribute
            • + +
            • 8 - perk/attribute
              • matches the skill section's job & attribute values
              -
            • 9 - keyword
            • + +
            • 9 - keyword
              • 0 - primitive
              • 1 - status effect
              • 2 - unsorted
              +
            diff --git a/src/views/bf-jobs.tpl b/src/views/bf-jobs.tpl new file mode 100644 index 0000000..6fc4e2d --- /dev/null +++ b/src/views/bf-jobs.tpl @@ -0,0 +1,7 @@ +% import random +% rebase('frame.tpl') +
            +

            blessfrey gdd - jobs

            +

            There are six standard jobs available to the player, but more can be discovered in the Abyss.

            +
            + diff --git a/src/views/bf-keywords.tpl b/src/views/bf-keywords.tpl new file mode 100644 index 0000000..07a226d --- /dev/null +++ b/src/views/bf-keywords.tpl @@ -0,0 +1,7 @@ +% import random +% rebase('frame.tpl') +
            +

            blessfrey gdd - keywords

            +

            Keywords are the building blocks of skills.

            +
            + diff --git a/src/views/bf-setting.tpl b/src/views/bf-setting.tpl new file mode 100644 index 0000000..a7487ac --- /dev/null +++ b/src/views/bf-setting.tpl @@ -0,0 +1,7 @@ +% import random +% rebase('frame.tpl') +
            +

            blessfrey gdd - setting

            +

            Blessfrey takes place in Lucrest, Nickajack, a small town unknowingly situated over an abyssal dungeon.

            +
            + diff --git a/src/views/bf-skills.tpl b/src/views/bf-skills.tpl new file mode 100644 index 0000000..960810c --- /dev/null +++ b/src/views/bf-skills.tpl @@ -0,0 +1,7 @@ +% import random +% rebase('frame.tpl') +
            +

            blessfrey gdd - skills

            +

            Skills are individual powers usable by entities. They can take 8 at a time on their skillbar. They can be used for combat, puzzle-solving, and roleplaying. They are acquired through exploring.

            +
            + diff --git a/src/views/bf-story.tpl b/src/views/bf-story.tpl new file mode 100644 index 0000000..e80fb13 --- /dev/null +++ b/src/views/bf-story.tpl @@ -0,0 +1,7 @@ +% import random +% rebase('frame.tpl') +
            +

            blessfrey gdd - story

            +

            Helia explores the Abyss with her friends.

            +
            + diff --git a/src/views/bf-terms.tpl b/src/views/bf-terms.tpl new file mode 100644 index 0000000..332d455 --- /dev/null +++ b/src/views/bf-terms.tpl @@ -0,0 +1,6 @@ +% rebase('frame.tpl') +
            +

            blessfrey gdd - dictionary of terms

            +

            Definitions of technical terms will go here.

            +
            + diff --git a/src/views/milestones.tpl b/src/views/milestones.tpl index 2495878..8b1816d 100644 --- a/src/views/milestones.tpl +++ b/src/views/milestones.tpl @@ -225,6 +225,9 @@
          • {{random.choice(['.','•','☆','★'])}} holidays
          • {{random.choice(['.','•','☆','★'])}} fishing minigame
          • {{random.choice(['.','•','☆','★'])}} hide UI for screenshots optionally
          • +
          • {{random.choice(['.','•','☆','★'])}} support touchscreen for click
          • +
          • {{random.choice(['.','•','☆','★'])}} consider on-screen keyboard for name/word input during gameplay for touchscreen, Steam Deck, etc
          • +
          • {{random.choice(['.','•','☆','★'])}} if I ever do full voiceacting, downloading and installing all the GB of voiceacting should be optional, and the game should work fine voiceless
          diff --git a/src/views/tweaks.tpl b/src/views/tweaks.tpl deleted file mode 100644 index 0446bf0..0000000 --- a/src/views/tweaks.tpl +++ /dev/null @@ -1,13 +0,0 @@ -% rebase('frame.tpl') -
          -

          blessfrey gdd - tweaks

          -

          Don't forget the random ideas and concerns you have. Store them here!

          -
          -
            -
          • support touchscreen for click
          • -
          • consider on-screen keyboard for name/word input during gameplay for touchscreen, Steam Deck, etc
          • -
          • if I ever do full voiceacting, downloading and installing all the GB of voiceacting should be optional, and the game should work fine voiceless
          • -
          -
          -
          - diff --git a/src/views/website.tpl b/src/views/website.tpl index b64ed86..cd649d6 100644 --- a/src/views/website.tpl +++ b/src/views/website.tpl @@ -4,13 +4,17 @@

          website to-do

          It'd be cool to add a few more things...


          +

          general

          +
            +
          • {{random.choice(['.','•','☆','★'])}} site map
          • +

          play page

          • {{random.choice(['.','•','☆','★'])}} link to previous demos

          about page

          • {{random.choice(['.','•','☆','★'])}} some cute presentation of links. maybe nice promo art with table of contents over a long page. click on what you want or scroll around. I had one of those old myspace css boxes with links, but I can't imagine that working on mobile, etc.
          • -
          • {{random.choice(['.','•','☆','★'])}} artwork: 6-panels of Helia with each job
          • +
          • {{random.choice(['.','•','☆','★'])}} artwork: 6 panels of Helia with each job
          • {{random.choice(['.','•','☆','★'])}} screenshots and diagrams of skills, skill library, skillbar
          • {{random.choice(['.','•','☆','★'])}} screenshots and diagrams of team window, team member editing window
          • {{random.choice(['.','•','☆','★'])}} slideshow, 3-panel comic, etc of gist of the story with a sentence or two describing each part.