Pinpointer refactor (#19156)

* Pinpointer refactor

* Gives operatives the proper pinpointers

* Improves operative and AI tracking a bit

* Bashing people over minor mistakes is the new thing

* Replaces some more strings with defines

* Makes operative tracking actually functional

* Improves operative tracking

* Conflicts I

* Conflicts III

* Conflicts I

* Conflicts III

* Adds two new tracking modes

* Fixes a grammar error
This commit is contained in:
Xhuis
2016-07-13 12:03:36 +12:00
committed by oranges
parent 10ad8df67d
commit 82e2e8a844
11 changed files with 150 additions and 272 deletions
+3 -2
View File
@@ -24,8 +24,9 @@
if(nuking)
set_security_level("red")
nuking = FALSE
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
point.the_disk = null //Point back to the disk.
for(var/obj/item/weapon/pinpointer/P in pinpointer_list)
P.switch_mode_to(TRACK_NUKE_DISK) //Party's over, back to work, everyone
P.nuke_warning = FALSE
if(doomsday_device)
doomsday_device.timing = FALSE
@@ -336,7 +336,7 @@
modules += new /obj/item/weapon/gun/projectile/revolver/grenadelauncher/cyborg(src)
modules += new /obj/item/weapon/card/emag(src)
modules += new /obj/item/weapon/crowbar/cyborg(src)
modules += new /obj/item/weapon/pinpointer/operative(src)
modules += new /obj/item/weapon/pinpointer/syndicate/cyborg(src)
emag = null
fix_modules()
@@ -357,7 +357,7 @@
modules += new /obj/item/roller/robo(src)
modules += new /obj/item/weapon/card/emag(src)
modules += new /obj/item/weapon/crowbar/cyborg(src)
modules += new /obj/item/weapon/pinpointer/operative(src)
modules += new /obj/item/weapon/pinpointer/syndicate/cyborg(src)
emag = null
add_module(new /obj/item/stack/medical/gauze/cyborg())
+3 -11
View File
@@ -829,9 +829,6 @@
qdel(malf)
src.occupier.verbs += /mob/living/silicon/ai/proc/corereturn
src.occupier.cancel_camera()
if ((seclevel2num(get_security_level()) == SEC_LEVEL_DELTA) && malf.nuking)
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
point.the_disk = src //the pinpointer will detect the shunted AI
/obj/machinery/power/apc/proc/malfvacate(forced)
@@ -843,11 +840,6 @@
src.occupier.parent.adjustOxyLoss(src.occupier.getOxyLoss())
src.occupier.parent.cancel_camera()
qdel(src.occupier)
if (seclevel2num(get_security_level()) == SEC_LEVEL_DELTA)
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
for(var/mob/living/silicon/ai/A in ai_list)
if((A.stat != DEAD) && A.nuking)
point.the_disk = A //The pinpointer tracks the AI back into its core.
else
src.occupier << "<span class='danger'>Primary core damaged, unable to return core processes.</span>"
@@ -855,9 +847,9 @@
src.occupier.loc = src.loc
src.occupier.death()
src.occupier.gib()
for(var/obj/item/weapon/pinpointer/point in pinpointer_list)
point.the_disk = null //the pinpointer will go back to pointing at the nuke disc.
for(var/obj/item/weapon/pinpointer/P in pinpointer_list)
P.switch_mode_to(TRACK_NUKE_DISK) //Pinpointers go back to tracking the nuke disk
P.nuke_warning = FALSE
/obj/machinery/power/apc/surplus()
if(terminal)