Tumgik
#cc 2226
mearchy · 16 days
Text
Tumblr media
Characters from + during TCW alignment chart
I made a bunch of these while procrastinating on my fic, they're in the queue
213 notes · View notes
je11ybe4r · 7 months
Text
Jel's mod masterlist
To note, this is not a tutorial or guide for installing mods, simply an archive of all the mods I have installed for those who are interested.
Hii!! Here is a collection of my mods I have installed on Baldur’s Gate. I’ll be regularly updating this with new mods and one’s that I no longer use I will keep on the list but just note why I have uninstalled it. All my mods are installed via nexus and it is important to fully read the mod installation guide for each mod prior to installing. If you need help you can always DM me or join my discord! :3
Core Mods
Improved UI: https://www.nexusmods.com/baldursgate3/mods/366
Required for all CC mods. Allows the menus to expand to show CC mods.
Mod Fixer: https://www.nexusmods.com/baldursgate3/mods/141
(set to hidden as of recent patch) Mods will still say they require Mod Fixer but as of patch 1 of bg3 this mod has been implemented in game as is no longer necessary.
BG3 script extender: https://github.com/Norbyte/bg3se/releases
Not entirely necessary, but required for certain mods. I will note which mods require script extender with a bg3se
Native mod loader: https://www.nexusmods.com/baldursgate3/mods/944
Required for Native mods. Mod type must be changed to Engine Injector on vortex. Will note which mod required Native mod loader with a NMM.
Unique tav custom appearance: https://www.nexusmods.com/baldursgate3/mods/2754?tab=description
Adds body tattoos to the game, read carefully because this required some manual installation and overwriting files. I will note which mod uses this with a UTC
Character Creation
Make sure your level of detail is set to high in settings or you’ll have floating heads in CC
New character presets: https://www.nexusmods.com/baldursgate3/mods/205
New hair and faces for CC.
Tav Hairsalon: https://www.nexusmods.com/baldursgate3/mods/213
A lot of new hairs for CC, mainly for body 1 elves/drow/tiefling
Misc mods: https://www.nexusmods.com/baldursgate3/mods/226
New skin and eye colors for CC
Faces of Faerun: https://www.nexusmods.com/baldursgate3/mods/429
Ellian's and ereven's face: https://www.nexusmods.com/baldursgate3/mods/942
Ellian's hair: https://www.nexusmods.com/baldursgate3/mods/1394
Horns of faerun: https://www.nexusmods.com/baldursgate3/mods/466
Some heads BT2: https://www.nexusmods.com/baldursgate3/mods/928?tab=description
Weeviljester's Ethereal Heads: https://www.nexusmods.com/baldursgate3/mods/2548
Vessnelle's Hair Collection: https://www.nexusmods.com/baldursgate3/mods/1420
Vemperen’s other heads: https://www.nexusmods.com/baldursgate3/mods/2226
Loulette heads: https://www.nexusmods.com/baldursgate3/mods/470
Faded scars: https://www.nexusmods.com/baldursgate3/mods/2540
Makes the scars less bold
Frosty Faces: https://www.nexusmods.com/baldursgate3/mods/3641
De-Accessorized NPC Hair: https://www.nexusmods.com/baldursgate3/mods/1017
Astralities’s Hair color supplements: https://www.nexusmods.com/baldursgate3/mods/2002
New hair color in CC including separate eyelash and eyebrow colors :3
Astralities’ Fantasy skintone expansion: https://www.nexusmods.com/baldursgate3/mods/2900
New skin tones in CC
Black Nail Polish: https://www.nexusmods.com/baldursgate3/mods/637
Black nail polish for Tav. Works with Unique Tav but requires extra steps, check out the posts tab for more information on that.
Gufery’s new and revamped heads:https://www.nexusmods.com/baldursgate3/mods/3525
Beautiful long nails: https://www.nexusmods.com/baldursgate3/mods/3440
Nipple Texture: https://www.nexusmods.com/baldursgate3/mods/1275
Recommended for beautiful long nails mod as this one contains some texture assets, but on the other hand I suppose your tav can have beautiful nips now.
Bhaal scar’s for all: https://www.nexusmods.com/baldursgate3/mods/2800
Adds scars on body. Uses UTC
Tav’s hair mixer: https://www.nexusmods.com/baldursgate3/mods/3854
Uses facial hair slot to pretty much let you double up hairstyles for completely unique combinations.
Mari’s tattoos: https://www.nexusmods.com/baldursgate3/mods/3744
Replaces CC body tats
Nere and Mizora hair in CC: https://www.nexusmods.com/baldursgate3/mods/4057
So you can be a cunty drow or devil 
Dissidia’s hair: https://www.nexusmods.com/baldursgate3/mods/4021
Elgoth’s head and hair: https://www.nexusmods.com/baldursgate3/mods/4176
Handsome Elves: https://www.nexusmods.com/baldursgate3/mods/4161
Mari’s makeup: https://www.nexusmods.com/baldursgate3/mods/4201
Replaces vanilla makeup
Piercing edits: https://www.nexusmods.com/baldursgate3/mods/2001
Standalone or Loose file option. Adds more piercings to CC. There is a patch ver for trips accessories if you happen to get both 
Trip’s accessories: https://www.nexusmods.com/baldursgate3/mods/2067
Glasses and Piercings in CC.
Yves Hair Gallery: https://www.nexusmods.com/baldursgate3/mods/4239
Armor & Weapons
Basket of equipment NSFW: https://www.nexusmods.com/baldursgate3/mods/97
Over 800 new equipment, includes SFW and NSFW options. For just SFW version of the mod click here https://www.nexusmods.com/baldursgate3/mods/87
Basket of camp equipment: https://www.nexusmods.com/baldursgate3/mods/744
Required BoF NSFW or SFW as it contains the scripts for the outfits. This mod is simply and override that converts the outfits to the camp outfit slot rather than the armor slot. If you want both a camp outfit and armor outfit from this mod, you can install camp equipment, load the game and put on camp outfit you want in the camp slot, then uninstall this mod and it will trigger the armor slot again WITH the camp outfit in place. To switch your camp outfit again, reinstall this mod.
Ellian's trinkets: https://www.nexusmods.com/baldursgate3/mods/813
New accessories, mostly chokers. Camp ver here  https://www.nexusmods.com/baldursgate3/mods/1209
Druu custom armor: https://www.nexusmods.com/baldursgate3/mods/1830
Cute armor for bard and cleric
Purchasable camp clothes: https://www.nexusmods.com/baldursgate3/mods/1426
Lets you purchase act 3 camp clothes at Aaron in the Grove. Try long resting if the clothes don’t show in his shop inventory.
Corset armor and camp clothes: https://www.nexusmods.com/baldursgate3/mods/3818
Booba corset
Spells
5E spells: https://www.nexusmods.com/baldursgate3/mods/125
Required bg3se. Adds a bunch of new spells to the game that follow dnd 5e. Do not update this mod if you are in the middle of a campaign for it can cause crashes.
Quality of Life
Tutorial chest summoning: https://www.nexusmods.com/baldursgate3/mods/457
Gives you a potion to drink to summon the chest from the nautiloid. Many mods that add new assets to the game use this chest or merchants throughout the game to store the assets for ease of access. This lets you summon it at any point in the game rather than mess with console commands or spending hard earned gold at merchants.
WASD character movement: https://www.nexusmods.com/baldursgate3/mods/781
Allows you to move your character with WASD. Mod type must be changed to Engine injector on vortex. Required NMM.
Native camera tweaks: https://www.nexusmods.com/baldursgate3/mods/945
Camera panning with mouse, Works beautifully with WASD. Must change to Engine Injector on Vortex and requires NMM.
bags bags bags: https://www.nexusmods.com/baldursgate3/mods/880
Adds bags to the game to help with inventory management (i don't use this mod anymore due to conflict with patch 3 and i honestly found it more annoying than worth. But I’ll leave it here for anyone interested.)
Increased font: https://www.nexusmods.com/baldursgate3/mods/1776
Increased font if you're blind like me
Dyes Galore
I fr install every dye mod so I am just gonna stick em all here. Over 400 dye in this list.
black dye: https://www.nexusmods.com/baldursgate3/mods/1177
New dye
dye dye dye: https://www.nexusmods.com/baldursgate3/mods/794
darker dyes: https://www.nexusmods.com/baldursgate3/mods/1309
simple dyes: https://www.nexusmods.com/baldursgate3/mods/1323
dyes of faerun: https://www.nexusmods.com/baldursgate3/mods/1774
Metal dyes: https://www.nexusmods.com/baldursgate3/mods/2512
Boring dyes: https://www.nexusmods.com/baldursgate3/mods/3444
Extra dyes: https://www.nexusmods.com/baldursgate3/mods/1774
Chromatic dyes: https://www.nexusmods.com/baldursgate3/mods/3833
Companion stuffs
No abs tav + companions: https://www.nexusmods.com/baldursgate3/mods/1127
Squishy tummies :3
Unsightly mole + white eyelashes for Astarion: https://www.nexusmods.com/baldursgate3/mods/1613
Minor appearance edit for astarion. Two separate files.
Astarion earring's: https://www.nexusmods.com/baldursgate3/mods/1639
Thank you bubble <3 earrings for astarion
Shadowheart no Shar headpiece: https://www.nexusmods.com/baldursgate3/mods/2434
Ever wonder why shadowheart still wears her shar hair piece after she defies her god? Me too.
Invisible body hair: https://www.nexusmods.com/baldursgate3/mods/774
For those who like hairless men. For Tav and companions
Wyll’s devil form:https://www.nexusmods.com/baldursgate3/mods/1582
Gives Wyll tiefling characteristics in his devil form. Long nails, fangs, and a tail. Idk why this wasn't base game but here we are.
Iconic compantion armors with oomph: https://www.nexusmods.com/baldursgate3/mods/4237
Companion vanilla base armor with some nice bonuses. Story friendly. Just gives them a little extra spice since their base outfits are so good design wise.
Dice
sakura dice: https://www.nexusmods.com/baldursgate3/mods/1647
Dice skin, pwetty pink
Builds
JWL histories and occupations: https://www.nexusmods.com/baldursgate3/mods/1839
Adds new backgrounds for your Tav.
Class specialization feats: https://www.nexusmods.com/baldursgate3/mods/3931
New specialization that are class specific
Highmost feats: https://www.nexusmods.com/baldursgate3/mods/3905
Other neat feats. Check out requirements pre-installation cause there are some extra scripts to install via vortex.
Death Domain: https://www.nexusmods.com/baldursgate3/mods/1552
New domain for our lovely clerics. Underrated class.
261 notes · View notes
inkformyblood · 9 months
Text
i lose all (but not him) #1 CWW2023
Kamino, First Meetings, Slow Burn. Cody x Obi-Wan @codywanweek Day 1 prompt: Cody with a lightsaber. Ao3 link here.
It’s raining. Again.
CC-2224 jams his thumb into the door controls, forcing them open once more with a rush of frigid air that sends the hair on his arms prickling, the sensation crawling over his scalp in a bygone evolutionary tick that does nothing but irritate him. It had been several rotations since the pipes on the lower levels had broken and sent a tidal wave of coral and tiny lost insects into the corridors but the feeling of something crawling over his skin had yet to entirely fade from his immediate memory. It possibly never would. CC-2226 still woke screaming on occasions about the crash from sixteen rotations ago.
The treated canvas hood would do nothing against the rain but CC-2224 still pulls it over the thin fabric of his blacks, double knotting the trailing cords beneath his chin and tucking them away. His boots are soaked through already, but he still leans down and secures his laces. He can no more stop himself than he could pluck the moon from the sky and rearrange the constellations on a whim. He has been trained, sculpted, made for this. 
Query: is it going to stop raining soon?
Answer: no.
The thought isn’t his and yet it is, wired into his thoughts like an additional comm line. CC-2224 nods regardless, swallowing against the copper tinge that spreads over his tongue, and presses the door control once more. Water flicks against his face and he blinks, pulling in a deep breath through gritted teeth, and steps outside.
He regrets it immediately. Well, not regret it. The word doesn’t quite fit and CC-2224 turns it over and over in his thoughts to try and smooth over the ragged edges, to make it flat and smooth and as routine as everything else. He’d seen a piece of equipment fall from one of the higher platforms and become wedged between a barrier and the window it was attached to, too unimportant to warrant the slight inconvenience of lowering a magnet to retrieve it and so it had been left. He’d stopped by the window during his patrols, not for long and not with enough regularity for it to be a pattern and noticed, but enough times to track the decay of plastoid components to expose the fragile wiring beneath. That had only lasted a cycle before it had been torn free and lost, the outer casing following soon after. CC-2224 doesn’t regret having to perform maintenance on the filtration unit. It is a necessary task to prevent costly breakdowns in the future. It is a necessary task to keep the nutrients in their ration blocks from becoming altered due to their negligence. It is a necessary task to keep CC-2226 from being decommissioned. 
There is no room for deviations, no room for error, but CC-2224 will try for as long as he can. 
He is made for this task, just as he had been made for every task before. His genetic sequence had been meticulously hand-crafted, every base chosen and lined up where it was needed. He isn’t as much of a person as he is a tool, a weapon, whatever is needed for the situation at hand. He had been made for the Jedi.
ERROR.
He had been made for one Jedi.
ERROR.
CC-2224 raises his hand to his face, smudges at the sudden spike of pain in his nose. He’s already dripping, every step squelching through the scattered puddles that are only disrupting the rain in that they’re stopping the rain from immediately drenching CC-2224 to his skin, but he can see the dark stain of blood by the distant gleam of the landing pad lights from the platform above him. There’s no sky visible amongst the heavy press of the stormclouds, and the air is heavy with salt amongst the copper gleam of blood with every breath. 
He needs to move quickly. He has wasted enough time already and the unit needs to be fixed. 
The panel is clearly marked, the edges outlined in a mixture of scavanged armour paint by a previous batch and CC-2224 crouches next to it. He shivers, steadying himself on the slick metal and bares his teeth at the unforgiving sky. It doesn’t stop raining, but it makes him feel a little better. Stringing together a collection of scavenged curses at the panel as it refuses to budge also helps. CC-2224 stands, tugging at the tied cords of his hood. The outside is drenched through and there isn’t enough fabric for him to use it as leverage while he is still wearing it. Rainwater cascades over him as he pulls it free, his jaw clenched tight to try and keep his teeth from chattering. He is shaking and he will never be warm or dry again. He will rust and decay and the tiny nonexistent things that are crawling over him will eat his bones.
The panel moves. 
Somewhere, a door hisses open. 
Query: where?
Answer: Landing bay 4
CC-2224 stares up at the distorted lights above him. He can’t keep his eyes open long enough to pick out details, rain impacting against his cheeks and necessary instincts force him to blink. That landing bay is off limits for a reason. Jango had laid it out in his contract amendments when it had been decided for him to stay on Kamino. CC-2224 had heard whispers about how that had been decided, rumours passed between batches like treated water, only gaining speed with every retelling. The version he had heard first was the least fanciful and so the most likely to be true. There had been another man at the meeting, someone tall and dressed in a dark cloak with white hair, his hand heavy on Prime’s shoulder like he was steering him.
ERROR. NO. REDIRECTING. 
There are two, no, three people clustered on the landing bay. Their shadows bounce off of the walls, distorted as the rain floods over the bay lights, and CC-2224 frowns, cupping his hands over his brow as he tries to make out their size. He had done this training, passed it in record time, but the chill the rain brought with it is entirely new. He won’t mention that to the trainers, however, in case they decide to implement it to the extreme. Two are fully-grown trooper size, one standard and one possibly from an alpha batch, head and shoulders taller but not as broad as he would expect. Slight variations are expected so it must be factored in, but the final figure is cadet-sized, scurrying across the landing bay, and CC-2224 tracks his movement closely, mindful of the dual facts of a restricted area as well as the lack of barriers around the edge of the platform. Cadets think they know too much and could do everything, their confidence matched only by the shinies until they trip on their still-too-large boots. 
They’re one plan, one blueprint. Deviations are not tolerated for long. 
CC-2224 turns his head just enough to check the positions of the cameras, one above the door on his level and one above the door on the upper level. They wouldn’t be active, not at this hour, but he still swallows against the burn of acid in his mouth. It must be what one of the scuttling creatures that swarm over the lower levels feels like when a larger fish comes swimming past, infinitely too small with a blade hanging over his head, preparing to drop. The sounds of the ocean shift into something hungry, something focused on him with the salt tang of intention, and CC-2224 stands to the sound of a blaster.
Single shot. Deflected. (Deflected how? Something itches at the back of his mind, right next to wired-in thoughts.)
Second shot. Third. 
What the fuck is going on?
CC-2224 steps forward, cupping his hands over his eyes as he stares up at the platform. All three of them will be decommissioned, possibly himself as well just for being nearby in case he is involved somehow. So, he’ll get himself involved. 
The control panel for the camera is locked just inside the door controls, a neat little bypass loop to let CC-2224 take a peek and try and find spot any markings, maybe a batch symbol if he’s lucky. 
(What’s that sound?)
He doesn’t manage to make it back to the door before the ground trembles beneath his feet. Not a quake nor a wave. Not a test either. It is rhythmic, building, the slow roar of a ship beginning to take off. There is only one ship on Kamino that sounds like that, loud and insistent and demanding to be noticed because fear and notoriety are half the job, as Jango said during a training session. He had left recently, circling back a few cycles ago and now he was leaving again? The cadet should be Boba if the standard trooper is Jango. 
He hopes it’s Jango. If there is a trooper stealing his ship, they’ll all be culled, just to be safe. 
(There it is again. What is it? It sounds so familiar, like something he heard once in a dream.)
CC-2224 breaks into a run, heading for the railings between this platform and the next. The surface is old, pitted, with heavy data cords that run up the inside along with the structural supports. It’ll be difficult, but he should be able to climb up that way if he braces himself correctly so that he doesn’t immediately fall into the starving sea beneath him. It is a stupid plan. It is one of the worst plans that CC-2224 has ever come up with. It is the only plan that has a chance of working. 
He hopes CT-7567 will be okay, whichever outcome befalls him. 
(Catch it.)
CC-2224 obeys. He is a good soldier, afterall. He’s created to follow orders. 
The weapon is still warm, holding onto the touch of an unknown person. CC-2224 looks up, one boot resting on the decaying railing, his hand still outstretched over the scant gap between the landing bays. There is someone looking down at him, backlit as the ship roars into the atmosphere. 
“Hello there!” The stranger calls. Their accent is new, clipped at the vowels and made to carry. Even so, CC-2224 has to focus to hear them, blinking against the rain.A new trainer? Someone else? 
He knows who they are. He knows the weapon he’s holding. (He knows how to kill with the weapon he’s holding, knows how to fight the wielder.) ERROR. 
CC-2224 raises his hand in greeting, holding the tube between thumb and forefinger as he splays his fingers. He points towards the door, knowing that there is little use in calling back and forth and trying to make themselves heard over the storm. 
The stranger mimics CC-2224’s wave, their skin paler in the brief pulses of light from the emergency lighting than CC-2224’s. They are already beginning to shiver, their hand wavering before they drop out of sight. Blankets are stashed in a reclaimed supply cupboard, two corridors over with a right and a short left and CC-2224 pins the location in his mind as he turns his attention back to the open panel. A quick patch would keep it functional until the next cycle, nowhere near the full repair he was hoping to perform but it’ll do. 
The lower levels are quiet this time of night, but they aren’t deserted. CC-2224 slips into one of the supply room and knocks on the top of a crate. There is a moment before he hears the sleep-slow shift of fabric and a similar face appears in the slight gap between lid and side.
“We have a Jedi on Kamino. Have you still got your comm patch links to update everyone?”
CC-2224 barely waits to receive a nod and the fledging beginning of a question before he is moving away. There isn’t time for the endless supply of questions he would have to wade through once they start and there is already a headache pulsing on the left side of his head at the thought of all the curiosity to come. He taps the lightsaber — because what else could it be, documented in a thousand training sims and another thousand more forms and techniques they had learnt (but why, why did they need them ERROR) — against his thigh. The metal gleams beneath the pale internal lights of a sleep cycle, heavier than he would have expected for something so innocuous, and CC-2224 brushes his thumb over the switch just beneath the port. It is a slight stretch for him to reach, suggesting the Jedi is taller than himself or, at least, has a slightly wider grip. 
He’ll need to be mindful of the extra reach this could mean.
The thought is forgotten as quickly as it arrives, tucked away amongst the nest of wired-in instincts that haven’t been taught or bound into him but were somehow there.
The blanket he collects from the supply closet in one amongst thousands of the same grey material, the same durable weave, and he slings it over one shoulder as he walks, barely breaking stride as he leaves a trail of damp and squelching footprints behind him. They all knew of the Jedi (they had been made for them) but soaked to the bone and shivering is not how he thought he would ever meet one. In his half-constructed dreams, the ones that were usually filled with a nebulous future of things he had never experienced but they could be out there, somewhere, maybe, CC-2224 doesn’t dream of battle. He thinks about a street, about a blue sky above his head and walls that are stone instead of metal. He thinks about a chance encounter, about hands fumbling on a stack of forms or an accidental encounter with a mug of caf. He thinks about his Jedi and what they will look like. He wonders who this Jedi is.
Rounding another corner, CC-2224 hears a matching set of wet footsteps, an unfamiliar voice grumbling in a cascade of syllables that seem to be bundled together in a roll for easy transport only to be unfurled at what sounds like the weather outside, the ocean below, the walls for looking too similar and somebody named Quigon for somehow being responsible, ultimately, for all of this. 
“Sir?”
The Jedi begins to look over his shoulder before he catches himself and turns to face CC-2224. He is pretty in a soaked to the skin kind of way, the water shining beneath the flare of lights as they hum into life at CC-2224’s approach. His hair is dark, made darker by the storm, but it is the shade that captures CC-2224’s attention first, red like the distant glimpses of sunset he can make out from the higher levels of the facility whenever the speciality training overran. 
“Hello again,” the Jedi says, his grin immediate and a little rueful. He bows, one shivering hand pressed into his chest. The leather bracelets around his wrist shift with the movement and CC-2224 flexes his free fingers with the urge to unfasten them. They could move and catch, irritating the skin beneath, and no other reason. None at all. 
CC-2224 holds out the lightsaber, flipping it easily so the handle is extended towards the Jedi. He is aware of the potential blade within in the same way he would be aware of the possible humming energy field of a vibroblade, the prospect of danger and death. “I believe you dropped this, sir.”
“Yes. I did, didn’t I?” The Jedi steps forward, tapping his boot behind himself as he reclaims his lightsaber and snaps it back onto his belt. “Thank you for catching it for me.” 
CC-2224 flexes his fingers, chasing after the scant memory of the handle still warm from another’s touch, and settles back into the correct stance before holding the blanket out. “For you as well, sir.”
“Thank you. And call me Obi-Wan, please. I don’t believe I’ve caught your name?”
CC-2224 twitches at the question, a momentary break in composure and his fingers bump against Obi-Wan’s. It is the barest instance of contact, gone in the same heartbeat, but he focuses on it regardless, something new to distract his racing thoughts with. He can’t answer. He has to answer. He—
“Jedi Master. I have been looking for you.”
Ice shears down CC-2224’s spine, stopping his heart and kickstarting it at the same time. His breath remains steady, his hands still as he drops into a waiting position at the Kaminoan’s approach. They didn’t venture down this far, preferring the drier floors high above, and she ducks her head beneath the sag of a broken strut before moving next to Obi-Wan. She doesn’t look at CC-2224. 
“I see you have encountered one of our units.”
“I have.” Obi-Wan glances at CC-2224, his expression unreadable. All warmth that CC-2224 had been basking in has been carefully hidden, akin to shoving everything that could be considered contraband into an air duct and pulling the paneling back into place leaving it sheer and blank once more. “He showed great initiative, I’m very impressed.”
The target slowly lifts from between CC-2224’s shoulderblades, a box in a system he’ll never be allowed to access remaining unchecked. He doesn’t move, keeps his face blank. He hasn’t been dismissed yet; one of the little games the long-necks like to play and some of the trainers too, the wait-there-because-I’ve-told-you, the pick-this-up-put-it-down, the go-stop-go-stop. 
He hopes the Jedi will be different. 
He is prepared if they aren’t.
“Do you require him for anything further?” 
“No.” Obi-Wan turns away from the scientist, his mouth still pressed into a thin line that speaks a rage brewing behind it, tightly leashed and called to heel, but his eyes soften as he looks at CC-2224. “You’re dismissed. I hope our paths cross again.”
“Sir.” CC-2224 salutes, regimentally perfect like he has been pre-programmed with the gesture, and turns on his heel. He’s been a drowning man often enough to recognise an escape when one is offered. 
Query: Who is Jedi Master Obi-Wan?
Answer: He is a Jedi. He is a target. (He has been made for you just as you have been made for him.)
Too many thoughts. 
ERROR.
Just one. 
Their fingers brushed. CC-2224 would like it to happen again. 
74 notes · View notes
876simmer · 2 years
Photo
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
IHOP 
     Hey guys, so some of you may have realised that I removed my build downloads a while back. This is because I needed to remake the cc. I made those builds when I first started making cc and I have improved so much since then , i had to remake them. The process is taking a little longer than I thought as I still have other wip to finish, so bare with me. I am excited to say that I finally finished the IHOP build as it was the most requested one. I created two versions of the cc and build for my maxis lovers and my followers who love realism.
Ensure you choose the right file to download, whether you just want the cc only in either simlish or english version or you wish to download the cc and build also in both simlish and english. If you have any issues just send me a message, I am happy to help. Enjoy!
Buy items feature:
Items from Dine Out, Get to Work and Eco living were used in the build
CC made using base items from Dine Out
29 meshes and 2 recolours in total 
Find items easily using phrase “IHOP” in search bar
Custom thumbnails
Poly count as follows
Booth - (670 polys)
Corner Booth -(674 polys)
Single Booth - (670 polys)
Chair - (2226 polys)
Square Table - (980 polys)
Rectangular Table - (1834 polys)
Wall Table - (184 polys)
Coffee Carafe -(970 polys)
Host Station - (842 polys)
SaltnPepper - (884 polys)
Syrup Caddy - (666 polys)
Logo (Sim) - (2288 polys)
Logo (Eng) - (1654 polys)
Open 24hr sign (Eng) - (2452 polys)
Open 24hr sign (Sim) - (2559 polys)
Outdoor Sign (Eng n Sim) - (502 polys)
Awning (Eng n Sim) - (168 polys)
Sign (Eng) - (2790 polys)
Sign (Eng) - (3360 polys)
Syrup Caddy V2 (Eng n Sim) - (824 polys)
Syrup Dispenser (Eng n Sim) - (1098 polys)
Large Wall Art (Eng n Sim) - (34 polys)
Small Wall Art (Eng n Sim) - (54 polys)
Wallpaper (Recolour)
Roof (Recolour)
DOWNLOAD
T.O.U
P.S Would you like to Buy me a coffee ?
601 notes · View notes
daisy-pixels · 3 years
Text
My 2020 Tumblr Top 10
1). 3230 notes - Apr 19 2020
Tumblr media
2). 2992 notes - Mar 7 2020
Tumblr media
3). 2981 notes - May 9 2020
Tumblr media
4). 2914 notes - Aug 30 2020
Tumblr media
5). 2586 notes - Jul 28 2020
Tumblr media
6). 2226 notes - Jan 14 2020
Tumblr media
7). 2058 notes - Nov 6 2020
Tumblr media
8). 1840 notes - Jan 1 2020
Tumblr media
9). 1768 notes - Mar 21 2020
Tumblr media
10). 1700 notes - Jan 10 2020
Tumblr media
Created by TumblrTop10
I had a great time (talking about cc making) this year ❤️. What was your favorite thing 😉.
102 notes · View notes
bobycandra · 5 years
Text
Ditulis langsung oleh Boby Candra
Kemudian untk penginapan atau hotelnya, aku saranin kamu bisa pesan melalui https://t.co/RZqVuZcdyO , sayangnya utk pembayaran hny melalu Paypal & Credit Card. Sebagian org mmg blm mempunyai CC. Lalu bagaimana?? Ingat kata bang Haji "banyak jalan menuju roma" 😀#SundayStories" FIND US! Twitter https://twitter.com/boby13candra Instagram https://ift.tt/2QPXTh7 Facebook https://ift.tt/2AajtYi Website www.bobycandra.com Phone 0822 2226 2200 #BobyCandra
0 notes
itbeatsbookmarks · 7 years
Link
(Via: Hacker News)
A Mind Is Born
Making a demo in just 256 bytes would be a formidable challenge regardless of platform. A Mind Is Born is my attempt to do it on the Commodore 64. In the absence of an actual 256-byte compo, it was submitted to the Oldskool 4K Intro compo at Revision 2017, where it ended up on 1st place.
VIDEO
Thanks to Lemming for the video capture!
Downloads
You can also find reactions to A Mind Is Born on pouët and csdb.
How it works
The remainder of this page is a tour of the inner workings of the demo. It is quite heavy on the technical side. Some familiarity with C64 programming is required to understand it fully, although as usual I will do my best to make it an interesting read also for non-experts.
Musical structure
The demo is driven by its soundtrack, so in order to understand what the program needs to do, it helps to have a schematic overview of the various parts of the song.
The three voices of the SID chip are used as follows: Voice 1 is responsible for the kick drum and bass, Voice 2 plays the melody and Voice 3 plays a drone that ducks on all beats, mimicking the genre-typical side-chain compression effect.
All in all, the song contains 64 bars in 4/4 time. It is played back at 112.5 bpm by means of a 60 Hz timer interrupt. The interrupt handler is primarily responsible for music playback, while the visuals are mostly generated in main conext.
Bar Bass pitch Melody waveform Additional effect $00–$07 Static note None None $08–$0f Static note Triangle Introductory "stuttering" melody $10–$17 Static note Triangle Normal melody, more colours on the screen $18–$1f Static note Sawtooth Normal melody $20–$27 Static note Hard-sync Broken/varied melody $28–$2e Static note Mixed Normal melody $2f Break Mixed Drum & bass are silenced $30–$37 Varied notes Mixed Drum & bass return, brighter graphics on the screen $38–$3e Varied notes Mixed Change in timbre for the drone $3f Varied notes Mixed Highpass filter, no blinking on the screen
When bar $40 is reached, the program turns off the display and jumps through the system reset vector. In this way, the final few moments of the demo are actually managed by the system boot sequence: First, the SID is silenced. Then, there is a delay while the system is setting up data structures. Finally, the display goes back on, and the C64 home screen is rendered. A mind is born.
Implementation
Now let's see how to do all of the above in 256 bytes. Here is a hex dump of the executable file:
Scaled-down hex dump for reference:
Let's start at the beginning. The first two bytes (yellow background) are the load address, $0801, in little-endian byte order. This is the default load address for a BASIC program, and was in fact mandated by compo rules.
Next up (cyan background) is the tiny BASIC program that bootstraps the demo. It looks like this when listed:
This line of BASIC is encoded in the file as follows: First there's a pointer ($080b) to the next line, or in this case to the end-of-program marker, which is a null pointer. Next up is the BASIC line number, which is 54271 for a good reason; more about this later. The byte $9e represents the SYS token, and is followed by a target address (2225) spelled out in PETSCII characters. A null-byte terminates the line.
The SYS statement invokes the initialisation routine (file offset $b3, blue background), which will be described in more detail later. Its main job is to copy the entire program into the zero-page and jump to it.
Following the BASIC program, with a slight overlap, is a shadow buffer for the SID registers (dotted black outline). Some of these values are modified while the demo is running, and all 25 bytes are copied into the SID register area, $d400–$d418, at the end of the interrupt handler. In addition, the five bytes starting at file offset $12 (brown background) represent the current palette. They are copied into the VIC background colour registers, $d020–$d024, also at the end of the interrupt handler.
The bytes at file offsets $14 and $21 (white and red digits, respectively) together form a 16-bit counter. This is the global clock of the demo. It is incremented by two at each interrupt. The low byte (white digits) represents the position within the current bar of music, while the upper byte (red digits) represents the current bar number, in the range $00–$40. Both bytes are located in the SID register shadow. In this way, the low byte automatically modulates the pulse-width of the melody vocie, while also animating one of the palette entries. The high byte controls the cutoff frequency of the SID filter, resulting in a slow filtersweep throughout the song.
The melody is generated by a linear-feedback shift register (LFSR). Thus, in one sense, the melody is randomly generated. But I spent a considerable amount of time tweaking the random process until I found something that was musically satisfactory. Tweakable parameters include the initial seed value, the so called "taps" of the LFSR, and most importantly the frequency table, which we will return to later. The LFSR is located at file offset $15 (blue digits). Note that the LFSR is initially zero, and this is why the melody is silent during the first eight bars of the song. The LFSR is also part of the palette, and additionally controls the upper bits of the pulse-width register for the melody voice, providing timbral variety.
The script (light green)
Starting at file offset $22 (light green background) is the script. This is essentially a poke table with eight entries, encoded as byte pairs. The first byte of each pair is the target address in zero-page, and the second byte is what to write. The writes are carried out during music playback, synchronised with the kick drums, and each entry remains in effect during eight bars of music.
Here is a rundown of what the entries in the script table do:
Bars Poke Effect $00–$07 ff 1f The first entry in the script, which overlaps the SID register shadow, is a dummy write to address $ff, just past the end of the program. This also means that SID register $d417 is $ff, meaning all voices (and the external input) are routed through the filter and the resonance is at maximum. $08–$0f 14 41 This initialises the melody LFSR. The seed value, $41, is written into the LFSR (at address $14) repeatedly during these eight bars, in time with the kick drums. This is what makes the melody stutter. $10–$17 d5 24 This entry overwrites an opcode in the main routine, enabling more colours on the screen. The main routine will be described in more detail later. What's more, since the script no longer keeps resetting the LFSR on every drum beat, the melody is allowed to proceed. $18–$1f 15 25 This selects waveform $25 for the melody voice, i.e. ring-modulated sawtooth. The ring-modulation bit doesn't affect the sawtooth waveform, so this sounds just like the more commonly used waveform $21. But recall that this byte also controls one of the colours in the palette: Colour 5 (green) adds some variety to the visuals at this point. $20–$27 15 53 The waveform is changed to $53, i.e. mixed waveform $51 with hard-sync. The hard-sync modifies the timbre of the sound, while also causing some notes to sound alike and other notes to disappear entirely, creating variety in the melody. Cyan (colour 3) also replaces green in the palette. $28–$2f 15 61 Here we select mixed waveform $61 for the melody voice. Hard-sync is now disabled, so we're back to the normal melody and colour 1 (white). $30–$37 d5 29 Here we write another opcode into the main routine, making the visual effect brighter. We'll come back to the visuals in the section about the main routine. $38–$3f 1b 0f This changes the high bits of the pulse-width of the drone voice from $e to $f, resulting in a noticeably brighter timbre.
As you can see, the script covers a large part of the register updates demanded by the song structure, but there is still a need for specialised branching code to handle the rest. That goes into the interrupt routine, which is the large block of code starting at offset $32 in the file (purple background). We'll dive into the assembler code of the interrupt handler in due time.
Initialisation (blue)
We will now have a closer look at the init code (file offset $b3, blue background), originally loaded at decimal address 2226. Actually, the SYS statement jumps to address 2225, but that's more or less for giggles: The interrupt routine happens to end with a jump into a ROM routine at address $ea7e, and this makes $ea the last byte of the interrupt handler. But $ea is the opcode for nop, so we might as well jump there.
Let's have a look at the code:
nop sei stx $286 stx $d021 jsr $e544 ldx #$fd initloop lda $802,x sta $02,x dex bne initloop stx $315 jmp $cc
Interrupts are temporarily disabled. The X register, which is known to be zero at this point, is written to two locations, selecting black as the current background colour. Different versions of the Kernal look for this in different places, hence the need to write twice. Next, a ROM routine for clearing the screen is called. We don't really care about clearing the screen buffer, but the point of calling the ROM routine is that it also fills the Colour RAM with our selected colour.
The entire program is then copied into the zero-page. The interrupt handler ends up at address $0031. The default Kernal interrupt handler, invoked via a vector at $0314, is at $ea31. Thus we only need to clear the high byte of the vector in order to divert it to our own handler. After doing that, we jump to the main routine (orange background), now in place at address $00cc.
The main routine (orange)
First, we select the ECM video mode (Extended Character Mode, where the two most significant bits of a character code determine what background colour to use). We also set YSCROLL to zero and select 24-line mode. This allows us to, at the end the demo, switch to a black screen with a single three-byte instruction (lsr $d011) without risking a VSP crash. Since the interrupt handler is called at 60 Hz, it would be dangerous to suddenly change YSCROLL, and keeping it at zero avoids that.
Interrupts are reenabled and we enter the main loop. One more thing needs to be initialised: We need to tell the VIC chip to look for the video matrix at address $0c00 and the font at $0000. This is done by writing $30 into the bank register ($d018). But this will be done from within the loop, as doing so allows us to use the value $30 for two things. An important property of this particular bank configuration is that the system stack page becomes part of the font definition.
The main loop is responsible for filling the stack with font data that varies in intensity with the volume of the drone voice, and also for filling the video matrix with ECM references that form interesting patterns on the screen.
mainloop lda $dc04 mod_op1 ldy #$c3 mod_op2 ora $d41c pha
It is relatively straightforward to generate the font bits: We grab the low byte of a CIA timer to obtain a randomish value. Then, at the label mod_op1, we optionally force some of the bits to one (this only happens after the opcode gets modified via the script). Then we bitwise-or with the output of the Voice 3 envelope generator. Recall that Voice 3 plays the drone, which is off-beat. Therefore, its envelope is zero when we want the visuals to be bright, and $ff when we want the visuals to be dark. But this is exactly what we get, due to having filled the Colour RAM with zeros. The resulting font bits are then pushed onto the cyclic stack.
Of course, every now and then as an interrupt is serviced, a few bytes in the stack area get overwritten, leading to visual glitches. But these glitches fit in with the other graphics, and actually provide a bit of variety, so that's fine.
Generating data for the video matrix is trickier, because we have to write to four different pages, and we have to try to create interesting large-scale shapes vertically as well as horizontally. Here is the code:
asr #$04 ldy #$30 sty $d018 ; Video matrix at $0c00, font at $0000. adc (vmptr),y inc vmptr adc (vmptr),y ror ora clock_msb ldy #$30+40 ora mod_op1 sta (vmptr),y bne mainloop ; Always branches.
The idea here is to maintain a pointer into the video matrix, and to read and combine two consecutive values (horizontal neighbours). The result is then written back 40 bytes later, i.e. directly below the second byte that was read. This results in some kind of poor man's cellular automaton. A little bit of randomness is also injected into the computation, based on what remains in the accumulator since the font generation. The high byte of the global clock also plays a role. The exact formula was determined through trial and error, and quite a lot of fiddling around was necessary before I found something that was interesting to look at.
Just before writing the computed value into the video matrix, we subject it to a bitwise-or with the opcode at mod_op1. This opcode (modified twice from the script) therefore serves dual purposes, as detailed below:
Opcode Instruction Effect on font Effect on video matrix a0 ldy #$c3 None Force background colour 2 or 3 (white/black, later white/red). 24 bit $c3 None Any colour allowed. 29 and #$c3 Force half of the pixels to be zero (i.e. not black), leading to brighter visuals. Any colour allowed.
In addition to the above, all three opcodes have bit 5 set, which ensures that only characters defined on the stack page get used.
Attentive readers will have noticed that only the low byte of the video matrix pointer gets incremented. The high byte is instead modified from within the interrupt handler, which we will get to presently. Naturally, this leads to a race condition, possibly resulting in visual glitches. But again, glitches fit in.
The video matrix pointer is located at $cb, corresponding to file offset $cc (solid black outline). Initially, it is $a900, resulting in some dummy writes to high memory.
The interrupt handler
Now we turn to the bulk of the code, which is the interrupt handler. First we increment the global clock:
inc clock inc clock bne noc1 inc clock_msb noc1
Then we ensure that the gate bit is set for the drone voice in the SID register shadow. Later, we'll decrement this byte if we're on a beat, which creates the desired ducking effect.
Next, we load the current song position (bar number) into both X and A, and take care of the special cases near the end of the song:
lax clock_msb cpx #$3f beq highpass bcc noend lsr $d011 jmp ($fffc) highpass ldy #$6d sty sid+$18 sty mod_op2 noend
To clarify, if we're past the end of the song we turn off the display and reset the system. If we're in the final bar, we switch to a highpass filter, and also modify the opcode at mod_op2. Thus, the value $6d is used both as a filter configuration byte and as an opcode (adc $xxxx). Looking back at the main routine, we find that the instruction at mod_op2 was responsible for blacking out the font bits based on the output from the drone envelope generator. Changing it to addition will essentially cancel that effect and stop the blinking.
Moving on, we still have the current bar number in both X and A. We use the value in A to compute the current byte offset into the script, and stash that away in Y for later use:
Generating the beat
Next up, we are going to compute the pitch of Voice 1, responsible for the kick drum and bass. This is rather complex. It mostly depends on where we are within the current beat, which is encoded in the lower six bits of the global clock.
If we are within the first 25% of a beat, we are going to generate a drum sound, i.e. a rapidly descending pitch. Ducking is also carried out during this part of the beat, even if the drums are currently muted (as they are in bar $2f). The following code takes care of both ducking and muting, as well as enforcing a static bass note during the first part of the song:
lda clock and #$30 bne noduck dec sid+2*7+4 noduck cpx #$2f beq bassoff bcs nointro ; During bars $00-$2e we keep playing the same bass ; note, from offset 2 in the bass table. ldx #2 nointro
If we are within the second 25% of a beat, we all but turn off Voice 1 by writing zero into the pitch high-byte. However, the pitch register is not fully cleared, because the LSB remains from the previous bass note. This creates a delicious low-frequency snarl during the gap between the drum and the bass.
; In second 25% of a beat? cmp #$10 beq bassoff
From X, we compute an index into the table of bass notes at file offset $f4 (green background):
To get the desired bass notes, we have to update both the LSB and MSB of the pitch register. But our pitch values do not exceed $3ff, so we can get away with a byte table if we put the MSB in the two least significant bits of the table entries. Having read a byte from the table, we first use it as the low-byte. Then we mask out the two least significant bits, and use the resulting value as the high-byte. This approach will detune the bass a little bit, but that's fine.
We perform the masking by means of a bitwise-and instruction (solid magenta outline) with the operand $00ab. The byte at absolute address $00ab is 3 (also shown with a solid magenta outline). In this way, we sneakily skip over the lax instruction (ab 00) that is executed when we branch to bassoff.
lda basstbl,x sta sid+0*7+0 .byt $2d ; and abs bassoff lax #0 ; Safe when the operand is zero. bcs bassdone ; Carry will be set if we ; got here via bassoff. ; Carry was not set by cmp #$10, so we are in the ; first 25% of a beat. Throw away the computed bass note ; and play a drum instead. ; But handle the script first. lax script+1,y ldx script,y sta 0,x lda clock asr #$0e ; A goes from 0 to 7 during the first 25% of the beat. ; Take this opportunity to update the video matrix pointer. tax sbx #256-8 stx vmptr+1 ; Invert the value to obtain the pitch of the drum sound. eor #$07 bassdone sta sid+0*7+1
Notice how the MSB of the video matrix pointer runs through the values $08–$0f as the drum pitch descends. Most of the memory in the C64 is uninitialised when our program starts. However, the program was originally loaded at address $0801, and this data effectively becomes the seed of the cellular automaton, leading to predictable visuals on every run. On the other hand, we want a certain amount of randomness to accumulate into the computation as it progresses towards higher memory addresses. This is why $0c00 is the ideal location for the video matrix.
Generating the melody
Now it is time to compute the pitch of Voice 2, i.e. the melody. If we are at the beginning of a new 16th note, we clock the LFSR and use the three least significant bits as an index into the melody note table at file offset $f8 (pink background). The first entry is zero, producing a rest.
The LFSR implementation is kind of backwards. Instead of shifting first, and exclusive-oring with a constant if a one was shifted out, we begin by loading the constant into the accumulator. Then we shift the LFSR and perform the exclusive-or, but we only write it back in case a one was shifted out. The point of doing it this way is that we can use the illegal sre instruction, and save one byte.
lda clock and #$0f bne nomel lda #$b8 sre mel_lfsr bcc noc2 sta mel_lfsr noc2 and #7 tax lda freqtbl,x sta sid+1*7+1 nomel
Next, we need to copy the SID register shadow into the actual SID registers, and the palette values into the corresponding VIC registers.
We begin with the VIC registers. While we only need to update registers $d020–$d024, we will actually go all the way down to $d01c. This allows us to reuse the two bytes at file offset $10 (beige background; also the ADSR values for Voice 1) as a base address.
ldy #8 vicloop lax sid+3,y sta (const_d01c),y dey bpl vicloop
A further side-effect of stopping at $d01c is that we end up with $19 in the accumulator (obtained from file offset $0e; this byte also controls the pulse-width of Voice 1). This is handy, because we can use it as the starting offset when looping over the SID registers:
tay loop lax sid-1,y sta (const_d3ff),y dey bne loop
Remember the trick we did near the bassoff label, where the operand of the and instruction would sometimes be interpreted as a lax instruction? The sta in the above code snippet is located at $aa, so because of the aforementioned trick its operand byte must be 3. Therefore, we have to ensure that the constant word $d3ff is stored at address $03, i.e. file offset $04 (solid blue outline). And that is why the BASIC line number is 54271 ($d3ff).
Finally, we leave the interrupt routine by jumping into ROM:
This will acknowledge the timer interrupt, restore the registers, and return to main context.
And that's all there is to it, really.
Posted Thursday 20-Apr-2017 08:13
Discuss this page
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
Anonymous Thu 20-Apr-2017 11:14
In initloop, use sta $0002,x and skip ldx #$fd to save a byte? - ninjadrm
lft Linus Åkesson Thu 20-Apr-2017 11:33
In initloop, use sta $0002,x and skip ldx #$fd to save a byte? - ninjadrm
If X is known to be zero in all Kernal versions, then sure. And I know of at least two more bytes that can be saved.
Anonymous Thu 20-Apr-2017 13:14
Damn it, Linus, you are a god damn genius. Keep doing this kind of stuff. An anonymous admirer.
Anonymous Thu 20-Apr-2017 16:38
lft wrote:
If X is known to be zero in all Kernal versions, then sure. And I know of at least two more bytes that can be saved.
Oops, I somehow missed the call to $e544. Shame on me. But actually, that's even better, it returns X=$01 on all kernel versions I tried, so you could use sta $02-1,x even.
And thanks for the fun stuff to read, of course!
Anonymous Fri 21-Apr-2017 00:35
This demo is not just technically impressive but I found also evocative of thought and emotion. This isn't just a programming triumph, but an artistic one. The program itself, at 256 bytes, is little more than a "seed" from which the demo (and the Mind) blossoms from. It's so small that the actual execution in memory takes up more space, and watching it play out on YouTube takes up orders of magnitude more; how many dozens of gigabytes were transmitted by all the people who've watched videos of this demo? But what about what we actually see and hear? The visuals start off as Sierpinski triangles, symbolic of both the endless, seemingly-chaotic nature of fractals as well as their order. As the song plays, the fractals become morphed into other shapes. Lines, sharp corners, and occasionally blobs show up, evoking in me images of wrinkles in brains or circuit patterns. The melody is randomly generated but backed by a simple, steady bass rhythm, a similar marriage of chaos and order. The song's climax (at 1:42 in the video) impresses upon me a march of progress as the Mind finally takes shape, formed from random matter and energy and into an entity. We observe the formation of the Mind from the ether not just visually and aurally, but also in the form of the 256-byte seed expanding into the demo flower, eventually taking shape as the C64's home screen.
0 notes
mearchy · 16 days
Text
Tumblr media
Characters from + during TCW alignment chart pt 2 (":
223 notes · View notes
mearchy · 3 months
Link
The Red Flag Blues - Chapter 1 
(Part 1 of A Red Sun Rising)
Rating: M
Words: 1/11 Chapters, 4.6k words
Warnings: Graphic Depictions Of Violence, Major Character Death, Bombing, Violence, Suicide, Police Brutality
Relationships: CC-2224 | Cody & CC-1010 | Fox, Original Clone Trooper Character & Original Clone Trooper Character, CC-1010 | Fox/Clone Commander Thorn, CC-5869 | Stone & Clone Commander Thorn, Minor or Background Relationship(s)
Most Relevant Additional Tags: Deep Dive/Worldbuilding, Coruscant Guard, Enemies to Friends, Fox Is Not A Good Person (genuinely) But He's Trying, Minor CC-2224 | Cody/Obi-Wan Kenobi, Clone Commander Thorn is So Done, Mandalorian Clone Troopers, Manipulative Sheev Palpatine
Summary:
While on leave on Coruscant, a squad from the 212th battalion is given a straightforward mission - to help track down a Navy officer gone MIA. But everything is not as it seems in the Republic capitol. As he and his men race against the clock to find the officer and secure the valuable intelligence secrets he carries, Marshall Commander Cody becomes increasingly tangled in the obscure politics of the ignominious Coruscant Guard. What they discover about each other will challenge everything they've come to believe about themselves and the war they're fighting - and perhaps, will alter its course irrevocably.
My notes: I’ve been working on this on and off for two-ish years and the fact that I’ve finally got enough nailed down to feel comfortable putting the first chapter up is WILD. Anyway, this is a pretentious depression slurry as well as an opportunity for me to do some worldbuilding and psychological deep dives. It’s definitely heavy angst, but not quite the kind of CG whump that I think pulls fandom hits. I’m still having faith there are a couple kindred nerds out there who want to read something like this. This fic will not be abandoned (a lot is already written) but I make no promises about regular updates.
17 notes · View notes