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."