Files

610 lines
25 KiB
Plaintext

/datum/design/nanites
name = "None"
desc = "Warn a coder if you see this."
id = "default_nanites"
build_type = NANITE_COMPILER
construction_time = 50
category = list()
research_icon = 'icons/obj/device.dmi'
research_icon_state = "nanite_program"
var/program_type = /datum/nanite_program
////////////////////UTILITY NANITES//////////////////////////////////////
/datum/design/nanites/metabolic_synthesis
name = "Metabolic Synthesis"
desc = "The nanites use the metabolic cycle of the host to speed up their replication rate, using their extra nutrition as fuel."
id = "metabolic_nanites"
program_type = /datum/nanite_program/metabolic_synthesis
category = list("Utility Nanites")
/datum/design/nanites/viral
name = "Viral Replica"
desc = "The nanites constantly send encrypted signals attempting to forcefully copy their own programming into other nanite clusters."
id = "viral_nanites"
program_type = /datum/nanite_program/viral
category = list("Utility Nanites")
/datum/design/nanites/research
name = "Distributed Computing"
desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation."
id = "research_nanites"
program_type = /datum/nanite_program/research
category = list("Utility Nanites")
/datum/design/nanites/researchplus
name = "Neural Network"
desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts. Can be overloaded to increase research output."
id = "researchplus_nanites"
program_type = /datum/nanite_program/researchplus
category = list("Utility Nanites")
/datum/design/nanites/monitoring
name = "Monitoring"
desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network."
id = "monitoring_nanites"
program_type = /datum/nanite_program/monitoring
category = list("Utility Nanites")
/datum/design/nanites/self_scan
name = "Host Scan"
desc = "The nanites display a detailed readout of a body scan to the host."
id = "selfscan_nanites"
program_type = /datum/nanite_program/self_scan
category = list("Utility Nanites")
/datum/design/nanites/dermal_button
name = "Dermal Button"
desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites."
id = "dermal_button_nanites"
program_type = /datum/nanite_program/dermal_button
category = list("Utility Nanites")
/datum/design/nanites/stealth
name = "Stealth"
desc = "The nanites hide their activity and programming from superficial scans."
id = "stealth_nanites"
program_type = /datum/nanite_program/stealth
category = list("Utility Nanites")
/datum/design/nanites/reduced_diagnostics
name = "Reduced Diagnostics"
desc = "Disables some high-cost diagnostics in the nanites, making them unable to communicate their program list to portable scanners. \
Doing so saves some power, slightly increasing their replication speed."
id = "red_diag_nanites"
program_type = /datum/nanite_program/reduced_diagnostics
category = list("Utility Nanites")
/datum/design/nanites/access
name = "Subdermal ID"
desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access."
id = "access_nanites"
program_type = /datum/nanite_program/access
category = list("Utility Nanites")
/datum/design/nanites/relay
name = "Relay"
desc = "The nanites receive and relay long-range nanite signals."
id = "relay_nanites"
program_type = /datum/nanite_program/relay
category = list("Utility Nanites")
/datum/design/nanites/repeater
name = "Signal Repeater"
desc = "When triggered, sends another signal to the nanites, optionally with a delay."
id = "repeater_nanites"
program_type = /datum/nanite_program/sensor/repeat
category = list("Utility Nanites")
/datum/design/nanites/relay_repeater
name = "Relay Signal Repeater"
desc = "When triggered, sends another signal to a relay channel, optionally with a delay."
id = "relay_repeater_nanites"
program_type = /datum/nanite_program/sensor/relay_repeat
category = list("Utility Nanites")
/datum/design/nanites/emp
name = "Electromagnetic Resonance"
desc = "The nanites cause an electromagnetic pulse around the host when triggered. Will corrupt other nanite programs!"
id = "emp_nanites"
program_type = /datum/nanite_program/emp
category = list("Utility Nanites")
/datum/design/nanites/spreading
name = "Infective Exo-Locomotion"
desc = "The nanites gain the ability to survive for brief periods outside of the human body, as well as the ability to start new colonies without an integration process; \
resulting in an extremely infective strain of nanites. Bypasses antiviral defense"
id = "spreading_nanites"
program_type = /datum/nanite_program/spreading
category = list("Utility Nanites")
/datum/design/nanites/nanite_sting
name = "Nanite Sting"
desc = "When triggered, projects a nearly invisible spike of nanites that attempts to infect a nearby non-host with a copy of the host's nanites cluster."
id = "nanite_sting_nanites"
program_type = /datum/nanite_program/nanite_sting
category = list("Utility Nanites")
/datum/design/nanites/mitosis
name = "Mitosis"
desc = "The nanites gain the ability to self-replicate, using bluespace to power the process, instead of drawing from a template. This rapidly speeds up the replication rate,\
but it causes occasional software errors due to faulty copies. Not compatible with cloud sync."
id = "mitosis_nanites"
program_type = /datum/nanite_program/mitosis
category = list("Utility Nanites")
/datum/design/nanites/antiviral
name = "Enhanced Error Correction"
desc = "The nanites self-propagate and replicate their program storage memory, preventing viral takeovers."
id = "antiviral_nanites"
program_type = /datum/nanite_program/lockout/antiviral
category = list("Utility Nanites")
/datum/design/nanites/hostile_lockdown
name = "Hostile Lockdown"
desc = "The nanites constantly encrypt and scramble their own control sectors, preventing consoles from controlling them. Furthermore, \
if the host happens to be a synthetic organism with innate control over nanite strains, this will prevent them from acting on the nanites as well."
id = "hostile_lockdown"
program_type = /datum/nanite_program/lockout/hostile_lockdown
category = list("Utility Nanites")
////////////////////MEDICAL NANITES//////////////////////////////////////
/datum/design/nanites/regenerative
name = "Accelerated Regeneration"
desc = "The nanites boost the host's natural regeneration, increasing their healing speed."
id = "regenerative_nanites"
program_type = /datum/nanite_program/regenerative
category = list("Medical Nanites")
/datum/design/nanites/regenerative_advanced
name = "Bio-Reconstruction"
desc = "The nanites manually repair and replace organic cells, acting much faster than normal regeneration. \
However, this program cannot detect the difference between harmed and unharmed, causing it to consume nanites even if it has no effect."
id = "regenerative_plus_nanites"
program_type = /datum/nanite_program/regenerative_advanced
category = list("Medical Nanites")
/datum/design/nanites/temperature
name = "Temperature Adjustment"
desc = "The nanites adjust the host's internal temperature to an ideal level."
id = "temperature_nanites"
program_type = /datum/nanite_program/temperature
category = list("Medical Nanites")
/datum/design/nanites/purging
name = "Blood Purification"
desc = "The nanites purge toxins and chemicals from the host's bloodstream."
id = "purging_nanites"
program_type = /datum/nanite_program/purging
category = list("Medical Nanites")
/datum/design/nanites/purging_advanced
name = "Selective Blood Purification"
desc = "The nanites purge toxins and dangerous chemicals from the host's bloodstream, while ignoring beneficial chemicals. \
The added processing power required to analyze the chemicals severely increases the nanite consumption rate."
id = "purging_plus_nanites"
program_type = /datum/nanite_program/purging_advanced
category = list("Medical Nanites")
/datum/design/nanites/brain_heal
name = "Neural Regeneration"
desc = "The nanites fix neural connections in the host's brain, reversing brain damage and minor traumas."
id = "brainheal_nanites"
program_type = /datum/nanite_program/brain_heal
category = list("Medical Nanites")
/datum/design/nanites/brain_heal_advanced
name = "Neural Reimaging"
desc = "The nanites are able to backup and restore the host's neural connections, potentially replacing entire chunks of missing or damaged brain matter."
id = "brainheal_plus_nanites"
program_type = /datum/nanite_program/brain_heal_advanced
category = list("Medical Nanites")
/datum/design/nanites/blood_restoring
name = "Blood Regeneration"
desc = "The nanites stimulate and boost blood cell production in the host."
id = "bloodheal_nanites"
program_type = /datum/nanite_program/blood_restoring
category = list("Medical Nanites")
/datum/design/nanites/repairing
name = "Mechanical Repair"
desc = "The nanites fix damage in the host's mechanical limbs."
id = "repairing_nanites"
program_type = /datum/nanite_program/repairing
category = list("Medical Nanites")
/datum/design/nanites/defib
name = "Defibrillation"
desc = "The nanites, when triggered, send a defibrillating shock to the host's heart."
id = "defib_nanites"
program_type = /datum/nanite_program/defib
category = list("Medical Nanites")
////////////////////AUGMENTATION NANITES//////////////////////////////////////
/datum/design/nanites/nervous
name = "Nerve Support"
desc = "The nanites act as a secondary nervous system, reducing the amount of time the host is stunned."
id = "nervous_nanites"
program_type = /datum/nanite_program/nervous
category = list("Augmentation Nanites")
/datum/design/nanites/hardening
name = "Dermal Hardening"
desc = "The nanites form a mesh under the host's skin, protecting them from melee and bullet impacts."
id = "hardening_nanites"
program_type = /datum/nanite_program/hardening
category = list("Augmentation Nanites")
/datum/design/nanites/refractive
name = "Dermal Refractive Surface"
desc = "The nanites form a membrane above the host's skin, reducing the effect of laser and energy impacts."
id = "refractive_nanites"
program_type = /datum/nanite_program/refractive
category = list("Augmentation Nanites")
/datum/design/nanites/coagulating
name = "Vein Repressurization"
desc = "The nanites re-route circulating blood away from open wounds, dramatically reducing bleeding rate."
id = "coagulating_nanites"
program_type = /datum/nanite_program/coagulating
category = list("Augmentation Nanites")
/datum/design/nanites/conductive
name = "Electric Conduction"
desc = "The nanites act as a grounding rod for electric shocks, protecting the host. Shocks can still damage the nanites themselves."
id = "conductive_nanites"
program_type = /datum/nanite_program/conductive
category = list("Augmentation Nanites")
/datum/design/nanites/adrenaline
name = "Adrenaline Burst"
desc = "The nanites cause a burst of adrenaline when triggered, waking the host from stuns and temporarily increasing their speed."
id = "adrenaline_nanites"
program_type = /datum/nanite_program/adrenaline
category = list("Augmentation Nanites")
/datum/design/nanites/mindshield
name = "Mental Barrier"
desc = "The nanites form a protective membrane around the host's brain, shielding them from abnormal influences while they're active."
id = "mindshield_nanites"
program_type = /datum/nanite_program/mindshield
category = list("Augmentation Nanites")
////////////////////DEFECTIVE NANITES//////////////////////////////////////
/datum/design/nanites/glitch
name = "Glitch"
desc = "A heavy software corruption that causes nanites to gradually break down."
id = "glitch_nanites"
program_type = /datum/nanite_program/glitch
category = list("Defective Nanites")
/datum/design/nanites/necrotic
name = "Necrosis"
desc = "The nanites attack internal tissues indiscriminately, causing widespread damage."
id = "necrotic_nanites"
program_type = /datum/nanite_program/necrotic
category = list("Defective Nanites")
/datum/design/nanites/toxic
name = "Toxin Buildup"
desc = "The nanites cause a slow but constant toxin buildup inside the host."
id = "toxic_nanites"
program_type = /datum/nanite_program/toxic
category = list("Defective Nanites")
/datum/design/nanites/suffocating
name = "Hypoxemia"
desc = "The nanites prevent the host's blood from absorbing oxygen efficiently."
id = "suffocating_nanites"
program_type = /datum/nanite_program/suffocating
category = list("Defective Nanites")
/datum/design/nanites/brain_misfire
name = "Brain Misfire"
desc = "The nanites interfere with neural pathways, causing minor psychological disturbances."
id = "brainmisfire_nanites"
program_type = /datum/nanite_program/brain_misfire
category = list("Defective Nanites")
/datum/design/nanites/skin_decay
name = "Dermalysis"
desc = "The nanites attack skin cells, causing irritation, rashes, and minor damage."
id = "skindecay_nanites"
program_type = /datum/nanite_program/skin_decay
category = list("Defective Nanites")
/datum/design/nanites/nerve_decay
name = "Nerve Decay"
desc = "The nanites attack the host's nerves, causing lack of coordination and short bursts of paralysis."
id = "nervedecay_nanites"
program_type = /datum/nanite_program/nerve_decay
category = list("Defective Nanites")
/datum/design/nanites/brain_decay
name = "Brain-Eating Nanites"
desc = "Damages brain cells, gradually decreasing the host's cognitive functions."
id = "braindecay_nanites"
program_type = /datum/nanite_program/brain_decay
category = list("Defective Nanites")
////////////////////WEAPONIZED NANITES/////////////////////////////////////
/datum/design/nanites/flesh_eating
name = "Cellular Breakdown"
desc = "The nanites destroy cellular structures in the host's body, causing brute damage."
id = "flesheating_nanites"
program_type = /datum/nanite_program/flesh_eating
category = list("Weaponized Nanites")
/datum/design/nanites/poison
name = "Poisoning"
desc = "The nanites deliver poisonous chemicals to the host's internal organs, causing toxin damage and vomiting."
id = "poison_nanites"
program_type = /datum/nanite_program/poison
category = list("Weaponized Nanites")
/datum/design/nanites/memory_leak
name = "Memory Leak"
desc = "This program invades the memory space used by other programs, causing frequent corruptions and errors."
id = "memleak_nanites"
program_type = /datum/nanite_program/memory_leak
category = list("Weaponized Nanites")
/datum/design/nanites/aggressive_replication
name = "Aggressive Replication"
desc = "Nanites will consume organic matter to improve their replication rate, damaging the host."
id = "aggressive_nanites"
program_type = /datum/nanite_program/aggressive_replication
category = list("Weaponized Nanites")
/datum/design/nanites/meltdown
name = "Meltdown"
desc = "Causes an internal meltdown inside the nanites, causing internal burns inside the host as well as rapidly destroying the nanite population.\
Sets the nanites' safety threshold to 0 when activated."
id = "meltdown_nanites"
program_type = /datum/nanite_program/meltdown
category = list("Weaponized Nanites")
/datum/design/nanites/cryo
name = "Cryogenic Treatment"
desc = "The nanites rapidly skin heat through the host's skin, lowering their temperature."
id = "cryo_nanites"
program_type = /datum/nanite_program/cryo
category = list("Weaponized Nanites")
/datum/design/nanites/pyro
name = "Sub-Dermal Combustion"
desc = "The nanites cause buildup of flammable fluids under the host's skin, then ignites them."
id = "pyro_nanites"
program_type = /datum/nanite_program/pyro
category = list("Weaponized Nanites")
/datum/design/nanites/heart_stop
name = "Heart-Stopper"
desc = "Stops the host's heart when triggered; restarts it if triggered again."
id = "heartstop_nanites"
program_type = /datum/nanite_program/heart_stop
category = list("Weaponized Nanites")
/datum/design/nanites/explosive
name = "Chain Detonation"
desc = "Blows up all the nanites inside the host in a chain reaction when triggered."
id = "explosive_nanites"
program_type = /datum/nanite_program/explosive
category = list("Weaponized Nanites")
/datum/design/nanites/mind_control
name = "Mind Control"
desc = "The nanites imprint an absolute directive onto the host's brain while they're active."
id = "mindcontrol_nanites"
program_type = /datum/nanite_program/comm/mind_control
category = list("Weaponized Nanites")
////////////////////SUPPRESSION NANITES//////////////////////////////////////
/datum/design/nanites/shock
name = "Electric Shock"
desc = "The nanites shock the host when triggered. Destroys a large amount of nanites!"
id = "shock_nanites"
program_type = /datum/nanite_program/shocking
category = list("Suppression Nanites")
/datum/design/nanites/stun
name = "Neural Shock"
desc = "The nanites pulse the host's nerves when triggered, inapacitating them for a short period."
id = "stun_nanites"
program_type = /datum/nanite_program/stun
category = list("Suppression Nanites")
/datum/design/nanites/sleepy
name = "Sleep Induction"
desc = "The nanites cause rapid narcolepsy when triggered."
id = "sleep_nanites"
program_type = /datum/nanite_program/sleepy
category = list("Suppression Nanites")
/datum/design/nanites/paralyzing
name = "Paralysis"
desc = "The nanites actively suppress nervous pulses, effectively paralyzing the host."
id = "paralyzing_nanites"
program_type = /datum/nanite_program/paralyzing
category = list("Suppression Nanites")
/datum/design/nanites/fake_death
name = "Death Simulation"
desc = "The nanites induce a death-like coma into the host, able to fool most medical scans."
id = "fakedeath_nanites"
program_type = /datum/nanite_program/fake_death
category = list("Suppression Nanites")
/datum/design/nanites/pacifying
name = "Pacification"
desc = "The nanites suppress the aggression center of the brain, preventing the host from causing direct harm to others."
id = "pacifying_nanites"
program_type = /datum/nanite_program/pacifying
category = list("Suppression Nanites")
/datum/design/nanites/blinding
name = "Blindness"
desc = "The nanites suppress the host's ocular nerves, blinding them while they're active."
id = "blinding_nanites"
program_type = /datum/nanite_program/blinding
category = list("Suppression Nanites")
/datum/design/nanites/mute
name = "Mute"
desc = "The nanites suppress the host's speech, making them mute while they're active."
id = "mute_nanites"
program_type = /datum/nanite_program/mute
category = list("Suppression Nanites")
/datum/design/nanites/voice
name = "Skull Echo"
desc = "The nanites echo a synthesized message inside the host's skull."
id = "voice_nanites"
program_type = /datum/nanite_program/comm/voice
category = list("Suppression Nanites")
/datum/design/nanites/speech
name = "Forced Speech"
desc = "The nanites force the host to say a pre-programmed sentence when triggered."
id = "speech_nanites"
program_type = /datum/nanite_program/comm/speech
category = list("Suppression Nanites")
/datum/design/nanites/hallucination
name = "Hallucination"
desc = "The nanites make the host see and hear things that aren't real."
id = "hallucination_nanites"
program_type = /datum/nanite_program/comm/hallucination
category = list("Suppression Nanites")
/datum/design/nanites/good_mood
name = "Happiness Enhancer"
desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness."
id = "good_mood_nanites"
program_type = /datum/nanite_program/good_mood
category = list("Suppression Nanites")
/datum/design/nanites/bad_mood
name = "Happiness Suppressor"
desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression."
id = "bad_mood_nanites"
program_type = /datum/nanite_program/bad_mood
category = list("Suppression Nanites")
////////////////////SENSOR NANITES//////////////////////////////////////
/datum/design/nanites/sensor_health
name = "Health Sensor"
desc = "The nanites receive a signal when the host's health is above/below a certain percentage."
id = "sensor_health_nanites"
program_type = /datum/nanite_program/sensor/health
category = list("Sensor Nanites")
/datum/design/nanites/sensor_damage
name = "Damage Sensor"
desc = "The nanites receive a signal when a host's specific damage type is above/below a target value."
id = "sensor_damage_nanites"
program_type = /datum/nanite_program/sensor/damage
category = list("Sensor Nanites")
/datum/design/nanites/sensor_crit
name = "Critical Health Sensor"
desc = "The nanites receive a signal when the host first reaches critical health."
id = "sensor_crit_nanites"
program_type = /datum/nanite_program/sensor/crit
category = list("Sensor Nanites")
/datum/design/nanites/sensor_death
name = "Death Sensor"
desc = "The nanites receive a signal when they detect the host is dead."
id = "sensor_death_nanites"
program_type = /datum/nanite_program/sensor/death
category = list("Sensor Nanites")
/datum/design/nanites/sensor_voice
name = "Voice Sensor"
desc = "Sends a signal when the nanites hear a determined word or sentence."
id = "sensor_voice_nanites"
program_type = /datum/nanite_program/sensor/voice
category = list("Sensor Nanites")
/datum/design/nanites/sensor_nanite_volume
name = "Nanite Volume Sensor"
desc = "The nanites receive a signal when the nanite supply is above/below a certain percentage."
id = "sensor_nanite_volume"
program_type = /datum/nanite_program/sensor/nanite_volume
category = list("Sensor Nanites")
////////////////////NANITE PROTOCOLS//////////////////////////////////////
//Note about the category name: The UI cuts the last 8 characters from the category name to remove the " Nanites" in the other categories
//Because of this, Protocols was getting cut down to "P", so i had to add some padding
/datum/design/nanites/kickstart
name = "Kickstart Protocol"
desc = "Replication Protocol: the nanites focus on early growth, heavily boosting replication rate for a few minutes after the initial implantation."
id = "kickstart_nanites"
program_type = /datum/nanite_program/protocol/kickstart
category = list("Protocols_Nanites")
/datum/design/nanites/factory
name = "Factory Protocol"
desc = "Replication Protocol: the nanites build a factory matrix within the host, gradually increasing replication speed over time. The factory decays if the protocol is not active."
id = "factory_nanites"
program_type = /datum/nanite_program/protocol/factory
category = list("Protocols_Nanites")
/datum/design/nanites/pyramid
name = "Pyramid Protocol"
desc = "Replication Protocol: the nanites implement an alternate cooperative replication protocol that is more efficient as long as the saturation level is above 80%."
id = "pyramid_nanites"
program_type = /datum/nanite_program/protocol/pyramid
category = list("Protocols_Nanites")
/datum/design/nanites/offline
name = "Eclipse Protocol"
desc = "Replication Protocol: while the host is asleep or otherwise unconcious, the nanites exploit the reduced interference to replicate more quickly."
id = "offline_nanites"
program_type = /datum/nanite_program/protocol/offline
category = list("Protocols_Nanites")
/datum/design/nanites/synergy
name = "Synergy Protocol"
desc = "Replication Protocol: the nanites syncronize their tasks and processes within a host, leading to an increase in replication speed proportional to the current nanite volume."
id = "synergy_nanites"
program_type = /datum/nanite_program/protocol/synergy
category = list("Protocols_Nanites")
/datum/design/nanites/hive
name = "Hive Protocol"
desc = "Storage Protocol: the nanites use a more efficient grid arrangment for volume storage, increasing maximum volume in a host."
id = "hive_nanites"
program_type = /datum/nanite_program/protocol/hive
category = list("Protocols_Nanites")
/datum/design/nanites/zip
name = "Zip Protocol"
desc = "Storage Protocol: the nanites are disassembled and compacted when unused, greatly increasing the maximum volume while in a host. However, the process slows down the replication rate slightly."
id = "zip_nanites"
program_type = /datum/nanite_program/protocol/zip
category = list("Protocols_Nanites")
/datum/design/nanites/free_range
name = "Free-range Protocol"
desc = "Storage Protocol: the nanites discard their default storage protocols in favour of a cheaper and more organic approach. Reduces maximum volume, but increases the replication rate."
id = "free_range_nanites"
program_type = /datum/nanite_program/protocol/free_range
category = list("Protocols_Nanites")
/datum/design/nanites/unsafe_storage
name = "S.L.O. Protocol"
desc = "Storage Protocol: 'S.L.O.P.', or Storage Level Override Protocol, completely disables the safety measures normally present in nanites,\
allowing them to reach much higher saturation levels, but at the risk of causing internal damage to the host."
id = "unsafe_storage_nanites"
program_type = /datum/nanite_program/protocol/unsafe_storage
category = list("Protocols_Nanites")