diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index 9c9b8db5727..212a19f79e8 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -43,11 +43,11 @@
#define HAS_LIPS 64
#define IS_PLANT 128
#define CAN_BE_FAT 256
-#define IS_RESTRICTED 512
-#define NO_INTORGANS 1024
-#define NO_POISON 2048
-#define RADIMMUNE 4096
-#define ALL_RPARTS 8192
+#define NO_INTORGANS 512
+#define NO_POISON 1024
+#define RADIMMUNE 2048
+#define ALL_RPARTS 4096
+#define NOGUNS 8192
//Species clothing flags
#define HAS_UNDERWEAR 1
diff --git a/code/game/gamemodes/shadowling/shadowling.dm b/code/game/gamemodes/shadowling/shadowling.dm
index 7c8100edbc5..24129a6d49f 100644
--- a/code/game/gamemodes/shadowling/shadowling.dm
+++ b/code/game/gamemodes/shadowling/shadowling.dm
@@ -301,7 +301,7 @@ Made by Xhuis
blood_color = "#555555"
flesh_color = "#222222"
- flags = NO_BLOOD | NO_BREATHE | RADIMMUNE
+ flags = NO_BLOOD | NO_BREATHE | RADIMMUNE | NOGUNS //Can't use guns due to muzzle flash
burn_mod = 1.5 //1.5x burn damage, 2x is excessive
hot_env_multiplier = 1.5
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 48e477cc258..ba49f4a9e4c 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -77,6 +77,11 @@
if (!user.IsAdvancedToolUser())
to_chat(user, "You don't have the dexterity to do this!")
return
+ if(ishuman(user))
+ var/mob/living/carbon/human/H = user
+ if((HULK in H.mutations) || (H.species.flags & NOGUNS))
+ user << "Your fingers can't press the button!"
+ return
add_fingerprint(user)
diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm
index f3e8793fed1..922810e758d 100644
--- a/code/modules/mob/living/carbon/human/species/golem.dm
+++ b/code/modules/mob/living/carbon/human/species/golem.dm
@@ -6,7 +6,7 @@
deform = 'icons/mob/human_races/r_golem.dmi'
default_language = "Galactic Common"
- flags = NO_BREATHE | NO_BLOOD | RADIMMUNE
+ flags = NO_BREATHE | NO_BLOOD | RADIMMUNE | NOGUNS
virus_immune = 1
dietflags = DIET_OMNI //golems can eat anything because they are magic or something
reagent_tag = PROCESS_ORG
diff --git a/code/modules/mob/living/carbon/human/species/monkey.dm b/code/modules/mob/living/carbon/human/species/monkey.dm
index 72972f98baf..dffc73d4e1d 100644
--- a/code/modules/mob/living/carbon/human/species/monkey.dm
+++ b/code/modules/mob/living/carbon/human/species/monkey.dm
@@ -34,8 +34,6 @@
brute_mod = 1.5
burn_mod = 1.5
- flags = IS_RESTRICTED
-
/datum/species/monkey/handle_npc(var/mob/living/carbon/human/H)
if(H.stat != CONSCIOUS)
return
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index a4858a4a8c8..cb4f21d2497 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -134,11 +134,8 @@
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
- if(H.get_species() == "Golem")
- to_chat(user, "Your metal fingers don't fit in the trigger guard!")
- return
- if(H.get_species() == "Shadowling")
- to_chat(user, "The muzzle flash would cause damage to your form!")
+ if(H.species.flags & NOGUNS)
+ to_chat(user, "Your fingers don't fit in the trigger guard!")
return
if(H.martial_art && H.martial_art.name == "The Sleeping Carp") //great dishonor to famiry
to_chat(user, "Use of ranged weaponry would bring dishonor to the clan.")