diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index b907bd6942b..33982939f31 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -28,6 +28,7 @@ var/global/list/parasites = list() //all currently existing/living guardians
attacktext = "punches"
maxHealth = INFINITY //The spirit itself is invincible
health = INFINITY
+ healable = FALSE //don't brusepack the guardian
damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.5, CLONE = 0.5, STAMINA = 0, OXY = 0.5) //how much damage from each damage type we transfer to the owner
environment_smash = 1
melee_damage_lower = 15
@@ -469,10 +470,14 @@ var/global/list/parasites = list() //all currently existing/living guardians
var/ling_failure = "The deck refuses to respond to a souless creature such as you."
var/list/possible_guardians = list("Assassin", "Chaos", "Charger", "Explosive", "Lightning", "Protector", "Ranged", "Standard", "Support")
var/random = TRUE
- var/allowmultiple = 0
- var/allowling = 1
+ var/allowmultiple = FALSE
+ var/allowling = TRUE
+ var/allowguardian = FALSE
/obj/item/weapon/guardiancreator/attack_self(mob/living/user)
+ if(isguardian(user) && !allowguardian)
+ user << "[mob_name] chains are not allowed."
+ return
var/list/guardians = user.hasparasites()
if(guardians.len && !allowmultiple)
user << "You already have a [mob_name]!"
@@ -636,8 +641,8 @@ var/global/list/parasites = list() //all currently existing/living guardians
used_message = "Someone's already taken a bite out of these fishsticks! Ew."
failure_message = "You couldn't catch any carp spirits from the seas of Lake Carp. Maybe there are none, maybe you fucked up."
ling_failure = "Carp'sie is fine with changelings, so you shouldn't be seeing this message."
- allowmultiple = 1
- allowling = 1
+ allowmultiple = TRUE
+ allowling = TRUE
random = TRUE
/obj/item/weapon/guardiancreator/carp/choose
diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm
index 44a85775453..ffaeaa3e441 100644
--- a/code/modules/projectiles/guns/medbeam.dm
+++ b/code/modules/projectiles/guns/medbeam.dm
@@ -54,7 +54,7 @@
/obj/item/weapon/gun/medbeam/process()
var/source = loc
- if(!mounted && !ishuman(source))
+ if(!mounted && !isliving(source))
LoseTarget()
return
@@ -69,7 +69,7 @@
if(get_dist(source, current_target)>max_range || !los_check(source, current_target))
LoseTarget()
- if(ishuman(source))
+ if(isliving(source))
source << "You lose control of the beam!"
return