diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm index 51a7ef474a5..31952efbbbc 100644 --- a/code/__DEFINES/flags.dm +++ b/code/__DEFINES/flags.dm @@ -61,6 +61,8 @@ #define RAD_PROTECT_CONTENTS_2 16384 /// should this object be allowed to be contaminated #define RAD_NO_CONTAMINATE_2 32768 +/// Prevents shuttles from deleting the item +#define IMMUNE_TO_SHUTTLECRUSH_2 (1<<16) //Reagent flags #define REAGENT_NOREACT 1 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 530f7ada4e5..b71aa1231ff 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -6,6 +6,7 @@ anchored = TRUE density = TRUE layer = MASSIVE_OBJ_LAYER + flags_2 = IMMUNE_TO_SHUTTLECRUSH_2 light_range = 6 appearance_flags = LONG_GLIDE var/current_size = 1 diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index d97e955d20c..6bc822a2c90 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -85,7 +85,7 @@ icon_state = "darkmatter" density = TRUE anchored = TRUE - flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2 + flags_2 = RAD_PROTECT_CONTENTS_2 | RAD_NO_CONTAMINATE_2 | IMMUNE_TO_SHUTTLECRUSH_2 light_range = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF base_icon_state = "darkmatter" diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index b70d4e0136b..de0d36cfef1 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -595,6 +595,8 @@ for(var/atom/movable/AM in T1) if(AM.pulledby) AM.pulledby.stop_pulling() + if(AM.flags_2 & IMMUNE_TO_SHUTTLECRUSH_2) + continue if(ismob(AM)) var/mob/M = AM if(M.buckled)