mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
ports researching boosting nanites (#9451)
* Update utility.dm * Update nanite_designs.dm * Update all_nodes.dm * Update nanites.dm
This commit is contained in:
@@ -6,7 +6,8 @@ PROCESSING_SUBSYSTEM_DEF(nanites)
|
|||||||
var/list/datum/nanite_cloud_backup/cloud_backups = list()
|
var/list/datum/nanite_cloud_backup/cloud_backups = list()
|
||||||
var/list/mob/living/nanite_monitored_mobs = list()
|
var/list/mob/living/nanite_monitored_mobs = list()
|
||||||
var/list/datum/nanite_program/relay/nanite_relays = list()
|
var/list/datum/nanite_program/relay/nanite_relays = list()
|
||||||
|
var/neural_network_count = 0
|
||||||
|
|
||||||
/datum/controller/subsystem/processing/nanites/proc/check_hardware(datum/nanite_cloud_backup/backup)
|
/datum/controller/subsystem/processing/nanites/proc/check_hardware(datum/nanite_cloud_backup/backup)
|
||||||
if(QDELETED(backup.storage) || (backup.storage.stat & (NOPOWER|BROKEN)))
|
if(QDELETED(backup.storage) || (backup.storage.stat & (NOPOWER|BROKEN)))
|
||||||
return FALSE
|
return FALSE
|
||||||
@@ -18,4 +19,4 @@ PROCESSING_SUBSYSTEM_DEF(nanites)
|
|||||||
if(!force && !check_hardware(backup))
|
if(!force && !check_hardware(backup))
|
||||||
return
|
return
|
||||||
if(backup.cloud_id == cloud_id)
|
if(backup.cloud_id == cloud_id)
|
||||||
return backup
|
return backup
|
||||||
|
|||||||
@@ -25,6 +25,20 @@
|
|||||||
program_type = /datum/nanite_program/viral
|
program_type = /datum/nanite_program/viral
|
||||||
category = list("Utility Nanites")
|
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
|
/datum/design/nanites/monitoring
|
||||||
name = "Monitoring"
|
name = "Monitoring"
|
||||||
desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network."
|
desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network."
|
||||||
|
|||||||
@@ -207,6 +207,53 @@
|
|||||||
/datum/nanite_program/metabolic_synthesis/active_effect()
|
/datum/nanite_program/metabolic_synthesis/active_effect()
|
||||||
host_mob.adjust_nutrition(-0.5)
|
host_mob.adjust_nutrition(-0.5)
|
||||||
|
|
||||||
|
/datum/nanite_program/research
|
||||||
|
name = "Distributed Computing"
|
||||||
|
desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation."
|
||||||
|
use_rate = 0.2
|
||||||
|
rogue_types = list(/datum/nanite_program/toxic)
|
||||||
|
|
||||||
|
/datum/nanite_program/research/active_effect()
|
||||||
|
if(!iscarbon(host_mob))
|
||||||
|
return
|
||||||
|
var/points = 1
|
||||||
|
if(!host_mob.client) //less brainpower
|
||||||
|
points *= 0.25
|
||||||
|
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points))
|
||||||
|
|
||||||
|
/datum/nanite_program/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."
|
||||||
|
use_rate = 0.3
|
||||||
|
rogue_types = list(/datum/nanite_program/brain_decay)
|
||||||
|
|
||||||
|
/datum/nanite_program/researchplus/enable_passive_effect()
|
||||||
|
. = ..()
|
||||||
|
if(!iscarbon(host_mob))
|
||||||
|
return
|
||||||
|
if(host_mob.client)
|
||||||
|
SSnanites.neural_network_count++
|
||||||
|
else
|
||||||
|
SSnanites.neural_network_count += 0.25
|
||||||
|
|
||||||
|
/datum/nanite_program/researchplus/disable_passive_effect()
|
||||||
|
. = ..()
|
||||||
|
if(!iscarbon(host_mob))
|
||||||
|
return
|
||||||
|
if(host_mob.client)
|
||||||
|
SSnanites.neural_network_count--
|
||||||
|
else
|
||||||
|
SSnanites.neural_network_count -= 0.25
|
||||||
|
|
||||||
|
/datum/nanite_program/researchplus/active_effect()
|
||||||
|
if(!iscarbon(host_mob))
|
||||||
|
return
|
||||||
|
var/mob/living/carbon/C = host_mob
|
||||||
|
var/points = round(SSnanites.neural_network_count / 12, 0.1)
|
||||||
|
if(!C.client) //less brainpower
|
||||||
|
points *= 0.25
|
||||||
|
SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points))
|
||||||
|
|
||||||
/datum/nanite_program/triggered/access
|
/datum/nanite_program/triggered/access
|
||||||
name = "Subdermal ID"
|
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."
|
desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access."
|
||||||
|
|||||||
@@ -931,7 +931,7 @@
|
|||||||
display_name = "Smart Nanite Programming"
|
display_name = "Smart Nanite Programming"
|
||||||
description = "Nanite programs that require nanites to perform complex actions, act independently, roam or seek targets."
|
description = "Nanite programs that require nanites to perform complex actions, act independently, roam or seek targets."
|
||||||
prereq_ids = list("nanite_base","adv_robotics")
|
prereq_ids = list("nanite_base","adv_robotics")
|
||||||
design_ids = list("purging_nanites", "metabolic_nanites", "stealth_nanites", "memleak_nanites","sensor_voice_nanites", "voice_nanites")
|
design_ids = list("purging_nanites", "research_nanites", "metabolic_nanites", "stealth_nanites", "memleak_nanites","sensor_voice_nanites", "voice_nanites")
|
||||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
|
||||||
export_price = 4000
|
export_price = 4000
|
||||||
|
|
||||||
@@ -977,7 +977,7 @@
|
|||||||
display_name = "Harmonic Nanite Programming"
|
display_name = "Harmonic Nanite Programming"
|
||||||
description = "Nanite programs that require seamless integration between nanites and biology."
|
description = "Nanite programs that require seamless integration between nanites and biology."
|
||||||
prereq_ids = list("nanite_bio","nanite_smart","nanite_mesh")
|
prereq_ids = list("nanite_bio","nanite_smart","nanite_mesh")
|
||||||
design_ids = list("fakedeath_nanites","aggressive_nanites","defib_nanites","regenerative_plus_nanites","brainheal_plus_nanites","purging_plus_nanites","adrenaline_nanites")
|
design_ids = list("fakedeath_nanites","researchplus_nanites","aggressive_nanites","defib_nanites","regenerative_plus_nanites","brainheal_plus_nanites","purging_plus_nanites","adrenaline_nanites")
|
||||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
||||||
export_price = 8000
|
export_price = 8000
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user