diff --git a/aurorastation.dme b/aurorastation.dme index 74a4c1a6e09..ca397c1f42b 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -1284,6 +1284,7 @@ #include "code\game\objects\structures\girders.dm" #include "code\game\objects\structures\grille.dm" #include "code\game\objects\structures\hadii_statue.dm" +#include "code\game\objects\structures\hivebot_head.dm" #include "code\game\objects\structures\inflatable.dm" #include "code\game\objects\structures\janicart.dm" #include "code\game\objects\structures\kitchen_spike.dm" diff --git a/code/game/objects/structures/hivebot_head.dm b/code/game/objects/structures/hivebot_head.dm new file mode 100644 index 00000000000..fc7f368aef9 --- /dev/null +++ b/code/game/objects/structures/hivebot_head.dm @@ -0,0 +1,27 @@ +/obj/structure/hivebot_head + name = "\improper Secondary Transmitter Drone core" + desc = "The central core of the Hivebot Secondary Transmitter Drone - all that remains after the machine's destruction. Perhaps some data as to the threat can be gleaned from this?" + icon = 'icons/obj/structure/hivebot_head.dmi' + icon_state = "hivebot_head" + w_class = ITEMSIZE_LARGE + breakable = FALSE + climbable = FALSE + density = FALSE + +/obj/structure/hivebot_head/ex_act(severity) //dont want it getting blown up + return + +/obj/structure/hivebot_head/attack_hand(mob/user) + . = ..() + user.visible_message(SPAN_NOTICE("\The [user] touches \the [src]."), SPAN_NOTICE("You touch \the [src].")) + if(prob(10)) + var/T = get_turf(src) + icon_state = "hivebot_head_active" + playsound(src.loc, 'sound/effects/creatures/hivebot/hivebot-bark-005.ogg') + to_chat(user, SPAN_WARNING("\The [src] suddenly sparks and lights up, emitting some unintelligible noise!")) + spark(T, 3, GLOB.alldirs) + addtimer(CALLBACK(src, PROC_REF(deactivate)), 3 SECONDS) + +/obj/structure/hivebot_head/proc/deactivate() + icon_state = "hivebot_head" + visible_message(SPAN_WARNING("\The [src] shudders and goes silent...")) diff --git a/code/modules/research/xenoarchaeology/machinery/artifact_analyser.dm b/code/modules/research/xenoarchaeology/machinery/artifact_analyser.dm index ea3e480471c..7b631b6c836 100644 --- a/code/modules/research/xenoarchaeology/machinery/artifact_analyser.dm +++ b/code/modules/research/xenoarchaeology/machinery/artifact_analyser.dm @@ -155,6 +155,8 @@ phasing suggested?" if(/obj/structure/crystal) return "Crystal formation - Pseudo organic crystalline matrix, unlikely to have formed naturally. No known technology exists to synthesize this exact composition." + if(/obj/structure/hivebot_head) + return "Transmission drone core - composed of unidentified alien alloy consistent with hivebot construction patterns. Internal systems appear to be designed for obfuscation and amplification of a master control system. Severe damage consistent with repeated gunfire logged. Signal obfuscation appears to be inactive - the primary source can now be located." if(/obj/machinery/artifact) //the fun one var/obj/machinery/artifact/A = scanned_obj diff --git a/html/changelogs/RustingWithYou - sohead.yml b/html/changelogs/RustingWithYou - sohead.yml new file mode 100644 index 00000000000..8ededb04b1f --- /dev/null +++ b/html/changelogs/RustingWithYou - sohead.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: RustingWithYou + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Adds the Hivebot Secondary Transmitter Drone Core to the Horizon." diff --git a/icons/obj/structure/hivebot_head.dmi b/icons/obj/structure/hivebot_head.dmi new file mode 100644 index 00000000000..79e1207fc15 Binary files /dev/null and b/icons/obj/structure/hivebot_head.dmi differ diff --git a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm index e16ed0ad716..2b9d8e08a5b 100644 --- a/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm +++ b/maps/sccv_horizon/sccv_horizon-1_deck_1.dmm @@ -6716,7 +6716,7 @@ dir = 4; id_tag = "riso2"; name = "Isolation B"; - req_access = list(65) + req_access = list(47) }, /obj/machinery/door/blast/regular/open{ id = "iso_b"; @@ -9473,7 +9473,7 @@ "gsc" = ( /obj/machinery/door/window/southleft{ name = "Artifact Storage"; - req_access = list(65) + req_access = list(47) }, /obj/structure/cable/green{ icon_state = "1-2" @@ -12640,7 +12640,7 @@ name = "PURGE Atmosphere"; pixel_x = 28; pixel_y = -26; - req_access = list(65) + req_access = list(47) }, /obj/machinery/button/remote/blast_door{ dir = 4; @@ -12648,7 +12648,7 @@ name = "Blast Door Control"; pixel_x = 22; pixel_y = -36; - req_access = list(65) + req_access = list(47) }, /obj/machinery/button/remote/airlock{ dir = 4; @@ -12656,7 +12656,7 @@ name = "Door Bolt Control"; pixel_x = 22; pixel_y = -25; - req_access = list(65); + req_access = list(47); specialfunctions = 4 }, /obj/machinery/atmospherics/valve/digital/open{ @@ -12955,8 +12955,24 @@ /turf/simulated/floor/tiled/dark, /area/engineering/atmos/propulsion/starboard) "iUb" = ( -/obj/structure/table/steel, -/obj/item/device/flashlight/lamp, +/obj/structure/table/rack, +/obj/structure/hivebot_head{ + pixel_y = 15; + pixel_x = -3 + }, +/obj/structure/window/reinforced{ + dir = 1 + }, +/obj/structure/window/reinforced{ + dir = 8 + }, +/obj/structure/window/reinforced{ + dir = 4 + }, +/obj/machinery/door/window/southleft{ + name = "Artifact Storage"; + req_access = list(47) + }, /turf/simulated/floor/reinforced, /area/rnd/isolation_b) "iUg" = ( @@ -35207,7 +35223,6 @@ /turf/simulated/floor/tiled/full, /area/horizon/custodial) "xVn" = ( -/obj/structure/anomaly_container, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/reinforced, /area/rnd/isolation_b)