diff --git a/src/char/Abbey-basics b/src/char/Abbey-basics
new file mode 100644
index 0000000..fcb37a1
--- /dev/null
+++ b/src/char/Abbey-basics
@@ -0,0 +1,13 @@
+
+ - role: traveling bard
+ - age: early 30s (equivalent)
+ - birthday: May 24♊︎
+ - mental: light-hearted, clever
+ - physical: tall, chubby, dove gray hair, purple eyes
+ - style: fine furs, fine charmeuse, fine chains of precious metal
+ - height: 12'4 tall / 9'5 wingspan / 6' (human)
+ - residence: The Dancing Butterfly Inn in Blacksand Annex, Ashfall Waste
+ - likes: music 24/7, devil's advocate, playing dumb, luxury and creature comforts
+ - dislikes: being forced to work during a mental block, an overly serious tone, questions about his mask
+ - notes: never without his mask
+
diff --git a/src/char/Abbey-desc b/src/char/Abbey-desc
new file mode 100644
index 0000000..029295e
--- /dev/null
+++ b/src/char/Abbey-desc
@@ -0,0 +1 @@
+He's a chubby dove gray dragon with an incredibly thick coat that only grows thicker during winter months. Most of his body is covered in platinum-colored fur that lightens as it reaches his tail and legs. A skink-like striped pattern runs from the sides of his neck, all the way down his tail. His fins, which extend like horns from behind his ears and his feet are dark. His wings, mane, and tuft at the end of his tail are smokey gray and flecked with black like hawk feathers. His face is always covered in a white mask, his eyes outlined in red. He loves to adorn himself in chains from fine metal, feathers, and fur.
diff --git a/src/char/Abbey-label b/src/char/Abbey-label
new file mode 100644
index 0000000..9965e0e
--- /dev/null
+++ b/src/char/Abbey-label
@@ -0,0 +1 @@
+means fraternity | Shadow Tundra♂ | theme: orpheus odyssey - legends on strings
diff --git a/src/char/Abbey-story b/src/char/Abbey-story
new file mode 100644
index 0000000..705b9c9
--- /dev/null
+++ b/src/char/Abbey-story
@@ -0,0 +1,3 @@
+Abbey is Lise's favorite traveling bard, so she keeps him perpetually on the Butterfly's Dance payroll. He's a master of the lyre, flute, and bells, though he has a wide arsenal of string and brass proficiencies to supply his evening performances, which span from ballads of the First Age to reenactments of the Night of the Nocturne to flambebe limericks. He never removes his mask. He even sleeps in it. He plays it off like a quirk, but he has never been seen without it. That fact plus his distance from his homeland spur light rumors, but they can only be taken as seriously as people view him.
+
+Surprisingly, most of his acts are performed off the cuff, and, in lieu of serious preparation, he spends much of his day napping, snacking while reading, or improvising music. He stays well-versed in current events and pop culture, so he identifies guests of renown at once and loves to listen and learn what they have to say. In general, though, he's always up for a literary discussion or political debate, so don't be afraid to disturb him when he's nose-deep in tomes.
diff --git a/src/char/Aristen b/src/char/Aristen
deleted file mode 100644
index f7bb292..0000000
--- a/src/char/Aristen
+++ /dev/null
@@ -1,23 +0,0 @@
-Aristen | means the best | mystic♀
-
-basics
-
- - role: martial artist, soldier of fortune
- - age: mid 20s
- - birthday:
- - physical: slightly tall, rock hard muscles, massive arms, curvy, dark auburn hair, blue eyes
- - style: uniforms
- - height: 5'6
- - residence:
- - likes: structure, self-improvement, fishing
- - dislikes: clutter, people without honor, when guys are intimidated by her
- - notes: never without his mask
-
-
-story
-My Black Desert Online main! The community and gear system ruin what is one of the best tycoon and life skilling MMOs, so I didn't play it for very long. I still adore Aristen, though.
-
-She's an honest and direct person who won't betray her core values of loyalty, submission towards authority, and denial of the flesh. Her Spartan lifestyle borders on asceticism. She lives off the land. Though her body is shaped by extreme discipline, she isn't necessarily the wisest person. She's always falling into the "work harder, not smarter" fallacy, leading to some pretty comical blunt-force solutions for her jobs.
-
-description
-Her quiet femininity contrasts with her titanic arms and powerful thighs. (I maxxed out the arm muscularity and arm thickness sliders.) Perplexingly, she's retained an hourglass figure, which she attributes to a life of wearing belts. She always presents herself with excellence, wearing a meticulously perfected coral monochromatic face of makeup to set off her pale eyes, deep auburn hair, and glassy skin. Through experience, it wears gracefully even through sweat and heat. Her wardrobe is purely functional, consisting entirely of training and ceremonial uniforms, especially those that pair well with belts and scarves. Her favorite colors to wear are orange and jade.
diff --git a/src/char/Aristen-basics b/src/char/Aristen-basics
new file mode 100644
index 0000000..ebb831b
--- /dev/null
+++ b/src/char/Aristen-basics
@@ -0,0 +1,12 @@
+
+ - role: martial artist, soldier of fortune
+ - age: mid 20s
+ - birthday:
+ - physical: slightly tall, rock hard muscles, massive arms, curvy, dark auburn hair, blue eyes
+ - style: uniforms, loves scarfs and belts
+ - height: 5'6
+ - residence:
+ - likes: structure, self-improvement, fishing
+ - dislikes: clutter, people without honor, when guys are intimidated by her
+ - notes: effortlessly beautiful at all times, even after long hikes and traveling without a bath
+
diff --git a/src/char/Aristen-desc b/src/char/Aristen-desc
new file mode 100644
index 0000000..83accc0
--- /dev/null
+++ b/src/char/Aristen-desc
@@ -0,0 +1 @@
+Her quiet femininity contrasts with her titanic arms and powerful thighs. (I maxxed out the arm muscularity and arm thickness sliders.) Perplexingly, she's retained an hourglass figure, which she attributes to a life of wearing belts. She always presents herself with excellence, wearing a meticulously perfected coral monochromatic face of makeup to set off her pale eyes, deep auburn hair, and glassy skin. Through experience, it wears gracefully even through sweat and heat. Her wardrobe is purely functional, consisting entirely of training and ceremonial uniforms, especially those that pair well with belts and scarves. Her favorite colors to wear are orange and jade.
diff --git a/src/char/Aristen-label b/src/char/Aristen-label
new file mode 100644
index 0000000..e87a419
--- /dev/null
+++ b/src/char/Aristen-label
@@ -0,0 +1 @@
+Aristen | means the best | mystic♀
diff --git a/src/char/Aristen-story b/src/char/Aristen-story
new file mode 100644
index 0000000..c147b91
--- /dev/null
+++ b/src/char/Aristen-story
@@ -0,0 +1,3 @@
+My Black Desert Online main! The community and gear system ruin what is one of the best tycoon and life skilling MMOs, so I didn't play it for very long. I still adore Aristen, though.
+
+She's an honest and direct person who won't betray her core values of loyalty, submission towards authority, and denial of the flesh. Her Spartan lifestyle borders on asceticism. She lives off the land. Though her body is shaped by extreme discipline, she isn't necessarily the wisest person. She's always falling into the "work harder, not smarter" fallacy, leading to some pretty comical blunt-force solutions for her jobs.
diff --git a/src/char/Calder-basics b/src/char/Calder-basics
new file mode 100644
index 0000000..909a0c2
--- /dev/null
+++ b/src/char/Calder-basics
@@ -0,0 +1,13 @@
+
+ - role: runaway mage, tavern debtor, mire flyer
+ - age: late 20s
+ - birthday: April 9♈︎
+ - mental: brilliant, undisciplined, explosive temper
+ - physical: average height, well-built, pale skin, long wavy blond hair, pale pink eyes
+ - style: bare chest, flowing silks
+ - height: 24'5 tall / 28' wingspan / 5'7 (human)
+ - residence: The Dancing Butterfly Inn in Blacksand Annex, Ashfall Waste
+ - likes: having his ego stroked, winning
+ - dislikes: any criticism, making accomodations for other people, sitting still for too long
+ - notes: basically a genderswapped Qara
+
diff --git a/src/char/Calder-desc b/src/char/Calder-desc
new file mode 100644
index 0000000..61fcc69
--- /dev/null
+++ b/src/char/Calder-desc
@@ -0,0 +1 @@
+His strong, masculine features offset his almost sickly pale skin and pastel pink eyes. His hair is just as fair, and he wears it long and wavy despite a lifetime of elders telling him to keep it short. He has a great body and knows it, taking every chance to show it off. He wraps himself in charmeuse, feathers, and flowers.
diff --git a/src/char/Calder-label b/src/char/Calder-label
new file mode 100644
index 0000000..79ddc9a
--- /dev/null
+++ b/src/char/Calder-label
@@ -0,0 +1 @@
+Calder | means wild waters | Arcane Coatl♂
diff --git a/src/char/Calder-story b/src/char/Calder-story
new file mode 100644
index 0000000..b3a9e9f
--- /dev/null
+++ b/src/char/Calder-story
@@ -0,0 +1 @@
+Calder's temper is fiery in the literal sense. He has a genius aptitude for arcane magic but a blasé disregard for its effects or proper study. Despite being the headmaster's son, his disdain for the less adept and explosive attitude made him distinctly unpopular with his teachers and fellow acolytes. His father could only shield him from the consequences of his actions for so long, however. Outright setting fire to the university after a clash with a group of students was a crime judged by a jurisdiction higher than the board of directors. Calder, now disowned and summoned to a court heavily stacked against him, had nothing to lose. Before tucking his tail and running, he burned down the courthouse. He traveled to the Ashfall Waste, where they surely are less sensitive about petty fire fights. It turns out the Fire Flight is even less impressed by conflagration. He now lives in debt to Lise, matron proprietor and main dancer of the Butterfly's Dance, after accidentally burning the exterior of her tavern.
diff --git a/src/char/Chimchooree b/src/char/Chimchooree
deleted file mode 100644
index 44d9191..0000000
--- a/src/char/Chimchooree
+++ /dev/null
@@ -1,24 +0,0 @@
-Chim-choo-ree | means make-believe bird | elysian ranger♀ | theme: Joanna Newsom - Emily
-
-basics
-
- - role: ranger, athletic model
- - age: teens
- - birthday:
- - mental:
- - physical: extremely tall and thin, freckled medium skin, light brown hair, seafoam green eyes
- - style:
- - height: 10'
- - residence:
- - likes:
- - dislikes:
- - notes: floral henna tattoos
-
-
-story
-She wanted to be an assassin, but she's had to come to terms with her physique being ill-suited for close-range dagger combat. Unfortunately, she's just okay at archery, and that's when she can find equipment that accommodates her long arms. Dreams of standing out as an archer are just as far out-of-reach as assassin work ever was. Nevertheless, she is showered in athletic modeling deals, while her talented friends are overlooked. She gets to travel to all the major archery competitions and practice it in short art films, but she knows in her heart that this is all thanks to her looks, not her skills. She tries to look at her physique as a hidden blessing or backdoor, but it can be pretty humiliating when she gets side-eyed by judgy girls with far better aim than she'll ever have.
-
-She's trained in all manners of bows and blades, but she's not particularly adept at fighting.
-
-description
-She has seafoam green eyes, light brown hair, and freckled medium skin. The left side of her face is decorated with a large floral tattoo made with a dye similar to henna. She's a habitual mascara user and always covers her buns with silks and ribbons. As for her body, she's tall. Basically, I maxed or mined every slider in Aion - max neck length, max arm length, max height, max leg length, max foot length, min thickness. The meta in Aion is to create the smallest possible character for stealth, so she is a sequoia among men. Also, the animations are the same for all characters, so everything she does is extremely sluggish and premeditated. (It takes a while for neural signals to reach her limbs.) Sanctum couturiers often want her to model postmodern and anti-fashion designs, but she is a natural model and adapts well to anyone who wants to work with her. Her favorites will always be the cute frilly ruffly stuff, though.
diff --git a/src/char/Chimchooree-basics b/src/char/Chimchooree-basics
new file mode 100644
index 0000000..a79007b
--- /dev/null
+++ b/src/char/Chimchooree-basics
@@ -0,0 +1,13 @@
+
+ - role: ranger, athletic model
+ - age: teens
+ - birthday:
+ - mental: consistent, not smart but not dumb
+ - physical: extremely tall and thin, freckled medium skin, light brown hair, seafoam green eyes
+ - style: pastels, challis, rayon, robes, kimonos, maxi dresses
+ - height: 10'
+ - residence: Oriel, Elysea
+ - likes: creature comforts, shopping
+ - dislikes: comparing herself to others
+ - notes: floral henna tattoos
+
diff --git a/src/char/Chimchooree-desc b/src/char/Chimchooree-desc
new file mode 100644
index 0000000..4dd3e39
--- /dev/null
+++ b/src/char/Chimchooree-desc
@@ -0,0 +1 @@
+She has seafoam green eyes, light brown hair, and freckled medium skin. The left side of her face is decorated with a large floral tattoo made with a dye similar to henna. She's a habitual mascara user and always covers her buns with silks and ribbons. As for her body, she's tall. Basically, I maxed or mined every slider in Aion - max neck length, max arm length, max height, max leg length, max foot length, min thickness. The meta in Aion is to create the smallest possible character for stealth, so she is a sequoia among men. Also, the animations are the same for all characters, so everything she does is extremely sluggish and premeditated. (It takes a while for neural signals to reach her limbs.) Sanctum couturiers often want her to model postmodern and anti-fashion designs, but she is a natural model and adapts well to anyone who wants to work with her. Her favorites will always be the cute frilly ruffly stuff, though.
diff --git a/src/char/Chimchooree-label b/src/char/Chimchooree-label
new file mode 100644
index 0000000..e360914
--- /dev/null
+++ b/src/char/Chimchooree-label
@@ -0,0 +1 @@
+Chim-choo-ree | means make-believe bird | elysian ranger♀ | theme: Joanna Newsom - Emily
diff --git a/src/char/Chimchooree-story b/src/char/Chimchooree-story
new file mode 100644
index 0000000..c67cdd4
--- /dev/null
+++ b/src/char/Chimchooree-story
@@ -0,0 +1,3 @@
+She wanted to be an assassin, but she's had to come to terms with her physique being ill-suited for close-range dagger combat. Unfortunately, she's just okay at archery, and that's when she can find equipment that accommodates her long arms. Dreams of standing out as an archer are just as far out-of-reach as assassin work ever was. Nevertheless, she is showered in athletic modeling deals, while her talented friends are overlooked. She gets to travel to all the major archery competitions and practice it in short art films, but she knows in her heart that this is all thanks to her looks, not her skills. She tries to look at her physique as a hidden blessing or backdoor, but it can be pretty humiliating when she gets side-eyed by judgy girls with far better aim than she'll ever have.
+
+She's trained in all manners of bows and blades, but she's not particularly adept at fighting.
diff --git a/src/char/Helia-basics b/src/char/Helia-basics
new file mode 100644
index 0000000..312c74b
--- /dev/null
+++ b/src/char/Helia-basics
@@ -0,0 +1,13 @@
+
+ - role: transfer student
+ - age: teens
+ - birthday: summer
+ - mental: "too cool for you," able to achieve anything she sets her mind to
+ - physical: short, blonde front ponytail with chunks of burgundy and flaming orange, hot pink eyes
+ - style: DIY fashion
+ - height: 5'1
+ - residence: with her uncle in a foreign country
+ - likes: urban exploration, cool hiding places, music
+ - dislikes: grownups, her parents, being asked if her eye color is real
+ - notes: her natural hair color is auburn
+
diff --git a/src/char/Helia-desc b/src/char/Helia-desc
new file mode 100644
index 0000000..83921bb
--- /dev/null
+++ b/src/char/Helia-desc
@@ -0,0 +1 @@
+She's short, slender, and flat as a pancake. She uses dark pink contacts so habitually that her friends don't remember what her natural eye color is. She also dyes her hair at home, hiding chunks of fiery orange and burgundy under her blonde hair. She's a high ponytail girl, wearing it so high, it usually falls over the side of her face. To let the hot pink and fiery colors shine, everything in her closet is black-adjacent - deep purple, forest green, navy, and blood red - and she enjoys DIYing detailed accents like corset lacing, reverse applique, and using found objects as buttons or charms.
diff --git a/src/char/Helia-label b/src/char/Helia-label
new file mode 100644
index 0000000..0e60d1c
--- /dev/null
+++ b/src/char/Helia-label
@@ -0,0 +1 @@
+means sun | union♀
diff --git a/src/char/Helia-story b/src/char/Helia-story
new file mode 100644
index 0000000..eb95095
--- /dev/null
+++ b/src/char/Helia-story
@@ -0,0 +1,3 @@
+Helia was basically abandoned by her parents, but she keeps this information on the down low. She doesn't really have a lot of options, so she's going to live in a foreign country with an uncle she hasn't seen since she was a toddler. Worse, he's barely ever at home. Fortunately, despite having a culture shock, she makes friends easily in this small town of Lucrest.
+
+Early on, Tessa dares her to sleep in the haunted shopping center overnight. It turns out the place has a strict curfew with rumors of strange lights, sounds, and slime monsters bubbling up from the ground. Helia finds that to be true and more, stumbling upon an entire dungeon beneath the city, populated with multiple fantasy races and nations. There's dark secrets and political intrigue and all that, but her most mysterious recovery is an abandoned horned boy with otherworldly powers - Rune.
diff --git a/src/char/Lune b/src/char/Lune
deleted file mode 100644
index 1a20d85..0000000
--- a/src/char/Lune
+++ /dev/null
@@ -1,24 +0,0 @@
-Lune Marine | means moon | usually human♀
-
-basics
-
- - role: persona
- - age: varies
- - birthday: 11/28♐︎
- - mental: bright, optimistic
- - physical: white peek-a-boo hair, gold eyes, cute
- - style: feminine, neutrals, gold jewelry
- - height: 5'1
- - residence: Isle of the Dead
- - likes: cats, her pet mini Necrid Horseman, powertrading
- - dislikes: Prince Rurik, Keiran Thackeray
- - notes:
-
-
-story
-My persona! She's been made in about every 00s-early 10s MMO out there. Her signatures are her cool-toned, almost lavender-toned white hair, golden or citrine eyes, short stature, and sunny disposition. She's linked with water and the moon. She has a ton of backstories, but her earliest version is as an Ascalonian girl, training under Munne to become a catacombs groundskeeper and votive candle-maker. She'll always be a Guild Wars girl at heart!
-
-description
-Her favorite colors to wear are brown, white, and black. If she wears makeup, it's usually brown or gold tones. She also usually has short, straight hair with peek-a-boo bangs.
-
-She had a frizzy brunette phase for a few years because I convinced myself creative interpretations and personas are cringy. Maybe they are, but whatever. That line of thinking strips away my ability to abstract stressors into art and writing. My creative outlet matters way more to me than some arbitrary standard of coolness. So her brunette phase is an important part of her journey, but her true self has white hair.
diff --git a/src/char/Lune-basics b/src/char/Lune-basics
new file mode 100644
index 0000000..a1fb3e8
--- /dev/null
+++ b/src/char/Lune-basics
@@ -0,0 +1,13 @@
+
+ - role: persona
+ - age: varies
+ - birthday: 11/28♐︎
+ - mental: bright, optimistic
+ - physical: white peek-a-boo hair, gold eyes, cute
+ - style: feminine, neutrals, gold jewelry
+ - height: 5'1
+ - residence: Isle of the Dead, Akarios Village, Poeta
+ - likes: cats, her pet mini Necrid Horseman, powertrading
+ - dislikes: Prince Rurik
+ - notes:
+
diff --git a/src/char/Lune-desc b/src/char/Lune-desc
new file mode 100644
index 0000000..14222b7
--- /dev/null
+++ b/src/char/Lune-desc
@@ -0,0 +1,3 @@
+Her favorite colors to wear are brown, white, and black. If she wears makeup, it's usually brown or gold tones. She also usually has short, straight hair with peek-a-boo bangs.
+
+She had a frizzy brunette phase for a few years because I convinced myself creative interpretations and personas are cringy. Maybe they are, but whatever. That line of thinking strips away my ability to abstract stressors into art and writing. My creative outlet matters way more to me than some arbitrary standard of coolness. So her brunette phase is an important part of her journey, but her true self has white hair.
diff --git a/src/char/Lune-label b/src/char/Lune-label
new file mode 100644
index 0000000..122fa8c
--- /dev/null
+++ b/src/char/Lune-label
@@ -0,0 +1 @@
+Lune Marine | means moon | usually human♀
diff --git a/src/char/Lune-story b/src/char/Lune-story
new file mode 100644
index 0000000..200064a
--- /dev/null
+++ b/src/char/Lune-story
@@ -0,0 +1,2 @@
+My persona! She's been made in about every 00s-early 10s MMO out there. Her signatures are her cool-toned, almost lavender-toned white hair, golden or citrine eyes, short stature, and sunny disposition. She's linked with water and the moon. She has a ton of backstories, but her earliest version is as an Ascalonian girl, training under Munne to become a catacombs groundskeeper and votive candle-maker. She'll always be a Guild Wars girl at heart!
+
diff --git a/src/char/Rune-basics b/src/char/Rune-basics
new file mode 100644
index 0000000..1a2ec72
--- /dev/null
+++ b/src/char/Rune-basics
@@ -0,0 +1,13 @@
+
+ - role: floor guardian
+ - age: teens
+ - birthday:
+ - mental: simple, ignorant but eager to learn
+ - physical: tall, dark hair, red eyes, semi-rigid keratin "horns"
+ - style: assembled trash, hand-me-downs
+ - height: 5'10
+ - residence: the Wilds, an earth crust pocket full of abyssal monsters
+ - likes: kindness, trust, collecting interesting objects
+ - dislikes: direct confrontations, cruelty
+ - notes: He isn't human. He's like a Canaanite giant or something.
+
diff --git a/src/char/Rune-desc b/src/char/Rune-desc
new file mode 100644
index 0000000..129d035
--- /dev/null
+++ b/src/char/Rune-desc
@@ -0,0 +1 @@
+He is shockingly tall and white as paper. Even more striking are his empty, red-toned eyes and inky hair that forms semi-rigid keratin "horns" about his crown. He is first found in rags and taped-together trash, living in a kingdom of refuse, but is later lent old hoodies and jeans by Angel.
diff --git a/src/char/Rune-label b/src/char/Rune-label
new file mode 100644
index 0000000..4b2670a
--- /dev/null
+++ b/src/char/Rune-label
@@ -0,0 +1 @@
+means secret | outsider♂
diff --git a/src/char/Rune b/src/char/Rune-story
similarity index 51%
rename from src/char/Rune
rename to src/char/Rune-story
index 581ca6b..4a3fd91 100644
--- a/src/char/Rune
+++ b/src/char/Rune-story
@@ -1,24 +1,3 @@
-Rune | means secret | outsider♂
-
-basics
-
- - role: floor guardian
- - age: teens
- - birthday:
- - mental: simple, ignorant but eager to learn
- - physical: tall, dark hair, red eyes, semi-rigid keratin "horns"
- - style: assembled trash, hand-me-downs
- - height: 5'10
- - residence: the Wilds, an earth crust pocket full of abyssal monsters
- - likes: kindness, trust, collecting interesting objects
- - dislikes: direct confrontations, cruelty
- - notes:
-
-
-story
He is a mysterious adolescent boy rescued from the dungeon by Helia, Tessa and Angel. He is listless, gaze-avoidant, and asocial initially, barely able to communicate in English. Over time, he warms up to his new friends and opens his loyal, tender, but usually misguided heart. The girls have a tendency to baby him, but he is more mature and capable than any of them in several ways. Unfortunately, his poor grasp on English, surface culture, and social cues confound any attempts to impress them. Being both trusting and born yesterday is an overbearing temptation for Tessa, and she bullies him relentlessly.
Until his rescue, he was living in the buffer territory between the inner earth and Lucrest Shopping Center. Bless, a dark gray styracosaurus, raised him with a hoard of Abyssal beasts. She is fiercely protective of Rune, goring anyone who trespasses in her territory. She's a known threat in the area, and workers take the long way around to avoid her.
-
-description
-He is shockingly tall and white as paper. Even more striking are his empty, red-toned eyes and inky hair that forms semi-rigid keratin "horns" about his crown. He is first found in rags and taped-together trash, living in a kingdom of refuse, but is later lent old hoodies and jeans by Angel.
diff --git a/src/char/Silke-basics b/src/char/Silke-basics
new file mode 100644
index 0000000..d67ca6b
--- /dev/null
+++ b/src/char/Silke-basics
@@ -0,0 +1,13 @@
+
+ - role: intern
+ - age: 20s
+ - birthday: March 7♓︎
+ - mental: fast learner, reserved
+ - physical: small, boyish, blonde hair, pink eyes
+ - style: dresses and skirts made of silks, chiffons, and taffetas
+ - height: 5'3
+ - residence: renting a room with Helba
+ - likes: raising pets
+ - dislikes: her boss
+ - notes:
+
diff --git a/src/char/Silke-desc b/src/char/Silke-desc
new file mode 100644
index 0000000..09577d1
--- /dev/null
+++ b/src/char/Silke-desc
@@ -0,0 +1,2 @@
+She has a boyish build, big pink eyes hidden behind her thick frames, and blonde hair, usually worn up with cute hair accessories. Her ultimate outlet is dressing up in excessively feminine clothes, draping herself in lace, chiffon, tulle, and silk taffeta. She owns way too many dresses and pink blushes. She also loves unwind by playing with her two pets, Genie and Emme.
+
diff --git a/src/char/Silke-label b/src/char/Silke-label
new file mode 100644
index 0000000..b2aae81
--- /dev/null
+++ b/src/char/Silke-label
@@ -0,0 +1 @@
+means heavenly | divine tabid♂ | theme: tofubeats / トーフビーツ -「すてきなメゾン feat. 玉城ティナ」
diff --git a/src/char/Silke-story b/src/char/Silke-story
new file mode 100644
index 0000000..cab38a7
--- /dev/null
+++ b/src/char/Silke-story
@@ -0,0 +1,3 @@
+They promise Silke training and opportunities for promotion, and she always gives her best to no reward. She has done data entry and taken calls for about every industry. Instead of being able to see her 'butts in seats' jobs for what they are and adjusting her expectations, she soldiers on, overworking herself fruitlessly.
+
+Her parents were never really present in her life and kicked her out as a teenager, so she only knows self-reliance and perseverance, odd skills for office work. Her quiet, unassertive nature makes her easy to overlook, and while she has a calming presence, she hasn't had a genuine friendship since high school. She is rigidly professional at all times, afraid of offending someone. She needs someone to care about her and show her how to better focus her energy, but until then, she's hopeful her meticulously organized faxes will someday impress her manager into letting her sit in on the dev ops meetings and lead her to a real job.
diff --git a/src/char/Tessa-basics b/src/char/Tessa-basics
new file mode 100644
index 0000000..f8f395a
--- /dev/null
+++ b/src/char/Tessa-basics
@@ -0,0 +1,13 @@
+
+ - role: student
+ - age: teens
+ - birthday:
+ - mental: clever, silly
+ - physical: dark skin, blonde hair with streaks of browns and blacks, silver eyes
+ - height: 5'3
+ - style: minimal, sleek, neutral or soft colors
+ - residence: with her mom in Lucrest, Nickajack
+ - likes: looking for trouble, animals, pretty things
+ - dislikes: being inside, being misunderstood
+ - notes:
+
diff --git a/src/char/Tessa-desc b/src/char/Tessa-desc
new file mode 100644
index 0000000..781437d
--- /dev/null
+++ b/src/char/Tessa-desc
@@ -0,0 +1 @@
+She is a light-skinned black girl of Haitian-French descent with silver eyes and a short, very athletic build. Her hair is dyed with darker streaks, and styled with short, choppy hime bangs. She never leaves the house without eyeliner and loves dressing in athleisure or trying new trends. Her favorite color changes with the season, but gunmetal is a consistent love. Her ears are pierced.
diff --git a/src/char/Tessa-label b/src/char/Tessa-label
new file mode 100644
index 0000000..03a0183
--- /dev/null
+++ b/src/char/Tessa-label
@@ -0,0 +1 @@
+Tessa Skye St Martin | means to gather | tamer♀
diff --git a/src/char/Tessa-story b/src/char/Tessa-story
new file mode 100644
index 0000000..d3690a1
--- /dev/null
+++ b/src/char/Tessa-story
@@ -0,0 +1,5 @@
+She moved to Lucrest with her family and white, fluffy cat from France when she was really little. Unfortunately, her father died not too long afterward. She doesn't know much about him or his old country of Haiti, but she visits extended family in Blois with her mom every Christmas. That doesn't mean she's that great at French. In fact, to her mother's immense disappointment, she has a better grade in Spanish.
+
+She deeply admires her mother as a strong, loving, successful tradeswoman, so she gives back some of her time to help in her studio. Several days a week, she can be found hand-sewing fabric flowers, or serving as a fit model.
+
+She would rather spend every moment outside, though, forever hiking, jogging, and poking her nose into her neighbors' business. Her cat is an outside cat and joins in on her adventures most of the time. Tessa's the instigator in her friend group, daring or begging to rope everyone into her wild adventures. She's all fun all the time, so she doesn't always know where the boundary is between playful teasing and outright bullying.
diff --git a/src/diary/entries/220908 b/src/diary/entries/220908
index 935af2e..4cc6d23 100644
--- a/src/diary/entries/220908
+++ b/src/diary/entries/220908
@@ -7,12 +7,14 @@ july 28, 2022
gaming diary
-Some gamedev advice I've heard is to actively journal while playing games. The goal is to try to see from gamedev and player eyes simultaneously and learn from risks taken, get inspired, and generally increase your exposure to the medium.
+Some gamedev advice I've heard is to actively journal while gaming. Try to see from gamedev and player eyes simultaneously and learn from the risks taken, get inspired by different genres, and generally increase your exposure to the medium. I might as well try it.
-I haven't written about games outside of Steam reviews, so I'll start with a favorite: Oblivion.
+I haven't written about games outside of Steam reviews, so maybe it's easiest to start with a favorite: Oblivion. I've been going through an Oblivion phase again lately anyway. In the Gaming Diary series, I'll give a description of the featured game then paint in broad strokes what's fun and what holds it back. It'll be like a game review but for game designers. I'll keep a nitpicky journal privately.
the best sandbox
-I've spent thousands of hours easily in Oblivion, but I don't have a normal relationship with it. Despite all that time, I've only finished the main quest once. The bulk of those hours have been spent roleplaying in Anvil or editing mods. Judging from my backup folder, I've been making significant edits to the game every few months since high school. So it's hard to look at this game as a proper action/adventure game. It hasn't been much more than a sandbox with a lot of premade content for over ten years. This year, I've been playing normally and exploring parts of the game I've never tried before.
+The Elder Scrolls IV: Oblivion is a 2006 action/adventure game by Bethesda, sandwiched between Morrowind and Skyrim. You play as a
+
+I've spent thousands of hours easily in Oblivion, but I don't have a normal relationship with it. I've only finished the main quest once and still haven't completed all the quests after all these years. The bulk of my gameplay has been spent roleplaying in Anvil or making mods. Judging from my backup folder, I've been making significant edits to the game every few months since high school. So for me, Oblivion is a sandbox, or maybe even just a level editor with a lot of premade content.
So what are the issues keeping me from playing the game as a game?
problems with the game
diff --git a/src/index.py b/src/index.py
index 59d137f..08e8fd6 100644
--- a/src/index.py
+++ b/src/index.py
@@ -30,7 +30,7 @@ def find_gallery(name):
gal = [name]
if name == "Abbey":
gal.append("FlightRising")
- gal.append([["dragon.png","Abbey laying on his back, wrapped in furs"],["BlackReshiram_Artfight.png","2022 Artfight attack by BlackReshiram"], ["FlightRising.png","Abbey's sprite from FlightRising, wearing Fig Plumes, a Squire's Beret, Chestnut Feathers, and Amber Flourishes"]])
+ gal.append([["dragon.png","Abbey being lazy"], ["FlightRising.png","Abbey's sprite in FlightRising"],["BlackReshiram_Artfight.png","2022 Artfight attack by BlackReshiram"]])
if name == "Aloin":
gal.append("Sims")
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
@@ -42,7 +42,7 @@ def find_gallery(name):
gal.append([["Aries.png","pencil headshot"]])
if name == "Aristen":
gal.append("Black Desert Online")
- gal.append([["menu.jpg","Aristen's fancy set with bright colors and an obi belt"], ["scarf.jpg", "Newbie Aristen with her orange scarf"], ["marine.jpg","Aristen in the Epheria Marine Classic Set, a goofy marine pinup costume."]])
+ gal.append([["menu.jpg","Aristen's fancy set"], ["scarf.jpg", "Newbie Aristen"], ["marine.jpg","Aristen in the Epheria Marine Classic Set"]])
if name == "Belfry":
gal.append("City of Heroes")
gal.append([["name.png","desc"]])
@@ -54,7 +54,7 @@ def find_gallery(name):
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
if name == "Calder":
gal.append("FlightRising")
- gal.append([["pixelheadshot.png", "Calder's human form headshot"], ["FlightRising.png","Calder\'s sprite in FlightRising. He's wearing Sanguine Roses, Sanguine Plumage, and Pomegranate Plumes over Stonewatch Harpy."]])
+ gal.append([["pixelheadshot.png", "Calder's human form"], ["FlightRising.png","Calder\'s sprite in FlightRising"]])
if name == "Cass":
gal.append("Beloved of the Moon")
gal.append([["name.png","desc"]])
@@ -105,7 +105,7 @@ def find_gallery(name):
gal.append([["name.png","desc"]])
if name == "Helia":
gal.append("Blessfrey")
- gal.append([["wm.png","Crop from a larger work-in-progress...so busy I can't draw everything I want to draw ahhh"],["Headshot.png","Helia in the style of Battle Girl High School...or at I tried! All the girls in that game wear their blush so high it's practically eyeshadow. It looks so innocent and vivacious on them, but it never comes out them same when I try to wear it myself."]])
+ gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["wm.png","wip lol"],["Girls.png","Helia and Tessa"],["Headshot.png","emulating the art style of Battle Girl High School"]])
if name == "Helmut":
gal.append("Sims")
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
@@ -120,7 +120,7 @@ def find_gallery(name):
gal.append([["name.png","desc"]])
if name == "Lune":
gal.append("Persona")
- gal.append([["RingOfFire.jpg","A painting of Lune in the Ring of Fire in her Vabbian"],["HallOfMonuments.png","My Guild Wars Necromancer showing off her Hall of Monuments"],["PhariseeFlying.jpg","My Aion Elysian Spiritmaster with really pretty hair"],["LuneMarine.png","Lune Marine, my gold side City of Heroes resistance Water Controller"],["ArcheageGuild.jpg","My ArcheAge dwarf ghost girl with gold-dipped hair and a frilly gown, sitting among her old guildmates"],["Pixelmon.png","Customs Officer Lune and her sidekick Lilligant in Pixelmon"],["tinypool.png","Bikini Lune in a tiny pool with her kitty in Minecraft"]])
+ gal.append([["RingOfFire.jpg","Lune in the Ring of Fire in her Vabbian"],["HallOfMonuments.png","My Guild Wars Necromancer showing off her Hall of Monuments"],["PhariseeFlying.jpg","My Aion Elysian Spiritmaster with really pretty hair"],["LuneMarine.png","Lune Marine, my gold side resistance Water Controller in City of Heroes"],["ArcheageGuild.jpg","My ArcheAge dwarf ghost girl with gold-dipped hair and a frilly gown, sitting with her guildmates"],["Pixelmon.png","Customs Officer Lune and her sidekick Lilligant in Pixelmon"],["tinypool.png","Bikini Lune in a tiny pool with her kitty in Minecraft"]])
if name == "Nephele":
gal.append("Verpets")
gal.append([["name.png","desc"]])
@@ -138,16 +138,16 @@ def find_gallery(name):
gal.append([["alchemy.png","Morning alchemy before work"],["dream.jpg","Stupid dream bubbles"]])
if name == "Rune":
gal.append("Blessfrey")
- gal.append([["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","I saw the coverart for Elden Gate and tried to make my own coverart like that. It's rough, torn between pencil, digital painting, and pixelart, but I don't feel like working on it anymore."],["RuneHeadshot.png","Rune in the Battle Girl High School style, though there aren't a lot of guys in that game to reference"],["Teriuuuu_Artfight.png","2020 Artfight attack by Teriuuuu"]])
+ gal.append([["AnimeEnding.png","A still from an attempt to emulate the Little Busters ending animation. Man, animating is hard."],["Bless+Rune.png","Rune and his dinosaur mother"],["Blessfrey.png","Emulating old RPG coverart like Elden Gate in mixed media. Don't feel like working on it anymore."],["FlightRising.png","his oc dragon form in FlightRising (I still can't believe they added not-styracosaur to the game!)"],["RuneHeadshot.png","emulating the art style of Battle Girl High School"],["CawfeeCakes_Artfight.png","2022 Artfight attack by CawfeeCakes"],["Teriuuuu_Artfight.png","2020 Artfight attack by Teriuuuu"]])
if name == "Ryada":
gal.append("Guild Wars")
gal.append([[]])
if name == "Silke":
gal.append("Verpets")
- gal.append([["Silke.png","Pixelart of Silke on the floor with her clipboard, wearing a striped green silk dress with an oversized pink tulle bow behind her bun. I tried to draw in Yuu Watase's style"],["Verpets.png","Silke's sprite from Verpets"]])
+ gal.append([["Silke.png","emulating the art style of Yuu Watase in pixelart"],["Verpets.png","Silke's sprite in Verpets"]])
if name == "Tessa":
gal.append("Blessfrey")
- gal.append([["Tessa.png","Pixelart of Tessa in athletic wear"],["ElissaKarminakria_Artfight.png","2020 Artfight attack by ElissaKarminakria"]])
+ gal.append([["Tessa.png","Pixelart of Tessa in athletic wear"],["picrew.png","made in あの子がこっちを見ている on Picrew"],["FlightRising.png","her oc dragon form in FlightRising"],["RamblingRoses_Artfight.png","2020 Artfight attack by RamblingRoses"],["Lune_Archon_Artfight.jpeg","2022 Artfight attack by Lune_Archon"],["ElissaKarminakria_Artfight.png","2020 Artfight attack by ElissaKarminakria"],["gemhue_Artfight.png","2020 Artfight attack by gemhue"],["Cyan_moo_Artfight.png","2020 Artfight attack by Cyan_moo"]])
if name == "Tilhar":
gal.append("Beloved of the Moon")
gal.append([["name.png","desc"]])
@@ -166,12 +166,15 @@ def find_gallery(name):
return gal
def prepare_profile(loc, char_name):
- string = ""
- with open(loc + char_name) as f:
- lines = f.readlines()
- for line in lines:
- string += line
- return string
+ result = []
+ for i in ["label","basics","story","desc"]:
+ string = ""
+ with open(loc + char_name + "-" + i) as f:
+ lines = f.readlines()
+ for line in lines:
+ string += line
+ result.append(string)
+ return result
# Return list of snippets using list of articles
def list_snippets(articles):
@@ -427,29 +430,47 @@ def error500(error):
def error502(error):
return "unfortunately, a 502 error. this was likely due to website maintenance. usually it'll be back up before you finish reading this, but otherwise, I'll notice something's wrong soon! return to blessfrey.me."
+
+# Art Gallery Page
+@route('/art')
+def art():
+ """art"""
+ info = {'css': 'me', 'title': 'art gallery', 'year': find_year(),
+ 'pixelart': ["Abbey_EmmArrGus_BrodyChar.png","Aisu+Luna_pix.png","artfight_blessfrey_Tessa.png","chimchooree_moonelf_twitter.png","chimchooree_silke_12colors.png","boss.png","gamecharacter.png","chimchooree_Airi.gif","customsofficer.png"],
+ 'digital': ["WISE.png","ringoffire.jpeg"],
+ 'fanart': ["trineaRemake.png","persona3demake.png","kamaAD1.gif"]}
+ return template('art.tpl', info)
+
+# OC Page
+@route('/characters') # redirect
+def char3():
+ return char("Helia")
+@route('/char/') # if no OC given
+def char2():
+ return char("Helia")
@route('/char/')
def char(char_name):
"""character page"""
loc = 'char/'
- info = {'css': 'char', 'title': 'blessfrey - meet ' + char_name, 'year': find_year(), 'profile': prepare_profile(loc, char_name), 'gallery': find_gallery(char_name)}
+ info = {'css': 'char', 'title': 'blessfrey - characters | meet ' + char_name, 'year': find_year(), 'ocs': ["Helia", "Rune", "Tessa", "Abbey", "Calder", "Silke", "Aristen", "Chimchooree", "Lune"], 'name': char_name, 'profile': prepare_profile(loc, char_name), 'gallery': find_gallery(char_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)
-# Me Page
-@route('/characters')
-def characters():
- """characters"""
- info = {'css': 'me', 'title': 'about me', 'year': find_year(),
-'persona': ["Lune"],
-'blessfrey': ["Helia", "Angel", "Aries", "Bless", "Chloe", "Dia", "Night", "Rune", "Tessa", "WISE"],
-'lemonland': ["CustomsOffice","BlessTheChild"],
-'cw': ["Cass", "Funwa", "Tilhar", "HOME", "Chandra", "Colt", "Lisbet", "Freefall", "Trace", "Window", "Dymn", "Newcomer"],
-'rp': ["Abbey", "Calder", "Helba", "Silke", "Nephele"],
-'games': ["Aloin", "Bijoux", "Fifi", "Faber", "Helmut", "Tilly"],
-'mmos': ["Belfry", "CatMan", "Pixie", "Aristen", "Chimchooree", "Leslie"]}
- return template('characters.tpl', info)
+# OCs Page
+#@route('/characters')
+#def characters():
+# """characters"""
+# info = {'css': 'me', 'title': 'about me', 'year': find_year(),
+#'persona': ["Lune"],
+#'blessfrey': ["Helia", "Angel", "Aries", "Bless", "Chloe", "Dia", "Night", "Rune", "Tessa", "WISE"],
+#'lemonland': ["CustomsOffice","BlessTheChild"],
+#'cw': ["Cass", "Funwa", "Tilhar", "HOME", "Chandra", "Colt", "Lisbet", "Freefall", "Trace", "Window", "Dymn", "Newcomer"],
+#'rp': ["Abbey", "Calder", "Helba", "Silke", "Nephele"],
+#'games': ["Aloin", "Bijoux", "Fifi", "Faber", "Helmut", "Tilly"],
+#'mmos': ["Belfry", "CatMan", "Pixie", "Aristen", "Chimchooree", "Leslie"]}
+# return template('characters.tpl', info)
# Blessfrey Credits Page
@route('/credits')
diff --git a/src/plan.ods b/src/plan.ods
index 3d1e9c0..dbaf86f 100644
Binary files a/src/plan.ods and b/src/plan.ods differ
diff --git a/src/static/css/all.css b/src/static/css/all.css
index 72030cf..895725b 100755
--- a/src/static/css/all.css
+++ b/src/static/css/all.css
@@ -1,7 +1,7 @@
* {
padding:0;
margin:0;
- font-family: verdana, trebuchet ms, arial, calibri, candara, sans-serif;
+ font-family: verdana, "trebuchet ms", arial, calibri, candara, sans-serif;
background-color: black;
}
html, body {padding:0; margin:0; height:100%;}
@@ -64,7 +64,7 @@ pre,code {
width: 100vw;
display: grid;
position: relative;
- grid-template-columns: 1fr 60% 1fr;
+ grid-template-columns: 20% 60% 20%;
grid-template-rows: 2em 9.515625em auto 12.6875em;
grid-column-gap: 0px;
grid-row-gap: 0px;
@@ -73,10 +73,6 @@ pre,code {
.top-row {
grid-area: 1 / 1 / 2 / 4;
- display: flex;
- flex-direction:column;
- justify-content:center;
- align-items: center;
}
.nav-row {
grid-area: 2 / 1 / 3 / 4;
@@ -86,7 +82,7 @@ pre,code {
display: flex;
flex-direction: row;
display: grid;
- grid-template-columns: minmax(0%,10%) repeat(5, minmax(7ch,96px)) minmax(0%,10%);
+ grid-template-columns: minmax(0%,10%) repeat(6, minmax(7ch,96px)) minmax(0%,10%);
grid-column-gap: 0px;
grid-row-gap: 0px;
justify-items: center;
@@ -117,7 +113,7 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
- .nav-diary { grid-area: 1 / 4 / 2 / 5;
+ .nav-fashion { grid-area: 1 / 4 / 2 / 5;
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@@ -125,7 +121,7 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
- .nav-fashion { grid-area: 1 / 5 / 2 / 6;
+ .nav-art {
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@@ -133,7 +129,15 @@ pre,code {
grid-row-gap: 0px;
flex-direction: column;
}
- .nav-about { grid-area: 1 / 6 / 2/ 7;
+ .nav-diary { grid-area: 1 / 5 / 2 / 6;
+ display: grid;
+ grid-template-columns: 100%;
+ grid-template-rows: 80% 20%;
+ grid-column-gap: 0px;
+ grid-row-gap: 0px;
+ flex-direction: column;
+ }
+ .nav-about { grid-area: 1 / 6 / 2 / 7;
display: grid;
grid-template-columns: 100%;
grid-template-rows: 80% 20%;
@@ -206,7 +210,6 @@ pre,code {
padding-bottom: 1em;
}
- }
.about-box {
grid-area: 1 / 1 / 2 / 2;
}
diff --git a/src/static/css/char.css b/src/static/css/char.css
index e49b823..7fa9bad 100755
--- a/src/static/css/char.css
+++ b/src/static/css/char.css
@@ -1,9 +1,36 @@
.content-grid {
- width: 1fr;
+ display: grid;
+ grid-template-columns: 16ch 50ch 1fr;
+ grid-template-rows: 5em repeat(2, auto);
+ grid-column-gap: 0px;
+ grid-row-gap: 0px;
color: white;
- margin: auto;
}
+.title {
+ grid-area: 1 / 1 / 2 / 3;
+ padding-left: 5ch;
+}
+.ocs-nav { grid-area: 2 / 1 / 4 / 2;}
+.profile {
+ grid-area: 2 / 2 / 3 / 3;
+ display: grid;
+ grid-template-columns: 1fr;
+ grid-template-rows: repeat(5, auto);
+ grid-column-gap: 0px;
+ grid-row-gap: 1.5em;
+ padding-bottom: 1.5em;
+}
+.portrait { grid-area: 1 / 3 / 3 / 4;
+ width: 100%;}
+.gallery-div { grid-area: 3 / 2 / 4 / 4; }
+
+.name { grid-area: 1 / 1 / 2 / 2; }
+.label { grid-area: 2 / 1 / 3 / 2; }
+.basics { grid-area: 3 / 1 / 4 / 2; }
+.story { grid-area: 4 / 1 / 5 / 2; }
+.desc { grid-area: 5 / 1 / 6 / 2; }
+
.gallery {
display: grid;
grid-template-columns: repeat(auto-fit, 200px);
@@ -14,5 +41,22 @@
.gallery img {
height: 200px;
+ width: 200px;
border-radius: 5%;
}
+
+.galitem {
+ position: relative;
+ height: 200px;
+ width: 200px;
+}
+
+.subtitle {
+ color: white;
+ width: 200px;
+ position: absolute;
+ background: rgba(0,0,0,0.7);
+ text-align: center;
+ overflow: hidden;
+ bottom: 0em;
+}
diff --git a/src/static/img/art/Abbey_EmmArrGus_BrodyChar.png b/src/static/img/art/Abbey_EmmArrGus_BrodyChar.png
new file mode 100755
index 0000000..6644916
Binary files /dev/null and b/src/static/img/art/Abbey_EmmArrGus_BrodyChar.png differ
diff --git a/src/static/img/art/Abbey_EmmArrGus_BrodyChar_big.png b/src/static/img/art/Abbey_EmmArrGus_BrodyChar_big.png
new file mode 100755
index 0000000..63cd693
Binary files /dev/null and b/src/static/img/art/Abbey_EmmArrGus_BrodyChar_big.png differ
diff --git a/src/static/img/art/Abbey_EmmArrGus_BrodyCharavi.png b/src/static/img/art/Abbey_EmmArrGus_BrodyCharavi.png
new file mode 100644
index 0000000..c42a028
Binary files /dev/null and b/src/static/img/art/Abbey_EmmArrGus_BrodyCharavi.png differ
diff --git a/src/static/img/art/Aisu+Luna_pix.png b/src/static/img/art/Aisu+Luna_pix.png
new file mode 100755
index 0000000..8b5ada7
Binary files /dev/null and b/src/static/img/art/Aisu+Luna_pix.png differ
diff --git a/src/static/img/art/Aisu+Luna_pix_bigger.png b/src/static/img/art/Aisu+Luna_pix_bigger.png
new file mode 100755
index 0000000..5929067
Binary files /dev/null and b/src/static/img/art/Aisu+Luna_pix_bigger.png differ
diff --git a/src/static/img/art/DG.png b/src/static/img/art/DG.png
new file mode 100755
index 0000000..82a6d14
Binary files /dev/null and b/src/static/img/art/DG.png differ
diff --git a/src/static/img/art/DialogPortrait_Night.png b/src/static/img/art/DialogPortrait_Night.png
new file mode 100755
index 0000000..4b5624e
Binary files /dev/null and b/src/static/img/art/DialogPortrait_Night.png differ
diff --git a/src/static/img/art/DialogPortrait_Night_bigger.png b/src/static/img/art/DialogPortrait_Night_bigger.png
new file mode 100755
index 0000000..b5b1425
Binary files /dev/null and b/src/static/img/art/DialogPortrait_Night_bigger.png differ
diff --git a/src/static/img/art/WISE.png b/src/static/img/art/WISE.png
new file mode 100755
index 0000000..5e68029
Binary files /dev/null and b/src/static/img/art/WISE.png differ
diff --git a/src/static/img/art/abbey_SanoAmaterasu.png b/src/static/img/art/abbey_SanoAmaterasu.png
new file mode 100755
index 0000000..8180c65
Binary files /dev/null and b/src/static/img/art/abbey_SanoAmaterasu.png differ
diff --git a/src/static/img/art/abbey_SanoAmaterasu_big.png b/src/static/img/art/abbey_SanoAmaterasu_big.png
new file mode 100755
index 0000000..1872e37
Binary files /dev/null and b/src/static/img/art/abbey_SanoAmaterasu_big.png differ
diff --git a/src/static/img/art/artfight_blessfrey_Tessa.png b/src/static/img/art/artfight_blessfrey_Tessa.png
new file mode 100755
index 0000000..c1b2405
Binary files /dev/null and b/src/static/img/art/artfight_blessfrey_Tessa.png differ
diff --git a/src/static/img/art/boss.png b/src/static/img/art/boss.png
new file mode 100755
index 0000000..1c757c7
Binary files /dev/null and b/src/static/img/art/boss.png differ
diff --git a/src/static/img/art/boss_bigger.png b/src/static/img/art/boss_bigger.png
new file mode 100755
index 0000000..9d91bd9
Binary files /dev/null and b/src/static/img/art/boss_bigger.png differ
diff --git a/src/static/img/art/chimchooree_Airi.gif b/src/static/img/art/chimchooree_Airi.gif
new file mode 100755
index 0000000..d18031f
Binary files /dev/null and b/src/static/img/art/chimchooree_Airi.gif differ
diff --git a/src/static/img/art/chimchooree_alda happy.gif b/src/static/img/art/chimchooree_alda happy.gif
new file mode 100755
index 0000000..cec775d
Binary files /dev/null and b/src/static/img/art/chimchooree_alda happy.gif differ
diff --git a/src/static/img/art/chimchooree_mermay.png b/src/static/img/art/chimchooree_mermay.png
new file mode 100755
index 0000000..3908a6c
Binary files /dev/null and b/src/static/img/art/chimchooree_mermay.png differ
diff --git a/src/static/img/art/chimchooree_moonelf.gal b/src/static/img/art/chimchooree_moonelf.gal
new file mode 100755
index 0000000..6b201f2
Binary files /dev/null and b/src/static/img/art/chimchooree_moonelf.gal differ
diff --git a/src/static/img/art/chimchooree_moonelf_twitter.png b/src/static/img/art/chimchooree_moonelf_twitter.png
new file mode 100755
index 0000000..29e44ca
Binary files /dev/null and b/src/static/img/art/chimchooree_moonelf_twitter.png differ
diff --git a/src/static/img/art/chimchooree_silke_12colors.png b/src/static/img/art/chimchooree_silke_12colors.png
new file mode 100755
index 0000000..6e743f6
Binary files /dev/null and b/src/static/img/art/chimchooree_silke_12colors.png differ
diff --git a/src/static/img/art/customsofficer.png b/src/static/img/art/customsofficer.png
new file mode 100755
index 0000000..be8fba2
Binary files /dev/null and b/src/static/img/art/customsofficer.png differ
diff --git a/src/static/img/art/customsofficerbig.png b/src/static/img/art/customsofficerbig.png
new file mode 100755
index 0000000..51d837c
Binary files /dev/null and b/src/static/img/art/customsofficerbig.png differ
diff --git a/src/static/img/art/demake.gal b/src/static/img/art/demake.gal
new file mode 100755
index 0000000..7c57ba5
Binary files /dev/null and b/src/static/img/art/demake.gal differ
diff --git a/src/static/img/art/enemycat.png b/src/static/img/art/enemycat.png
new file mode 100755
index 0000000..cc1848a
Binary files /dev/null and b/src/static/img/art/enemycat.png differ
diff --git a/src/static/img/art/gamecharacter.gal b/src/static/img/art/gamecharacter.gal
new file mode 100755
index 0000000..c9eed6c
Binary files /dev/null and b/src/static/img/art/gamecharacter.gal differ
diff --git a/src/static/img/art/gamecharacter.png b/src/static/img/art/gamecharacter.png
new file mode 100755
index 0000000..c265583
Binary files /dev/null and b/src/static/img/art/gamecharacter.png differ
diff --git a/src/static/img/art/kamaAD1.gal b/src/static/img/art/kamaAD1.gal
new file mode 100755
index 0000000..a2801a7
Binary files /dev/null and b/src/static/img/art/kamaAD1.gal differ
diff --git a/src/static/img/art/kamaAD1.gif b/src/static/img/art/kamaAD1.gif
new file mode 100755
index 0000000..8ffcd61
Binary files /dev/null and b/src/static/img/art/kamaAD1.gif differ
diff --git a/src/static/img/art/master_architect_gunther_by_fuzzy_fluffy_d5tpqd2.jpg b/src/static/img/art/master_architect_gunther_by_fuzzy_fluffy_d5tpqd2.jpg
new file mode 100755
index 0000000..64611d5
Binary files /dev/null and b/src/static/img/art/master_architect_gunther_by_fuzzy_fluffy_d5tpqd2.jpg differ
diff --git a/src/static/img/art/master_togo_unleashed_by_fuzzy_fluffy_d4xctc4.jpg b/src/static/img/art/master_togo_unleashed_by_fuzzy_fluffy_d4xctc4.jpg
new file mode 100755
index 0000000..6c1425b
Binary files /dev/null and b/src/static/img/art/master_togo_unleashed_by_fuzzy_fluffy_d4xctc4.jpg differ
diff --git a/src/static/img/art/night_big.png b/src/static/img/art/night_big.png
new file mode 100755
index 0000000..0aec6a7
Binary files /dev/null and b/src/static/img/art/night_big.png differ
diff --git a/src/static/img/art/night_bigger.png b/src/static/img/art/night_bigger.png
new file mode 100755
index 0000000..e96a9ef
Binary files /dev/null and b/src/static/img/art/night_bigger.png differ
diff --git a/src/static/img/art/persona3demake.png b/src/static/img/art/persona3demake.png
new file mode 100755
index 0000000..9e9254d
Binary files /dev/null and b/src/static/img/art/persona3demake.png differ
diff --git a/src/static/img/nav/RingOfFire.jpg b/src/static/img/art/ringoffire.jpeg
old mode 100644
new mode 100755
similarity index 100%
rename from src/static/img/nav/RingOfFire.jpg
rename to src/static/img/art/ringoffire.jpeg
diff --git a/src/static/img/art/spring.png b/src/static/img/art/spring.png
new file mode 100755
index 0000000..f5af9f8
Binary files /dev/null and b/src/static/img/art/spring.png differ
diff --git a/src/static/img/art/trineaRemake.png b/src/static/img/art/trineaRemake.png
new file mode 100755
index 0000000..a556caf
Binary files /dev/null and b/src/static/img/art/trineaRemake.png differ
diff --git a/src/static/img/art/who_s_playing_on_yak_s_bend_with_me__by_fuzzy_fluffy_d5btwd5.jpg b/src/static/img/art/who_s_playing_on_yak_s_bend_with_me__by_fuzzy_fluffy_d5btwd5.jpg
new file mode 100755
index 0000000..f631dfd
Binary files /dev/null and b/src/static/img/art/who_s_playing_on_yak_s_bend_with_me__by_fuzzy_fluffy_d5btwd5.jpg differ
diff --git a/src/static/img/art/work.png b/src/static/img/art/work.png
new file mode 100755
index 0000000..893dc9e
Binary files /dev/null and b/src/static/img/art/work.png differ
diff --git a/src/static/img/char/Abbey/nav.png b/src/static/img/char/Abbey/nav.png
new file mode 100644
index 0000000..c857a7c
Binary files /dev/null and b/src/static/img/char/Abbey/nav.png differ
diff --git a/src/static/img/char/Abbey/sprite.png b/src/static/img/char/Abbey/sprite.png
new file mode 100755
index 0000000..3afc4da
Binary files /dev/null and b/src/static/img/char/Abbey/sprite.png differ
diff --git a/src/static/img/char/Aristen/nav.png b/src/static/img/char/Aristen/nav.png
new file mode 100644
index 0000000..fd4eebc
Binary files /dev/null and b/src/static/img/char/Aristen/nav.png differ
diff --git a/src/static/img/char/Aristen/portrait.png b/src/static/img/char/Aristen/portrait.png
new file mode 100644
index 0000000..98b2790
Binary files /dev/null and b/src/static/img/char/Aristen/portrait.png differ
diff --git a/src/static/img/char/Calder/nav.png b/src/static/img/char/Calder/nav.png
new file mode 100644
index 0000000..e14abab
Binary files /dev/null and b/src/static/img/char/Calder/nav.png differ
diff --git a/src/static/img/char/Calder/portrait.png b/src/static/img/char/Calder/portrait.png
new file mode 100755
index 0000000..78ca9b1
Binary files /dev/null and b/src/static/img/char/Calder/portrait.png differ
diff --git a/src/static/img/char/Chimchooree/nav.png b/src/static/img/char/Chimchooree/nav.png
new file mode 100644
index 0000000..cd0e485
Binary files /dev/null and b/src/static/img/char/Chimchooree/nav.png differ
diff --git a/src/static/img/char/Chimchooree/portrait.jpg b/src/static/img/char/Chimchooree/portrait.jpg
new file mode 100644
index 0000000..f71ffb0
Binary files /dev/null and b/src/static/img/char/Chimchooree/portrait.jpg differ
diff --git a/src/static/img/char/Chimchooree/portrait.png b/src/static/img/char/Chimchooree/portrait.png
new file mode 100644
index 0000000..33d37a0
Binary files /dev/null and b/src/static/img/char/Chimchooree/portrait.png differ
diff --git a/src/static/img/char/Helia/AnimeEnding.png b/src/static/img/char/Helia/AnimeEnding.png
new file mode 100755
index 0000000..0ad552c
Binary files /dev/null and b/src/static/img/char/Helia/AnimeEnding.png differ
diff --git a/src/static/img/char/Helia/AnimeEndingthumb.png b/src/static/img/char/Helia/AnimeEndingthumb.png
new file mode 100755
index 0000000..c5792af
Binary files /dev/null and b/src/static/img/char/Helia/AnimeEndingthumb.png differ
diff --git a/src/static/img/char/Helia/nav.png b/src/static/img/char/Helia/nav.png
new file mode 100644
index 0000000..c1af2b5
Binary files /dev/null and b/src/static/img/char/Helia/nav.png differ
diff --git a/src/static/img/char/Helia/portrait.png b/src/static/img/char/Helia/portrait.png
new file mode 100644
index 0000000..747d577
Binary files /dev/null and b/src/static/img/char/Helia/portrait.png differ
diff --git a/src/static/img/char/Lune/nav.png b/src/static/img/char/Lune/nav.png
new file mode 100644
index 0000000..b64ee30
Binary files /dev/null and b/src/static/img/char/Lune/nav.png differ
diff --git a/src/static/img/char/Lune/portrait.png b/src/static/img/char/Lune/portrait.png
new file mode 100644
index 0000000..e2d6c07
Binary files /dev/null and b/src/static/img/char/Lune/portrait.png differ
diff --git a/src/static/img/char/Lune/unknown (1).png b/src/static/img/char/Lune/unknown (1).png
new file mode 100755
index 0000000..b3cf513
Binary files /dev/null and b/src/static/img/char/Lune/unknown (1).png differ
diff --git a/src/static/img/char/Rune/AnimeEnding.png b/src/static/img/char/Rune/AnimeEnding.png
new file mode 100755
index 0000000..0ad552c
Binary files /dev/null and b/src/static/img/char/Rune/AnimeEnding.png differ
diff --git a/src/static/img/char/Rune/AnimeEndingthumb.png b/src/static/img/char/Rune/AnimeEndingthumb.png
new file mode 100755
index 0000000..6d81eba
Binary files /dev/null and b/src/static/img/char/Rune/AnimeEndingthumb.png differ
diff --git a/src/static/img/char/Rune/CawfeeCakes_Artfight.png b/src/static/img/char/Rune/CawfeeCakes_Artfight.png
new file mode 100644
index 0000000..3864e49
Binary files /dev/null and b/src/static/img/char/Rune/CawfeeCakes_Artfight.png differ
diff --git a/src/static/img/char/Rune/CawfeeCakes_Artfightthumb.png b/src/static/img/char/Rune/CawfeeCakes_Artfightthumb.png
new file mode 100644
index 0000000..793abc3
Binary files /dev/null and b/src/static/img/char/Rune/CawfeeCakes_Artfightthumb.png differ
diff --git a/src/static/img/char/Rune/FlightRising.png b/src/static/img/char/Rune/FlightRising.png
new file mode 100644
index 0000000..3dae481
Binary files /dev/null and b/src/static/img/char/Rune/FlightRising.png differ
diff --git a/src/static/img/char/Rune/FlightRisingthumb.png b/src/static/img/char/Rune/FlightRisingthumb.png
new file mode 100644
index 0000000..75f0282
Binary files /dev/null and b/src/static/img/char/Rune/FlightRisingthumb.png differ
diff --git a/src/static/img/char/Rune/nav.png b/src/static/img/char/Rune/nav.png
new file mode 100644
index 0000000..b3ab543
Binary files /dev/null and b/src/static/img/char/Rune/nav.png differ
diff --git a/src/static/img/char/Rune/portrait.png b/src/static/img/char/Rune/portrait.png
new file mode 100644
index 0000000..1d6e9e7
Binary files /dev/null and b/src/static/img/char/Rune/portrait.png differ
diff --git a/src/static/img/char/Silke/nav.png b/src/static/img/char/Silke/nav.png
new file mode 100644
index 0000000..2fdc6cd
Binary files /dev/null and b/src/static/img/char/Silke/nav.png differ
diff --git a/src/static/img/char/Silke/portrait.png b/src/static/img/char/Silke/portrait.png
new file mode 100644
index 0000000..2be8ffc
Binary files /dev/null and b/src/static/img/char/Silke/portrait.png differ
diff --git a/src/static/img/char/Tessa/Cyan_moo_Artfight.png b/src/static/img/char/Tessa/Cyan_moo_Artfight.png
new file mode 100644
index 0000000..5bea4a4
Binary files /dev/null and b/src/static/img/char/Tessa/Cyan_moo_Artfight.png differ
diff --git a/src/static/img/char/Tessa/Cyan_moo_Artfightthumb.png b/src/static/img/char/Tessa/Cyan_moo_Artfightthumb.png
new file mode 100644
index 0000000..eed385a
Binary files /dev/null and b/src/static/img/char/Tessa/Cyan_moo_Artfightthumb.png differ
diff --git a/src/static/img/char/Tessa/FlightRising.png b/src/static/img/char/Tessa/FlightRising.png
new file mode 100644
index 0000000..1e69cc3
Binary files /dev/null and b/src/static/img/char/Tessa/FlightRising.png differ
diff --git a/src/static/img/char/Tessa/FlightRisingthumb.png b/src/static/img/char/Tessa/FlightRisingthumb.png
new file mode 100644
index 0000000..eb137b8
Binary files /dev/null and b/src/static/img/char/Tessa/FlightRisingthumb.png differ
diff --git a/src/static/img/char/Tessa/Lune_Archon_Artfight.jpeg b/src/static/img/char/Tessa/Lune_Archon_Artfight.jpeg
new file mode 100644
index 0000000..73c17b1
Binary files /dev/null and b/src/static/img/char/Tessa/Lune_Archon_Artfight.jpeg differ
diff --git a/src/static/img/char/Tessa/Lune_Archon_Artfightthumb.jpeg b/src/static/img/char/Tessa/Lune_Archon_Artfightthumb.jpeg
new file mode 100644
index 0000000..d4d791d
Binary files /dev/null and b/src/static/img/char/Tessa/Lune_Archon_Artfightthumb.jpeg differ
diff --git a/src/static/img/char/Tessa/RamblingRoses_Artfight.png b/src/static/img/char/Tessa/RamblingRoses_Artfight.png
new file mode 100644
index 0000000..616d5a5
Binary files /dev/null and b/src/static/img/char/Tessa/RamblingRoses_Artfight.png differ
diff --git a/src/static/img/char/Tessa/RamblingRoses_Artfightthumb.png b/src/static/img/char/Tessa/RamblingRoses_Artfightthumb.png
new file mode 100644
index 0000000..3719aeb
Binary files /dev/null and b/src/static/img/char/Tessa/RamblingRoses_Artfightthumb.png differ
diff --git a/src/static/img/char/Tessa/gemhue_Artfight.png b/src/static/img/char/Tessa/gemhue_Artfight.png
new file mode 100644
index 0000000..81180b6
Binary files /dev/null and b/src/static/img/char/Tessa/gemhue_Artfight.png differ
diff --git a/src/static/img/char/Tessa/gemhue_Artfightthumb.png b/src/static/img/char/Tessa/gemhue_Artfightthumb.png
new file mode 100644
index 0000000..5dd8e10
Binary files /dev/null and b/src/static/img/char/Tessa/gemhue_Artfightthumb.png differ
diff --git a/src/static/img/char/Tessa/nav.png b/src/static/img/char/Tessa/nav.png
new file mode 100644
index 0000000..cd4563e
Binary files /dev/null and b/src/static/img/char/Tessa/nav.png differ
diff --git a/src/static/img/char/Tessa/download20220804145739.png b/src/static/img/char/Tessa/picrew.png
similarity index 100%
rename from src/static/img/char/Tessa/download20220804145739.png
rename to src/static/img/char/Tessa/picrew.png
diff --git a/src/static/img/char/Tessa/picrewthumb.png b/src/static/img/char/Tessa/picrewthumb.png
new file mode 100644
index 0000000..db472af
Binary files /dev/null and b/src/static/img/char/Tessa/picrewthumb.png differ
diff --git a/src/static/img/char/Tessa/portrait.png b/src/static/img/char/Tessa/portrait.png
new file mode 100644
index 0000000..a46f7e5
Binary files /dev/null and b/src/static/img/char/Tessa/portrait.png differ
diff --git a/src/static/img/nav/RingOfFirethumb.jpg b/src/static/img/nav/RingOfFirethumb.jpg
deleted file mode 100644
index d7cd7c4..0000000
Binary files a/src/static/img/nav/RingOfFirethumb.jpg and /dev/null differ
diff --git a/src/static/img/nav/art.png b/src/static/img/nav/art.png
new file mode 100644
index 0000000..41d582a
Binary files /dev/null and b/src/static/img/nav/art.png differ
diff --git a/src/views/art.tpl b/src/views/art.tpl
new file mode 100644
index 0000000..7e07753
--- /dev/null
+++ b/src/views/art.tpl
@@ -0,0 +1,33 @@
+% rebase('frame.tpl')
+
+
+
art gallery
+
You will mostly find pixelart, digital painting, and mixed media here.
+
+
+
pixelart
+ % for c in pixelart:
+
+ % end
+
+
+
+
+
digital painting
+ % for c in digital:
+
+
+
+ % end
+
+
+
+
fanart
+ % for c in fanart:
+
+
+
+ % end
+
+
+
diff --git a/src/views/char.tpl b/src/views/char.tpl
index 9a0c3cc..2936f30 100644
--- a/src/views/char.tpl
+++ b/src/views/char.tpl
@@ -1,22 +1,52 @@
% rebase('frame.tpl')
% import random
-
characters > {{gallery[1]}} > {{gallery[0]}}
-
+
+
characters
+
+
+ % for o in ocs:
+
+
+
+ % end
+
+
+
+
{{!name}}
+
+
+ {{!profile[0]}}
+
+
+
basics
+ {{!profile[1]}}
+
+
+
story
+ {{!profile[2]}}
+
+
+
description
+ {{!profile[3]}}
+
+
+
+
gallery
% if len(gallery) >=2:
% for g in gallery[2]:
- % print(g)
% i = g[0].index('.')
% thumb = g[0][:i] + 'thumb' + g[0][i:]
-
-
-
+
% end
% end
-
-
+
diff --git a/src/views/frame.tpl b/src/views/frame.tpl
index 853646a..ed8b2e7 100644
--- a/src/views/frame.tpl
+++ b/src/views/frame.tpl
@@ -8,8 +8,7 @@
-
-% include('logo-bar.tpl')
+
% include('nav.tpl')
diff --git a/src/views/nav.tpl b/src/views/nav.tpl
index 85797d8..84d8a1b 100644
--- a/src/views/nav.tpl
+++ b/src/views/nav.tpl
@@ -16,13 +16,6 @@
-
-
+
+
+
+