diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm
index 2956f317..f7349525 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_alien_nest.dmm
@@ -523,7 +523,7 @@
/area/ruin/unpowered/xenonest)
"kp" = (
/obj/structure/alien/weeds,
-/obj/item/reagent_containers/syringe/alien,
+/obj/item/dnainjector/giant,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/xenonest)
"lG" = (
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
index a32c728b..acaae606 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm
@@ -231,7 +231,7 @@
"eZ" = (/obj/effect/mob_spawn/human/lavaland_syndicate{dir = 4; icon_state = "sleeper_s"},/turf/open/floor/plasteel/grimy,/area/ruin/unpowered/syndicate_lava_base/dormitories)
"fa" = (/obj/structure/cable/yellow{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{dir = 9},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/main)
"fb" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/unpowered/syndicate_lava_base/virology)
-"fc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/machinery/autolathe/hacked,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo)
+"fc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/airalarm/syndicate{dir = 4; pixel_x = -24},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo)
"fe" = (/obj/effect/turf_decal/stripes/corner,/obj/machinery/firealarm{dir = 4; pixel_x = 26},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/ruin/unpowered/syndicate_lava_base/cargo)
"ff" = (/obj/structure/bed,/obj/item/bedsheet,/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white/side{dir = 5},/area/ruin/unpowered/syndicate_lava_base/virology)
"fh" = (/obj/structure/grille,/obj/structure/window/plastitanium,/turf/open/floor/plating,/area/ruin/unpowered/syndicate_lava_base/virology)
diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm
index a5f371ff..fa23ac57 100644
--- a/code/modules/spells/spell_types/godhand.dm
+++ b/code/modules/spells/spell_types/godhand.dm
@@ -182,3 +182,33 @@
if(charges <= 0)
qdel(src)
+
+/obj/item/melee/touch_attack/stunshrink
+ name = "\improper stunshrink"
+ desc = "Remove someone's size, and leave them shocked!"
+ catchphrase = "Z'UUN SH'AOT!"
+ on_use_sound = 'sound/magic/MM_Hit.ogg'
+ icon_state = "fleshtostone"
+ item_state = "fleshtostone"
+
+/obj/item/melee/touch_attack/stunshrink/afterattack(atom/target, mob/living/carbon/user, proximity)
+ if(!proximity || target == user || !isliving(target) || !iscarbon(user) || user.lying || user.handcuffed) //getting hard after touching yourself would also be bad
+ return
+ if(user.lying || user.handcuffed)
+ to_chat(user, "You can't reach out!")
+ return
+ if(!user.can_speak_vocal())
+ to_chat(user, "You can't get the words out!")
+ return
+ var/mob/living/M = target
+ if(M.anti_magic_check())
+ to_chat(user, "The spell can't seem to affect [M]!")
+ to_chat(M, "You feel a compressing feeling, but it suddenly reverts back!")
+ ..()
+ return
+ flash_lighting_fx(3, 3, LIGHT_COLOR_CYAN)
+ M.Stun(40)
+ M.Knockdown(40)
+ M.resize(RESIZE_MICRO)
+ to_chat(M, "Vertigo pulls you to the floor, and you shrink down!")
+ return ..()
\ No newline at end of file
diff --git a/hyperstation/code/modules/resize/sizegun.dm b/hyperstation/code/modules/resize/sizegun.dm
index d1154838..04c4ded7 100644
--- a/hyperstation/code/modules/resize/sizegun.dm
+++ b/hyperstation/code/modules/resize/sizegun.dm
@@ -7,6 +7,7 @@
flag = "laser"
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
+//TO DO: make the size ray have a selection of a minimum size and maximum size, rather than two modes.
/obj/item/projectile/sizelaser/shrinkray
icon_state="bluelaser"
@@ -66,8 +67,8 @@
//Gun
/obj/item/gun/energy/laser/sizeray
name = "size ray"
- icon_state = "bluetag"
- desc = "Debug size manipulator. You probably shouldn't have this!"
+ icon_state = "sizeshrink"
+ desc = "An extremely-dangerous, almost-illegal size-altering device. You've either stolen this, or have the permits for it."
item_state = null
ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray, /obj/item/ammo_casing/energy/laser/growthray)
selfcharge = EGUN_SELFCHARGE
@@ -77,10 +78,10 @@
attackby(obj/item/W, mob/user)
if(W==src)
- if(icon_state=="bluetag")
- icon_state="redtag"
+ if(icon_state=="sizeshrink")
+ icon_state="sizegrow"
ammo_type = list(/obj/item/ammo_casing/energy/laser/growthray)
else
- icon_state="bluetag"
+ icon_state="sizeshrink"
ammo_type = list(/obj/item/ammo_casing/energy/laser/shrinkray)
return ..()
diff --git a/icons/obj/guns/energy.dmi b/icons/obj/guns/energy.dmi
index 8fafce6a..4c0c9180 100644
Binary files a/icons/obj/guns/energy.dmi and b/icons/obj/guns/energy.dmi differ