diff --git a/code/modules/mob/living/carbon/breathe.dm b/code/modules/mob/living/carbon/breathe.dm
index 403088dc4b..8dffa60d1e 100644
--- a/code/modules/mob/living/carbon/breathe.dm
+++ b/code/modules/mob/living/carbon/breathe.dm
@@ -23,7 +23,7 @@
//Okay, we can breathe, now check if we can get air
breath = get_breath_from_internal() //First, check for air from internals
//VOREStation Add - Respirocytes as a NIF implant
- if(ishuman(src))
+ if(!breath && ishuman(src))
var/mob/living/carbon/human/H = src
if(H.nif && H.nif.flag_check(NIF_H_SPAREBREATH,NIF_FLAGS_HEALTH))
var/datum/nifsoft/spare_breath/SB = H.nif.imp_check(NIF_SPAREBREATH)
diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm
index dc958718cc..e8f4976f48 100644
--- a/code/modules/nifsoft/nif.dm
+++ b/code/modules/nifsoft/nif.dm
@@ -63,6 +63,7 @@
WARNING("NIF spawned in [H] failed to implant")
spawn(0)
qdel(src)
+ return FALSE
else
//Free commlink for return customers
new /datum/nifsoft/commlink(src)
@@ -122,7 +123,7 @@
return FALSE
-//Being implanted in some mob
+//Being removed from some mob
/obj/item/device/nif/proc/unimplant(var/mob/living/carbon/human/H)
human = null
stat = NIF_PREINSTALL
@@ -232,7 +233,7 @@
var/percent_done = (world.time - (install_done - (30 MINUTES))) / (30 MINUTES)
- human.client.screen.Add(global_hud.whitense)
+ human.client.screen.Add(global_hud.whitense) //This is the camera static
switch(percent_done) //This is 0.0 to 1.0 kinda percent.
//Connecting to optical nerves
@@ -369,7 +370,7 @@
//Uninstall a piece of software
/obj/item/device/nif/proc/uninstall(var/datum/nifsoft/old_soft)
- var/datum/nifsoft/NS = old_soft.list_pos
+ var/datum/nifsoft/NS = nifsofts[old_soft.list_pos]
if(!NS || NS != old_soft)
return FALSE //what??
diff --git a/code/modules/nifsoft/nif_statpanel.dm b/code/modules/nifsoft/nif_statpanel.dm
index 4ddba7a3c9..23b5aca0b1 100644
--- a/code/modules/nifsoft/nif_statpanel.dm
+++ b/code/modules/nifsoft/nif_statpanel.dm
@@ -19,7 +19,7 @@
nif_status += " ([round((nif.durability/initial(nif.durability))*100)]%)"
stat("NIF Status", nif_status)
- if(!nif.stat)
+ if(nif.stat == NIF_WORKING)
stat("- Modules -", "LMB: Toggle, Shift+LMB: Info/Uninstall")
for(var/nifsoft in nif.nifsofts)
if(!nifsoft) continue
diff --git a/code/modules/nifsoft/nifsoft.dm b/code/modules/nifsoft/nifsoft.dm
index f86e0150e3..0703adfab4 100644
--- a/code/modules/nifsoft/nifsoft.dm
+++ b/code/modules/nifsoft/nifsoft.dm
@@ -8,7 +8,7 @@
var/list_pos // List position in the nifsoft list
var/cost = 1000 // Cost in cash of buying this software from a terminal
- //TODO - While coding
+
var/vended = TRUE // This is available in NIFSoft Shops at the start of the game
var/wear = 1 // The wear (+/- 10% when applied) that this causes to the NIF
var/access // What access they need to buy it, can only set one for ~reasons~
@@ -72,6 +72,8 @@
//Called when attempting to activate an implant (could be a 'pulse' activation or toggling it on)
/datum/nifsoft/proc/activate()
+ if(active)
+ return
var/nif_result = nif.activate(src)
if(nif_result)
active = TRUE
@@ -79,6 +81,8 @@
//Called when attempting to deactivate an implant
/datum/nifsoft/proc/deactivate()
+ if(!active)
+ return
var/nif_result = nif.deactivate(src)
if(nif_result)
active = FALSE
@@ -150,7 +154,7 @@
return
Ht.visible_message("[Hu] begins uploading new NIFSoft into [Ht]!","[Hu] is uploading new NIFSoft into you!")
- if(do_after(Ht,10 SECONDS,Hu))
+ if(do_after(Hu,10 SECONDS,Ht))
var/extra = extra_params()
new stored(Ht.nif,extra)
qdel(src)
diff --git a/code/modules/nifsoft/software/05_health.dm b/code/modules/nifsoft/software/05_health.dm
index 1d606d2653..70b28bce52 100644
--- a/code/modules/nifsoft/software/05_health.dm
+++ b/code/modules/nifsoft/software/05_health.dm
@@ -1,4 +1,3 @@
-// #define NIF_CREWMONITOR 14
/datum/nifsoft/crewmonitor
name = "Crew Monitor"
desc = "A link to the local crew monitor sensors. Useful for finding people in trouble."
diff --git a/code/modules/nifsoft/software/10_combat.dm b/code/modules/nifsoft/software/10_combat.dm
index 38fe1b86e2..fa5e40f393 100644
--- a/code/modules/nifsoft/software/10_combat.dm
+++ b/code/modules/nifsoft/software/10_combat.dm
@@ -1,7 +1,3 @@
-/*
-#define NIF_HIDDENLASER 22
-*/
-
/datum/nifsoft/brute_armor
name = "Bullhide Mod"
desc = "A difficult-to-produce thickening of the dermis and skeletal structure, allowing a user to absorb more external trauma from physical sources."