Fixes a minor oversight with eigenstasium (#58069)

This commit is contained in:
Thalpy
2021-04-02 00:09:31 +00:00
committed by GitHub
parent da8e757577
commit b174623c2b
5 changed files with 10 additions and 6 deletions

View File

@@ -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. ///Marks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.
#define TRAIT_MAT_TRANSMUTED "transmuted" #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 // item traits
#define TRAIT_NODROP "nodrop" #define TRAIT_NODROP "nodrop"
/// cannot be inserted in a storage. /// cannot be inserted in a storage.

View File

@@ -41,6 +41,7 @@ SUBSYSTEM_DEF(eigenstates)
RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/remove_eigen_entry) RegisterSignal(target, COMSIG_PARENT_QDELETING, .proc/remove_eigen_entry)
RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), .proc/tool_interact) RegisterSignal(target, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), .proc/tool_interact)
target.RegisterSignal(target, COMSIG_EIGENSTATE_ACTIVATE, /obj/structure/closet/proc/bust_open) 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 var/obj/item = target
if(item) if(item)
item.color = COLOR_PERIWINKLEE //Tint the locker slightly. item.color = COLOR_PERIWINKLEE //Tint the locker slightly.
@@ -73,6 +74,7 @@ SUBSYSTEM_DEF(eigenstates)
COMSIG_CLOSET_INSERT, COMSIG_CLOSET_INSERT,
COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), 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 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 ///Remove the current entry if we're empty
for(var/targets in eigen_targets) for(var/targets in eigen_targets)

View File

@@ -15,7 +15,7 @@
var/self_paid = FALSE var/self_paid = FALSE
var/safety_warning = "For safety reasons, the automated supply shuttle \ var/safety_warning = "For safety reasons, the automated supply shuttle \
cannot transport live organisms, human remains, classified nuclear weaponry, \ 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." var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible."
/// radio used by the console to send messages on supply channel /// radio used by the console to send messages on supply channel
var/obj/item/radio/headset/radio var/obj/item/radio/headset/radio

View File

@@ -20,7 +20,7 @@
///What do we say when the shuttle moves with living beings on it. ///What do we say when the shuttle moves with living beings on it.
var/safety_warning = "For safety reasons, the automated supply shuttle \ var/safety_warning = "For safety reasons, the automated supply shuttle \
cannot transport live organisms, human remains, classified nuclear weaponry, \ 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? ///If you're being raided by pirates, what do you tell the crew?
var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible." var/blockade_warning = "Bluespace instability detected. Shuttle movement impossible."

View File

@@ -67,10 +67,9 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
/obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances) /obj/docking_port/mobile/supply/proc/check_blacklist(areaInstances)
for(var/place in areaInstances) for(var/place in areaInstances)
var/area/shuttle/shuttle_area = place var/area/shuttle/shuttle_area = place
for(var/trf in shuttle_area) for(var/turf/shuttle_turf as anything in shuttle_area)
var/turf/T = trf for(var/atom/passenger in shuttle_turf.GetAllContents())
for(var/a in T.GetAllContents()) if((is_type_in_typecache(passenger, GLOB.blacklisted_cargo_types) || HAS_TRAIT(passenger, TRAIT_BANNED_FROM_CARGO_SHUTTLE)) && !istype(passenger, /obj/docking_port))
if(is_type_in_typecache(a, GLOB.blacklisted_cargo_types) && !istype(a, /obj/docking_port))
return FALSE return FALSE
return TRUE return TRUE