diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm index c9b94996c7..c1e0962d5c 100644 --- a/code/modules/nifsoft/nif.dm +++ b/code/modules/nifsoft/nif.dm @@ -35,6 +35,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable var/tmp/list/nifsofts[TOTAL_NIF_SOFTWARE] // All our nifsofts var/tmp/list/nifsofts_life = list() // Ones that want to be talked to on life() var/owner // Owner character name + var/owner_key // Account associated with the nif var/examine_msg //Message shown on examine. var/tmp/vision_flags = 0 // Flags implants set for faster lookups @@ -155,6 +156,7 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable return if(H.mind) owner = H.mind.name + owner_key = H.ckey implant(H) return TRUE @@ -284,10 +286,12 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable //Firsties if(!install_done) if(human.mind.name == owner) + owner_key = human.ckey install_done = world.time + 1 MINUTE notify("Welcome back, [owner]! Performing quick-calibration...") else if(!owner) install_done = world.time + 15 MINUTES // CHOMPedit: Install time from 35 minutes to 15 minutes. + owner_key = human.ckey notify("Adapting to new user...") sleep(5 SECONDS) notify("Adjoining optic [human.isSynthetic() ? "interface" : "nerve"], please be patient.",TRUE) diff --git a/code/modules/vore/persist/persist_vr.dm b/code/modules/vore/persist/persist_vr.dm index a1ab69c506..03a6088ff7 100644 --- a/code/modules/vore/persist/persist_vr.dm +++ b/code/modules/vore/persist/persist_vr.dm @@ -221,6 +221,9 @@ var/obj/item/device/nif/nif = H.nif + if(H.ckey != nif.owner_key) + return + //If they have one, and if it's not installing without an owner, because //Someone who joins and immediately leaves again (wrong job choice, maybe) //should keep it even though it was probably doing the quick-calibrate, and their