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.

Changelog
This commit is contained in:
clusterfack
2015-01-26 19:07:34 -06:00
parent b1e2fe8ecd
commit c273f2b9eb
22 changed files with 295 additions and 244 deletions

View File

@@ -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()

View File

@@ -17,6 +17,25 @@
viewers(user) << "\red <b>[user] wraps the cord of the [src.name] around \his neck! It looks like \he's trying to commit suicide.</b>"
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 <b>[user] is slitting \his wrists with the shard of glass! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his throat with the shard of glass! It looks like \he's trying to commit suicide.</b>")
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."

View File

@@ -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,

View File

@@ -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)

View File

@@ -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)

View File

@@ -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

View File

@@ -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 <b>[user] is slitting \his wrists with the shard of glass! It looks like \he's trying to commit suicide.</b>", \
"\red <b>[user] is slitting \his throat with the shard of glass! It looks like \he's trying to commit suicide.</b>")
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()
..()
..()

View File

@@ -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 << "<span class='notice'>Slicing lattice joints...</span>"
@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)

103
code/modules/power/solar.dm Normal file
View File

@@ -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 = "<h1>Welcome</h1><p>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.</p><p>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!.</p><p>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.</p><p>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.</p><p>That's all to it, be safe, be green!</p>"
//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("<span class='notice'>[user] wrenches [src] down.</span>", \
"<span class='notice'>You wrench [src] down.</span>")
playsound(get_turf(src), 'sound/items/Ratchet.ogg', 75, 1)
return 1
else
if(iswrench(W))
anchored = 0
density = 0
user.visible_message("<span class='notice'>[user] unwrenches [src] from the ground.</span>", \
"<span class='notice'>You unwrench [src] from the ground.</span>")
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("<span class='notice'>[user] carefully adds glass to [src].</span>", \
"<span class='notice'>You carefully add glass to [src].</span>")
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 << "<span class='notice'>You lack enough [W.type] to finish the solar.</span>"
return 1
if(!tracker)
if(istype(W, /obj/item/weapon/tracker_electronics))
tracker = 1
user.drop_item()
del(W)
user.visible_message("<span class='notice'>[user] inserts the electronics into [src].</span>", \
"<span class='notice'>You insert the electronics into [src].</span>")
return 1
else
if(iscrowbar(W))
new /obj/item/weapon/tracker_electronics(src.loc)
tracker = 0
user.visible_message("<span class='notice'>[user] takes the electronics out of [src].</span>", \
"<span class='notice'>You take the electronics out of [src].</span>")
return 1
..()

View File

@@ -89,8 +89,8 @@
A.anchored = 1
qdel(src)
else
visible_message("<span class='notice'>[user] disconnects [src]'s monitor.</span>", \
"<span class='notice'>You disconnect [src]'s monitor.</span>")
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

View File

@@ -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 << "<span class='notice'>You begin taking the [initial(G.name)] off the [src].</span>"
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("<span class='notice'>[user] takes the glass off the solar panel.</span>")
user.visible_message("<span class='notice'>[user] takes the [initial(G.name)] off the [src].</span>",\
"<span class='notice'>You takes the [initial(G.name)] off the [src].</span>")
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

View File

@@ -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("<span class='notice'>[user] takes the glass off the tracker.</span>")
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

View File

@@ -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"

View File

@@ -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
- 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

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)