diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm
index 81126e26436..6476dcff1e6 100644
--- a/code/game/gamemodes/miniantags/guardian/guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/guardian.dm
@@ -64,10 +64,10 @@
src << "You somehow lack a summoner! As a result, you dispel!"
ghostize()
qdel()
- if(!summoner && !adminseal)
- src << "You somehow lack a summoner! As a result, you dispel!"
- ghostize()
- qdel()
+ //if(!summoner && !adminseal)
+ // src << "You somehow lack a summoner! As a result, you dispel!"
+ // ghostize()
+ // qdel()
/mob/living/simple_animal/hostile/guardian/Move() //Returns to summoner if they move out of range
..()
@@ -487,9 +487,10 @@
melee_damage_upper = 10
damage_transfer = 0.9
projectiletype = /obj/item/projectile/guardian
- ranged_cooldown_cap = 1
+ ranged_cooldown_cap = 2
projectilesound = 'sound/effects/hit_on_shattered_glass.ogg'
ranged = 1
+ rapid = 1
range = 13
see_invisible = SEE_INVISIBLE_MINIMUM
see_in_dark = 8
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 0151136b580..34b74aff54d 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -325,29 +325,33 @@ Gunshots/explosions/opening doors/less rare audio (done)
/obj/effect/hallucination/delusion
var/list/image/delusions = list()
-/obj/effect/hallucination/delusion/New(loc,var/mob/living/carbon/T)
+/obj/effect/hallucination/delusion/New(loc,mob/living/carbon/T,force_kind = null , duration = 300,skip_nearby = 1, custom_icon = null, custom_icon_file = null)
target = T
var/image/A = null
- var/kind = rand(1,3)
+ var/kind = force_kind ? force_kind : pick("clown","corgi","carp","skeleton","demon")
for(var/mob/living/carbon/human/H in living_mob_list)
if(H == target)
continue
- if(H in view(target))
+ if(skip_nearby && (H in view(target)))
continue
switch(kind)
- if(1)//Clown
+ if("clown")//Clown
A = image('icons/mob/animal.dmi',H,"clown")
- if(2)//Carp
+ if("carp")//Carp
A = image('icons/mob/animal.dmi',H,"carp")
- if(3)//Corgi
+ if("corgi")//Corgi
A = image('icons/mob/pets.dmi',H,"corgi")
- if(4)//Skeletons
+ if("skeleton")//Skeletons
A = image('icons/mob/human.dmi',H,"skeleton_s")
+ if("demon")//Demon
+ A = image('icons/mob/mob.dmi',H,"daemon")
+ if("custom")
+ A = image(custom_icon_file, H, custom_icon)
A.override = 1
if(target.client)
delusions |= A
target.client.images |= A
- sleep(300)
+ sleep(duration)
for(var/image/I in delusions)
if(target.client)
target.client.images.Remove(I)