# Xenoarch ## Premise - A pseudo-remaking of baystation xenoarcheology - Extract artifacts from rock (or just find them in certain ruinspawns, as a field will be added to items to force creation of artifact data), experiment and exploit their uses. - Sometimes this goes horribly, horribly wrong! ## Artifacts ### Data - All artifacts can be serialized to and from /datum/artifact_data - This is fully json serializable. This means it's inherently compatible with persistence as components can be built and serialized into these. - Not all artifacts are actually artifacts requiring components. You can have inert pots being dug up - this'll be obvious though, so you don't waste time on it. ### Components - /datum/component/artifact - All behaviors should be held on the component. The artifact is just any item, etc. - Artifacts will usually be curated, though, for uh, obvious reasons, rather than a literal `pick(typesof(/obj/item))``. - Component signals reacted to for most artifact behaviors - Rarely, artifacts will process or have snowflake behaviors. ### Extraction - Artifacts will emit radiation corrosponding to their exotic particle type if they're not entirely inert. A special device will be able to locate this when nearby, and with scan pulses. - Artifacts that are inert won't. You can still scan for them with the same devices (usually) but it'll be very obvious that it isn't, so you don't waste your time. - If they're in the same rock as a non inert artifact you'll still have to dig it out one by one unless you risk breaking the non inert artifact though. - Artifact data will probably have to be stored in a holder post-generation for the zlevel so scanning isn't super CPU-intensive. - Artifacts will have a sensitivity variable that determines if you need a field generator to properly extract them - Majority will not; Digging too far into their depth might break or damage them or cause other nasty things but fieldgens aren't mandatory - Digging system - Generated artifact data have a minimum depth and a maximum depth - Dig to minimum depth with a precise digging tool and then dig to maximum or beyond without stopping - For machinery/entities/fulltiles, simply dig to end. Rocky debris will drop. Mine the rocky debris with an excavation tool to fully uncover it. - Digging tools - Xenoarcheological picks + excavation drills (why would you ever use the former?) - Normal mining tools will usually just break everything in your way unless you set it to a special low powered mode, in which case it can extract very tough artifacts without breaking it (or others are a high chance of breakage) - Artifact breaks - Doing this wrong means you will break artifacts - This might either nullify active effects or actually just delete it - Sometimes this releases radiation - Sometimes this releases a lot of radiation and Bad Things (worse than radiation), depending on the effect you just broke. ### Generation - A debug verb will be available to map out the entire current zlevel for artifacts to debug rarity/quantity/etc - Generation will for now be z-level seeding only. In the future, stuff like turf reservations/etc should be easily supportable - /datum/artifact_data is stored in the rock. There'll be a value for "not generated", and if it's generated and empty, it's null. - Even better we can have components but that means we can't track if we already tried to generate a turf yet. The upside is we aren't tied to turf paths which is pretty damn neat.. - Artifact theme generated at random and propagates through its properties - Could potentially use exotic particle type as a "primary key" of sorts, determining what its effects may be #### Modes - Random mode, any rock has a prob() of being an artifact site that then Spread()s to nearby rock much like ore (with decreasing strength/rarity/quantity) - Perlin mode, where a world seed determines artifact spawns #### Variables - Quantity: How many artifacts spawn in a rock - A rock can only have one major/machinery-level artifact. This is mostly so you don't have multiple dense objects on the same turf - Rarity: How rare/powerful artifacts are in the rock. This being high doesn't necessarily mean all artifacts in the rock are high, it just means they're skewed and you're almost always going to get one that's high. ### Items - Any item from a curated list of typepaths can be spawned as an artifact. The component will attach to and hook it. - These will generally not have that many interesting effects. Sometimes a rare and powerful item will appear and you can play with it though. ### Machinery - Any machinery from a curated list of typepaths can be spawned as an artifact. The component will attach to and hook it. - Because most machinery (duh) aren't mobile, in reality, a lot of artifact machinery will actually be /obj/structure/artifact, with a generated icon/icon state. - These will generally have the more powerful effects. ### Dormant Entities - Fun part - Special artifacts are dormant entities. - They'll only have triggers, no effects at start. - When awakened, they'll have positive or negative effects based on what you did. - If you bother them too much, they'll either - If you screw up, they'll wake up and attack everyone. This'll be bad for you because they'll be pretty tough. - If you don't, they might wake up and turn passive. You now have a (very dangerous) pet! - Partial activations may result in good or bad things. - `You are struck by the vortex blast.` ## Effects - Pulse and active effects - Effects should be generic if at all possible - Whitelist for artifact types it can generate on - Either random trigger or weighted random for possible triggers - Effects can be linked to toggle each other instead of triggers, or cause pulses on other linked effects on an effect starting up. Who knows? ## Triggers - Datumized, almost always should react to component signals - Triggers activation. - Comes in two types: Pulse, hold, and toggle. - Pulse = toggle when on an effect that's a toggle - Hold = toggle on when conditions met, off otherwise - Can be anything from some kind of gas in atmosphere around it, to being shot, etc - Gives a hint string on scan telling you roughly what you have to do to trigger it - Sometimes if you're lucky it'll also tell you what it might do if you trigger it. - Very useful on dormant entities. - **Some artifacts may not necessarily need triggers.** - Custom typeset of glyphs used in an alterantive-font tgui - Use tgui to control it, you don't know what buttons/labels do you just have to test it - With enough testing, the interface is de-obfuscated. - This is a stretch goal as this may be a little overpowered once researched. ## Exotic Particles - Every artifact emits exotic particles of some sort - A little innately, and a **lot** when pulsing or active - Scanning tools and machinery can detect this - You can harvest this for fun things. - Some of these might be innately harmful. ## Reverse Engineering - Exotic particles can be used to power special "batteries" with their energy - These can be used to power late-game tech - Exotic oragnic molecules being used for decloners/medibeams - High energy particles used for powerful energy weaponry - etc etc - Alternatively, with enough study into a certain effect, anomaly effect manipulators or whatevers can be powered off these to directly beam anomaly effects into an area or a specific target. - Kind of like what RP has right now, only **not broken.** ## Catalogue Integration - Cataloguers read a component signal to determine catalogue data, speed, and ability - Artifacts cannot be properly catalogued either by handheld cataloguers or machinery until their research is done - If catalogues ever support partial catalogues, xenoarch data can only be partially read until fully unlocked. ## Misc ### Gear - Anomaly scanner pads + linked consoles - Scans artifacts and generates a printout giving rough type, particles, activations, etc - Excavation tools - Normal mining tools will be able to be toggled to a careful/low powered slow mode but will still be pretty worthless most of the time for this - Excavation pick + excavation drills used for precision - Might just dump the excavation picks at this point, they're primitive and CBT and I don't get why you'd want them other than for RP purposes - If they're kept they'll be like on RP where a small pocketable item contains all of it. - Xenoarcheology multitool - Let's be honest we don't want 3 different devices here, realism be damned that's cock and ball torture - Hit a turf with it to scan for finds - Open tgui window to show depths, particle emissions, rough artifact type, sensitivity, etc. - Hit a turf with it to also see how far you've dug already. - Alt click it to highlight all turfs around you with digs, color coded on dig type (entity, machinery, active item, inert item) - Or an action button - Interface contains a radar to closest artifact on zlevel. - Field generator - Handheld bulky item (fits in backpacks) - Drastically speeds up digging and gives chance to not break things even if you screw up - If you break things it might contain the bad effects - Click to tile within x range to project to it. - Containment mode that allows it to dampen anomalous effects + particles in an area - Fight someone abusing an APD and going rogue with this! - Anomalous Particle Device - Uses anomaly batteries charged with particles - Syncs with a R&D terminal to download effects that are researched - Powered by batteries with specific particle to emit effects in pulsed fields or on specific targets ### Who's getting this - Science - Mining, although they probably won't have the actual tools for scanning artifacts, so they'll be operating blind if they try to brute force (which may or may not end really badly for them)