mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-11 10:11:09 +00:00
Fixes a minor oversight with eigenstasium (#58069)
This commit is contained in:
@@ -366,6 +366,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
|
||||
///Marks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.
|
||||
#define TRAIT_MAT_TRANSMUTED "transmuted"
|
||||
|
||||
///If the item will block the cargo shuttle from flying to centcom
|
||||
#define TRAIT_BANNED_FROM_CARGO_SHUTTLE "banned_from_cargo_shuttle"
|
||||
|
||||
// item traits
|
||||
#define TRAIT_NODROP "nodrop"
|
||||
/// cannot be inserted in a storage.
|
||||
|
||||
@@ -41,6 +41,7 @@ SUBSYSTEM_DEF(eigenstates)
|
||||
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/remove_eigen_entry)
|
||||
RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), .proc/tool_interact)
|
||||
target.RegisterSignal(target, COMSIG_EIGENSTATE_ACTIVATE, /obj/structure/closet/proc/bust_open)
|
||||
ADD_TRAIT(target, TRAIT_BANNED_FROM_CARGO_SHUTTLE, src)
|
||||
var/obj/item = target
|
||||
if(item)
|
||||
item.color = COLOR_PERIWINKLEE //Tint the locker slightly.
|
||||
@@ -73,6 +74,7 @@ SUBSYSTEM_DEF(eigenstates)
|
||||
COMSIG_CLOSET_INSERT,
|
||||
COMSIG_ATOM_TOOL_ACT(TOOL_WELDER),
|
||||
))
|
||||
REMOVE_TRAIT(entry, TRAIT_BANNED_FROM_CARGO_SHUTTLE, src)
|
||||
entry.UnregisterSignal(entry, COMSIG_EIGENSTATE_ACTIVATE) //This is a signal on the object itself so we have to call it from that
|
||||
///Remove the current entry if we're empty
|
||||
for(var/targets in eigen_targets)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
var/self_paid = FALSE
|
||||
var/safety_warning = "For safety reasons, the automated supply shuttle \
|
||||
cannot transport live organisms, human remains, classified nuclear weaponry, \
|
||||
homing beacons or machinery housing any form of artificial intelligence."
|
||||
homing beacons, unstable eigenstates or machinery housing any form of artificial intelligence."
|
||||
var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible."
|
||||
/// radio used by the console to send messages on supply channel
|
||||
var/obj/item/radio/headset/radio
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
///What do we say when the shuttle moves with living beings on it.
|
||||
var/safety_warning = "For safety reasons, the automated supply shuttle \
|
||||
cannot transport live organisms, human remains, classified nuclear weaponry, \
|
||||
homing beacons or machinery housing any form of artificial intelligence."
|
||||
homing beacons, unstable eigenstates or machinery housing any form of artificial intelligence."
|
||||
///If you're being raided by pirates, what do you tell the crew?
|
||||
var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible."
|
||||
|
||||
|
||||
@@ -67,10 +67,9 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
|
||||
/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances)
|
||||
for(var/place in areaInstances)
|
||||
var/area/shuttle/shuttle_area = place
|
||||
for(var/trf in shuttle_area)
|
||||
var/turf/T = trf
|
||||
for(var/a in T.GetAllContents())
|
||||
if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types) && !istype(a, /obj/docking_port))
|
||||
for(var/turf/shuttle_turf as anything in shuttle_area)
|
||||
for(var/atom/passenger in shuttle_turf.GetAllContents())
|
||||
if((is_type_in_typecache(passenger, GLOB.blacklisted_cargo_types) || HAS_TRAIT(passenger, TRAIT_BANNED_FROM_CARGO_SHUTTLE)) && !istype(passenger, /obj/docking_port))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user