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