small fixes to rest of pages linked through site

small-nav
chimchooree 2 years ago
parent f739443483
commit 8b5c5f7c1a

@ -535,12 +535,34 @@ def gddbf():
@route('/gdd') @route('/gdd')
def gdd(): def gdd():
return gddbf() return gddbf()
# Cast
@route('/blessfrey-cast')
def cast():
"""Cast Page"""
return char3()
# Credits
@route('/blessfrey-credits')
def creditsbf():
"""Credits Page"""
return credits()
# ID # ID
@route('/blessfrey-ids') @route('/blessfrey-ids')
def id(): def id():
"""ID Page""" """ID Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - IDs + keys', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd - IDs + keys', 'year': find_year()}
return template('bf-id.tpl', info) 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 # Blessfrey Mechanics
@route('/blessfrey-mechanics') @route('/blessfrey-mechanics')
def mech(): def mech():
@ -552,25 +574,24 @@ def mech1():
"""inspect""" """inspect"""
info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd - game mechanics', 'year': find_year()}
return template('bf-mech-inspect.tpl', info) return template('bf-mech-inspect.tpl', info)
# Species Page # Setting
@route('/race/') # if no species given @route('/blessfrey-setting')
def spec4(): def setting():
return species("human") """Setting Page"""
@route('/race/<species_name:path>') info = {'css': 'doc', 'title': 'blessfrey gdd - setting', 'year': find_year()}
def spec3(species_name): return template('bf-setting.tpl', info)
return species(species_name) # Skills
@route('/species/') # if no species given @route('/blessfrey-skills')
def spec2(): def skills():
return species("human") """Skills Page"""
@route('/species/<species_name:path>') info = {'css': 'doc', 'title': 'blessfrey gdd - skills', 'year': find_year()}
def spec(species_name): return template('bf-skills.tpl', info)
"""species page""" # Story
loc = 'species/' @route('/blessfrey-story')
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)} def story():
abs_app_dir_path = os.path.dirname(os.path.realpath(__file__)) """Story Page"""
abs_views_path = os.path.join(abs_app_dir_path, 'views') info = {'css': 'doc', 'title': 'blessfrey gdd - story', 'year': find_year()}
TEMPLATE_PATH.insert(0, abs_views_path ) return template('bf-story.tpl', info)
return template(os.path.join(abs_views_path,'char.tpl'), info)
# Blessfrey Style Guide Page # Blessfrey Style Guide Page
@route('/blessfrey-style-guide') @route('/blessfrey-style-guide')
def style3(): def style3():
@ -586,13 +607,24 @@ def style():
"""style guide""" """style guide"""
info = {'css': 'doc', 'title': 'blessfrey style guide', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey style guide', 'year': find_year()}
return template('style-guide.tpl', info) 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 # Art Direction
@route('/blessfrey-vibe') @route('/blessfrey-vibe')
def vibe(): def vibe():
"""GDD Page""" """GDD Page"""
info = {'css': 'doc', 'title': 'blessfrey gdd - vibe', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey gdd - vibe', 'year': find_year()}
return template('bf-vibe.tpl', info) 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 # Home Page - Index Template
#@route('/') #@route('/')
@ -647,6 +679,27 @@ def presskit():
info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()} info = {'css': 'doc', 'title': 'blessfrey presskit', 'year': find_year()}
return template('blessfrey-presskit.tpl', info) return template('blessfrey-presskit.tpl', info)
# Species Page
@route('/race/') # if no species given
def spec4():
return species("human")
@route('/race/<species_name:path>')
def spec3(species_name):
return species(species_name)
@route('/species/') # if no species given
def spec2():
return species("human")
@route('/species/<species_name:path>')
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 # Search Diary by Tag
@route('/diary/tag/<tagin>') # Start on first Diary tag page if no page given @route('/diary/tag/<tagin>') # Start on first Diary tag page if no page given
def tag2(tagin): def tag2(tagin):

@ -19,7 +19,7 @@
html, body {padding:0; margin:0; height:100%;} html, body {padding:0; margin:0; height:100%;}
footer{ footer{
position: fixed; bottom: 0; left: 0; position: fixed; bottom: 0; left: 0;
color: #df85a5; color: #C0AAC0;
background-color: transparent; background-color: transparent;
width: 100vw; width: 100vw;
} }
@ -84,9 +84,17 @@ pre,code {
.top { .top {
grid-area: 1 / 1 / 2 / 2; grid-area: 1 / 1 / 2 / 2;
color: white; color: #C0AAC0;
text-align: center; text-align: center;
} }
.top a {
color: #C0AAC0;
font-weight: bold;
}
.top a:hover {
color: #A88AA8;
}
.content-grid { .content-grid {
grid-area: 2 / 1 / 3 / 2; grid-area: 2 / 1 / 3 / 2;
min-height: 60vh; min-height: 60vh;

@ -1,7 +1,7 @@
.content-grid { .content-grid {
display: grid; display: grid;
grid-template-columns: 25% 75%; grid-template-columns: 25% 75%;
/* grid-template-rows: 992px;*/ grid-template-rows: 992px;
grid-column-gap: 0px; grid-column-gap: 0px;
grid-row-gap: 0px; grid-row-gap: 0px;
} }
@ -23,28 +23,6 @@
grid-template-rows: auto auto auto auto; grid-template-rows: auto auto auto auto;
grid-column-gap: 0px; grid-column-gap: 0px;
grid-row-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 { .content-right h1, h2, ul, li, b, i, p, img, a {

@ -73,20 +73,18 @@
.navlink { .navlink {
font-size: 110%; font-size: 110%;
font-weight: bold; font-weight: bold;
color: #E6E8EF; color: #C0AAC0;
text-align: center; text-align: center;
} }
.navlink a:link { .navlink a:link {
color: #E6E8EF;
} }
.navlink a:visited { .navlink a:visited {
color: #E6E8EF;
} }
.navlink a:hover { .navlink a:hover {
color: #f463ad; color: #f463ad;
} }
.navlink a:active { .navlink a:active {
color: #f463ad; color: #C0AAC0;
} }
.nav-grid img { .nav-grid img {
height: auto; height: auto;
@ -100,3 +98,6 @@
padding-top: 0.5em; padding-top: 0.5em;
padding-bottom: 1em; padding-bottom: 1em;
} }
.links a {
color: #C0AAC0;
}

@ -5,7 +5,7 @@
<p>The vision for Blessfrey <br></p> <p>The vision for Blessfrey <br></p>
<br> <br>
<ul> <ul>
% 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"]]:
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<a href=/{{i[1]}}>{{i[0]}}</a></li>
% end % end
</ul> </ul>

@ -47,54 +47,61 @@
<li>0 - default </li> <li>0 - default </li>
<li>1 - skill </li> <li>1 - skill </li>
<ul> <ul>
<li>0 - common </li> <li>0 - common
<ul> <ul>
<li>0 - roleplay </li> <li>0 - roleplay </li>
<li>1 - linguist </li> <li>1 - linguist </li>
</ul> </ul>
<li>1 - armsman </li> </li>
<li>1 - armsman
<ul> <ul>
<li>0 - fitness </li> <li>0 - fitness </li>
<li>1 - power </li> <li>1 - power </li>
<li>2 - artistry </li> <li>2 - artistry </li>
<li>3 - tactics </li> <li>3 - tactics </li>
</ul> </ul>
<li>2 - disciple </li> </li>
<li>2 - disciple
<ul> <ul>
<li>0 - santification </li> <li>0 - santification </li>
<li>1 - power over nature </li> <li>1 - power over nature </li>
<li>2 - spiritual healing </li> <li>2 - spiritual healing </li>
<li>3 - divine protection </li> <li>3 - divine protection </li>
</ul> </ul>
<li>3 - tamer </li> </li>
<li>3 - tamer
<ul> <ul>
<li>0 - mimicry </li> <li>0 - mimicry </li>
<li>1 - husbandry </li> <li>1 - husbandry </li>
<li>2 - empathy </li> <li>2 - empathy </li>
<li>3 - survival </li> <li>3 - survival </li>
</ul> </ul>
<li>4 - brawler </li> </li>
<li>4 - brawler
<ul> <ul>
<li>0 - critical eye </li> <li>0 - critical eye </li>
<li>1 - dirty fighting </li> <li>1 - dirty fighting </li>
<li>2 - improvisation </li> <li>2 - improvisation </li>
<li>3 - street smarts </li> <li>3 - street smarts </li>
</ul> </ul>
<li>5 - chemist </li> </li>
<li>5 - chemist
<ul> <ul>
<li>0 - cognate sciences </li> <li>0 - cognate sciences </li>
<li>1 - pharmacology </li> <li>1 - pharmacology </li>
<li>2 - toxicology </li> <li>2 - toxicology </li>
<li>3 - materials engineering </li> <li>3 - materials engineering </li>
</ul> </ul>
<li>6 - hacker </li> </li>
<li>6 - hacker
<ul> <ul>
<li>0 - social engineering </li> <li>0 - social engineering </li>
<li>1 - surveillance </li> <li>1 - surveillance </li>
<li>2 - robotics </li> <li>2 - robotics </li>
<li>3 - gadgetry </li> <li>3 - gadgetry </li>
</ul> </ul>
<li>7 - Mercur </li> </li>
<li>7 - Mercur
<ul> <ul>
<li>0 - supernal </li> <li>0 - supernal </li>
<li>1 - projectile </li> <li>1 - projectile </li>
@ -102,33 +109,37 @@
<li>3 - unlearnable </li> <li>3 - unlearnable </li>
<li>4 - job perk </li> <li>4 - job perk </li>
</ul> </ul>
<li>a - tycoon </li> </li>
<li>a - tycoon
<ul> <ul>
<li>0 - perpetuity/diversified portfolio </li> <li>0 - perpetuity/diversified portfolio </li>
<li>1 - negotiation </li> <li>1 - negotiation </li>
<li>2 - deceptive marketing </li> <li>2 - deceptive marketing </li>
<li>3 - invisible hand </li> <li>3 - invisible hand </li>
</ul> </ul>
<li>b - traffic control </li> </li>
<li>b - traffic control
<ul> <ul>
<li>0 - extraplanar refuge </li> <li>0 - extraplanar refuge </li>
<li>1 - footwork </li> <li>1 - footwork </li>
<li>2 - alteration/landscaping </li> <li>2 - alteration/landscaping </li>
<li>3 - networking </li> <li>3 - networking </li>
</ul> </ul>
</li>
</ul> </ul>
<li>2 - character (next digits indicate job and whether it offers a service) </li> <li>2 - character (next digits indicate job and whether it offers a service)
<ul> <ul>
<li>0 - dungeon girls </li> <li>0 - dungeon girls </li>
<li>1 - boss </li> <li>1 - boss
<ul> <ul>
<li>the second digit is its species then the other stuff </li> <li>the second digit is its species then the other stuff </li>
</ul> </ul>
</li>
<li>2 - human </li> <li>2 - human </li>
<li>3 - Canaanite </li> <li>3 - Canaanite </li>
<li>4 - beast </li> <li>4 - beast
<ul> <ul>
<li>0 - mammal </li> <li>0 - mammal
<ul> <ul>
<li>0 - unsorted </li> <li>0 - unsorted </li>
<li>1 - rodent/bat/eulipotyphian </li> <li>1 - rodent/bat/eulipotyphian </li>
@ -137,48 +148,56 @@
<li>4 - bear </li> <li>4 - bear </li>
<li>5 - ungulate </li> <li>5 - ungulate </li>
</ul> </ul>
</li>
<li>1 - bird </li> <li>1 - bird </li>
<li>2 - reptile </li> <li>2 - reptile </li>
<li>3 - amphibian </li> <li>3 - amphibian </li>
<li>0 - fish </li> <li>0 - fish </li>
<li>4 - bug </li> <li>4 - bug </li>
</ul> </ul>
</li>
<li>5 - slime </li> <li>5 - slime </li>
<li>6 - construct </li> <li>6 - construct </li>
<li>7 - Mercurians </li> <li>7 - Mercurians
<ul> <ul>
<li>0 - avatar </li> <li>0 - avatar </li>
<li>1 - projectile </li> <li>1 - projectile </li>
</ul> </ul>
</li>
<li>8 - machine </li> <li>8 - machine </li>
</ul> </ul>
<li>3 - item </li> </li>
<li>3 - item
<ul> <ul>
<li>0 - currency </li> <li>0 - currency </li>
<li>1 - quest item </li> <li>1 - quest item </li>
<li>2 - equipment </li> <li>2 - equipment
<ul> <ul>
<li>0 - weapon </li> <li>0 - weapon </li>
<li>1 - gear </li> <li>1 - gear </li>
<ul> </ul>
<li>3 - consumable </li> </li>
<li>3 - consumable
<ul> <ul>
<li>0 - food/medicine </li> <li>0 - food/medicine </li>
<li>1 - item generator </li> <li>1 - item generator </li>
<ul> <ul>
</li>
<li>4 - flyer/book </li> <li>4 - flyer/book </li>
<li>5 - container </li> <li>5 - container </li>
<li>6 - upgrade/constant code/automatic effect </li> <li>6 - upgrade/constant code/automatic effect </li>
<li>7 - key </li> <li>7 - key </li>
<li>8 - trinket </li> <li>8 - trinket </li>
</ul> </ul>
<li>4 - location (followed by 0 - safe zone, 1 - combat zone) </li> </li>
<li>4 - location (followed by 0 - safe zone, 1 - combat zone)
<ul> <ul>
<li>0 - nowhere </li> <li>0 - nowhere
<ul> <ul>
<li>0 - test </li> <li>0 - test </li>
<li>1 - bingo demo </li> <li>1 - bingo demo </li>
<ul> <ul>
</li>
<li>1 - subdivision </li> <li>1 - subdivision </li>
<li>2 - school </li> <li>2 - school </li>
<li>3 - commercial district </li> <li>3 - commercial district </li>
@ -193,18 +212,21 @@
<li>c - serpent city </li> <li>c - serpent city </li>
<li>d - firewall </li> <li>d - firewall </li>
</ul> </ul>
<li>5 - app </li> </li>
<li>5 - app
<ul> <ul>
<li>0 - stock </li> <li>0 - stock </li>
<li>1 - optional </li> <li>1 - optional </li>
</ul> </ul>
<li>6 - activator </li> </li>
<li>6 - activator
<ul> <ul>
<li>0 - chest </li> <li>0 - chest </li>
<li>1 - button/switch </li> <li>1 - button/switch </li>
<li>2 - sign/lectern </li> <li>2 - sign/lectern </li>
</ul> </ul>
<li>7 - job/ </li> </li>
<li>7 - job
<ul> <ul>
<li>0aaaa - idle </li> <li>0aaaa - idle </li>
<li>1aaaa - armsman </li> <li>1aaaa - armsman </li>
@ -217,16 +239,19 @@
<li>a0000 - tycoon </li> <li>a0000 - tycoon </li>
<li>b0000 - traffic control </li> <li>b0000 - traffic control </li>
</ul> </ul>
<li>8 - perk/attribute </li> </li>
<li>8 - perk/attribute
<ul> <ul>
<li>matches the skill section's job & attribute values </li> <li>matches the skill section's job & attribute values </li>
</ul> </ul>
<li>9 - keyword </li> </li>
<li>9 - keyword
<ul> <ul>
<li>0 - primitive </li> <li>0 - primitive </li>
<li>1 - status effect </li> <li>1 - status effect </li>
<li>2 - unsorted </li> <li>2 - unsorted </li>
</ul> </ul>
</li>
</ul> </ul>
</div> </div>

@ -0,0 +1,7 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - jobs</h1>
<p>There are six standard jobs available to the player, but more can be discovered in the Abyss. <br></p>
</div>

@ -0,0 +1,7 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - keywords</h1>
<p>Keywords are the building blocks of skills. <br></p>
</div>

@ -0,0 +1,7 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - setting</h1>
<p>Blessfrey takes place in Lucrest, Nickajack, a small town unknowingly situated over an abyssal dungeon. <br></p>
</div>

@ -0,0 +1,7 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - skills</h1>
<p>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. <br></p>
</div>

@ -0,0 +1,7 @@
% import random
% rebase('frame.tpl')
<div class="content-grid">
<h1><a href="/gdd">blessfrey gdd</a> - story</h1>
<p>Helia explores the Abyss with her friends. <br></p>
</div>

@ -0,0 +1,6 @@
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey gdd - dictionary of terms</h1>
<p>Definitions of technical terms will go here. </p>
</div>

@ -225,6 +225,9 @@
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>holidays</span> </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>holidays</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>fishing minigame</span> </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>fishing minigame</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>hide UI for screenshots optionally</span> </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>hide UI for screenshots optionally</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>support touchscreen for click</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>consider on-screen keyboard for name/word input during gameplay for touchscreen, Steam Deck, etc</span> </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9;<span class=mundane>if I ever do full voiceacting, downloading and installing all the GB of voiceacting should be optional, and the game should work fine voiceless</span> </li>
</ul> </ul>
</div> </div>

@ -1,13 +0,0 @@
% rebase('frame.tpl')
<div class="content-grid">
<h1>blessfrey gdd - tweaks</h1>
<p>Don't forget the random ideas and concerns you have. Store them here! <br></p>
<br>
<ul>
<li>support touchscreen for click </li>
<li>consider on-screen keyboard for name/word input during gameplay for touchscreen, Steam Deck, etc </li>
<li>if I ever do full voiceacting, downloading and installing all the GB of voiceacting should be optional, and the game should work fine voiceless </li>
</ul>
<br>
</div>

@ -4,13 +4,17 @@
<h1>website to-do </h1> <h1>website to-do </h1>
<p>It'd be cool to add a few more things... <br></p> <p>It'd be cool to add a few more things... <br></p>
<br> <br>
<h2>general </h2>
<ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; site map </li>
</ul>
<h2>play page </h2> <h2>play page </h2>
<ul> <ul>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; link to previous demos </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; link to previous demos </li>
</ul> </ul>
<h2>about page </h2> <h2>about page </h2>
<ul> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; 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. </li> <ul> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; 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. </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; artwork: 6-panels of Helia with each job </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; artwork: 6 panels of Helia with each job </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; screenshots and diagrams of skills, skill library, skillbar </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; screenshots and diagrams of skills, skill library, skillbar </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; screenshots and diagrams of team window, team member editing window </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; screenshots and diagrams of team window, team member editing window </li>
<li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; slideshow, 3-panel comic, etc of gist of the story with a sentence or two describing each part. </li> <li class="latest">{{random.choice(['.','•','☆','★'])}}&#9; slideshow, 3-panel comic, etc of gist of the story with a sentence or two describing each part. </li>

Loading…
Cancel
Save