diff --git a/code/datums/sun.dm b/code/datums/sun.dm index bd533850870..6cb0ffe6356 100644 --- a/code/datums/sun.dm +++ b/code/datums/sun.dm @@ -32,7 +32,7 @@ var/global/datum/sun/sun angle = ((rotationRate * time / 100) % 360 + 360) % 360 if(angle != lastAngle) - var/obj/machinery/power/solar/tracker/T + var/obj/machinery/power/solar/panel/tracker/T for(T in solars_list) if(!T.powernet) solars_list.Remove(T) @@ -90,4 +90,4 @@ var/global/datum/sun/sun return S.obscured = 0 //If hit the edge or stepped 20 times, not obscured. - S.update_solar_exposure() + S.update_solar_exposure() \ No newline at end of file diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index a3af506e25c..de46699e636 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -17,6 +17,25 @@ viewers(user) << "\red [user] wraps the cord of the [src.name] around \his neck! It looks like \he's trying to commit suicide." return(OXYLOSS) +/*/obj/item/weapon/syndicate_uplink + name = "station bounced radio" + desc = "Remain silent about this..." + icon = 'icons/obj/radio.dmi' + icon_state = "radio" + var/temp = null + var/uses = 10.0 + var/selfdestruct = 0.0 + var/traitor_frequency = 0.0 + var/mob/currentUser = null + var/obj/item/device/radio/origradio = null + flags = FPRINT | CONDUCT | ONBELT + w_class = 2.0 + item_state = "radio" + throw_speed = 4 + throw_range = 20 + m_amt = 100 + origin_tech = "magnets=2;syndicate=3"*/ + /obj/item/weapon/rsp name = "\improper Rapid-Seed-Producer (RSP)" desc = "A device used to rapidly deploy seeds." @@ -500,74 +519,6 @@ w_type = RECYK_METAL melt_temperature=MELTPOINT_STEEL -/obj/item/weapon/shard - name = "shard" - icon = 'icons/obj/shards.dmi' - icon_state = "large" - sharp = 1 - desc = "Could probably be used as ... a throwing weapon?" - w_class = 1.0 - force = 5.0 - throwforce = 15.0 - item_state = "shard-glassnew" - g_amt = 3750 - w_type = RECYK_GLASS - melt_temperature = MELTPOINT_GLASS - attack_verb = list("stabbed", "slashed", "sliced", "cut") - - suicide_act(mob/user) - viewers(user) << pick("\red [user] is slitting \his wrists with the shard of glass! It looks like \he's trying to commit suicide.", \ - "\red [user] is slitting \his throat with the shard of glass! It looks like \he's trying to commit suicide.") - return (BRUTELOSS) - -/obj/item/weapon/shard/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) - playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) - return ..() - -/*/obj/item/weapon/syndicate_uplink - name = "station bounced radio" - desc = "Remain silent about this..." - icon = 'icons/obj/radio.dmi' - icon_state = "radio" - var/temp = null - var/uses = 10.0 - var/selfdestruct = 0.0 - var/traitor_frequency = 0.0 - var/mob/currentUser = null - var/obj/item/device/radio/origradio = null - flags = FPRINT | CONDUCT | ONBELT - w_class = 2.0 - item_state = "radio" - throw_speed = 4 - throw_range = 20 - m_amt = 100 - origin_tech = "magnets=2;syndicate=3"*/ - -/obj/item/weapon/shard/shrapnel - name = "shrapnel" - icon = 'icons/obj/shards.dmi' - icon_state = "shrapnellarge" - desc = "A bunch of tiny bits of shattered metal." - m_amt=5 - w_type=RECYK_METAL - melt_temperature=MELTPOINT_STEEL - -/obj/item/weapon/shard/shrapnel/New() - - src.icon_state = pick("shrapnellarge", "shrapnelmedium", "shrapnelsmall") - switch(src.icon_state) - if("shrapnelsmall") - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - if("shrapnelmedium") - src.pixel_x = rand(-8, 8) - src.pixel_y = rand(-8, 8) - if("shrapnellarge") - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - else - return - /obj/item/weapon/SWF_uplink name = "station-bounced radio" desc = "used to comunicate it appears." diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm index 1135932202d..933ecb565d2 100644 --- a/code/game/dna/dna2.dm +++ b/code/game/dna/dna2.dm @@ -32,7 +32,7 @@ #define DNA_UI_HAIR_STYLE 13 #define DNA_UI_LENGTH 13 // Update this when you add something, or you WILL break shit. -#define DNA_SE_LENGTH 50 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. +#define DNA_SE_LENGTH 54 // Was STRUCDNASIZE, size 27. 15 new blocks added = 42, plus room to grow. // Defines which values mean "on" or "off". // This is to make some of the more OP superpowers a larger PITA to activate, diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index 5d9634711b6..dc3b3f296d9 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -14,9 +14,11 @@ var/windoor = null var/reinforced = 0 var/rglass = 0 + //For solars created from this glass type var/glass_quality = 0.5 //Quality of a solar made from this var/shealth = 5 //Health of a solar made from this var/sname = "glass" + var/shard_type = /obj/item/weapon/shard /obj/item/stack/sheet/glass/attack_self(mob/user as mob) construct_window(user) @@ -256,6 +258,7 @@ melt_temperature = MELTPOINT_STEEL+500 glass_quality = 1.15 //Can you imagine a world in which plasmaglass is worse than rglass shealth = 20 + shard_type = /obj/item/weapon/shard/plasma /obj/item/stack/sheet/glass/plasmaglass/recycle(var/datum/materials/rec) rec.addAmount("plasma",1*src.amount) @@ -281,6 +284,7 @@ reinforced = 1 glass_quality = 1.3 shealth = 30 + shard_type = /obj/item/weapon/shard/plasma /obj/item/stack/sheet/glass/plasmarglass/recycle(var/datum/materials/rec) rec.addAmount("plasma",1*src.amount) diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 701cb7a9ae5..076203c3571 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -186,8 +186,7 @@ continue oldsrc.attackby(item, usr) usr << "You add new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s." - if(!oldsrc) - break + break /obj/item/stack/attack_hand(mob/user as mob) if (user.get_inactive_hand() == src) diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm index 2d3a8f9ba32..3cb0381eb3d 100644 --- a/code/game/objects/items/weapons/RPD.dm +++ b/code/game/objects/items/weapons/RPD.dm @@ -477,6 +477,8 @@ var/global/list/RPD_recipes=list( return 0 if(istype(A,/area/shuttle)||istype(A,/turf/space/transit)) return 0 + if(istype(A, /obj/structure/lattice)) + A = get_turf(A) switch(p_class) if(-2) // Paint pipes diff --git a/code/game/objects/items/weapons/shard.dm b/code/game/objects/items/weapons/shard.dm index c0ccc7add9c..bfafaadc6d7 100644 --- a/code/game/objects/items/weapons/shard.dm +++ b/code/game/objects/items/weapons/shard.dm @@ -1,19 +1,22 @@ /* * Glass shards */ -/obj/item/weapon/shard/resetVariables() - ..("icon_state", "pixel_y", "pixel_x") -/obj/item/weapon/shard/Bump() - - spawn( 0 ) - if (prob(20)) - src.force = 15 - else - src.force = 4 - ..() - return - return +/obj/item/weapon/shard + name = "shard" + icon = 'icons/obj/shards.dmi' + icon_state = "large" + sharp = 1 + desc = "Could probably be used as ... a throwing weapon?" + w_class = 1.0 + force = 5.0 + throwforce = 15.0 + item_state = "shard-glassnew" + g_amt = 3750 + w_type = RECYK_GLASS + melt_temperature = MELTPOINT_GLASS + attack_verb = list("stabbed", "slashed", "sliced", "cut") + var/glass = /obj/item/stack/sheet/glass/glass /obj/item/weapon/shard/New() @@ -31,19 +34,63 @@ else return +/obj/item/weapon/shard/plasma + name = "plasma shard" + desc = "A shard of plasma glass. Considerably tougher then normal glass shards. Apparently not tough enough to be a window." + force = 8.0 + throwforce = 15.0 + icon_state = "plasmalarge" + item_state = "shard-plasglass" + glass = /obj/item/stack/sheet/glass/plasmaglass + +/obj/item/weapon/shard/plasma/New() + ..() + src.icon_state = pick("plasmalarge", "plasmamedium", "plasmasmall") + return + +/obj/item/weapon/shard/shrapnel + name = "shrapnel" + icon = 'icons/obj/shards.dmi' + icon_state = "shrapnellarge" + desc = "A bunch of tiny bits of shattered metal." + m_amt=5 + w_type=RECYK_METAL + melt_temperature=MELTPOINT_STEEL + +/obj/item/weapon/shard/shrapnel/New() + ..() + src.icon_state = pick("shrapnellarge", "shrapnelmedium", "shrapnelsmall") + return + +/obj/item/weapon/shard/suicide_act(mob/user) + viewers(user) << pick("\red [user] is slitting \his wrists with the shard of glass! It looks like \he's trying to commit suicide.", \ + "\red [user] is slitting \his throat with the shard of glass! It looks like \he's trying to commit suicide.") + return (BRUTELOSS) + +/obj/item/weapon/shard/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) + return ..() + +/obj/item/weapon/shard/resetVariables() + ..("icon_state", "pixel_y", "pixel_x") + +/obj/item/weapon/shard/Bump() + + spawn( 0 ) + if (prob(20)) + src.force = 15 + else + src.force = 4 + ..() + return + return + /obj/item/weapon/shard/attackby(obj/item/weapon/W as obj, mob/user as mob) - if ( istype(W, /obj/item/weapon/weldingtool)) + if (iswelder(W)) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0, user)) - var/obj/item/stack/sheet/glass/glass/NG = new (user.loc) - for (var/obj/item/stack/sheet/glass/glass/G in user.loc) - if(G==NG) - continue - if(G.amount>=G.max_amount) - continue - G.attackby(NG, user) - usr << "You add the newly-formed glass to the stack. It now contains [NG.amount] sheets." - //SN src = null + var/obj/item/stack/sheet/glass/new_item = new glass(user.loc) + new_item.add_to_stacks(usr) returnToPool(src) return return ..() @@ -64,4 +111,4 @@ if(affecting.take_damage(5, 0)) H.QueueUpdateDamageIcon() H.updatehealth() - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index db014ef2827..c743d3170a4 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -47,7 +47,7 @@ return /obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob) - if(istype(C, /obj/item/weapon/weldingtool)) + if(iswelder(C)) var/obj/item/weapon/weldingtool/WeldingTool = C if(WeldingTool.remove_fuel(0, user)) user << "Slicing lattice joints..." @@ -55,7 +55,8 @@ qdel(src) else var/turf/T = get_turf(src) - return T.attackby(C, user) //Attacking to the lattice will attack to the space turf + T.attackby(C, user) //Attacking to the lattice will attack to the space turf + return /obj/structure/lattice/proc/updateOverlays() set waitfor = 0 diff --git a/code/global.dm b/code/global.dm index b54d6ff4a5f..0041ac0bbbe 100644 --- a/code/global.dm +++ b/code/global.dm @@ -62,7 +62,7 @@ var/GLASSESBLOCK = 0 var/EPILEPSYBLOCK = 0 var/TWITCHBLOCK = 0 var/NERVOUSBLOCK = 0 -var/MONKEYBLOCK = 50 // Monkey block will always be the DNA_SE_LENGTH +var/MONKEYBLOCK = 54 // Monkey block will always be the DNA_SE_LENGTH var/BLOCKADD = 0 var/DIFFMUT = 0 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 94d30da97b0..1cf0d687672 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1121,8 +1121,8 @@ else if(istype(M, /mob/living/carbon/monkey)) var/mob/living/carbon/monkey/george = M //they can only hold things :( - if(george.get_active_hand() && istype(george.get_active_hand(), /obj/item/weapon/card/id) && check_access(george.get_active_hand())) - return 1 + if(istype(george.get_active_hand(), /obj/item)) + return check_access(george.get_active_hand()) return 0 /mob/living/silicon/robot/proc/check_access(obj/item/weapon/card/id/I) @@ -1132,7 +1132,9 @@ var/list/L = req_access if(!L.len) //no requirements return 1 - if(!I || !istype(I, /obj/item/weapon/card/id) || !I.access) //not ID or no access + if(!istype(I, /obj/item/weapon/card/id) && istype(I, /obj/item)) + I = I.GetID() + if(!I || !I.access) //not ID or no access return 0 for(var/req in req_access) if(!(req in I.access)) //doesn't have this access diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 1e76eb9c941..5352061bb7f 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -183,7 +183,7 @@ for(var/t in organs) del(t) - var/mob/living/silicon/robot/O = new /mob/living/silicon/robot( loc ) + var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(src)) // cyborgs produced by Robotize get an automatic power cell O.cell = new(O) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm new file mode 100644 index 00000000000..75270e4603a --- /dev/null +++ b/code/modules/power/solar.dm @@ -0,0 +1,103 @@ +#define SOLAR_MAX_DIST 40 +#define SOLARGENRATE 1500 // upgrade factor can happen later, regular solars start with rglass panels + +var/list/solars_list = list() + +/obj/machinery/power/solar + icon = 'icons/obj/power.dmi' + density = 1 + +/obj/machinery/power/proc/getPowernetNodes() + if(!powernet) + return list() + + return powernet.nodes + +/obj/machinery/power/solar/New(loc) + ..(loc) + solars_list += src + + if(ticker) + initialize() + +/obj/machinery/power/solar/Destroy() + solars_list -= src + ..() + +/obj/machinery/power/solar/initialize() + ..() + connect_to_network() + +// this is here because it is fucking here. If you found this, you're lucky ! +/obj/item/weapon/paper/solar + name = "paper - 'Going green with Greencorps! Instrunctions on setting up your own solar array.'" + info = "
We at Greencorps we love the environment, and space. With this package you will help mother nature and produce energy without using fossil fuel or plasma! The Singularity Engine is dangerous while solar energy is safe, which is why it's better. Now here is how you setup your own solar array.
You can make a solar panel by wrenching the solar assembly onto a cable node. Add a glass panel, reinforced or regular glass will do, which will finish the construction of your solar panel. It's that easy!.
Now after setting up 19 more of these solar panels you will want to create a solar tracker to keep track of mother nature's gift, the sun. These are the same steps as before except you insert the tracker equipment circuit into the assembly before performing the final step of adding the glass. You now have a tracker! Now the last step is to add a computer to calculate the sun's movements and to send commands to the solar panels to change direction with the sun. Setting up the solar computer is the same as setting up any computer, so you should have no trouble in doing that. You do need to put a wire node under the computer, and the wire needs to be connected to the tracker.
Congratulations, you should have a working solar array. If you are having trouble, here are some tips. Make sure all solar equipment are on a cable node, even the computer. You can always deconstruct your creations if you make a mistake.
That's all to it, be safe, be green!
" + +//Solar Assembly - For construction of solar arrays +/obj/machinery/power/solar_assembly + name = "solar panel assembly" + desc = "A solar panel assembly kit, allows constructions of a solar panel, or with a tracking circuit board, a solar tracker" + icon = 'icons/obj/power.dmi' + icon_state = "sp_base" + anchored = 0 + density = 0 + var/tracker = 0 + var/glass_type = null + +//Give back the glass type we were supplied with +/obj/machinery/power/solar_assembly/proc/give_glass() //And the lord said unto him, 'Give that fucker glass' + if(glass_type) + var/obj/item/stack/sheet/S = new glass_type(get_turf(src)) + S.amount = 2 + glass_type = null //Memory vars ho ! + +/obj/machinery/power/solar_assembly/attackby(var/obj/item/weapon/W, var/mob/user) + if(!anchored && isturf(loc)) + if(iswrench(W)) + anchored = 1 + density = 1 + user.visible_message("[user] wrenches [src] down.", \ + "You wrench [src] down.") + playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1) + return 1 + else + if(iswrench(W)) + anchored = 0 + density = 0 + user.visible_message("[user] unwrenches [src] from the ground.", \ + "You unwrench [src] from the ground.") + playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1) + return 1 + + if(istype(W, /obj/item/stack/sheet/glass)) + var/obj/item/stack/sheet/glass/S = W + if(S.amount >= 2) + glass_type = W.type + S.use(2) + playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) + user.visible_message("[user] carefully adds glass to [src].", \ + "You carefully add glass to [src].") + if(tracker) + new /obj/machinery/power/solar/panel/tracker(get_turf(src), src) + else + new /obj/machinery/power/solar/panel(get_turf(src), src) + else + user << "You lack enough [W.type] to finish the solar." + return 1 + + if(!tracker) + if(istype(W, /obj/item/weapon/tracker_electronics)) + tracker = 1 + user.drop_item() + del(W) + user.visible_message("[user] inserts the electronics into [src].", \ + "You insert the electronics into [src].") + return 1 + else + if(iscrowbar(W)) + new /obj/item/weapon/tracker_electronics(src.loc) + tracker = 0 + user.visible_message("[user] takes the electronics out of [src].", \ + "You take the electronics out of [src].") + return 1 + ..() \ No newline at end of file diff --git a/code/modules/power/solars/control.dm b/code/modules/power/solars/control.dm index f2b03d78a01..10b8ca885b4 100644 --- a/code/modules/power/solars/control.dm +++ b/code/modules/power/solars/control.dm @@ -89,8 +89,8 @@ A.anchored = 1 qdel(src) else - visible_message("[user] disconnects [src]'s monitor.", \ - "You disconnect [src]'s monitor.") + visible_message("[user] begins to unscrew \the [src]'s monitor.", + "You begin to unscrew the monitor...") var/obj/structure/computerframe/A = new /obj/structure/computerframe(src.loc) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control(A) for (var/obj/C in src) @@ -118,7 +118,7 @@ return if ((get_dist(src, user) > 1)) - if (!istype(user, /mob/living/silicon/ai)) + if (!issilicon(user)&&!isobserver(user)) user.unset_machine() user << browse(null, "window=solcon") return @@ -195,7 +195,7 @@ Manual Tracking Direction:"} track = text2num(href_list["track"]) if(track == 2) - for(var/obj/machinery/power/solar/tracker/T in getPowernetNodes()) + for(var/obj/machinery/power/solar/panel/tracker/T in getPowernetNodes()) cdir = T.sun_angle break @@ -245,4 +245,4 @@ Manual Tracking Direction:"} /obj/machinery/power/solar/control/blob_act() if(prob(75)) broken() - density = 0 + density = 0 \ No newline at end of file diff --git a/code/modules/power/solars/panel.dm b/code/modules/power/solars/panel.dm index c7c1ba12f4b..fb06b5ea883 100644 --- a/code/modules/power/solars/panel.dm +++ b/code/modules/power/solars/panel.dm @@ -9,34 +9,48 @@ var/ndir = SOUTH var/turn_angle = 0 var/glass_quality_factor = 1 //Rglass is average. Glass is shite. Tinted glass is "Are you even trying ?" tier if anyone ever makes a sheet version + var/tracker = 0 var/obj/machinery/power/solar/control/control var/obj/machinery/power/solar_assembly/solar_assembly -/obj/machinery/power/solar/panel/New(loc) +/obj/machinery/power/solar/panel/New(loc, var/obj/machinery/power/solar_assembly/S) ..(loc) - make() + make(S) -/obj/machinery/power/solar/panel/proc/make() - if(!solar_assembly) +/obj/machinery/power/solar/panel/proc/make(var/obj/machinery/power/solar_assembly/S) + if(!S) solar_assembly = new /obj/machinery/power/solar_assembly() - solar_assembly.glass_type = /obj/item/stack/sheet/rglass + solar_assembly.glass_type = /obj/item/stack/sheet/glass/rglass solar_assembly.anchored = 1 - + solar_assembly.density = 1 + solar_assembly.tracker = tracker + else + solar_assembly = S + var/obj/item/stack/sheet/glass/G = solar_assembly.glass_type //This is how you call up variables from an object without making one + src.glass_quality_factor = initial(G.glass_quality) //Don't use istype checks kids + src.maxhealth = initial(G.shealth) + src.health = initial(G.shealth) solar_assembly.loc = src update_icon() /obj/machinery/power/solar/panel/attackby(obj/item/weapon/W, mob/user) if(iscrowbar(W)) + var/turf/T = get_turf(src) + var/obj/item/stack/sheet/glass/G = solar_assembly.glass_type + user << "You begin taking the [initial(G.name)] off the [src]." playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) if(do_after(user, 50)) + if(solar_assembly) + solar_assembly.loc = T + solar_assembly.give_glass() playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off the solar panel.") + user.visible_message("[user] takes the [initial(G.name)] off the [src].",\ + "You takes the [initial(G.name)] off the [src].") qdel(src) else if(W) add_fingerprint(user) health -= W.force healthcheck() - ..() /obj/machinery/power/solar/panel/blob_act() @@ -52,37 +66,25 @@ if(!(stat & BROKEN)) broken() else + var/obj/item/stack/sheet/glass/G = solar_assembly.glass_type + var/shard = initial(G.shard_type) solar_assembly.glass_type = null //The glass you're looking for is below pal - getFromPool(/obj/item/weapon/shard, loc) - getFromPool(/obj/item/weapon/shard, loc) + solar_assembly.loc = get_turf(src) + getFromPool(shard, loc) + getFromPool(shard, loc) qdel(src) /obj/machinery/power/solar/panel/update_icon() ..() - - overlays.len = 0 - - if(stat & BROKEN) - if(solar_assembly.glass_type == /obj/item/stack/sheet/glass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel-b", layer = FLY_LAYER) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/rglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_ref-b", layer = FLY_LAYER) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/glass/plasmaglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_plasma-b", layer = FLY_LAYER) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/rglass/plasmarglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_plasma_ref-b", layer = FLY_LAYER) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/glass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel", layer = FLY_LAYER) - src.dir = angle2dir(adir) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/rglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_ref", layer = FLY_LAYER) - src.dir = angle2dir(adir) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/glass/plasmaglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_plasma", layer = FLY_LAYER) - src.dir = angle2dir(adir) - else if(solar_assembly.glass_type == /obj/item/stack/sheet/rglass/plasmarglass) - overlays += image('icons/obj/power.dmi', icon_state = "solar_panel_plasma_ref", layer = FLY_LAYER) + if(!tracker) + overlays.len = 0 + var/obj/item/stack/sheet/glass/G = solar_assembly.glass_type + var/icon = "solar_panel_" + initial(G.sname) + if(stat & BROKEN) + icon += "-b" + overlays += image('icons/obj/power.dmi', icon_state = icon, layer = FLY_LAYER) src.dir = angle2dir(adir) + return /obj/machinery/power/solar/panel/proc/update_solar_exposure() if(!sun) @@ -160,4 +162,4 @@ . = ..() if(.) - control = null + control = null \ No newline at end of file diff --git a/code/modules/power/solars/tracker.dm b/code/modules/power/solars/tracker.dm index 8d98f1ab43f..4e3ee7abc35 100644 --- a/code/modules/power/solars/tracker.dm +++ b/code/modules/power/solars/tracker.dm @@ -1,23 +1,12 @@ -/obj/machinery/power/solar/tracker +/obj/machinery/power/solar/panel/tracker name = "solar tracker" desc = "A solar directional tracker." icon_state = "tracker" - var/sun_angle = 0 // sun angle as set by sun datum - -/obj/machinery/power/solar/tracker/New(loc, obj/machinery/power/solar_assembly/S) - ..(loc) - - if(!S) - S = new(src) - S.glass_type = /obj/item/stack/sheet/rglass - S.tracker = 1 - S.anchored = 1 - - S.loc = src + tracker = 1 // called by datum/sun/calc_position() as sun's angle changes -/obj/machinery/power/solar/tracker/proc/set_angle(angle) +/obj/machinery/power/solar/panel/tracker/proc/set_angle(angle) sun_angle = angle //Set icon dir to show sun illumination @@ -34,22 +23,8 @@ if(get_dist(C, src) < SOLAR_MAX_DIST) C.tracker_update(angle) -/obj/machinery/power/solar/tracker/attackby(var/obj/item/weapon/W, var/mob/user) - if(iscrowbar(W)) - playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1) - if(do_after(user, 50)) - var/obj/machinery/power/solar_assembly/S = locate() in src - if(S) - S.loc = src.loc - S.give_glass() - playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) - user.visible_message("[user] takes the glass off the tracker.") - qdel(src) - return - ..() - // make sure we can draw power from the powernet -/obj/machinery/power/solar/tracker/process() +/obj/machinery/power/solar/panel/tracker/process() var/avail = surplus() if(avail > 500) @@ -63,4 +38,4 @@ name = "tracker electronics" icon = 'icons/obj/doors/door_assembly.dmi' icon_state = "door_electronics" - w_class = 2.0 + w_class = 2.0 \ No newline at end of file diff --git a/code/modules/research/xenoarchaeology/finds/finds_misc.dm b/code/modules/research/xenoarchaeology/finds/finds_misc.dm index e22d8f2b801..ee20696f854 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_misc.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_misc.dm @@ -1,46 +1,4 @@ -/obj/item/weapon/shard/plasma - name = "plasma shard" - desc = "A shard of plasma glass. Considerably tougher then normal glass shards. Apparently not tough enough to be a window." - force = 8.0 - throwforce = 15.0 - icon_state = "plasmalarge" - item_state = "shard-plasglass" - -/obj/item/weapon/shard/plasma/New() - - src.icon_state = pick("plasmalarge", "plasmamedium", "plasmasmall") - switch(src.icon_state) - if("plasmasmall") - src.pixel_x = rand(-12, 12) - src.pixel_y = rand(-12, 12) - if("plasmamedium") - src.pixel_x = rand(-8, 8) - src.pixel_y = rand(-8, 8) - if("plasmalarge") - src.pixel_x = rand(-5, 5) - src.pixel_y = rand(-5, 5) - else - return - -/obj/item/weapon/shard/plasma/attackby(obj/item/weapon/W as obj, mob/user as mob) - ..() - if ( istype(W, /obj/item/weapon/weldingtool)) - var/obj/item/weapon/weldingtool/WT = W - if(WT.remove_fuel(0, user)) - var/obj/item/stack/sheet/glass/plasmaglass/NG = new (user.loc) - for (var/obj/item/stack/sheet/glass/plasmaglass/G in user.loc) - if(G==NG) - continue - if(G.amount>=G.max_amount) - continue - G.attackby(NG, user) - usr << "You add the newly-formed plasma glass to the stack. It now contains [NG.amount] sheets." - //SN src = null - returnToPool(src) - return - return ..() - //legacy crystal /obj/machinery/crystal name = "Crystal" diff --git a/html/changelogs/clusterfack_2567.yml b/html/changelogs/clusterfack_2567.yml index b5c483d9bf3..4e3b3376391 100644 --- a/html/changelogs/clusterfack_2567.yml +++ b/html/changelogs/clusterfack_2567.yml @@ -2,7 +2,9 @@ author: Clusterfack delete-after: true changes: - bugfix: Modifying a turf to another type no longer adds/deletes gases to it -- tweak: You can tell if an MMI is locked/unlocked by examining it now -- rscadd: Added mommi parts should be dropped when mmi/posis finish a borg -- bugfix: You should be able to view solar controls at a range as ghosts/mommi -- bugfix: Glass should no longer stack together inappropriately \ No newline at end of file +- rscadd: Mommi parts should be dropped when an mmi/posis finishes a borg +- bugfix: Solars should work properly now during construction and deconstruction +- bugfix: Glass should no longer stack together inappropriately, also fixed a multiplication exploit from welding shards +- tweak: You can unlock borgs with PDAs with proper access ID inside (TG Port) +- bugfix: DNA block number increased to 54 so that all genes are properly assigned +- bugfix: Robotizing (i.e. roboburgers) can no longer leave you trapped in objects \ No newline at end of file diff --git a/maps/defficiency.dmm b/maps/defficiency.dmm index 45853217e9c..1b0320a5ff9 100644 --- a/maps/defficiency.dmm +++ b/maps/defficiency.dmm @@ -1532,7 +1532,7 @@ "aDx" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/engineering/engine) "aDy" = (/obj/machinery/door/airlock/engineering{name = "Antimatter Room"; req_access_txt = "10"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/engineering/antimatter_room) "aDz" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/wrench,/obj/item/weapon/weldingtool,/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor,/area/engineering/engine) -"aDA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless,/area/solar/fport) +"aDA" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless,/area/solar/fport) "aDB" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/fport) "aDC" = (/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"},/area/solar/fport) "aDD" = (/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/fport) @@ -5006,7 +5006,7 @@ "bSn" = (/obj/effect/decal/cleanable/blood/splatter,/obj/item/stack/sheet/cardboard,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/medbay3) "bSo" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/retractor,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/medbay3) "bSp" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor{icon_state = "floorgrime"},/area/medical/medbay3) -"bSq" = (/obj/structure/cable,/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/fstarboard) +"bSq" = (/obj/structure/cable,/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/fstarboard) "bSr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/fstarboard) "bSs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless,/area/solar/fstarboard) "bSt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/fstarboard) @@ -6498,7 +6498,7 @@ "cuX" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/alarm{dir = 4; pixel_x = -22},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/security/gas_chamber) "cuY" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/security/gas_chamber) "cuZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/gas_chamber) -"cva" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/aport) +"cva" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/aport) "cvb" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/aport) "cvc" = (/turf/simulated/floor/plating/airless,/area/solar/aport) "cvd" = (/turf/simulated/floor/plating/airless{icon_state = "panelscorched"},/area/solar/aport) @@ -7265,7 +7265,7 @@ "cJK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"},/area/solar/astarboard) "cJL" = (/turf/space,/area/syndicate_station/south) "cJM" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/astarboard) -"cJN" = (/obj/structure/cable,/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/astarboard) +"cJN" = (/obj/structure/cable,/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"},/area/solar/astarboard) "cJO" = (/turf/space{icon_state = "black"},/area) "cJP" = (/turf/unsimulated/wall{icon_state = "iron6"},/area) "cJQ" = (/obj/structure/window/reinforced,/turf/unsimulated/wall{icon_state = "iron12"},/area) @@ -8351,7 +8351,7 @@ "deE" = (/obj/structure/table,/obj/item/weapon/paper/crumpled,/turf/simulated/floor,/area/derelict/bridge) "deF" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor,/area/derelict/bridge) "deG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/camera{c_tag = "Bridge Maintenance"; dir = 4},/obj/effect/nmpi,/turf/simulated/floor/plating,/area/maintenance/maintcentral) -"deH" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"deH" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "deI" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/djstation/solars) "deJ" = (/obj/machinery/power/solar/panel{id_tag = "djstationsolar"; name = "DJ Station Solar Array"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "deK" = (/obj/machinery/power/solar/panel{id_tag = "djstationsolar"; name = "DJ Station Solar Array"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) @@ -8759,7 +8759,7 @@ "dmw" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) "dmx" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/control{id_tag = "derelictsolar"; name = "Primary Solar Control"},/turf/simulated/floor,/area/derelict/solar_control) "dmy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) -"dmz" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) +"dmz" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "dmA" = (/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) "dmB" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) "dmC" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_aft) @@ -9670,7 +9670,7 @@ "dDX" = (/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/engineering/engine) "dDY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "SM_Monitor"; name = "radiation shutters"; opacity = 0},/turf/simulated/floor/plating,/area/engineering/supermatter_room) "dDZ" = (/obj/machinery/power/solar/panel{name = "Research Outpost Solar Array"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "solarpanel"},/area/research_outpost/solars) -"dEa" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/solars) +"dEa" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/solars) "dEb" = (/obj/machinery/vending/coffee,/turf/simulated/floor,/area/security/brig) "dEc" = (/obj/machinery/door/airlock/glass_security{name = "Interrogation"; req_access_txt = "63"},/turf/simulated/floor,/area/security/brig) "dEd" = (/obj/structure/stool/bed/chair{dir = 4},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station/start) diff --git a/maps/metaclub.dmm b/maps/metaclub.dmm index aca6e15c510..34e52a7376b 100644 --- a/maps/metaclub.dmm +++ b/maps/metaclub.dmm @@ -9,7 +9,7 @@ "aai" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area) "aaj" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/structure/lattice,/turf/space,/area) "aak" = (/obj/structure/lattice,/turf/space,/area) -"aal" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/auxstarboard) +"aal" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/auxstarboard) "aam" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxstarboard) "aan" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/panel{id_tag = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "aao" = (/turf/space,/obj/structure/cable,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxstarboard) @@ -21,7 +21,7 @@ "aau" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/auxstarboard) "aav" = (/turf/space,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/auxstarboard) "aaw" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk8"},/area/solar/auxstarboard) -"aax" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/auxport) +"aax" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/auxport) "aay" = (/obj/structure/cable,/obj/machinery/power/solar/panel{id_tag = "forestarboard"; name = "Fore-Starboard Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/auxstarboard) "aaz" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxstarboard) "aaA" = (/turf/space,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/auxport) @@ -1130,7 +1130,7 @@ "avL" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/engineering/supermatter_room) "avM" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor/plating,/area/engineering/supermatter_room) "avN" = (/obj/machinery/atmospherics/pipe/manifold/insulated/hidden/blue{dir = 4},/obj/machinery/meter,/obj/effect/decal/warning_stripes{tag = "icon-warning_corner (NORTH)"; icon_state = "warning_corner"; dir = 1},/turf/simulated/floor/plating,/area/engineering/supermatter_room) -"avO" = (/turf/space,/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/prison/solar{name = "\improper MiniSat Solar Array"}) +"avO" = (/turf/space,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/prison/solar{name = "\improper MiniSat Solar Array"}) "avP" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plating/airless,/area) "avQ" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"}) "avR" = (/turf/simulated/floor/plating{tag = "icon-platingdmg1"; icon_state = "platingdmg1"},/area/maintenance/fpmaint2{name = "Port Maintenance"}) @@ -5829,7 +5829,7 @@ "cia" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/engineering/atmos) "cib" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/engineering/atmos) "cic" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/light/small{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor{dir = 8; icon_state = "escape"},/area/hallway/primary/starboard) -"cid" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/aport) +"cid" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/aport) "cie" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/aport) "cif" = (/obj/structure/barricade/wooden,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cig" = (/obj/item/trash/pistachios,/obj/structure/closet,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -7585,8 +7585,13 @@ "cPO" = (/turf/simulated/shuttle/wall{icon_state = "swall14"},/area/supply/dock) "cPP" = (/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/shower{tag = "icon-shower (EAST)"; icon_state = "shower"; dir = 4},/obj/effect/decal/warning_stripes{tag = "icon-warning (WEST)"; icon_state = "warning"; dir = 8},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) "cPQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) +<<<<<<< HEAD "cPR" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/maintenance/asmaint3) "cPS" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/fstarboard) +======= +"cPR" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/camera{c_tag = "Xenobiology - Access"; dir = 8; network = list("SS13","RD")},/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) +"cPS" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/fstarboard) +>>>>>>> c4e1f34... Fix conflicts with OOP solars, fix exploit with shard welding, add TG unlocking borgs with PDA, robotizing fixed to prevent getting stuck within objects, number of DNA blocks increased to 54 to match number of genes, fix numerous problems with solar construction and deconstruction. "cPT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cPU" = (/obj/item/seeds/berryseed,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) "cPV" = (/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plating,/area/maintenance/aft{name = "Aft Maintenance"}) @@ -7807,7 +7812,7 @@ "cUc" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) "cUd" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) "cUe" = (/obj/machinery/door/firedoor/border_only{dir = 1; name = "hazard door north"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) -"cUf" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"cUf" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "cUg" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/simulated/floor/engine,/area/science/xenobiology) "cUh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/engine,/area/science/xenobiology) "cUi" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id_tag = "xenobio3"; name = "containment blast door"},/turf/simulated/floor/engine,/area/science/xenobiology) @@ -9606,7 +9611,7 @@ "dCY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "dCZ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) "dDa" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/djstation) -"dDb" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) +"dDb" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "dDc" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) "dDd" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/power/solar/control{id_tag = "derelictsolar"; name = "Primary Solar Control"},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) "dDe" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/warning_stripes{tag = "icon-warning (EAST)"; icon_state = "warning"; dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/djstation) diff --git a/maps/ministation.dmm b/maps/ministation.dmm index f582cda98d4..959c573128b 100644 --- a/maps/ministation.dmm +++ b/maps/ministation.dmm @@ -2394,7 +2394,7 @@ "cap" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele) "caq" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/turf/simulated/floor/plating/airless,/area/AIsattele) "car" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area) -"cas" = (/obj/machinery/power/solar/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) +"cas" = (/obj/machinery/power/solar/panel/fake,/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/djstation/solars) "cat" = (/turf/simulated/floor/plating/airless,/area/djstation/solars) "cau" = (/turf/simulated/wall,/area/djstation) "cav" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/djstation) diff --git a/maps/taxistation.dmm b/maps/taxistation.dmm index db8c478de1c..70222b8d33f 100644 --- a/maps/taxistation.dmm +++ b/maps/taxistation.dmm @@ -268,7 +268,7 @@ "afh" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint) "afi" = (/turf/simulated/wall,/area/crew_quarters/locker) "afj" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) -"afk" = (/turf/space,/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fore{name = "\improper Engineering Solar Array"}) +"afk" = (/turf/space,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fore{name = "\improper Engineering Solar Array"}) "afl" = (/obj/structure/sign/vacuum,/turf/simulated/wall,/area/maintenance/fpmaint) "afm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fpmaint) "afn" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 273},/turf/simulated/floor{dir = 8; icon_state = "whitegreen"},/area/medical/medbay) @@ -394,7 +394,7 @@ "ahD" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) "ahE" = (/turf/space,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) "ahF" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk15"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) -"ahG" = (/turf/space,/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk8"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) +"ahG" = (/turf/space,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk8"},/area/solar/fstarboard{name = "\improper Medbay Solar Array"}) "ahH" = (/obj/structure/cable,/obj/machinery/power/solar/panel{id_tag = "engisolar"; name = "Engineering Solar Array"},/turf/simulated/floor/airless{icon_state = "solarpanel"},/area/solar/fore{name = "\improper Engineering Solar Array"}) "ahI" = (/obj/effect/landmark{name = "blobstart"},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/tcomms/chamber) "ahJ" = (/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/tcomms/chamber) @@ -2042,7 +2042,7 @@ "aNn" = (/turf/simulated/floor,/area/storage/tech) "aNo" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor,/area/storage/tech) "aNp" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/engine/storage{name = "\improper Engineering Storage"}) -"aNq" = (/turf/space,/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/aport{name = "\improper Cargo Solar Array"}) +"aNq" = (/turf/space,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/aport{name = "\improper Cargo Solar Array"}) "aNr" = (/turf/space,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/aport{name = "\improper Cargo Solar Array"}) "aNs" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk12"},/area/solar/aport{name = "\improper Cargo Solar Array"}) "aNt" = (/turf/space,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk15"},/area/solar/aport{name = "\improper Cargo Solar Array"}) @@ -2157,7 +2157,7 @@ "aPy" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge{name = "\improper Bridge Primary"}) "aPz" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge{name = "\improper Bridge Primary"}) "aPA" = (/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge{name = "\improper Bridge Primary"}) -"aPB" = (/turf/space,/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fport{name = "\improper Security Solar Array"}) +"aPB" = (/turf/space,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fport{name = "\improper Security Solar Array"}) "aPC" = (/turf/simulated/wall/r_wall,/area/bridge{name = "\improper Bridge Primary"}) "aPD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge{name = "\improper Bridge Primary"}) "aPE" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id_tag = "bridge blast"; name = "Bridge Blast Doors"; opacity = 0},/turf/simulated/floor/plating,/area/bridge{name = "\improper Bridge Primary"}) @@ -4587,7 +4587,7 @@ "bKk" = (/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = -1},/turf/simulated/floor/plating/airless,/area/AIsattele) "bKl" = (/obj/structure/closet/crate,/obj/item/device/aicard,/obj/item/device/multitool,/turf/simulated/floor/plating/airless,/area/AIsattele) "bKm" = (/obj/structure/grille,/turf/space,/area) -"bKn" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless,/area) +"bKn" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plating/airless,/area) "bKo" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area) "bKp" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area) "bKq" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area) @@ -5825,7 +5825,7 @@ "cia" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "cib" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "cic" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) -"cid" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) +"cid" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "cie" = (/obj/machinery/door/airlock/external{req_access_txt = "13"},/turf/simulated/floor/plating,/area/derelict/arrival) "cif" = (/obj/item/weapon/light/bulb,/turf/simulated/floor/plating,/area/derelict/arrival) "cig" = (/turf/simulated/floor{icon_state = "damaged3"; dir = 1},/area/derelict/arrival) diff --git a/maps/tgstation.dmm b/maps/tgstation.dmm index 779cc6a732c..f801a2f94f5 100644 --- a/maps/tgstation.dmm +++ b/maps/tgstation.dmm @@ -569,8 +569,8 @@ "akW" = (/obj/machinery/newscaster{pixel_x = 32},/turf/simulated/floor{icon_state = "red"; dir = 6},/area/security/main) "akX" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint) "akY" = (/obj/structure/closet/emcloset,/obj/machinery/camera/xray{c_tag = "Security Escape Pod"},/turf/simulated/floor/plating,/area/maintenance/fsmaint) -"akZ" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fstarboard) -"ala" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fport) +"akZ" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fstarboard) +"ala" = (/turf/space,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk2"},/area/solar/fport) "alb" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Brig Medbay Storage"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor{icon_state = "white"},/area/security/medical) "alc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor,/area/security/brig) "ald" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/decal/warning_stripes{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/turf/simulated/floor{icon_state = "redcorner"; dir = 4},/area/security/brig) @@ -6742,7 +6742,7 @@ "czH" = (/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 8; network = list("RD"); pixel_y = -22},/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor{icon_state = "white"},/area/science/xenobiology) "czI" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk3"},/area/solar/aport) "czJ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/maintenance/aportsolar) -"czK" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/obj/machinery/power/solar/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/aport) +"czK" = (/turf/space,/turf/simulated/floor/plating/airless/catwalk,/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk4"},/area/solar/aport) "czL" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/machinery/camera{c_tag = "Aft Port Solar Control"; dir = 1},/obj/structure/cable,/turf/simulated/floor/plating,/area/maintenance/aportsolar) "czM" = (/turf/simulated/wall/r_wall,/area/maintenance/aportsolar) "czN" = (/obj/structure/closet/wardrobe/black,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/maintenance/aft) @@ -7191,7 +7191,7 @@ "cIo" = (/obj/machinery/atmospherics/pipe/simple/filtering/hidden{dir = 4},/turf/simulated/wall,/area/maintenance/asmaint3) "cIp" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/filtering/hidden{dir = 4},/turf/simulated/floor/plating/airless/catwalk,/area) "cIq" = (/turf/space,/obj/machinery/atmospherics/pipe/simple/filtering/hidden{dir = 9},/turf/simulated/floor/plating/airless/catwalk,/area) -"cIr" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/astarboard) +"cIr" = (/turf/space,/obj/structure/cable,/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor/plating/airless/catwalk{icon_state = "catwalk1"},/area/solar/astarboard) "cIs" = (/obj/machinery/camera{c_tag = "Engine West"; dir = 4},/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/insulated/hidden{dir = 4},/obj/effect/decal/warning_stripes/pathmarkers/red{tag = "icon-pathmarker (WEST)"; icon_state = "pathmarker"; dir = 8},/obj/effect/decal/warning_stripes/pathmarkers/red{tag = "icon-pathmarker (EAST)"; icon_state = "pathmarker"; dir = 4},/turf/simulated/floor,/area/engineering/engine) "cIt" = (/obj/machinery/atmospherics/pipe/simple/insulated/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/engineering/burn_chamber) "cIu" = (/obj/machinery/atmospherics/pipe/manifold/insulated/hidden{dir = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/engineering/burn_chamber) @@ -7323,7 +7323,7 @@ "cKQ" = (/obj/effect/decal/warning_stripes{tag = "icon-warning_corner (WEST)"; icon_state = "warning_corner"; dir = 8},/turf/simulated/floor,/area/engineering/engine_storage) "cKR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless/catwalk,/area/djstation/solars) "cKS" = (/obj/machinery/power/solar/panel{id_tag = "djstationsolar"; name = "DJ Station Solar Array"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) -"cKT" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) +"cKT" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/solar/panel/tracker,/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "cKU" = (/obj/machinery/power/solar/panel{id_tag = "djstationsolar"; name = "DJ Station Solar Array"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "solarpanel"},/area/djstation/solars) "cKV" = (/obj/machinery/atmospherics/portables_connector{dir = 4; name = "Cold Tap"},/obj/effect/decal/warning_stripes{icon_state = "bot"},/turf/simulated/floor,/area/engineering/burn_chamber) "cKW" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/djstation) @@ -10027,7 +10027,7 @@ "dKQ" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) "dKR" = (/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) "dKS" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload) -"dKT" = (/obj/machinery/power/solar/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) +"dKT" = (/obj/machinery/power/solar/panel/tracker,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/derelict_starboard) "dKU" = (/obj/structure/cable,/obj/machinery/power/apc{dir = 8; environ = 0; equipment = 0; lighting = 0; locked = 0; name = "Worn-out APC"; pixel_x = -24},/turf/simulated/floor/plating/airless,/area/derelict/bridge/ai_upload) "dKV" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/unsimulated/floor/asteroid,/area/mine/explored) "dKW" = (/obj/machinery/light/small{dir = 4},/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor/airless,/area/derelict/bridge/ai_upload)