This commit is contained in:
Ghommie
2019-08-24 19:05:51 +02:00
763 changed files with 18834 additions and 6252 deletions
@@ -115,4 +115,10 @@
qdel(disk.program)
disk.program = null
disk.name = initial(disk.name)
. = TRUE
. = TRUE
/obj/machinery/nanite_program_hub/admin/Initialize()
. = ..()
linked_techweb = SSresearch.admin_tech
@@ -49,14 +49,14 @@
. = ..()
if(ishuman(host_mob))
var/mob/living/carbon/human/H = host_mob
H.physiology.armor.melee += 50
H.physiology.armor.melee += 35
H.physiology.armor.bullet += 35
/datum/nanite_program/hardening/disable_passive_effect()
. = ..()
if(ishuman(host_mob))
var/mob/living/carbon/human/H = host_mob
H.physiology.armor.melee -= 50
H.physiology.armor.melee -= 35
H.physiology.armor.bullet -= 35
/datum/nanite_program/refractive
@@ -69,14 +69,14 @@
. = ..()
if(ishuman(host_mob))
var/mob/living/carbon/human/H = host_mob
H.physiology.armor.laser += 50
H.physiology.armor.laser += 35
H.physiology.armor.energy += 35
/datum/nanite_program/refractive/disable_passive_effect()
. = ..()
if(ishuman(host_mob))
var/mob/living/carbon/human/H = host_mob
H.physiology.armor.laser -= 50
H.physiology.armor.laser -= 35
H.physiology.armor.energy -= 35
/datum/nanite_program/coagulating
@@ -127,4 +127,4 @@
/datum/nanite_program/mindshield/disable_passive_effect()
. = ..()
REMOVE_TRAIT(host_mob, TRAIT_MINDSHIELD, "nanites")
host_mob.sec_hud_set_implants()
host_mob.sec_hud_set_implants()
@@ -48,7 +48,7 @@
/datum/nanite_program/purging
name = "Blood Purification"
desc = "The nanites purge toxins and chemicals from the host's bloodstream."
desc = "The nanites purge toxins and chemicals from the host's bloodstream, however it is dangerous to slimepeople biology due to inaccuracy."
use_rate = 1
rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic)
@@ -93,7 +93,7 @@
/datum/nanite_program/blood_restoring/check_conditions()
if(iscarbon(host_mob))
var/mob/living/carbon/C = host_mob
if(C.blood_volume >= BLOOD_VOLUME_SAFE)
if(C.blood_volume >= (BLOOD_VOLUME_SAFE*C.blood_ratio))
return FALSE
else
return FALSE
@@ -143,7 +143,7 @@
/datum/nanite_program/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."
The added processing power required to analyze the chemicals severely increases the nanite consumption rate. Due to added complexity, it is safe with slimepeople biology."
use_rate = 2
rogue_types = list(/datum/nanite_program/suffocating, /datum/nanite_program/necrotic)
@@ -157,7 +157,7 @@
return ..()
/datum/nanite_program/purging_advanced/active_effect()
host_mob.adjustToxLoss(-1)
host_mob.adjustToxLoss(-1, forced = TRUE)
for(var/datum/reagent/toxin/R in host_mob.reagents.reagent_list)
host_mob.reagents.remove_reagent(R.id,1)
@@ -256,4 +256,3 @@
log_game("[C] has been successfully defibrillated by nanites.")
else
playsound(C, 'sound/machines/defib_failed.ogg', 50, 0)
@@ -190,13 +190,13 @@
if(!iscarbon(host_mob))
return FALSE
var/mob/living/carbon/C = host_mob
if(C.nutrition <= NUTRITION_LEVEL_WELL_FED)
if(C.nutrition <= NUTRITION_LEVEL_STARVING)
return FALSE
return ..()
/datum/nanite_program/metabolic_synthesis/active_effect()
host_mob.nutrition -= 0.5
nanites.adjust_nanites(0.5)
nanites.adjust_nanites(src, 0.5)
/datum/nanite_program/triggered/access
name = "Subdermal ID"
@@ -46,13 +46,13 @@
/datum/nanite_program/aggressive_replication
name = "Aggressive Replication"
desc = "Nanites will consume organic matter to improve their replication rate, damaging the host. The efficiency increases with the volume of nanites, requiring 200 to break even."
use_rate = 1
use_rate = 0
rogue_types = list(/datum/nanite_program/necrotic)
/datum/nanite_program/aggressive_replication/active_effect()
var/extra_regen = round(nanites.nanite_volume / 200, 0.1)
nanites.adjust_nanites(extra_regen)
host_mob.adjustBruteLoss(extra_regen / 2, TRUE)
var/extra_regen = round(nanites.nanite_volume / 50, 0.1)
nanites.adjust_nanites(src, extra_regen)
host_mob.adjustBruteLoss(extra_regen / 3, TRUE)
/datum/nanite_program/meltdown
name = "Meltdown"
@@ -89,10 +89,9 @@
/datum/nanite_program/triggered/explosive/proc/boom()
var/nanite_amount = nanites.nanite_volume
var/dev_range = FLOOR(nanite_amount/200, 1) - 1
var/heavy_range = FLOOR(nanite_amount/100, 1) - 1
var/light_range = FLOOR(nanite_amount/50, 1) - 1
explosion(host_mob, dev_range, heavy_range, light_range)
explosion(host_mob, 0, heavy_range, light_range)
qdel(nanites)
//TODO make it defuse if triggered again
@@ -197,4 +196,4 @@
if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed))
host_mob.mind.remove_antag_datum(/datum/antagonist/brainwashed)
log_game("[key_name(host_mob)] is no longer brainwashed by nanites.")
cooldown = world.time + 450
cooldown = world.time + 450