mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-30 03:53:33 +00:00
refactors some disposals filtering code and remaps some disposals pipes
New things! /obj/structure/disposalpipe/tagger - retags a holder when it passes through /obj/structure/disposalpipe/tagger/partial - retags a holder when it passes through two times; good for loop detection /obj/structure/disposalpipe/sortjunction/wildcard - filters out all holders that are tagged /obj/structure/disposalpipe/sortjunction/untagged - filters out untagged holders Tagging doesn't use an icky list index system any more, tags are put into a global list and directly checked against. Changed the map around a bit, disposals is now a proper loop but anything that's not tagged, is tagged with "Disposals" or anything that passes the tagger twice will be filtered out. Not a feature, just a fix for drones being sad about weird disposals. <3
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
var/obj/item/weapon/matter_decompiler/decompiler = null
|
||||
|
||||
//Used for self-mailing.
|
||||
var/mail_destination = 0
|
||||
var/mail_destination = ""
|
||||
|
||||
/mob/living/silicon/robot/drone/New()
|
||||
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
set desc = "Tag yourself for delivery through the disposals system."
|
||||
set category = "Drone"
|
||||
|
||||
var/tag = input("Select the desired destination.", "Set Mail Tag", null) as null|anything in TAGGERLOCATIONS
|
||||
var/new_tag = input("Select the desired destination.", "Set Mail Tag", null) as null|anything in tagger_locations
|
||||
|
||||
if(!tag || TAGGERLOCATIONS[tag])
|
||||
mail_destination = 0
|
||||
if(!new_tag)
|
||||
mail_destination = ""
|
||||
return
|
||||
|
||||
src << "\blue You configure your internal beacon, tagging yourself for delivery to '[tag]'."
|
||||
mail_destination = TAGGERLOCATIONS.Find(tag)
|
||||
src << "\blue You configure your internal beacon, tagging yourself for delivery to '[new_tag]'."
|
||||
mail_destination = new_tag
|
||||
|
||||
//Auto flush if we use this verb inside a disposal chute.
|
||||
var/obj/machinery/disposal/D = src.loc
|
||||
|
||||
@@ -60,9 +60,9 @@
|
||||
if (href_list["setarea"])
|
||||
|
||||
//Probably should consider using another list, but this one will do.
|
||||
var/t_area = input("Select the area to ping.", "Set Target Area", null) as null|anything in TAGGERLOCATIONS
|
||||
var/t_area = input("Select the area to ping.", "Set Target Area", null) as null|anything in tagger_locations
|
||||
|
||||
if(!t_area || TAGGERLOCATIONS[t_area])
|
||||
if(!t_area)
|
||||
return
|
||||
|
||||
drone_call_area = t_area
|
||||
|
||||
Reference in New Issue
Block a user