# Xenoarcheology - Refactor xenoarch completely - Componentize finds, large and small, entirely - Datumize anomaly effects - Allow applying to both small finds and large finds - Hopefully componentize the holder object to not require specific subtypes for this to work. - Small find = item finds, not necessarily small in size - Large find = structure/machine - Fix the "anomaly batteries" - Harvest particles from things to charge. - Apply effect in a structured/targeted/controlled way. - Small finds - See exploration section - items that are useful but require unlocking/experimentation to use - Aesthetic-only items - Can have anomaly effects generated on it, regardless of what kind of item it is - Rarity generation - functional items with anomaly effects are rarest, functional items OR anomaly items are middle of the road, aesthetic items are common - Large finds - Rarity generation like above - Randomly roll special, functional machinery (should almost never be just something found on station) - Always nearly indestructible - Always has anomalous effects - Can have more than two, "wired" up in complex, procedural ways. - Scanner machines - Scanner pads used to scan machinery - The spectrometer-thingy is used to unlock/scan small items - For **all but the most complicated, rare items, make the minigame very, very forgiving, or just skip it entirely** - Let's be entirely honest NO ONE wants to play that crappy game on NanoUI. Fight me. - Rarity - Find rarity determined by Zlevel - In general more common - Radiation leakage more common but lesser - **Rework radiation first** - small amounts of radiation will be trivial/ignored entirely, only when you stick around a radiation leakage for a while do you start getting hurt. - Extra - Need a good way to handle custom stuff - admin events hooking into these things would be amazing. ## Xenoarch Effect Plans Uh Oh. cast methods: ```ts // hit single entity /afflict_entity(atom/target, power, is_burst) // optimized variation of geometry for single turf /afflict_tile(turf/target, power, is_burst) // list of turfs /afflict_geometry(list/turf/turfs, power, is_burst) // AOE automaton /afflict_radius(turf/center, radius, power, is_burst) ``` cast systems - power - quadratic power increase with higher power - falloff - semi-quadratic power increase with lower falloff - polarity - multi-polarity, decides how effects act; some polarities can even reverse or mutate effects. 1 to INFINITY. effect types - all effects have 'scaling' and 'polarity_awareness' considerations, with latter determining if inverting particle charge does anything - *some* mob effects should generally have a 'sticky' factor so even non-permanent effects can stick for a short duration after being removed from the source particle of the effect. - anything not localized, persistent, transmutating, etc, implicitly gets subtyped as "/regular", as they are context-free. ```ts //* destructive automata *// // ignites anything that burns exothermically with an ignition temperature at or below to temperature /ignition(temperature) // dynamic explosion with given power, falloff, resistance to blocking entities, and power to overwhelm rigid entities /explosion(power, falloff, block_resistance, rigidity) // damage nearby objects with given material flags (and objects without materials support if require_material is not set) /integrity_shred(power, material_flags, require_material, affects_synths) //* constructive automata *// // shields from damage /damage_shield(...) // flatly deflects damage under a certain amount /damage_deflect(...) // shields from explosions, damping explosions with given power, at a given rigidity /explosion_shield(power, rigidity) // repair nearby objects with given material flags (and objects without materials support if require_material is not set) /integrity_repair(power, material_flags, require_material, affects_synths) //* ZAS manipulation *// // add thermal energy to environment /atmos_heat(...) // remove thermal energy from environment /atmos_cool(...) // dynamic thermal adjustment from environment via algorithm /atmos_thermal(...) // scrub certain gases from the environment /atmos_scrub(list/gas_ids, mol_boost, volume_static, volume_ratio) // release gases into environment /atmos_synth(list/gas_ids_and_amounts, temperature, volume_boost_ratio) // literally just erase air /atmos_siphon(mol_boost, volume_static, volume_ratio) //* electronics disruption *// // damaging ionic pulse /machine_emp(power, affects_synths) // disruption pulse with given ratio of non-dangerous effects to dangerous effects /machine_hack(power, danger_ratio, affects_synths) //* electronics modification *// // modulate op speed of nearby machinery /machine_chrono(multiplier, affects_synths) // modulate vulnerability to disruption /machine_failsafe(multiplier, affects_synths) // modulate power usage /machine_efficiency(multiplier, affects_synths) // fixes errors /machine_debugging(multiplier, affects_synths) //* entity physics *// // negate gravity entirely for things within /float(force) // decrease weight for things inside, including for living mob slowdown calcs /weight_mitigation(mitigation) // random movement /inertial_shuffle(force) // makes it harder to move /inertial_halt(force) // high gravity, slows & potentially crushes mobs /gravity_crush(force) // blocks physics /forcefield(pass_flags, blocks_air) //* space-time *// // speeds up time /temporal_haste(multiplier) // slows down time /temporal_slow(multiplier) // full timestop /timestop() //* energy emissions *// // normal radiation pulse; expensive, fully simulated. /radiation_wave() // z-level pulse; slightly less expensive, hilariously dangerous /radiation_burst() // light emission /photonic_emission(color) // light dampening /photonic_vacuum() //* living mob effects - machine / object effects can sometimes affect synths too. *// // blood, antibody, etc regeneration, speeds up healing a slight bit too. if bad_stuff_as_well is set, this also affects viruses and infections. /mitosis_acceleration(biology_flags, bad_stuff_as_well) // opposite of mitosis_acceleration /mitosis_disruption(biology_flags, bad_stuff_as_well) // heals tissues of given biologies /fleshmend(biology_flags) // rends tissues of given biologies. if violent is set, burst will not be considered a gradual effect and can sever limbs. /fleshrend(biology_flags, violent) // helps purge toxins from organs /tox_purge(biology_flags) // helps purge **everything** from organs /bio_purge(biology_flags) // poisons people /metabolic_disruption(biology_flags) //* intelligent mob effects *// // disrupt targeting & intelligence of given ai intelligence types /disrupt_sapient(intelligence_flags) // make sapient life better at aiming / intelligent tasks /focus_sapient(intelligence_flags) //* special - locality-contextual effects, TBD due to locality contexts being required. *// // gravity - shifts entities towards/away /localized/gravity(polarity, ...) // teleportation - teleports entities chaotically /localized/teleport_chaotic(...) // teleportation - teleports entities towards/away /localized/teleport_yank(...) // teleportation - controllable, point to point /localized/teleport_stable(...) // attract towards location nearby ais of given ai intelligence types /localized/provoke_sapient(intelligence_flags) // repel from location /localized/repel_sapient(intelligence_flags) //* special - semi-permanent effects, TBD due to needing to have a way to limit effect amount *// // soften object structure // /persistent/material_soften() - need better materials science first // densify object structure // /persistent/material_densify() - need better materials science first // harden object structure // /persistent/material_harden() - need better materials science first // hollow out object structure // /persistent/material_hollowify() - need better materials science first // make object structure less elastic // /persistent/material_brittlify() - need better materials science first // make object structure more elastic // /persistent/material_elastify() - need better materials science first // make object have higher overall hp /persistent/object_toughen() // make object have lower overall hp /persistent/object_weaken() // modify one's organs, whether internal or external, of given biologies /persistent/organ_refactoring/*(biology_flags, ...) /persistent/organ_refactoring/integrity /persistent/organ_refactoring/efficiency /persistent/organ_refactoring/control /persistent/organ_refactoring/reliability /persistent/organ_refactoring/physiology_modifier /persistent/organ_refactoring/physiology_reset // uh oh; the synth version of genetic injections /persistent/organ_refactoring/synthetic_reformat // Uh Oh! Fuck! /persistent/genetic_scrambling() // UH OH. FUCK. /persistent/genetic_injection() // might actually be bad for you if you have powers /persistent/genetic_normalizing() // makes genetics more stable /persistent/genetic_stabilize() // makes genetics more effective /persistent/genetic_intensify() // modify one's appearance; can modify genetics if genetic_propagation is set. /persistent/appearance_refactoring/*(biology_flags, genetic_propagation, ...) /persistent/appearance_refactoring/skin /persistent/appearance_refactoring/marking /persistent/appearance_refactoring/hair /persistent/appearance_refactoring/shape /persistent/appearance_refactoring/eyes // we probably shouldn't use this actually /persistent/appearance_refactoring/gender // make something more compatible with xenoarch (DANGEROUS) /persistent/anomalous_amplifier // make some item operate faster /persistent/item_overclock // dynamically inject a component into something; used to create fucky-wucky tools, etc /persistent/component_injection/* //* special - transmutation effects *// // cook food in some way /transmutating/cook_food ```