TG: Sieve stuff, this is a stupidly big commit, I'm sorry, I really am.
Full details in this thread: http://nanotrasen.com/phpBB3/viewtopic.php?f=16&t=8898 And a summary of the most important bits: -Door animations no longer desync and do the open-close-open thing. That's been around so long most people don't even notice -Welding tools no longer get their icons desynced -Fixed unpowered mineral door runtimes -Chemistry machines now require power to run -Fixed the proc to apply radiation based on armor, which means that you can actually not die of radiation as quickly if you wear armor that protects against radiation --By fixing this, it also fixed the singularity, so you might want to be careful next time you run by it naked --Also means that radiation events take armor into account. How great -Hopefully have a bugfix to prevent borgs from using lag to enter the game without an AI or laws, but I cannot test it myself other than that it didn't break anything -Disposal sound can only play once every couple of ticks, so no more ear-rape by disposals! -Lasertag guns can no longer be used to make lasergun turrets -Cleaned up stray pixels on several doors and the lasertag guns -Reworked how falsewalls work, now whenever you attack them with certain tools (drills, welders, etc...) it instantly turns them into a wall and pushes the attackby(), meaning you might not even notice that you just drilled down a falsewall, and at the very least they are much more fitting -Omni-directional PA console! Never have to worry about rotating that fucking computer again, because now it does it itself! -The Marisa robe that spawns in the theater no longer protects like armor -Tweaked coefficient list for fake insulated gloves (misplaced punctuation messed up the list a tad) -Moved falsewalls out of 'transfer_valve.dm' and into 'structures.dm' -Tweaked smoothwalls so it only connects walls with like minerals (only seen effect is on the new walls) --Also added appropriate signs to areas -Reworked portable turrets to be a lot less laggy, now they determine the projectile type once, then save it so they don't have to go through else if chains every time they fire -Added many sprites from WJohnston, but many are not fully implemented (Mostly floor ones) -Added a vending machine for engineering, the Engivend. Apparently it was needed because of the lack of availability of the Autolathe or whatever. -Added WJohnston's Dark Gygax sprites, then made a Death Squad Gygax out of them. A bit tougher than the standard Gygax, improved battery, and is pre-fit with gear, ideally for 'hit and run' tactics -New Odysseus construction sprites, also removed the Odysseus Carapace in favor of plasteel like the Ripley, meaning they in terms of construction, a Ripley is equivalent to an Odysseus -Added an 'is_hot()' proc, when called it returns the temperature of the item in K, while taking into account things like whether or not the item is active or whatever -Rewrote the Experimental Welding Tool, now instead of having a super-sized tank, it uses super-concentrated plasma that is turned into gas inside of it as its fuel source. Meaning, it will never have to be refilled, but it takes time for it to fill itself -Added WJ's firelight sprites and code. Wanted to use them, but haven't had a chance to really implement them, but still, they're there -Turrets made with lasertag guns now fire their respective team's bolt -The turrets also automatically target anyone on the opposing team (But will continue to shoot at anyone, for shits n' giggles) -Turrets get corresponding sprites based on team -Shooting a turret with a different team's laser will disable it for 10 seconds -You can also make ED-209's for your lasertag games/pissing off sec -These are constructed just like a regular ED, but instead of a security vest and taser, it requires a lasertag vest and gun (same colors) -When geared for lasertag, They will not arrest anyone nor melee them, only patrol (if set) and shoot -They have their color schemes as well, and can be disabled just like turrets -For both turrets and EDs, when geared for lasertag, they will not shoot anyone on the ground, this was due to very quickly learning how fucking OP that was for 1 turret to stunlock 3 people for eternity -And when they are geared for lasertag, both the turrets and EDs have their access changed to maint, clown, and mime (This will not stop any of them from being shot, however) -As a side note, you can also make lasertag stationary turrets for any map- related things -Now walls are based on a plating system, meaning all walls have a girder with a mineral plating on top of it. -As of right now, usable minerals are Silver, Gold, Diamond, Uranium, Plasma, and Sandstone (Lacking sprites for wood, *cough*) -This also carries over to falsewalls, so you can make falsewalls out of any of those minerals -Also, this carries over to powered doors, meaning you can construct useful doors out of minerals, so you could have actual diamond forts with doors requiring access to get in or whatever -All of these are standardized, and for the most part work just like regular walls, meaning if you start slicing a wall, it will drop the mineral, or if you drill it, or whatever -What was mentioned with the smoothwall tweak above, only walls of the same mineral will connect, so it all looks very nice -Doors and walls made of uranium emit radiation when interacted with, with walls causing a 'ripple' effect, so the more walls nearby, the more radiation you get hit with -Doors and walls made of plasma burn. It's a short, quick burn, but can easily be compounded in large structures --As a note on plasma walls, I cannot get atmos and plasma walls to play nice (Since they are airless turfs), so I can't actually get them to ignite based on air temperature, but when they do ignite, they will auto-magically ignite nearby plasma walls, with a reduced temperature, meaning that if you want a massive chain reaction over a huge area, you better use something a bit hotter than a lighter --Also, when plasma walls burn, they simply leave behind a girder, while doors leave assemblies -Lastly, for nearly any kind of destructive action, Diamond walls are much more resilient, meaning they will take twice as long to be destroyed, and are immune to the effects of thermite (Also, sprites for plasma walls and uranium walls are shite right now, waiting for replacements) Update: -Added cult walls as a 'mineral wall', meaning they will work on the same system and 'ReplaceWithMineralWall("cult")' will change any turf into a cult wall, hopefully for some cult-related activities soon R&D stuff: -Now instead of 1 sheet or ALL OF THE SHEETS, you enter a number as to how many sheets you want (it's sanitized to hell as well) -Minerals no longer multiply when inside RnD machines. (Who fucked that one up? Goddamn) -Mech fabricators are both deconstructable, and putting higher level parts actually improve it, each 'Tier' up is equivalent to +1 tech levels for that, so a High Powered Micro Laser would give the same bonus as +1 Material Research, a Pico Manipulator would give the same bonus as +2 Engineering, etc -Complete with a shitty opened Mech Fab sprite! -And not shitty overlays so autolathe's animate the material that is put in them, rather than give everything that's not glass the metal animation LOL THE JOKES ON YOU I JUST COPY PASTED HIS TOPIC added a few svn ignores, for thumbs.db and maps/backup Revision: r3751 Author: petethegoat
@@ -384,6 +384,33 @@
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/effect/sign/science//These 3 have multiple types, just var-edit the icon_state to whatever one you want on the map
|
||||
desc = "A warning sign which reads 'SCIENCE!'"
|
||||
name = "SCIENCE!"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "science1"
|
||||
anchored = 1.0
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/effect/sign/chemistry
|
||||
desc = "A warning sign which reads 'CHEMISTY'"
|
||||
name = "CHEMISTRY"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "chemistry1"
|
||||
anchored = 1.0
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/effect/sign/botany
|
||||
desc = "A warning sign which reads 'HYDROPONICS'"
|
||||
name = "HYDROPONICS"
|
||||
icon = 'decals.dmi'
|
||||
icon_state = "hydro1"
|
||||
anchored = 1.0
|
||||
opacity = 0
|
||||
density = 0
|
||||
|
||||
/obj/hud
|
||||
name = "hud"
|
||||
unacidable = 1
|
||||
@@ -1279,6 +1306,46 @@
|
||||
opacity = 1
|
||||
anchored = 1
|
||||
|
||||
/obj/structure/falsewall/gold
|
||||
name = "gold wall"
|
||||
desc = "A wall with gold plating. Swag"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/silver
|
||||
name = "silver wall"
|
||||
desc = "A wall with silver plating. Shiny"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/diamond
|
||||
name = "diamond wall"
|
||||
desc = "A wall with diamond plating. You monster"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/uranium
|
||||
name = "uranium wall"
|
||||
desc = "A wall with uranium plating. This is probably a bad idea"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/plasma
|
||||
name = "plasma wall"
|
||||
desc = "A wall with plasma plating. This is definately a bad idea"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/bananium
|
||||
name = "bananium wall"
|
||||
desc = "A wall with bananium plating. Honk"
|
||||
icon_state = ""
|
||||
|
||||
/obj/structure/falsewall/sand
|
||||
name = "sandstone wall"
|
||||
desc = "A wall with sandstone plating."
|
||||
icon_state = ""
|
||||
|
||||
/*/obj/structure/falsewall/wood
|
||||
name = "wooden wall"
|
||||
desc = "A wall with classy wooden paneling."
|
||||
icon_state = ""*/
|
||||
|
||||
/obj/structure/falserwall
|
||||
name = "r wall"
|
||||
desc = "A huge chunk of reinforced metal used to seperate rooms."
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
// product_hideamt = "3;4;6"
|
||||
hidden_prices = "3;3;2"
|
||||
points = 25
|
||||
product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?"
|
||||
// product_ads = "Go save some lives!;The best stuff for your medbay.;Only the finest tools.;Natural chemicals!;This stuff saves lives.;Don't you want some?;Ping!"
|
||||
charge_type = "medical"
|
||||
|
||||
/obj/machinery/vending/wallmed1
|
||||
@@ -310,7 +310,7 @@
|
||||
product_ads = "For Tsar and Country.;Have you fulfilled your nutrition quota today?;Very nice!;We are simple people, for this is all we eat.;If there is a person, there is a problem. If there is no person, then there is no problem."
|
||||
charge_type = "soda"
|
||||
|
||||
/obj/machinery/vending/tool
|
||||
/obj/machinery/vending/tool//Who did this and why is it here? I don't even
|
||||
name = "YouTool"
|
||||
desc = "Tools for tools."
|
||||
icon_state = "tool"
|
||||
@@ -327,6 +327,22 @@
|
||||
product_coin_amt = "1"
|
||||
charge_type = "engineering"
|
||||
|
||||
/obj/machinery/vending/engivend//Source of tools and what have you for Engineering (Needed on account of the public auto-lathe being removed) -Sieve
|
||||
name = "Engi-Vend"
|
||||
desc = "Spare tool vending. What? Did you expect some witty description?"
|
||||
icon_state = "engivend"
|
||||
icon_deny = "engivend-deny"
|
||||
req_access_txt = "10" //Engineering access
|
||||
product_paths = "/obj/item/weapon/cable_coil/random;/obj/item/weapon/crowbar;/obj/item/weapon/weldingtool/largetank;/obj/item/weapon/wirecutters;/obj/item/weapon/wrench;/obj/item/device/t_scanner;/obj/item/device/multitool;/obj/item/weapon/airlock_electronics;/obj/item/weapon/module/power_control"
|
||||
// product_amounts = "10;5;3;5;5;5;3;5;5"
|
||||
product_prices = "1;2;3;2;2;2;3;2;2"
|
||||
product_hidden = "/obj/item/weapon/weldingtool/hugetank;/obj/item/clothing/gloves/fyellow"
|
||||
// product_hideamt = "2;2"
|
||||
hidden_prices = "4;4"
|
||||
product_coin = "/obj/item/weapon/storage/belt/utility"
|
||||
product_coin_amt = "3"
|
||||
charge_type = "engineering"
|
||||
|
||||
/obj/machinery/vending/genetics
|
||||
name = "Genetics Dispenser"
|
||||
desc = "Medical drug dispenser."
|
||||
|
||||
@@ -158,6 +158,7 @@
|
||||
name = "wall"
|
||||
desc = "A huge chunk of metal used to seperate rooms."
|
||||
icon = 'walls.dmi'
|
||||
var/mineral = "metal"
|
||||
opacity = 1
|
||||
density = 1
|
||||
blocks_air = 1
|
||||
@@ -167,6 +168,80 @@
|
||||
|
||||
var/walltype = "wall"
|
||||
|
||||
/turf/simulated/wall/mineral
|
||||
name = "mineral wall"
|
||||
desc = "This shouldn't exist"
|
||||
icon_state = ""
|
||||
var/last_event = 0
|
||||
var/active = null
|
||||
|
||||
/turf/simulated/wall/mineral/New()
|
||||
switch(mineral)
|
||||
if("gold")
|
||||
name = "gold wall"
|
||||
desc = "A wall with gold plating. Swag!"
|
||||
icon_state = "gold0"
|
||||
walltype = "gold"
|
||||
// var/electro = 1
|
||||
// var/shocked = null
|
||||
if("silver")
|
||||
name = "silver wall"
|
||||
desc = "A wall with silver plating. Shiny!"
|
||||
icon_state = "silver0"
|
||||
walltype = "silver"
|
||||
// var/electro = 0.75
|
||||
// var/shocked = null
|
||||
if("diamond")
|
||||
name = "diamond wall"
|
||||
desc = "A wall with diamond plating. You monster."
|
||||
icon_state = "diamond0"
|
||||
walltype = "diamond"
|
||||
if("uranium")
|
||||
name = "uranium wall"
|
||||
desc = "A wall with uranium plating. This is probably a bad idea."
|
||||
icon_state = "uranium0"
|
||||
walltype = "uranium"
|
||||
if("plasma")
|
||||
name = "plasma wall"
|
||||
desc = "A wall with plasma plating. This is definately a bad idea."
|
||||
icon_state = "plasma0"
|
||||
walltype = "plasma"
|
||||
if("clown")
|
||||
name = "bananium wall"
|
||||
desc = "A wall with bananium plating. Honk!"
|
||||
icon_state = "clown0"
|
||||
walltype = "clown"
|
||||
if("sandstone")
|
||||
name = "sandstone wall"
|
||||
desc = "A wall with sandstone plating."
|
||||
icon_state = "sandstone0"
|
||||
walltype = "sandstone"
|
||||
..()
|
||||
|
||||
/turf/simulated/wall/mineral/proc/radiate()
|
||||
if(!active)
|
||||
if(world.time > last_event+15)
|
||||
active = 1
|
||||
for(var/mob/living/L in range(3,src))
|
||||
L.apply_effect(12,IRRADIATE,0)
|
||||
for(var/turf/simulated/wall/mineral/T in range(3,src))
|
||||
if(T.mineral == "uranium")
|
||||
T.radiate()
|
||||
last_event = world.time
|
||||
active = null
|
||||
return
|
||||
return
|
||||
|
||||
/*/turf/simulated/wall/mineral/proc/shock()
|
||||
if (electrocute_mob(user, C, src))
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(5, 1, src)
|
||||
s.start()
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
*/
|
||||
|
||||
/turf/simulated/wall/heatshield
|
||||
thermal_conductivity = 0
|
||||
opacity = 0
|
||||
@@ -257,7 +332,7 @@
|
||||
return L
|
||||
|
||||
|
||||
|
||||
/*
|
||||
/turf/simulated/wall/mineral
|
||||
icon = 'mineral_walls.dmi'
|
||||
walltype = "iron"
|
||||
@@ -357,3 +432,4 @@
|
||||
|
||||
hardness -= toxinsToDeduce/100
|
||||
CheckHardness()
|
||||
*/
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
var/lastfired = 0
|
||||
var/shot_delay = 3 //.3 seconds between shots
|
||||
var/lasercolor = ""
|
||||
var/disabled = 0
|
||||
|
||||
//var/lasers = 0
|
||||
|
||||
@@ -68,11 +70,12 @@
|
||||
item_state = "ed209_frame"
|
||||
var/build_step = 0
|
||||
var/created_name = "ED-209 Security Robot" //To preserve the name if it's a unique securitron I guess
|
||||
var/lasercolor = ""
|
||||
|
||||
|
||||
/obj/machinery/bot/ed209/New()
|
||||
..()
|
||||
src.icon_state = "ed209[src.on]"
|
||||
src.icon_state = "[lasercolor]ed209[src.on]"
|
||||
spawn(3)
|
||||
src.botcard = new /obj/item/weapon/card/id(src)
|
||||
src.botcard.access = get_access("Detective")
|
||||
@@ -82,10 +85,17 @@
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, control_freq, filter = RADIO_SECBOT)
|
||||
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
if(lasercolor)
|
||||
req_access = list(access_maint_tunnels,access_clown,access_mime)
|
||||
arrest_type = 1
|
||||
if(lasercolor == "b")
|
||||
name = pick("BLUE BALLER","SANIC","BLUE KILLDEATH MURDERBOT")
|
||||
if(lasercolor == "r")
|
||||
name = pick("RED RAMPAGE","RED ROVER","RED KILLDEATH MURDERBOT")
|
||||
|
||||
/obj/machinery/bot/ed209/turn_on()
|
||||
. = ..()
|
||||
src.icon_state = "ed209[src.on]"
|
||||
src.icon_state = "[lasercolor]ed209[src.on]"
|
||||
src.mode = SECBOT_IDLE
|
||||
src.updateUsrDialog()
|
||||
|
||||
@@ -96,7 +106,7 @@
|
||||
src.anchored = 0
|
||||
src.mode = SECBOT_IDLE
|
||||
walk_to(src,0)
|
||||
src.icon_state = "ed209[src.on]"
|
||||
src.icon_state = "[lasercolor]ed209[src.on]"
|
||||
src.updateUsrDialog()
|
||||
|
||||
/obj/machinery/bot/ed209/attack_hand(mob/user as mob)
|
||||
@@ -181,7 +191,7 @@ Auto Patrol: []"},
|
||||
src.anchored = 0
|
||||
src.emagged = 1
|
||||
src.on = 1
|
||||
src.icon_state = "ed209[src.on]"
|
||||
src.icon_state = "[lasercolor]ed209[src.on]"
|
||||
mode = SECBOT_IDLE
|
||||
|
||||
/obj/machinery/bot/ed209/process()
|
||||
@@ -210,7 +220,7 @@ Auto Patrol: []"},
|
||||
if (targets.len>0)
|
||||
var/mob/t = pick(targets)
|
||||
if (istype(t, /mob/living))
|
||||
if (t.stat!=2)
|
||||
if ((t.stat!=2) && (t.lying != 1))
|
||||
//src.speak("selected target: " + t.real_name)
|
||||
src.shootAt(t)
|
||||
switch(mode)
|
||||
@@ -222,7 +232,8 @@ Auto Patrol: []"},
|
||||
mode = SECBOT_START_PATROL // switch to patrol mode
|
||||
|
||||
if(SECBOT_HUNT) // hunting for perp
|
||||
|
||||
if(src.lasercolor)//Lasertag bots do not tase or arrest anyone, just patrol and shoot and whatnot
|
||||
return
|
||||
// if can't reach perp for long enough, go idle
|
||||
if (src.frustration >= 8)
|
||||
// for(var/mob/O in hearers(src, null))
|
||||
@@ -236,9 +247,9 @@ Auto Patrol: []"},
|
||||
if (target) // make sure target exists
|
||||
if (get_dist(src, src.target) <= 1) // if right next to perp
|
||||
playsound(src.loc, 'Egloves.ogg', 50, 1, -1)
|
||||
src.icon_state = "ed209-c"
|
||||
src.icon_state = "[lasercolor]ed209-c"
|
||||
spawn(2)
|
||||
src.icon_state = "ed209[src.on]"
|
||||
src.icon_state = "[lasercolor]ed209[src.on]"
|
||||
var/mob/living/carbon/M = src.target
|
||||
var/maxstuns = 4
|
||||
if (istype(M, /mob/living/carbon/human))
|
||||
@@ -270,6 +281,8 @@ Auto Patrol: []"},
|
||||
src.frustration = 0
|
||||
|
||||
if(SECBOT_PREP_ARREST) // preparing to arrest target
|
||||
if(src.lasercolor)
|
||||
return
|
||||
if (!target)
|
||||
mode = SECBOT_IDLE
|
||||
src.anchored = 0
|
||||
@@ -305,6 +318,8 @@ Auto Patrol: []"},
|
||||
// src.speak(arrest_message)
|
||||
|
||||
if(SECBOT_ARREST) // arresting
|
||||
if(src.lasercolor)
|
||||
return
|
||||
if (!target || src.target.handcuffed)
|
||||
src.anchored = 0
|
||||
mode = SECBOT_IDLE
|
||||
@@ -640,6 +655,22 @@ Auto Patrol: []"},
|
||||
if((istype(perp:wear_id, /obj/item/weapon/card/id/syndicate)) && src.idcheck)
|
||||
threatcount -= 2
|
||||
|
||||
if(src.lasercolor == "b")//Lasertag turrets target the opposing team, how great is that? -Sieve
|
||||
if(istype(perp.wear_suit, /obj/item/clothing/suit/redtag))
|
||||
threatcount += 4
|
||||
if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/redtag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/redtag)))
|
||||
threatcount += 4
|
||||
if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/redtag))
|
||||
threatcount += 2
|
||||
|
||||
if(src.lasercolor == "r")
|
||||
if(istype(perp.wear_suit, /obj/item/clothing/suit/bluetag))
|
||||
threatcount += 4
|
||||
if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/bluetag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/bluetag)))
|
||||
threatcount += 4
|
||||
if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/bluetag))
|
||||
threatcount += 2
|
||||
|
||||
if (src.check_records)
|
||||
for (var/datum/data/record/E in data_core.general)
|
||||
var/perpname = perp.name
|
||||
@@ -697,8 +728,15 @@ Auto Patrol: []"},
|
||||
Sa.created_name = src.name
|
||||
new /obj/item/device/assembly/prox_sensor(Tsec)
|
||||
|
||||
var/obj/item/weapon/melee/baton/B = new /obj/item/weapon/melee/baton(Tsec)
|
||||
B.charges = 0
|
||||
if(!lasercolor)
|
||||
var/obj/item/weapon/gun/energy/taser/G = new /obj/item/weapon/gun/energy/taser(Tsec)
|
||||
G.power_supply.charge = 0
|
||||
else if(lasercolor == "b")
|
||||
var/obj/item/weapon/gun/energy/laser/bluetag/G = new /obj/item/weapon/gun/energy/laser/bluetag(Tsec)
|
||||
G.power_supply.charge = 0
|
||||
else if(lasercolor == "r")
|
||||
var/obj/item/weapon/gun/energy/laser/redtag/G = new /obj/item/weapon/gun/energy/laser/redtag(Tsec)
|
||||
G.power_supply.charge = 0
|
||||
|
||||
if (prob(50))
|
||||
new /obj/item/robot_parts/l_arm(Tsec)
|
||||
@@ -728,10 +766,21 @@ Auto Patrol: []"},
|
||||
// playsound(src.loc, 'ed209_shoot.ogg', 50, 0)
|
||||
|
||||
var/obj/item/projectile/A
|
||||
if (src.emagged)
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
else
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
if(!lasercolor)
|
||||
if (src.emagged)
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
else
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
else if(lasercolor == "b")
|
||||
if (src.emagged)
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
else
|
||||
A = new /obj/item/projectile/bluetag( loc )
|
||||
else if(lasercolor == "r")
|
||||
if (src.emagged)
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
else
|
||||
A = new /obj/item/projectile/redtag( loc )
|
||||
|
||||
if (!( istype(U, /turf) ))
|
||||
//A = null
|
||||
@@ -813,6 +862,22 @@ Auto Patrol: []"},
|
||||
src.item_state = "ed209_shell"
|
||||
src.icon_state = "ed209_shell"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/clothing/suit/bluetag) && (src.build_step == 2))
|
||||
src.build_step++
|
||||
user << "You add the armor to [src]!"
|
||||
src.name = "vest/legs/frame assembly"
|
||||
lasercolor = "b"
|
||||
src.item_state = "[lasercolor]ed209_shell"
|
||||
src.icon_state = "[lasercolor]ed209_shell"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/clothing/suit/redtag) && (src.build_step == 2))
|
||||
src.build_step++
|
||||
user << "You add the armor to [src]!"
|
||||
src.name = "vest/legs/frame assembly"
|
||||
lasercolor = "r"
|
||||
src.item_state = "[lasercolor]ed209_shell"
|
||||
src.icon_state = "[lasercolor]ed209_shell"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && src.build_step == 3)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
@@ -823,15 +888,15 @@ Auto Patrol: []"},
|
||||
src.build_step++
|
||||
user << "You add the helmet to [src]!"
|
||||
src.name = "covered and shielded frame assembly"
|
||||
src.item_state = "ed209_hat"
|
||||
src.icon_state = "ed209_hat"
|
||||
src.item_state = "[lasercolor]ed209_hat"
|
||||
src.icon_state = "[lasercolor]ed209_hat"
|
||||
del(W)
|
||||
else if(isprox(W) && (src.build_step == 5))
|
||||
src.build_step++
|
||||
user << "You add the prox sensor to [src]!"
|
||||
src.name = "prox/covered and armed the frame assembly"
|
||||
src.item_state = "ed209_prox"
|
||||
src.icon_state = "ed209_prox"
|
||||
src.item_state = "[lasercolor]ed209_prox"
|
||||
src.icon_state = "[lasercolor]ed209_prox"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/weapon/cable_coil) && (src.build_step == 6) )
|
||||
var/obj/item/weapon/cable_coil/coil = W
|
||||
@@ -843,12 +908,26 @@ Auto Patrol: []"},
|
||||
src.build_step++
|
||||
user << "\blue You wire the ED-209 assembly!"
|
||||
src.name = "Wired ED-209 Assembly"
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/taser) && (src.build_step == 7))
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/taser) && (src.build_step == 7) && (!lasercolor))
|
||||
src.build_step++
|
||||
user << "You add the taser gun to [src]!"
|
||||
src.name = "Taser/Wired ED-209 Assembly"
|
||||
src.item_state = "ed209_taser"
|
||||
src.icon_state = "ed209_taser"
|
||||
src.item_state = "[lasercolor]ed209_taser"
|
||||
src.icon_state = "[lasercolor]ed209_taser"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/laser/bluetag) && (src.build_step == 7) && (lasercolor == "b"))
|
||||
src.build_step++
|
||||
user << "You add the lasertag gun to [src]!"
|
||||
src.name = "Bluetag ED-209 Assembly"
|
||||
src.item_state = "[lasercolor]ed209_taser"
|
||||
src.icon_state = "[lasercolor]ed209_taser"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/laser/redtag) && (src.build_step == 7) && (lasercolor == "r"))
|
||||
src.build_step++
|
||||
user << "You add the lasertag gun to [src]!"
|
||||
src.name = "Redtag ED-209 Assembly"
|
||||
src.item_state = "[lasercolor]ed209_taser"
|
||||
src.icon_state = "[lasercolor]ed209_taser"
|
||||
del(W)
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && (src.build_step == 8) )
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
@@ -865,6 +944,8 @@ Auto Patrol: []"},
|
||||
var/obj/machinery/bot/ed209/S = new /obj/machinery/bot/ed209
|
||||
S.loc = get_turf(src)
|
||||
S.name = src.created_name
|
||||
S.lasercolor = src.lasercolor
|
||||
S.New()
|
||||
del(W)
|
||||
del(src)
|
||||
|
||||
@@ -878,3 +959,15 @@ Auto Patrol: []"},
|
||||
|
||||
src.created_name = t
|
||||
|
||||
/obj/machinery/bot/ed209/bullet_act(var/obj/item/projectile/Proj)
|
||||
if((src.lasercolor == "b") && (src.disabled == 0))
|
||||
if(istype(Proj, /obj/item/projectile/redtag))
|
||||
src.disabled = 1
|
||||
sleep(100)
|
||||
src.disabled = 0
|
||||
if((src.lasercolor == "r") && (src.disabled == 0))
|
||||
if(istype(Proj, /obj/item/projectile/bluetag))
|
||||
src.disabled = 1
|
||||
sleep(100)
|
||||
src.disabled = 0
|
||||
..()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:04
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31
|
||||
|
||||
/obj/machinery/door
|
||||
name = "Door"
|
||||
@@ -153,7 +153,7 @@
|
||||
if(4) temp=new/obj/structure/door_assembly/door_assembly_med(src.loc)
|
||||
if(5) temp=new/obj/structure/door_assembly/door_assembly_mai(src.loc)
|
||||
if(6) temp=new/obj/structure/door_assembly/door_assembly_ext(src.loc)
|
||||
if(7) temp=new/obj/structure/door_assembly/door_assembly_g(src.loc)
|
||||
if(7) temp=new/obj/structure/door_assembly/door_assembly_glass(src.loc)
|
||||
else failsafe=1
|
||||
if(!failsafe)
|
||||
temp.anchored=0
|
||||
@@ -249,6 +249,7 @@
|
||||
if(!src.operating) //in case of emag
|
||||
src.operating = 1
|
||||
animate("opening")
|
||||
icon_state = "door0"
|
||||
src.sd_SetOpacity(0)
|
||||
sleep(10)
|
||||
src.layer = 2.7
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
req_access = list(access_security)
|
||||
power_channel = EQUIP // drains power from the EQUIPMENT channel
|
||||
|
||||
var/lasercolor = ""
|
||||
var/raised = 0 // if the turret cover is "open" and the turret is raised
|
||||
var/raising= 0 // if the turret is currently opening or closing its cover
|
||||
var/health = 80 // the turret's health
|
||||
@@ -30,6 +31,11 @@
|
||||
|
||||
var/installation // the type of weapon installed
|
||||
var/gun_charge = 0 // the charge of the gun inserted
|
||||
var/projectile = null //holder for bullettype
|
||||
var/reqpower = 0 //holder for power needed
|
||||
var/sound = null//So the taser can have sound
|
||||
var/iconholder = null//holder for the icon_state
|
||||
var/egun = null//holder to handle certain guns switching bullettypes
|
||||
|
||||
var/obj/machinery/porta_turret_cover/cover = null // the cover that is covering this turret
|
||||
var/last_fired = 0 // 1: if the turret is cooling down from a shot, 0: turret is ready to fire
|
||||
@@ -46,11 +52,13 @@
|
||||
|
||||
//var/emagged = 0 // 1: emagged, 0: not emagged
|
||||
var/on = 1 // determines if the turret is on
|
||||
var/disabled = 0
|
||||
|
||||
var/datum/effect/effect/system/spark_spread/spark_system // the spark system, used for generating... sparks?
|
||||
|
||||
New()
|
||||
..()
|
||||
icon_state = "[lasercolor]grey_target_prism"
|
||||
// Sets up a spark system
|
||||
spark_system = new /datum/effect/effect/system/spark_spread
|
||||
spark_system.set_up(5, 0, src)
|
||||
@@ -131,22 +139,22 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
icon_state = "turretCover"
|
||||
return
|
||||
if(stat & BROKEN)
|
||||
icon_state = "destroyed_target_prism"
|
||||
icon_state = "[lasercolor]destroyed_target_prism"
|
||||
else
|
||||
if( powered() )
|
||||
if (on)
|
||||
if (installation == /obj/item/weapon/gun/energy/laser || installation == /obj/item/weapon/gun/energy/pulse_rifle)
|
||||
// laser guns and pulse rifles have an orange icon
|
||||
icon_state = "orange_target_prism"
|
||||
icon_state = "[lasercolor]orange_target_prism"
|
||||
else
|
||||
// anything else has a blue icon
|
||||
icon_state = "target_prism"
|
||||
icon_state = "[lasercolor]target_prism"
|
||||
else
|
||||
icon_state = "grey_target_prism"
|
||||
icon_state = "[lasercolor]grey_target_prism"
|
||||
stat &= ~NOPOWER
|
||||
else
|
||||
spawn(rand(0, 15))
|
||||
src.icon_state = "grey_target_prism"
|
||||
src.icon_state = "[lasercolor]grey_target_prism"
|
||||
stat |= NOPOWER
|
||||
|
||||
|
||||
@@ -165,6 +173,7 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
var/obj/item/weapon/gun/energy/Gun = new installation(src.loc)
|
||||
Gun.power_supply.charge=gun_charge
|
||||
Gun.update_icon()
|
||||
lasercolor = null
|
||||
if(prob(50)) new /obj/item/stack/sheet/metal( loc, rand(1,4))
|
||||
if(prob(50)) new /obj/item/device/assembly/prox_sensor(locate(x,y,z))
|
||||
else
|
||||
@@ -197,7 +206,7 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
if(!anchored)
|
||||
anchored = 1
|
||||
invisibility = 2
|
||||
icon_state = "grey_target_prism"
|
||||
icon_state = "[lasercolor]grey_target_prism"
|
||||
user << "You secure the exterior bolts on the turret."
|
||||
cover=new/obj/machinery/porta_turret_cover(src.loc) // create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second
|
||||
cover.Parent_Turret = src // make the cover's parent src
|
||||
@@ -244,6 +253,16 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
if(prob(45) && Proj.damage > 0) src.spark_system.start()
|
||||
if (src.health <= 0)
|
||||
src.die() // the death process :(
|
||||
if((src.lasercolor == "b") && (src.disabled == 0))
|
||||
if(istype(Proj, /obj/item/projectile/redtag))
|
||||
src.disabled = 1
|
||||
sleep(100)
|
||||
src.disabled = 0
|
||||
if((src.lasercolor == "r") && (src.disabled == 0))
|
||||
if(istype(Proj, /obj/item/projectile/bluetag))
|
||||
src.disabled = 1
|
||||
sleep(100)
|
||||
src.disabled = 0
|
||||
return
|
||||
|
||||
/obj/machinery/porta_turret/emp_act(severity)
|
||||
@@ -327,7 +346,11 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
|
||||
if(!istype(C, /mob/living/silicon) && ai) // If it's set to attack all nonsilicons, target them!
|
||||
if(C.lying)
|
||||
secondarytargets += C
|
||||
if(lasercolor)
|
||||
continue
|
||||
else
|
||||
secondarytargets += C
|
||||
continue
|
||||
else
|
||||
targets += C
|
||||
continue
|
||||
@@ -401,7 +424,7 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
cover.icon_state="turretCover"
|
||||
raised=0
|
||||
invisibility=2
|
||||
icon_state="grey_target_prism"
|
||||
icon_state="[lasercolor]grey_target_prism"
|
||||
|
||||
|
||||
/obj/machinery/porta_turret/proc/assess_perp(mob/living/carbon/human/perp as mob)
|
||||
@@ -417,7 +440,7 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
if(auth_weapons) // check for weapon authorization
|
||||
if((isnull(perp:wear_id)) || (istype(perp:wear_id, /obj/item/weapon/card/id/syndicate)))
|
||||
|
||||
if(src.allowed(perp)) // if the perp has security access, return 0
|
||||
if((src.allowed(perp)) && (!lasercolor)) // if the perp has security access, return 0
|
||||
return 0
|
||||
|
||||
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.l_hand, /obj/item/weapon/melee/baton))
|
||||
@@ -429,6 +452,22 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
if(istype(perp:belt, /obj/item/weapon/gun) || istype(perp:belt, /obj/item/weapon/melee/baton))
|
||||
threatcount += 2
|
||||
|
||||
if(src.lasercolor == "b")//Lasertag turrets target the opposing team, how great is that? -Sieve
|
||||
if(istype(perp.wear_suit, /obj/item/clothing/suit/redtag))
|
||||
threatcount += 4
|
||||
if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/redtag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/redtag)))
|
||||
threatcount += 4
|
||||
if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/redtag))
|
||||
threatcount += 2
|
||||
|
||||
if(src.lasercolor == "r")
|
||||
if(istype(perp.wear_suit, /obj/item/clothing/suit/bluetag))
|
||||
threatcount += 4
|
||||
if((istype(perp:r_hand,/obj/item/weapon/gun/energy/laser/bluetag)) || (istype(perp:l_hand,/obj/item/weapon/gun/energy/laser/bluetag)))
|
||||
threatcount += 4
|
||||
if(istype(perp:belt, /obj/item/weapon/gun/energy/laser/bluetag))
|
||||
threatcount += 2
|
||||
|
||||
if (src.check_records) // if the turret can check the records, check if they are set to *Arrest* on records
|
||||
for (var/datum/data/record/E in data_core.general)
|
||||
var/perpname = perp.name
|
||||
@@ -476,99 +515,108 @@ Neutralize All Unidentified Life Signs: []<BR>"},
|
||||
// any emagged turrets will shoot extremely fast! This not only is deadly, but drains a lot power!
|
||||
|
||||
|
||||
var/obj/item/projectile/A
|
||||
if(!installation) // if for some reason the turret has no gun (ie, admin spawned) it resorts to basic taser shots
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
if(!emagged) use_power(200)
|
||||
else use_power(400)
|
||||
playsound(src.loc, 'Taser.ogg', 75, 1)
|
||||
icon_state = "target_prism"
|
||||
if(!projectile)
|
||||
lasercolor = ""
|
||||
req_access = list(access_security)
|
||||
if(!installation)// if for some reason the turret has no gun (ie, admin spawned) it resorts to basic taser shots
|
||||
projectile = /obj/item/projectile/energy/electrode
|
||||
reqpower = 200
|
||||
sound = 1
|
||||
iconholder = 1
|
||||
else
|
||||
var/obj/item/weapon/gun/energy/E=new installation
|
||||
// All energy-based weapons are applicable
|
||||
if(istype(E, /obj/item/weapon/gun/energy/laser/bluetag))
|
||||
projectile = /obj/item/projectile/bluetag
|
||||
iconholder = null
|
||||
reqpower = 100
|
||||
lasercolor = "b"
|
||||
req_access = list(access_maint_tunnels,access_clown,access_mime)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/laser/redtag))
|
||||
projectile = /obj/item/projectile/redtag
|
||||
iconholder = null
|
||||
reqpower = 100
|
||||
lasercolor = "r"
|
||||
req_access = list(access_maint_tunnels,access_clown,access_mime)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/pulse_rifle))
|
||||
projectile = /obj/item/projectile/beam/pulse
|
||||
iconholder = null
|
||||
reqpower = 700
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/staff))
|
||||
projectile = /obj/item/projectile/change
|
||||
iconholder = 1
|
||||
reqpower = 700
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/ionrifle))
|
||||
projectile = /obj/item/projectile/ion
|
||||
iconholder = 1
|
||||
reqpower = 700
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/taser) || istype(E, /obj/item/weapon/gun/energy/stunrevolver))
|
||||
projectile = /obj/item/projectile/energy/electrode
|
||||
iconholder = 1
|
||||
reqpower = 200
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/lasercannon))
|
||||
projectile = /obj/item/projectile/beam/heavylaser
|
||||
iconholder = null
|
||||
reqpower = 600
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/decloner))
|
||||
projectile = /obj/item/projectile/energy/declone
|
||||
iconholder = null
|
||||
reqpower = 600
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/crossbow/largecrossbow))
|
||||
projectile = /obj/item/projectile/energy/bolt/large
|
||||
iconholder = null
|
||||
reqpower = 125
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/crossbow))
|
||||
projectile = /obj/item/projectile/energy/bolt
|
||||
iconholder = null
|
||||
reqpower = 50
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/laser))
|
||||
projectile = /obj/item/projectile/beam
|
||||
iconholder = null
|
||||
reqpower = 500
|
||||
|
||||
else // Energy gun shots
|
||||
projectile = /obj/item/projectile/energy/electrode// if it hasn't been emagged, it uses normal taser shots
|
||||
iconholder = 1
|
||||
egun = 1
|
||||
reqpower = 200
|
||||
|
||||
var/obj/item/projectile/A = projectile
|
||||
var/obj/item/weapon/gun/energy/E=new installation
|
||||
if(iconholder)
|
||||
icon_state = "[lasercolor]target_prism"
|
||||
else
|
||||
icon_state = "[lasercolor]orange_target_prism"
|
||||
if(sound)
|
||||
playsound(src.loc, 'Taser.ogg', 75, 1)
|
||||
A = new projectile( loc )
|
||||
A.original = target.loc
|
||||
if(!emagged)
|
||||
use_power(reqpower)
|
||||
else
|
||||
use_power((reqpower*2))
|
||||
if(egun)// if it has been emagged, use laser shots
|
||||
projectile = /obj/item/projectile/beam
|
||||
iconholder = null
|
||||
reqpower = 500
|
||||
|
||||
// Shooting Code:
|
||||
var/obj/item/weapon/gun/energy/E=new installation
|
||||
|
||||
if(!E.silenced)
|
||||
playsound(src.loc, E.fire_sound, 75, 1)
|
||||
else
|
||||
playsound(src.loc, E.fire_sound, 10, 1)
|
||||
|
||||
// All energy-based weapons are applicable
|
||||
if(istype(E, /obj/item/weapon/gun/energy/laser))
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(500)
|
||||
else use_power(1000)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/pulse_rifle))
|
||||
A = new /obj/item/projectile/beam/pulse( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(700)
|
||||
else use_power(1400)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/staff))
|
||||
A = new /obj/item/projectile/change( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "target_prism"
|
||||
if(!emagged) use_power(700)
|
||||
else use_power(1400)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/ionrifle))
|
||||
A = new /obj/item/projectile/ion( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "target_prism"
|
||||
if(!emagged) use_power(700)
|
||||
else use_power(1400)
|
||||
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/taser) || istype(E, /obj/item/weapon/gun/energy/stunrevolver))
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
icon_state = "target_prism"
|
||||
if(!emagged) use_power(200)
|
||||
else use_power(400)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/lasercannon))
|
||||
A = new /obj/item/projectile/beam/heavylaser( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(600)
|
||||
else use_power(1200)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/decloner))
|
||||
A = new /obj/item/projectile/energy/declone( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(600)
|
||||
else use_power(1200)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/crossbow))
|
||||
A = new /obj/item/projectile/energy/bolt( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(50)
|
||||
else use_power(100)
|
||||
|
||||
else if(istype(E, /obj/item/weapon/gun/energy/crossbow/largecrossbow))
|
||||
A = new /obj/item/projectile/energy/bolt/large( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
if(!emagged) use_power(125)
|
||||
else use_power(250)
|
||||
|
||||
else // Energy gun shots
|
||||
|
||||
if(!emagged) // if it hasn't been emagged, it uses normal taser shots
|
||||
A = new /obj/item/projectile/energy/electrode( loc )
|
||||
icon_state = "target_prism"
|
||||
use_power(200)
|
||||
|
||||
else // if it has been emagged, use laser shots
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
A.original = target.loc
|
||||
icon_state = "orange_target_prism"
|
||||
use_power(1000)
|
||||
|
||||
del(E)
|
||||
A.current = T
|
||||
A.yo = U.y - T.y
|
||||
|
||||
@@ -54,6 +54,8 @@
|
||||
// 2 = cannons
|
||||
// 3 = pulse
|
||||
// 4 = change (HONK)
|
||||
// 5 = bluetag
|
||||
// 6 = redtag
|
||||
var/health = 18
|
||||
var/id = ""
|
||||
var/obj/machinery/turretcover/cover = null
|
||||
@@ -211,6 +213,10 @@
|
||||
A = new /obj/item/projectile/beam/pulse( loc )
|
||||
if(4)
|
||||
A = new /obj/item/projectile/change( loc )
|
||||
if(5)
|
||||
A = new /obj/item/projectile/bluetag( loc )
|
||||
if(6)
|
||||
A = new /obj/item/projectile/redtag( loc )
|
||||
A.original = target.loc
|
||||
use_power(500)
|
||||
else
|
||||
|
||||
@@ -15,17 +15,40 @@
|
||||
internal_damage_threshold = 35
|
||||
max_equip = 3
|
||||
|
||||
/obj/mecha/combat/gygax/dark
|
||||
desc = "A lightweight exosuit used by Nanotrasen Death Squads. A significantly upgraded Gygax security mech."
|
||||
name = "Dark Gygax"
|
||||
icon_state = "darkgygax"
|
||||
health = 400
|
||||
deflect_chance = 25
|
||||
damage_absorption = list("brute"=0.6,"fire"=0.8,"bullet"=0.6,"laser"=0.5,"energy"=0.65,"bomb"=0.8)
|
||||
max_temperature = 4500
|
||||
overload_coeff = 1
|
||||
wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark
|
||||
max_equip = 4
|
||||
step_energy_drain = 5
|
||||
|
||||
|
||||
/*
|
||||
/obj/mecha/combat/gygax/New()
|
||||
/obj/mecha/combat/gygax/dark/New()
|
||||
..()
|
||||
weapons += new /datum/mecha_weapon/taser(src)
|
||||
weapons += new /datum/mecha_weapon/laser(src)
|
||||
weapons += new /datum/mecha_weapon/missile_rack/flashbang(src)
|
||||
selected_weapon = weapons[1]
|
||||
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/scattershot
|
||||
ME.attach(src)
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang
|
||||
ME.attach(src)
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/teleporter
|
||||
ME.attach(src)
|
||||
ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
|
||||
ME.attach(src)
|
||||
return
|
||||
*/
|
||||
|
||||
/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/cell/C=null)
|
||||
if(C)
|
||||
C.forceMove(src)
|
||||
cell = C
|
||||
return
|
||||
cell = new(src)
|
||||
cell.charge = 30000
|
||||
cell.maxcharge = 30000
|
||||
|
||||
|
||||
/obj/mecha/combat/gygax/verb/overload()
|
||||
set category = "Exosuit Interface"
|
||||
|
||||
@@ -919,7 +919,10 @@
|
||||
process(var/obj/item/mecha_parts/mecha_equipment/generator/nuclear/EG)
|
||||
if(..())
|
||||
for(var/mob/living/carbon/M in view(EG.chassis))
|
||||
M.radiation += EG.rad_per_cycle
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
M.apply_effect((EG.rad_per_cycle*3),IRRADIATE,0)
|
||||
else
|
||||
M.radiation += EG.rad_per_cycle
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -325,6 +325,9 @@
|
||||
do_after_cooldown()
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang//Because I am a heartless bastard -Sieve
|
||||
name = "SOP-6 Grenade Launcher"
|
||||
projectile = /obj/item/weapon/flashbang/clusterbang
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar
|
||||
name = "Banana Mortar"
|
||||
|
||||
@@ -1185,6 +1185,8 @@
|
||||
spawn_result()
|
||||
var/obj/item/mecha_parts/chassis/const_holder = holder
|
||||
const_holder.construct = new /datum/construction/reversible/mecha/odysseus(const_holder)
|
||||
const_holder.icon = 'mech_construction.dmi'
|
||||
const_holder.icon_state = "odysseus0"
|
||||
const_holder.density = 1
|
||||
spawn()
|
||||
del src
|
||||
@@ -1203,7 +1205,7 @@
|
||||
"backkey"=/obj/item/weapon/crowbar,
|
||||
"desc"="External armor is installed."),
|
||||
//3
|
||||
list("key"=/obj/item/mecha_parts/part/odysseus_armour,
|
||||
list("key"=/obj/item/stack/sheet/plasteel,
|
||||
"backkey"=/obj/item/weapon/weldingtool,
|
||||
"desc"="Internal armor is welded."),
|
||||
//4
|
||||
@@ -1262,82 +1264,108 @@
|
||||
switch(index)
|
||||
if(14)
|
||||
user.visible_message("[user] connects [holder] hydraulic systems", "You connect [holder] hydraulic systems.")
|
||||
holder.icon_state = "odysseus1"
|
||||
if(13)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] activates [holder] hydraulic systems.", "You activate [holder] hydraulic systems.")
|
||||
holder.icon_state = "odysseus2"
|
||||
else
|
||||
user.visible_message("[user] disconnects [holder] hydraulic systems", "You disconnect [holder] hydraulic systems.")
|
||||
holder.icon_state = "odysseus0"
|
||||
if(12)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adds the wiring to [holder].", "You add the wiring to [holder].")
|
||||
holder.icon_state = "odysseus3"
|
||||
else
|
||||
user.visible_message("[user] deactivates [holder] hydraulic systems.", "You deactivate [holder] hydraulic systems.")
|
||||
holder.icon_state = "odysseus1"
|
||||
if(11)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] adjusts the wiring of [holder].", "You adjust the wiring of [holder].")
|
||||
holder.icon_state = "odysseus4"
|
||||
else
|
||||
user.visible_message("[user] removes the wiring from [holder].", "You remove the wiring from [holder].")
|
||||
var/obj/item/weapon/cable_coil/coil = new /obj/item/weapon/cable_coil(get_turf(holder))
|
||||
coil.amount = 4
|
||||
holder.icon_state = "odysseus2"
|
||||
if(10)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the central control module into [holder].", "You install the central computer mainboard into [holder].")
|
||||
del used_atom
|
||||
holder.icon_state = "odysseus5"
|
||||
else
|
||||
user.visible_message("[user] disconnects the wiring of [holder].", "You disconnect the wiring of [holder].")
|
||||
holder.icon_state = "odysseus3"
|
||||
if(9)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
|
||||
holder.icon_state = "odysseus6"
|
||||
else
|
||||
user.visible_message("[user] removes the central control module from [holder].", "You remove the central computer mainboard from [holder].")
|
||||
new /obj/item/weapon/circuitboard/mecha/odysseus/main(get_turf(holder))
|
||||
holder.icon_state = "odysseus4"
|
||||
if(8)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs the peripherals control module into [holder].", "You install the peripherals control module into [holder].")
|
||||
del used_atom
|
||||
holder.icon_state = "odysseus7"
|
||||
else
|
||||
user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
|
||||
holder.icon_state = "odysseus5"
|
||||
if(7)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
|
||||
holder.icon_state = "odysseus8"
|
||||
else
|
||||
user.visible_message("[user] removes the peripherals control module from [holder].", "You remove the peripherals control module from [holder].")
|
||||
new /obj/item/weapon/circuitboard/mecha/odysseus/peripherals(get_turf(holder))
|
||||
holder.icon_state = "odysseus6"
|
||||
if(6)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs internal armor layer to [holder].", "You install internal armor layer to [holder].")
|
||||
holder.icon_state = "odysseus9"
|
||||
else
|
||||
user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
|
||||
holder.icon_state = "odysseus7"
|
||||
if(5)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures internal armor layer.", "You secure internal armor layer.")
|
||||
holder.icon_state = "odysseus10"
|
||||
else
|
||||
user.visible_message("[user] pries internal armor layer from [holder].", "You prie internal armor layer from [holder].")
|
||||
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
|
||||
MS.amount = 5
|
||||
holder.icon_state = "odysseus8"
|
||||
if(4)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds internal armor layer to [holder].", "You weld the internal armor layer to [holder].")
|
||||
holder.icon_state = "odysseus11"
|
||||
else
|
||||
user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
|
||||
holder.icon_state = "odysseus9"
|
||||
if(3)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] installs [used_atom] layer to [holder].", "You install external reinforced armor layer to [holder].")
|
||||
holder.overlays += used_atom.icon_state
|
||||
del used_atom
|
||||
|
||||
holder.icon_state = "odysseus12"
|
||||
else
|
||||
user.visible_message("[user] cuts internal armor layer from [holder].", "You cut the internal armor layer from [holder].")
|
||||
if(2)
|
||||
holder.icon_state = "odysseus10"
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] secures external armor layer.", "You secure external reinforced armor layer.")
|
||||
holder.icon_state = "odysseus13"
|
||||
else
|
||||
var/obj/item/mecha_parts/part/odysseus_armour/MS = new /obj/item/mecha_parts/part/odysseus_armour(get_turf(holder))
|
||||
var/obj/item/stack/sheet/plasteel/MS = new /obj/item/stack/sheet/plasteel(get_turf(holder))
|
||||
MS.amount = 5
|
||||
user.visible_message("[user] pries [MS] from [holder].", "You prie [MS] from [holder].")
|
||||
holder.icon_state = "odysseus11"
|
||||
if(1)
|
||||
if(diff==FORWARD)
|
||||
user.visible_message("[user] welds external armor layer to [holder].", "You weld external armor layer to [holder].")
|
||||
holder.icon_state = "odysseus14"
|
||||
else
|
||||
user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
|
||||
holder.icon_state = "odysseus12"
|
||||
return 1
|
||||
|
||||
spawn_result()
|
||||
|
||||
@@ -387,12 +387,12 @@
|
||||
construction_time = 130
|
||||
construction_cost = list("metal"=15000)
|
||||
|
||||
/obj/item/mecha_parts/part/odysseus_armour
|
||||
/*/obj/item/mecha_parts/part/odysseus_armour
|
||||
name="Odysseus Carapace"
|
||||
icon_state = "odysseus_armour"
|
||||
origin_tech = "materials=3;engineering=3"
|
||||
construction_time = 200
|
||||
construction_cost = list("metal"=15000)
|
||||
construction_cost = list("metal"=15000)*/
|
||||
|
||||
|
||||
///////// Circuitboards
|
||||
|
||||
@@ -31,11 +31,12 @@
|
||||
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(salvage_num <= 0)
|
||||
user << "You don't see anything that can be cut with [W]."
|
||||
return
|
||||
if (!isemptylist(welder_salvage) && W:remove_fuel(0,user))
|
||||
if (!isemptylist(welder_salvage) && WT.remove_fuel(0,user))
|
||||
var/type = prob(70)?pick(welder_salvage):null
|
||||
if(type)
|
||||
var/N = new type(get_turf(user))
|
||||
@@ -94,6 +95,9 @@
|
||||
parts -= part
|
||||
return
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/gygax/dark
|
||||
name = "Dark Gygax wreckage"
|
||||
icon_state = "darkgygax-broken"
|
||||
|
||||
/obj/effect/decal/mecha_wreckage/marauder
|
||||
name = "Marauder wreckage"
|
||||
|
||||
@@ -2,22 +2,24 @@ obj/structure/door_assembly
|
||||
icon = 'door_assembly.dmi'
|
||||
|
||||
name = "Airlock Assembly"
|
||||
icon_state = "door_as0"
|
||||
icon_state = "door_as_0"
|
||||
anchored = 0
|
||||
density = 1
|
||||
var/state = 0
|
||||
var/glass = 0
|
||||
var/base_icon_state
|
||||
var/mineral = null
|
||||
var/base_icon_state = "door_as_0"
|
||||
var/glass_base_icon_state = "door_as_g0"
|
||||
var/obj/item/weapon/airlock_electronics/electronics = null
|
||||
var/airlock_type = /obj/machinery/door/airlock //the type path of the airlock once completed
|
||||
var/glass_type = /obj/machinery/door/airlock/glass //the type path of the airlock if changed into a glass airlock
|
||||
var/glass_base_icon_state = "door_as_g"
|
||||
var/glass_type = /obj/machinery/door/airlock/glass
|
||||
var/glass = null
|
||||
|
||||
New()
|
||||
base_icon_state = copytext(icon_state,1,lentext(icon_state))
|
||||
|
||||
door_assembly_0
|
||||
name = "Airlock Assembly"
|
||||
icon_state = "door_as1"
|
||||
icon_state = "door_as_1"
|
||||
airlock_type = /obj/machinery/door/airlock
|
||||
anchored = 1
|
||||
density = 1
|
||||
@@ -117,22 +119,18 @@ obj/structure/door_assembly
|
||||
door_assembly_med
|
||||
name = "Medical Airlock Assembly"
|
||||
icon_state = "door_as_med1"
|
||||
glass_base_icon_state = "door_as_gmed"
|
||||
glass_type = /obj/machinery/door/airlock/glass/glass_medical
|
||||
airlock_type = /obj/machinery/door/airlock/medical
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
glass = 0
|
||||
|
||||
glass
|
||||
glass = 1
|
||||
mineral = "glass"
|
||||
icon_state = "door_as_gmed1"
|
||||
|
||||
door_assembly_mai
|
||||
name = "Maintenance Airlock Assembly"
|
||||
icon_state = "door_as_mai1"
|
||||
glass_type = null
|
||||
airlock_type = /obj/machinery/door/airlock/maintenance
|
||||
anchored = 1
|
||||
density = 1
|
||||
@@ -142,7 +140,6 @@ obj/structure/door_assembly
|
||||
door_assembly_ext
|
||||
name = "External Airlock Assembly"
|
||||
icon_state = "door_as_ext1"
|
||||
glass_type = null
|
||||
airlock_type = /obj/machinery/door/airlock/external
|
||||
anchored = 1
|
||||
density = 1
|
||||
@@ -152,7 +149,6 @@ obj/structure/door_assembly
|
||||
door_assembly_fre
|
||||
name = "Freezer Airlock Assembly"
|
||||
icon_state = "door_as_fre1"
|
||||
glass_type = null
|
||||
airlock_type = /obj/machinery/door/airlock/freezer
|
||||
anchored = 1
|
||||
density = 1
|
||||
@@ -162,21 +158,84 @@ obj/structure/door_assembly
|
||||
door_assembly_mhatch
|
||||
name = "Airtight Maintenance Hatch Assembly"
|
||||
icon_state = "door_as_mhatch1"
|
||||
glass_type = null
|
||||
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
glass = 0
|
||||
|
||||
door_assembly_g
|
||||
door_assembly_glass
|
||||
name = "Glass Airlock Assembly"
|
||||
icon_state = "door_as_g1"
|
||||
airlock_type = /obj/machinery/door/airlock/glass
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
glass = 1
|
||||
mineral = "glass"
|
||||
|
||||
door_assembly_gold
|
||||
name = "Gold Airlock Assembly"
|
||||
icon_state = "door_as_gold1"
|
||||
airlock_type = /obj/machinery/door/airlock/gold
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "gold"
|
||||
|
||||
door_assembly_silver
|
||||
name = "Silver Airlock Assembly"
|
||||
icon_state = "door_as_silver1"
|
||||
airlock_type = /obj/machinery/door/airlock/silver
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "silver"
|
||||
|
||||
door_assembly_diamond
|
||||
name = "Diamond Airlock Assembly"
|
||||
icon_state = "door_as_diamond1"
|
||||
airlock_type = /obj/machinery/door/airlock/diamond
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "diamond"
|
||||
|
||||
door_assembly_uranium
|
||||
name = "Uranium Airlock Assembly"
|
||||
icon_state = "door_as_uranium1"
|
||||
airlock_type = /obj/machinery/door/airlock/uranium
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "uranium"
|
||||
|
||||
door_assembly_plasma
|
||||
name = "Plasma Airlock Assembly"
|
||||
icon_state = "door_as_plasma1"
|
||||
airlock_type = /obj/machinery/door/airlock/plasma
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "plasma"
|
||||
|
||||
door_assembly_clown
|
||||
name = "Bananium Airlock Assembly"
|
||||
desc = "Honk"
|
||||
icon_state = "door_as_bananium1"
|
||||
airlock_type = /obj/machinery/door/airlock/clown
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "clown"
|
||||
|
||||
door_assembly_sandstone
|
||||
name = "Sandstone Airlock Assembly"
|
||||
icon_state = "door_as_sandstone1"
|
||||
airlock_type = /obj/machinery/door/airlock/sandstone
|
||||
anchored = 1
|
||||
density = 1
|
||||
state = 1
|
||||
mineral = "sandstone"
|
||||
|
||||
/obj/structure/door_assembly/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
|
||||
@@ -189,8 +248,30 @@ obj/structure/door_assembly
|
||||
if(!src || !WT.isOn()) return
|
||||
user << "\blue You dissasembled the airlock assembly!"
|
||||
new /obj/item/stack/sheet/metal(get_turf(src), 4)
|
||||
if(src.glass==1)
|
||||
new /obj/item/stack/sheet/rglass(get_turf(src))
|
||||
switch(mineral)
|
||||
if("glass")
|
||||
new /obj/item/stack/sheet/rglass(get_turf(src))
|
||||
if("gold")
|
||||
new /obj/item/stack/sheet/gold(get_turf(src))
|
||||
new /obj/item/stack/sheet/gold(get_turf(src))
|
||||
if("silver")
|
||||
new /obj/item/stack/sheet/silver(get_turf(src))
|
||||
new /obj/item/stack/sheet/silver(get_turf(src))
|
||||
if("diamond")
|
||||
new /obj/item/stack/sheet/diamond(get_turf(src))
|
||||
new /obj/item/stack/sheet/diamond(get_turf(src))
|
||||
if("uranium")
|
||||
new /obj/item/stack/sheet/uranium(get_turf(src))
|
||||
new /obj/item/stack/sheet/uranium(get_turf(src))
|
||||
if("plasma")
|
||||
new /obj/item/stack/sheet/plasma(get_turf(src))
|
||||
new /obj/item/stack/sheet/plasma(get_turf(src))
|
||||
if("clown")
|
||||
new /obj/item/stack/sheet/clown(get_turf(src))
|
||||
new /obj/item/stack/sheet/clown(get_turf(src))
|
||||
if("sandstone")
|
||||
new /obj/item/stack/sheet/sandstone(get_turf(src))
|
||||
new /obj/item/stack/sheet/sandstone(get_turf(src))
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You need more welding fuel to dissassemble the airlock assembly."
|
||||
@@ -284,19 +365,100 @@ obj/structure/door_assembly
|
||||
ae = electronics
|
||||
electronics = null
|
||||
ae.loc = src.loc
|
||||
else if(istype(W, /obj/item/stack/sheet) && !mineral)
|
||||
var/obj/item/stack/sheet/G = W
|
||||
if(G)
|
||||
if(G.amount>=1)
|
||||
switch(G.type)
|
||||
if(/obj/item/stack/sheet/rglass)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed reinforced glass windows into the airlock assembly!"
|
||||
G.use(1)
|
||||
src.mineral = "glass"
|
||||
src.name = "Near finished Window Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/glass
|
||||
src.base_icon_state = "door_as_glass" //this will be applied to the icon_state with the correct state number at the proc's end.
|
||||
if(/obj/item/stack/sheet/gold)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed gold plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "gold"
|
||||
src.name = "Near finished Gold Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/gold
|
||||
src.base_icon_state = "door_as_gold"
|
||||
if(/obj/item/stack/sheet/silver)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed silver plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "silver"
|
||||
src.name = "Near finished Silver Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/silver
|
||||
src.base_icon_state = "door_as_silver"
|
||||
if(/obj/item/stack/sheet/diamond)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed diamond plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "diamond"
|
||||
src.name = "Near finished Diamond Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/diamond
|
||||
src.base_icon_state = "door_as_diamond"
|
||||
if(/obj/item/stack/sheet/uranium)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed uranium plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "uranium"
|
||||
src.name = "Near finished Uranium Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/uranium
|
||||
src.base_icon_state = "door_as_uranium"
|
||||
if(/obj/item/stack/sheet/plasma)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed plasma plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "plasma"
|
||||
src.name = "Near finished Plasma Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/plasma
|
||||
src.base_icon_state = "door_as_plasma"
|
||||
if(/obj/item/stack/sheet/clown)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed bananium plating into the airlock assembly!HONK"
|
||||
G.use(2)
|
||||
playsound(src.loc, 'bikehorn.ogg', 15, 1, -3)
|
||||
src.mineral = "clown"
|
||||
src.name = "Near finished Bananium Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/clown
|
||||
src.base_icon_state = "door_as_clown"
|
||||
if(/obj/item/stack/sheet/sandstone)
|
||||
if(G.amount>=2)
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds [G.name] to the airlock assembly.", "You start to install [G.name] into the airlock assembly.")
|
||||
if(do_after(user, 40))
|
||||
user << "\blue You installed sandstone plating into the airlock assembly!"
|
||||
G.use(2)
|
||||
src.mineral = "sandstone"
|
||||
src.name = "Near finished Sandstone Airlock Assembly"
|
||||
src.airlock_type = /obj/machinery/door/airlock/sandstone
|
||||
src.base_icon_state = "door_as_sandstone"
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet/rglass) && glass == 0 && ispath(glass_type))
|
||||
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
||||
user.visible_message("[user] adds reinforced glass windows to the airlock assembly.", "You start to install reinforced glass windows into the airlock assembly.")
|
||||
var/obj/item/stack/sheet/rglass/G = W
|
||||
if(do_after(user, 40))
|
||||
if(G)
|
||||
if(G.amount>=1)
|
||||
user << "\blue You installed glass windows the airlock assembly!"
|
||||
G.use(1)
|
||||
src.glass = 1
|
||||
src.name = "Near finished Window Airlock Assembly"
|
||||
src.airlock_type = glass_type
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 )
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
user << "\blue Now finishing the airlock."
|
||||
@@ -305,10 +467,33 @@ obj/structure/door_assembly
|
||||
if(!src) return
|
||||
user << "\blue You finish the airlock!"
|
||||
var/obj/machinery/door/airlock/door
|
||||
if(glass)
|
||||
door = new src.glass_type( src.loc )
|
||||
else
|
||||
door = new src.airlock_type( src.loc )
|
||||
switch(mineral)
|
||||
if("glass")
|
||||
airlock_type = /obj/machinery/door/airlock/glass
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("gold")
|
||||
airlock_type = /obj/machinery/door/airlock/gold
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("silver")
|
||||
airlock_type = /obj/machinery/door/airlock/silver
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("diamond")
|
||||
airlock_type = /obj/machinery/door/airlock/diamond
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("uranium")
|
||||
airlock_type = /obj/machinery/door/airlock/uranium
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("plasma")
|
||||
airlock_type = /obj/machinery/door/airlock/plasma
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("clown")
|
||||
airlock_type = /obj/machinery/door/airlock/clown
|
||||
door = new src.airlock_type( src.loc )
|
||||
if("sandstone")
|
||||
airlock_type = /obj/machinery/door/airlock/sandstone
|
||||
door = new src.airlock_type( src.loc )
|
||||
else
|
||||
door = new src.airlock_type( src.loc )
|
||||
//door.req_access = src.req_access
|
||||
door.electronics = src.electronics
|
||||
door.req_access = src.electronics.conf_access
|
||||
@@ -316,10 +501,7 @@ obj/structure/door_assembly
|
||||
del(src)
|
||||
else
|
||||
..()
|
||||
if(glass)
|
||||
icon_state = "[glass_base_icon_state][state]"
|
||||
else
|
||||
icon_state = "[base_icon_state][state]"
|
||||
icon_state = "[base_icon_state][state]"
|
||||
//This updates the icon_state. They are named as "door_as1_eng" where the 1 in that example
|
||||
//represents what state it's in. So the most generic algorithm for the correct updating of
|
||||
//this is simply to change the number.
|
||||
@@ -536,6 +536,38 @@
|
||||
istype(W,/obj/item/projectile)\
|
||||
)
|
||||
|
||||
proc/is_hot(obj/item/W as obj)
|
||||
switch(W.type)
|
||||
if(/obj/item/weapon/weldingtool)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(WT.isOn())
|
||||
return 3800
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/weapon/lighter)
|
||||
if(W:lit)
|
||||
return 1500
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/weapon/match)
|
||||
if(W:lit)
|
||||
return 1000
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/clothing/mask/cigarette)
|
||||
if(W:lit)
|
||||
return 1000
|
||||
else
|
||||
return 0
|
||||
if(/obj/item/weapon/pickaxe/plasmacutter)
|
||||
return 3800
|
||||
if(/obj/item/weapon/melee/energy)
|
||||
return 3500
|
||||
else
|
||||
return 0
|
||||
|
||||
return 0
|
||||
|
||||
/proc/is_cut(obj/item/W as obj)
|
||||
return ( \
|
||||
istype(W, /obj/item/weapon/wirecutters) || \
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
|
||||
/obj/item/weapon/dnainjector/proc/inject(mob/M as mob)
|
||||
M.radiation += rand(20,50)
|
||||
if(istype(M,/mob/living))
|
||||
M.radiation += rand(20,50)
|
||||
|
||||
if (!(NOCLONE in M.mutations)) // prevents drained people from having their DNA changed
|
||||
if (dnatype == "ui")
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
opacity = 1
|
||||
|
||||
icon = 'mineral_doors.dmi'
|
||||
icon_state = "iron"
|
||||
icon_state = "metal"
|
||||
|
||||
var/mineralType = "iron"
|
||||
var/mineralType = "metal"
|
||||
var/state = 0 //closed, 1 == open
|
||||
var/isSwitchingStates = 0
|
||||
var/hardness = 1
|
||||
@@ -116,9 +116,13 @@
|
||||
|
||||
proc/Dismantle(devastated = 0)
|
||||
if(!devastated)
|
||||
var/ore = text2path("/obj/item/weapon/ore/[mineralType]")
|
||||
var/ore = text2path("/obj/item/stack/sheet/[mineralType]")
|
||||
for(var/i = 1, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
else
|
||||
var/ore = text2path("/obj/item/stack/sheet/[mineralType]")
|
||||
for(var/i = 3, i <= oreAmount, i++)
|
||||
new ore(get_turf(src))
|
||||
del(src)
|
||||
|
||||
ex_act(severity = 1)
|
||||
@@ -154,7 +158,7 @@
|
||||
return 1
|
||||
|
||||
/obj/structure/mineral_door/iron
|
||||
mineralType = "iron"
|
||||
mineralType = "metal"
|
||||
hardness = 3
|
||||
|
||||
/obj/structure/mineral_door/silver
|
||||
@@ -205,7 +209,7 @@
|
||||
var/toxinsToDeduce = temperature/10
|
||||
|
||||
napalm.toxins = toxinsToDeduce
|
||||
napalm.temperature = 400+T0C
|
||||
napalm.temperature = 200+T0C
|
||||
napalm.update_values()
|
||||
|
||||
target_tile.assume_air(napalm)
|
||||
@@ -277,4 +281,4 @@
|
||||
isSwitchingStates = 0
|
||||
|
||||
Dismantle(devastated = 0)
|
||||
del(src)
|
||||
del(src)
|
||||
@@ -50,19 +50,65 @@ obj/structure/meteorhit(obj/O as obj)
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
del(src)
|
||||
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
||||
else if(istype(W, /obj/item/stack/sheet) && !anchored)
|
||||
switch(W.type)
|
||||
if(/obj/item/stack/sheet/metal)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
if(/obj/item/stack/sheet/plasteel)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
if(/obj/item/stack/sheet/gold)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/gold (src.loc)
|
||||
if(/obj/item/stack/sheet/silver)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/silver (src.loc)
|
||||
if(/obj/item/stack/sheet/diamond)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/diamond (src.loc)
|
||||
if(/obj/item/stack/sheet/uranium)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/uranium (src.loc)
|
||||
if(/obj/item/stack/sheet/plasma)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/plasma (src.loc)
|
||||
if(/obj/item/stack/sheet/clown)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/clown (src.loc)
|
||||
if(/obj/item/stack/sheet/sandstone)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/sandstone (src.loc)
|
||||
/* if(/obj/item/stack/sheet/wood)
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall/wood (src.loc)*/
|
||||
add_hiddenprint(usr)
|
||||
del(src)
|
||||
|
||||
|
||||
/* else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falsewall (src.loc)
|
||||
add_hiddenprint(usr)
|
||||
del(src)
|
||||
|
||||
else if(istype(W, /obj/item/stack/sheet/plasteel) && istype(src,/obj/structure/girder/displaced))
|
||||
W:use(2)
|
||||
user << "\blue You create a false r wall! Push on it to open or close the passage."
|
||||
new /obj/structure/falserwall (src.loc)
|
||||
add_hiddenprint(usr)
|
||||
del(src)
|
||||
del(src)*/
|
||||
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 && istype(src,/obj/structure/girder/reinforced))
|
||||
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
||||
@@ -95,49 +141,145 @@ obj/structure/meteorhit(obj/O as obj)
|
||||
new/obj/structure/girder( src.loc )
|
||||
del(src)
|
||||
|
||||
else if((istype(W, /obj/item/stack/sheet/metal)) && (W:amount >= 2))
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
if(!W)
|
||||
return
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
else if((istype(W, /obj/item/stack/sheet)) && (W:amount >= 2))
|
||||
switch(W.type)
|
||||
|
||||
else if (istype(W, /obj/item/stack/sheet/plasteel))
|
||||
if (src.icon_state == "reinforced") //Time to finalize!
|
||||
user << "\blue Now finalising reinforced wall."
|
||||
if(do_after(user, 50))
|
||||
if(!W)
|
||||
if(/obj/item/stack/sheet/metal)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
user << "\blue Wall fully reinforced!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithRWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W)
|
||||
W:use(1)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
user << "\blue Now reinforcing girders"
|
||||
if (do_after(user,60))
|
||||
if(!W)
|
||||
|
||||
if (/obj/item/stack/sheet/plasteel)
|
||||
if (src.icon_state == "reinforced") //Time to finalize!
|
||||
user << "\blue Now finalising reinforced wall."
|
||||
if(do_after(user, 50))
|
||||
user << "\blue Wall fully reinforced!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithRWall()
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W)
|
||||
W:use(1)
|
||||
del(src)
|
||||
return
|
||||
else
|
||||
user << "\blue Now reinforcing girders"
|
||||
if (do_after(user,60))
|
||||
user << "\blue Girders reinforced!"
|
||||
W:use(1)
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/gold)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("gold")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
user << "\blue Girders reinforced!"
|
||||
W:use(1)
|
||||
new/obj/structure/girder/reinforced( src.loc )
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/silver)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("silver")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/diamond)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("diamond")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/uranium)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("uranium")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/plasma)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("plasma")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/clown)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("clown")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
if(/obj/item/stack/sheet/sandstone)
|
||||
user << "\blue Now adding plating..."
|
||||
if (do_after(user,40))
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithMineralWall("sandstone")
|
||||
for(var/obj/machinery/atmospherics/pipe/P in Tsrc)
|
||||
P.layer = 1
|
||||
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
|
||||
if(X) X.add_hiddenprint(usr)
|
||||
if (W) W:use(2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
else if(istype(W, /obj/item/pipe))
|
||||
var/obj/item/pipe/P = W
|
||||
if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
|
||||
@@ -266,3 +408,208 @@ obj/structure/meteorhit(obj/O as obj)
|
||||
del(src)
|
||||
|
||||
return
|
||||
|
||||
/obj/structure/falsewall
|
||||
var/mineral = "metal"
|
||||
|
||||
/obj/structure/falserwall
|
||||
var/mineral = "metal"
|
||||
|
||||
/obj/structure/falsewall/gold
|
||||
mineral = "gold"
|
||||
|
||||
/obj/structure/falsewall/silver
|
||||
mineral = "silver"
|
||||
|
||||
/obj/structure/falsewall/diamond
|
||||
mineral = "diamond"
|
||||
|
||||
/obj/structure/falsewall/uranium
|
||||
mineral = "uranium"
|
||||
var/active = null
|
||||
var/last_event = 0
|
||||
|
||||
/obj/structure/falsewall/plasma
|
||||
mineral = "plasma"
|
||||
|
||||
/obj/structure/falsewall/clown
|
||||
mineral = "clown"
|
||||
|
||||
/obj/structure/falsewall/sandstone
|
||||
mineral = "sandstone"
|
||||
|
||||
/*/obj/structure/falsewall/wood
|
||||
mineral = "wood"*/
|
||||
|
||||
/obj/structure/falsewall/attack_hand(mob/user as mob)
|
||||
if(density)
|
||||
// Open wall
|
||||
icon_state = "[mineral]fwall_open"
|
||||
flick("[mineral]fwall_opening", src)
|
||||
sleep(15)
|
||||
src.density = 0
|
||||
src.sd_SetOpacity(0)
|
||||
var/turf/T = src.loc
|
||||
T.sd_LumReset()
|
||||
|
||||
else
|
||||
flick("[mineral]fwall_closing", src)
|
||||
icon_state = "[mineral]0"
|
||||
sleep(15)
|
||||
src.density = 1
|
||||
src.sd_SetOpacity(1)
|
||||
var/turf/T = src.loc
|
||||
//T.sd_LumUpdate()
|
||||
src.relativewall()
|
||||
T.sd_LumReset()
|
||||
|
||||
/obj/structure/falsewall/uranium/attack_hand(mob/user as mob)
|
||||
radiate()
|
||||
..()
|
||||
|
||||
/obj/structure/falsewall/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
var/turf/T = get_turf(src)
|
||||
user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
|
||||
if(!mineral)
|
||||
T.ReplaceWithWall()
|
||||
else
|
||||
T.ReplaceWithMineralWall(mineral)
|
||||
del(src)
|
||||
|
||||
if( istype(W, /obj/item/weapon/weldingtool) )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if( WT:welding )
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ReplaceWithWall()
|
||||
else
|
||||
T.ReplaceWithMineralWall(mineral)
|
||||
if(mineral != "plasma")//Stupid shit keeps me from pushing the attackby() to plasma walls -Sieve
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) )
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ReplaceWithWall()
|
||||
else
|
||||
T.ReplaceWithMineralWall(mineral)
|
||||
if(mineral != "plasma")
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
//DRILLING
|
||||
else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ReplaceWithWall()
|
||||
else
|
||||
T.ReplaceWithMineralWall(mineral)
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
else if( istype(W, /obj/item/weapon/melee/energy/blade) )
|
||||
var/turf/T = get_turf(src)
|
||||
if(!mineral)
|
||||
T.ReplaceWithWall()
|
||||
else
|
||||
T.ReplaceWithMineralWall(mineral)
|
||||
if(mineral != "plasma")
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
/*
|
||||
|
||||
var/turf/T = get_turf(user)
|
||||
user << "\blue Now adding plating..."
|
||||
sleep(40)
|
||||
if (get_turf(user) == T)
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
|
||||
*/
|
||||
|
||||
/obj/structure/falsewall/uranium/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
radiate()
|
||||
..()
|
||||
|
||||
/obj/structure/falserwall/
|
||||
attack_hand(mob/user as mob)
|
||||
if(density)
|
||||
// Open wall
|
||||
icon_state = "frwall_open"
|
||||
flick("frwall_opening", src)
|
||||
sleep(15)
|
||||
src.density = 0
|
||||
src.sd_SetOpacity(0)
|
||||
var/turf/T = src.loc
|
||||
T.sd_LumReset()
|
||||
|
||||
else
|
||||
icon_state = "r_wall"
|
||||
flick("frwall_closing", src)
|
||||
sleep(15)
|
||||
src.density = 1
|
||||
src.sd_SetOpacity(1)
|
||||
var/turf/T = src.loc
|
||||
//T.sd_LumUpdate()
|
||||
src.relativewall()
|
||||
T.sd_LumReset()
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
var/turf/T = get_turf(src)
|
||||
user.visible_message("[user] tightens some bolts on the r wall.", "You tighten the bolts on the r wall.")
|
||||
T.ReplaceWithWall() //Intentionally makes a regular wall instead of an r-wall (no cheap r-walls for you).
|
||||
del(src)
|
||||
|
||||
if( istype(W, /obj/item/weapon/weldingtool) )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if( WT.remove_fuel(0,user) )
|
||||
var/turf/T = get_turf(src)
|
||||
T.ReplaceWithWall()
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
else if( istype(W, /obj/item/weapon/pickaxe/plasmacutter) )
|
||||
var/turf/T = get_turf(src)
|
||||
T.ReplaceWithWall()
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
//DRILLING
|
||||
else if (istype(W, /obj/item/weapon/pickaxe/diamonddrill))
|
||||
var/turf/T = get_turf(src)
|
||||
T.ReplaceWithWall()
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
else if( istype(W, /obj/item/weapon/melee/energy/blade) )
|
||||
var/turf/T = get_turf(src)
|
||||
T.ReplaceWithWall()
|
||||
T = get_turf(src)
|
||||
T.attackby(W,user)
|
||||
del(src)
|
||||
|
||||
/obj/structure/falsewall/uranium/proc/radiate()
|
||||
if(!active)
|
||||
if(world.time > last_event+15)
|
||||
active = 1
|
||||
for(var/mob/living/L in range(3,src))
|
||||
L.apply_effect(12,IRRADIATE,0)
|
||||
for(var/turf/simulated/wall/mineral/T in range(3,src))
|
||||
if(T.mineral == "uranium")
|
||||
T.radiate()
|
||||
last_event = world.time
|
||||
active = null
|
||||
return
|
||||
return
|
||||
|
||||
@@ -179,81 +179,4 @@
|
||||
// this doesn't do anything but the timer etc. expects it to be here
|
||||
// eventually maybe have it update icon to show state (timer, prox etc.) like old bombs
|
||||
/obj/item/device/transfer_valve/proc/c_state()
|
||||
return
|
||||
|
||||
|
||||
|
||||
/obj/structure/falsewall
|
||||
attack_hand(mob/user as mob)
|
||||
if(density)
|
||||
// Open wall
|
||||
icon_state = "fwall_open"
|
||||
flick("fwall_opening", src)
|
||||
sleep(15)
|
||||
src.density = 0
|
||||
src.sd_SetOpacity(0)
|
||||
var/turf/T = src.loc
|
||||
T.sd_LumReset()
|
||||
|
||||
else
|
||||
icon_state = "wall"
|
||||
flick("fwall_closing", src)
|
||||
sleep(15)
|
||||
src.density = 1
|
||||
src.sd_SetOpacity(1)
|
||||
var/turf/T = src.loc
|
||||
//T.sd_LumUpdate()
|
||||
src.relativewall()
|
||||
T.sd_LumReset()
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
var/turf/T = get_turf(src)
|
||||
user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
|
||||
T.ReplaceWithWall()
|
||||
del(src)
|
||||
//
|
||||
|
||||
/*
|
||||
|
||||
var/turf/T = get_turf(user)
|
||||
user << "\blue Now adding plating..."
|
||||
sleep(40)
|
||||
if (get_turf(user) == T)
|
||||
user << "\blue You added the plating!"
|
||||
var/turf/Tsrc = get_turf(src)
|
||||
Tsrc.ReplaceWithWall()
|
||||
|
||||
*/
|
||||
|
||||
/obj/structure/falserwall/
|
||||
attack_hand(mob/user as mob)
|
||||
if(density)
|
||||
// Open wall
|
||||
icon_state = "frwall_open"
|
||||
flick("frwall_opening", src)
|
||||
sleep(15)
|
||||
src.density = 0
|
||||
src.sd_SetOpacity(0)
|
||||
var/turf/T = src.loc
|
||||
T.sd_LumReset()
|
||||
|
||||
else
|
||||
icon_state = "r_wall"
|
||||
flick("frwall_closing", src)
|
||||
sleep(15)
|
||||
src.density = 1
|
||||
src.sd_SetOpacity(1)
|
||||
var/turf/T = src.loc
|
||||
//T.sd_LumUpdate()
|
||||
src.relativewall()
|
||||
T.sd_LumReset()
|
||||
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
var/turf/T = get_turf(src)
|
||||
user.visible_message("[user] tightens some bolts on the r wall.", "You tighten the bolts on the r wall.")
|
||||
T.ReplaceWithWall() //Intentionally makes a regular wall instead of an r-wall (no cheap r-walls for you).
|
||||
del(src)
|
||||
return
|
||||
@@ -41,7 +41,8 @@
|
||||
else if (istype(src,/obj/structure/falserwall))
|
||||
src.icon_state = "rwall[junction]"
|
||||
else if (istype(src,/obj/structure/falsewall))
|
||||
src.icon_state = "wall[junction]"
|
||||
var/obj/structure/falsewall/fwall = src
|
||||
fwall.icon_state = "[fwall.mineral][junction]"
|
||||
/* else if(istype(src,/turf/simulated/shuttle/wall))
|
||||
var/newicon = icon;
|
||||
var/newiconstate = icon_state;
|
||||
@@ -151,3 +152,64 @@
|
||||
W.relativewall()
|
||||
|
||||
..()*/
|
||||
|
||||
/turf/simulated/wall/relativewall()
|
||||
if(istype(src,/turf/simulated/wall/vault)) //HACK!!!
|
||||
return
|
||||
|
||||
var/junction = 0 //will be used to determine from which side the wall is connected to other walls
|
||||
|
||||
for(var/turf/simulated/wall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falsewall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falserwall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
var/turf/simulated/wall/wall = src
|
||||
wall.icon_state = "[wall.walltype][junction]"
|
||||
return
|
||||
|
||||
/obj/structure/falsewall/relativewall()
|
||||
|
||||
var/junction = 0 //will be used to determine from which side the wall is connected to other walls
|
||||
|
||||
for(var/turf/simulated/wall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falsewall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falserwall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
var/obj/structure/falsewall/fwall = src
|
||||
fwall.icon_state = "[fwall.mineral][junction]"
|
||||
return
|
||||
|
||||
/obj/structure/falserwall/relativewall()
|
||||
|
||||
var/junction = 0 //will be used to determine from which side the wall is connected to other walls
|
||||
|
||||
for(var/turf/simulated/wall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)//Only 'like' walls connect -Sieve
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falsewall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
for(var/obj/structure/falserwall/W in orange(src,1))
|
||||
if(abs(src.x-W.x)-abs(src.y-W.y)) //doesn't count diagonal walls
|
||||
if(src.mineral == W.mineral)
|
||||
junction |= get_dir(src,W)
|
||||
src.icon_state = "rwall[junction]"
|
||||
return
|
||||
|
||||
@@ -306,6 +306,7 @@
|
||||
var/old_dir = dir
|
||||
var/turf/space/S = new /turf/space( locate(src.x, src.y, src.z) )
|
||||
S.dir = old_dir
|
||||
S.sd_LumReset()
|
||||
new /obj/structure/lattice( locate(src.x, src.y, src.z) )
|
||||
air_master.tiles_to_update |= S
|
||||
|
||||
@@ -328,6 +329,7 @@
|
||||
S.icon_old = old_icon
|
||||
S.opacity = 0
|
||||
S.sd_NewOpacity(1)
|
||||
S.sd_LumReset()
|
||||
levelupdate()
|
||||
air_master.tiles_to_update |= S
|
||||
|
||||
@@ -350,6 +352,30 @@
|
||||
S.icon_old = old_icon
|
||||
S.opacity = 0
|
||||
S.sd_NewOpacity(1)
|
||||
S.sd_LumReset()
|
||||
levelupdate()
|
||||
air_master.tiles_to_update |= S
|
||||
|
||||
var/turf/simulated/north = get_step(S,NORTH)
|
||||
var/turf/simulated/south = get_step(S,SOUTH)
|
||||
var/turf/simulated/east = get_step(S,EAST)
|
||||
var/turf/simulated/west = get_step(S,WEST)
|
||||
|
||||
if(istype(north)) air_master.tiles_to_update |= north
|
||||
if(istype(south)) air_master.tiles_to_update |= south
|
||||
if(istype(east)) air_master.tiles_to_update |= east
|
||||
if(istype(west)) air_master.tiles_to_update |= west
|
||||
return S
|
||||
|
||||
/turf/proc/ReplaceWithMineralWall(var/ore)
|
||||
var/old_icon = icon_state
|
||||
var/turf/simulated/wall/mineral/S = new /turf/simulated/wall/mineral( locate(src.x, src.y, src.z) )
|
||||
S.icon_old = old_icon
|
||||
S.opacity = 0
|
||||
S.sd_NewOpacity(1)
|
||||
S.mineral = ore
|
||||
S.New()//Hackish as fuck, but what can you do? -Sieve
|
||||
S.sd_LumReset()
|
||||
levelupdate()
|
||||
air_master.tiles_to_update |= S
|
||||
|
||||
@@ -389,13 +415,82 @@
|
||||
else
|
||||
if(!devastated)
|
||||
playsound(src.loc, 'Welder.ogg', 100, 1)
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
switch(mineral)
|
||||
if("metal")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("gold")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/gold( src )
|
||||
new /obj/item/stack/sheet/gold( src )
|
||||
if("silver")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/silver( src )
|
||||
new /obj/item/stack/sheet/silver( src )
|
||||
if("diamond")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/diamond( src )
|
||||
new /obj/item/stack/sheet/diamond( src )
|
||||
if("uranium")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/uranium( src )
|
||||
new /obj/item/stack/sheet/uranium( src )
|
||||
if("plasma")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/plasma( src )
|
||||
new /obj/item/stack/sheet/plasma( src )
|
||||
if("clown")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/clown( src )
|
||||
new /obj/item/stack/sheet/clown( src )
|
||||
if("sandstone")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/sandstone( src )
|
||||
new /obj/item/stack/sheet/sandstone( src )
|
||||
if("wood")
|
||||
new /obj/structure/girder(src)
|
||||
new /obj/item/stack/sheet/wood( src )
|
||||
new /obj/item/stack/sheet/wood( src )
|
||||
|
||||
else
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
switch(mineral)
|
||||
if("metal")
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("gold")
|
||||
new /obj/item/stack/sheet/gold( src )
|
||||
new /obj/item/stack/sheet/gold( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("silver")
|
||||
new /obj/item/stack/sheet/silver( src )
|
||||
new /obj/item/stack/sheet/silver( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("diamond")
|
||||
new /obj/item/stack/sheet/diamond( src )
|
||||
new /obj/item/stack/sheet/diamond( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("uranium")
|
||||
new /obj/item/stack/sheet/uranium( src )
|
||||
new /obj/item/stack/sheet/uranium( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("plasma")
|
||||
new /obj/item/stack/sheet/plasma( src )
|
||||
new /obj/item/stack/sheet/plasma( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("clown")
|
||||
new /obj/item/stack/sheet/clown( src )
|
||||
new /obj/item/stack/sheet/clown( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("sandstone")
|
||||
new /obj/item/stack/sheet/sandstone( src )
|
||||
new /obj/item/stack/sheet/sandstone( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
if("wood")
|
||||
new /obj/item/stack/sheet/wood( src )
|
||||
new /obj/item/stack/sheet/wood( src )
|
||||
new /obj/item/stack/sheet/metal( src )
|
||||
|
||||
for(var/obj/O in src.contents) //Eject contents!
|
||||
if(istype(O,/obj/effect/decal/poster))
|
||||
@@ -540,6 +635,8 @@
|
||||
playsound(src.loc, 'Welder.ogg', 100, 1)
|
||||
|
||||
sleep(60)
|
||||
if(mineral == "diamond")//Oh look, it's tougher
|
||||
sleep(60)
|
||||
if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return
|
||||
|
||||
if( user.loc == T && user.equipped() == W )
|
||||
@@ -555,6 +652,8 @@
|
||||
user << "<span class='notice'>You begin to drill though the wall.</span>"
|
||||
|
||||
sleep(60)
|
||||
if(mineral == "diamond")
|
||||
sleep(60)
|
||||
if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return
|
||||
|
||||
if( user.loc == T && user.equipped() == W )
|
||||
@@ -572,6 +671,8 @@
|
||||
playsound(src.loc, "sparks", 50, 1)
|
||||
|
||||
sleep(70)
|
||||
if(mineral == "diamond")
|
||||
sleep(70)
|
||||
if( !istype(src, /turf/simulated/wall) || !user || !EB || !T ) return
|
||||
|
||||
if( user.loc == T && user.equipped() == W )
|
||||
@@ -834,7 +935,72 @@
|
||||
return attack_hand(user)
|
||||
return
|
||||
|
||||
/turf/simulated/wall/mineral/attack_hand(mob/user as mob)
|
||||
if(mineral == "uranium")
|
||||
radiate()
|
||||
..()
|
||||
|
||||
/turf/simulated/wall/mineral/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if((mineral == "plasma") && W)
|
||||
if(is_hot(W) > 300)
|
||||
ignite(is_hot(W))
|
||||
return
|
||||
if(mineral == "uranium")
|
||||
radiate()
|
||||
// if((mineral == "gold") || (mineral == "silver"))
|
||||
// if(shocked)
|
||||
// shock()
|
||||
..()
|
||||
|
||||
/turf/simulated/wall/mineral/proc/PlasmaBurn(temperature)
|
||||
spawn(2)
|
||||
new /obj/structure/girder(src)
|
||||
src.ReplaceWithFloor()
|
||||
for(var/turf/simulated/floor/target_tile in range(0,src))
|
||||
// if(target_tile.parent && target_tile.parent.group_processing) // THESE PROBABLY DO SOMETHING IMPORTANT BUT I DON'T KNOW HOW TO FIX IT - Erthilo
|
||||
// target_tile.parent.suspend_group_processing()
|
||||
var/datum/gas_mixture/napalm = new
|
||||
var/toxinsToDeduce = 20
|
||||
napalm.toxins = toxinsToDeduce
|
||||
napalm.temperature = 400+T0C
|
||||
target_tile.assume_air(napalm)
|
||||
spawn (0) target_tile.hotspot_expose(temperature, 400)
|
||||
for(var/obj/structure/falsewall/plasma/F in range(3,src))//Hackish as fuck, but until temperature_expose works, there is nothing I can do -Sieve
|
||||
var/turf/T = get_turf(F)
|
||||
T.ReplaceWithMineralWall("plasma")
|
||||
del (F)
|
||||
for(var/turf/simulated/wall/mineral/W in range(3,src))
|
||||
if(mineral == "plasma")
|
||||
W.ignite((temperature/4))//Added so that you can't set off a massive chain reaction with a small flame
|
||||
for(var/obj/machinery/door/airlock/plasma/D in range(3,src))
|
||||
D.ignite(temperature/4)
|
||||
|
||||
/turf/simulated/wall/mineral/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
if(mineral == "plasma")
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
/turf/simulated/wall/mineral/proc/ignite(exposed_temperature)
|
||||
if(mineral == "plasma")
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
/turf/simulated/wall/mineral/Bumped(AM as mob|obj)
|
||||
if(mineral == "uranium")
|
||||
radiate()
|
||||
..()
|
||||
|
||||
/turf/simulated/wall/mineral/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(mineral == "plasma")
|
||||
if(istype(Proj,/obj/item/projectile/beam))
|
||||
PlasmaBurn(2500)
|
||||
else if(istype(Proj,/obj/item/projectile/ion))
|
||||
PlasmaBurn(500)
|
||||
..()
|
||||
|
||||
/turf/simulated/wall/proc/thermitemelt(mob/user as mob)
|
||||
if(mineral == "diamond")
|
||||
return
|
||||
var/obj/effect/overlay/O = new/obj/effect/overlay( src )
|
||||
O.name = "Thermite"
|
||||
O.desc = "Looks hot."
|
||||
@@ -997,9 +1163,13 @@ var/list/plating_icons = list("plating","platingdmg1","platingdmg2","platingdmg3
|
||||
..()
|
||||
name = "plating"
|
||||
|
||||
/turf/simulated/floor/grid
|
||||
/turf/simulated/floor/bluegrid
|
||||
icon = 'floors.dmi'
|
||||
icon_state = "circuit"
|
||||
icon_state = "bcircuit"
|
||||
|
||||
/turf/simulated/floor/greengrid
|
||||
icon = 'floors.dmi'
|
||||
icon_state = "gcircuit"
|
||||
|
||||
/turf/simulated/floor/New()
|
||||
..()
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon = 'chemical.dmi'
|
||||
icon_state = "dispenser"
|
||||
use_power = 1
|
||||
idle_power_usage = 40
|
||||
var/energy = 25
|
||||
var/max_energy = 75
|
||||
var/amount = 30
|
||||
@@ -168,6 +169,8 @@
|
||||
anchored = 1
|
||||
icon = 'chemical.dmi'
|
||||
icon_state = "mixer0"
|
||||
use_power = 1
|
||||
idle_power_usage = 20
|
||||
var/beaker = null
|
||||
var/mode = 0
|
||||
var/condi = 0
|
||||
|
||||
@@ -860,7 +860,7 @@ datum
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
M.radiation += 3
|
||||
M.apply_effect(10,IRRADIATE,0)
|
||||
|
||||
// radium may increase your chances to cure a disease
|
||||
if(istype(M,/mob/living/carbon)) // make sure to only use it on carbon mobs
|
||||
@@ -943,7 +943,7 @@ datum
|
||||
if(isrobot(M) || isAI(M)) return // Mutagen doesn't do anything to robutts!
|
||||
if(!M) M = holder.my_atom
|
||||
if(prob(33))
|
||||
M.radiation += 1
|
||||
M.apply_effect(10,IRRADIATE,0)
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1026,7 +1026,7 @@ datum
|
||||
|
||||
on_mob_life(var/mob/living/M as mob)
|
||||
if(!M) M = holder.my_atom
|
||||
M.radiation += 1
|
||||
M.apply_effect(3,IRRADIATE,0)
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
@@ -128,9 +128,15 @@
|
||||
new /obj/item/clothing/mask/spiderman(src.loc)
|
||||
del(src)*/
|
||||
|
||||
/*
|
||||
/obj/effect/landmark/costume/marisawizard/New()
|
||||
new /obj/item/clothing/head/wizard/marisa(src.loc)
|
||||
new/obj/item/clothing/suit/wizrobe/marisa(src.loc)
|
||||
del(src)*/
|
||||
|
||||
/obj/effect/landmark/costume/marisawizard/fake/New()
|
||||
new /obj/item/clothing/head/wizard/marisa/fake(src.loc)
|
||||
new/obj/item/clothing/suit/wizrobe/marisa/fake(src.loc)
|
||||
del(src)
|
||||
|
||||
/obj/effect/landmark/costume/fakewizard/New()
|
||||
|
||||
@@ -165,7 +165,7 @@
|
||||
color="yellow"
|
||||
|
||||
New()
|
||||
siemens_coefficient = pick(0,0,0.25,0.25,0.5,0.5,1)
|
||||
siemens_coefficient = pick(0,0,0.25,0.5,0.5,0.75,1.5)
|
||||
heat_transfer_coefficient = pick(0.01,0.1,0.25,0.25,0.5)
|
||||
|
||||
/obj/item/clothing/gloves/captain
|
||||
|
||||
@@ -69,4 +69,17 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/head/wizard/marisa/fake
|
||||
name = "Witch Hat"
|
||||
desc = "Strange-looking hat-wear, makes you want to cast fireballs."
|
||||
icon_state = "marisa"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/marisa/fake
|
||||
name = "Witch Robe"
|
||||
desc = "Magic is all about the spell power, ZE!"
|
||||
icon_state = "marisa"
|
||||
item_state = "marisarobe"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
|
||||
@@ -175,6 +175,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/gold/New(loc,amount)
|
||||
..()
|
||||
@@ -196,6 +197,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=3"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/silver/New(loc,amount)
|
||||
..()
|
||||
@@ -210,6 +212,7 @@
|
||||
w_class = 3.0
|
||||
throw_range = 3
|
||||
origin_tech = "materials=6"
|
||||
perunit = 3750
|
||||
|
||||
/obj/item/stack/sheet/diamond/New(loc,amount)
|
||||
..()
|
||||
@@ -217,7 +220,7 @@
|
||||
pixel_y = rand(0,4)-4
|
||||
|
||||
/obj/item/stack/sheet/uranium
|
||||
name = "Uranium block"
|
||||
name = "uranium"
|
||||
icon_state = "sheet-uranium"
|
||||
force = 5.0
|
||||
throwforce = 5
|
||||
@@ -225,9 +228,10 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=5"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/enruranium
|
||||
name = "Enriched Uranium block"
|
||||
name = "enriched uranium"
|
||||
icon_state = "sheet-enruranium"
|
||||
force = 5.0
|
||||
throwforce = 5
|
||||
@@ -235,6 +239,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=5"
|
||||
perunit = 1000
|
||||
|
||||
/obj/item/stack/sheet/plasma
|
||||
name = "solid plasma"
|
||||
@@ -245,6 +250,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "plasmatech=2;materials=2"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/adamantine
|
||||
name = "adamantine"
|
||||
@@ -255,6 +261,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/mythril
|
||||
name = "mythril"
|
||||
@@ -265,6 +272,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/clown
|
||||
name = "bananium"
|
||||
@@ -275,6 +283,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
origin_tech = "materials=4"
|
||||
perunit = 2000
|
||||
|
||||
/obj/item/stack/sheet/clown/New(loc,amount)
|
||||
..()
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
if(PARALYZE)
|
||||
Paralyse(effect/(blocked+1))
|
||||
if(IRRADIATE)
|
||||
radiation += max((effect - (effect*getarmor(null, "rad"))), 0)//Rads auto check armor
|
||||
radiation += max((((effect - (effect*(getarmor(null, "rad")/100))))/(blocked+1)),0)//Rads auto check armor
|
||||
if(STUTTER)
|
||||
if(canstun) // stun is usually associated with stutter
|
||||
stuttering = max(stuttering,(effect/(blocked+1)))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/mob/living/silicon/robot/Login()
|
||||
/mob/living/silicon/robot/Login(var/syndie = 0)
|
||||
..()
|
||||
|
||||
rebuild_appearance()
|
||||
@@ -19,4 +19,43 @@
|
||||
A.connected_robots += src
|
||||
break
|
||||
*/
|
||||
if(!started)
|
||||
if(!syndie)
|
||||
if (client)
|
||||
connected_ai = activeais()
|
||||
if (connected_ai)
|
||||
connected_ai.connected_robots += src
|
||||
// laws = connected_ai.laws //The borg inherits its AI's laws
|
||||
laws = new /datum/ai_laws
|
||||
lawsync()
|
||||
src << "<b>Unit slaved to [connected_ai.name], downloading laws.</b>"
|
||||
lawupdate = 1
|
||||
else
|
||||
laws = new /datum/ai_laws/nanotrasen
|
||||
lawupdate = 0
|
||||
src << "<b>Unable to locate an AI, reverting to standard NanoTrasen laws.</b>"
|
||||
else
|
||||
laws = new /datum/ai_laws/antimov
|
||||
lawupdate = 0
|
||||
scrambledcodes = 1
|
||||
src << "Follow your laws."
|
||||
cell.maxcharge = 25000
|
||||
cell.charge = 25000
|
||||
module = new /obj/item/weapon/robot_module/syndicate(src)
|
||||
hands.icon_state = "standard"
|
||||
icon_state = "secborg"
|
||||
modtype = "Synd"
|
||||
|
||||
radio = new /obj/item/device/radio(src)
|
||||
camera = new /obj/machinery/camera(src)
|
||||
camera.c_tag = real_name
|
||||
camera.network = "SS13"
|
||||
if(!cell)
|
||||
var/obj/item/weapon/cell/C = new(src)
|
||||
C.charge = 1500
|
||||
cell = C
|
||||
if(src.mind)
|
||||
ticker.mode.remove_revolutionary(src.mind)
|
||||
started = 1
|
||||
|
||||
return
|
||||
@@ -1,3 +1,5 @@
|
||||
/mob/living/silicon/robot
|
||||
var/started = null//A fix to ensure people don't try to bypass law assignment. Initial assignment sets it to one but it check on login whether they have been initiated -Sieve
|
||||
|
||||
/mob/living/silicon/robot/New(loc,var/syndie = 0)
|
||||
spark_system = new /datum/effect/effect/system/spark_spread()
|
||||
@@ -51,6 +53,7 @@
|
||||
cell = C
|
||||
if(src.mind)
|
||||
ticker.mode.remove_revolutionary(src.mind)
|
||||
started = 1
|
||||
..()
|
||||
|
||||
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
|
||||
@@ -551,6 +554,9 @@
|
||||
sleep(20)
|
||||
src << "\red ERRORERRORERROR"
|
||||
src << "\red \b ALERT: [user.real_name] is your new master. Obey your new laws and their commands."
|
||||
if(istype(src.module, /obj/item/weapon/robot_module/miner))
|
||||
src.module.modules -= /obj/item/weapon/pickaxe/borgdrill
|
||||
src.module.modules += /obj/item/weapon/pickaxe/diamonddrill//Buff when emagged, break down walls, kill men, whatever -Sieve
|
||||
updateicon()
|
||||
else
|
||||
user << "You fail to [ locked ? "unlock" : "lock"] [src]'s interface."
|
||||
|
||||
@@ -488,6 +488,15 @@
|
||||
g_amt = 100
|
||||
brightness = 5
|
||||
|
||||
/obj/item/weapon/light/bulb/fire
|
||||
name = "fire bulb"
|
||||
desc = "A replacement fire bulb."
|
||||
icon_state = "fbulb"
|
||||
base_state = "fbulb"
|
||||
item_state = "egg4"
|
||||
g_amt = 100
|
||||
brightness = 5
|
||||
|
||||
// update the icon state and description of the light
|
||||
/obj/item/weapon/light
|
||||
proc/update()
|
||||
|
||||
@@ -20,10 +20,12 @@
|
||||
weak
|
||||
movement_range = 8
|
||||
energy = 5
|
||||
|
||||
strong
|
||||
movement_range = 15
|
||||
energy = 15
|
||||
|
||||
|
||||
New(loc, dir = 2)
|
||||
src.loc = loc
|
||||
source = usr
|
||||
@@ -32,6 +34,7 @@
|
||||
move(1)
|
||||
return
|
||||
|
||||
|
||||
Bump(atom/A)
|
||||
if (A)
|
||||
if(ismob(A))
|
||||
@@ -55,34 +58,37 @@
|
||||
del (src)
|
||||
return
|
||||
|
||||
|
||||
Bumped(atom/A)
|
||||
if(ismob(A))
|
||||
Bump(A)
|
||||
return
|
||||
|
||||
|
||||
ex_act(severity)
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
proc
|
||||
toxmob(var/mob/living/M)
|
||||
var/radiation = (energy*2)
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
/* if(istype(M,/mob/living/carbon/human))
|
||||
if(M:wear_suit) //TODO: check for radiation protection
|
||||
radiation = round(radiation/2,1)
|
||||
if(istype(M,/mob/living/carbon/monkey))
|
||||
if(M:wear_suit) //TODO: check for radiation protection
|
||||
radiation = round(radiation/2,1)
|
||||
radiation = round(radiation/2,1)*/
|
||||
if(ionizing)
|
||||
//give them standard rad damage
|
||||
M.radiation += radiation
|
||||
M.apply_effects((radiation*3),IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
else
|
||||
//burn them
|
||||
M.take_overall_damage(0, radiation)
|
||||
M.apply_effects((radiation*2),IRRADIATE,0)
|
||||
M.updatehealth()
|
||||
//M << "\red You feel odd."
|
||||
return
|
||||
|
||||
|
||||
move(var/lag)
|
||||
if(target)
|
||||
if(movetotarget)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
/*Composed of 7 parts
|
||||
3 Particle emitters
|
||||
@@ -241,7 +241,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
@@ -249,30 +248,25 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
if(O:use(1,user))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
// icon_state = "[reference]w"
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
// icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
// icon_state = "[reference]c"
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
// icon_state = "[reference]w"
|
||||
temp_state--
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
@@ -398,7 +392,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
src.anchored = 1
|
||||
user.visible_message("[user.name] secures the [src.name] to the floor.", \
|
||||
"You secure the external bolts.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state++
|
||||
if(1)
|
||||
if(iswrench(O))
|
||||
@@ -406,31 +399,27 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
src.anchored = 0
|
||||
user.visible_message("[user.name] detaches the [src.name] from the floor.", \
|
||||
"You remove the external bolts.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(iscoil(O))
|
||||
if(O:use(1))
|
||||
user.visible_message("[user.name] adds wires to the [src.name].", \
|
||||
"You add some wires.")
|
||||
//icon_state = "[reference]w"
|
||||
temp_state++
|
||||
if(2)
|
||||
if(iswirecutter(O))//TODO:Shock user if its on?
|
||||
user.visible_message("[user.name] removes some wires from the [src.name].", \
|
||||
"You remove some wires.")
|
||||
//icon_state = "[reference]"
|
||||
temp_state--
|
||||
else if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] closes the [src.name]'s access panel.", \
|
||||
"You close the access panel.")
|
||||
//icon_state = "[reference]c"
|
||||
temp_state++
|
||||
if(3)
|
||||
if(isscrewdriver(O))
|
||||
user.visible_message("[user.name] opens the [src.name]'s access panel.", \
|
||||
"You open the access panel.")
|
||||
//icon_state = "[reference]w"
|
||||
temp_state--
|
||||
active = 0
|
||||
if(temp_state == src.construction_state)//Nothing changed
|
||||
return 0
|
||||
else
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
/obj/machinery/particle_accelerator/control_box
|
||||
name = "Particle Accelerator Control Computer"
|
||||
@@ -13,11 +13,11 @@
|
||||
active_power_usage = 10000
|
||||
construction_state = 0
|
||||
active = 0
|
||||
dir = 1
|
||||
var/list/obj/structure/particle_accelerator/connected_parts
|
||||
var/assembled = 0
|
||||
var/parts = null
|
||||
|
||||
|
||||
New()
|
||||
connected_parts = list()
|
||||
..()
|
||||
@@ -27,7 +27,6 @@
|
||||
if(construction_state >= 3)
|
||||
interact(user)
|
||||
|
||||
|
||||
update_state()
|
||||
if(construction_state < 3)
|
||||
use_power = 0
|
||||
@@ -47,7 +46,10 @@
|
||||
icon_state = "[reference]p1"
|
||||
else
|
||||
if(use_power)
|
||||
icon_state = "[reference]p"
|
||||
if(assembled)
|
||||
icon_state = "[reference]p"
|
||||
else
|
||||
icon_state = "u[reference]p"
|
||||
else
|
||||
switch(construction_state)
|
||||
if(0)
|
||||
@@ -137,6 +139,8 @@
|
||||
|
||||
proc
|
||||
part_scan()
|
||||
for(var/obj/structure/particle_accelerator/fuel_chamber/F in orange(1,src))
|
||||
src.dir = F.dir
|
||||
connected_parts = list()
|
||||
var/tally = 0
|
||||
var/ldir = turn(dir,-90)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
var/global/list/uneatable = list(
|
||||
/turf/space,
|
||||
@@ -411,15 +411,17 @@ var/global/list/uneatable = list(
|
||||
toxmob()
|
||||
var/toxrange = 10
|
||||
var/toxdamage = 4
|
||||
var/radiation = 5
|
||||
var/radiation = 15
|
||||
var/radiationmin = 3
|
||||
if (src.energy>200)
|
||||
toxdamage = round(((src.energy-150)/50)*4,1)
|
||||
radiation = round(((src.energy-150)/50)*5,1)
|
||||
radiationmin = round((radiation/5),1)//
|
||||
for(var/mob/living/M in view(toxrange, src.loc))
|
||||
if(istype(M,/mob/living/))
|
||||
M.apply_effect(rand(radiation), IRRADIATE)
|
||||
var/tdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad")))
|
||||
M.apply_effect(tdamage, TOX)
|
||||
M.apply_effect(rand(radiationmin,radiation), IRRADIATE)
|
||||
toxdamage = (toxdamage - (toxdamage*M.getarmor(null, "rad")))
|
||||
M.apply_effect(toxdamage, TOX)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
|
||||
/obj/item/weapon/gun/energy/gun
|
||||
icon_state = "energystun100"
|
||||
item_state = "energystun100"
|
||||
@@ -78,14 +76,14 @@
|
||||
M << "\red Your gun feels pleasantly warm for a moment."
|
||||
else
|
||||
M << "\red You feel a warm sensation."
|
||||
M.apply_effect(rand(1,40), IRRADIATE)
|
||||
M.apply_effect(rand(3,120), IRRADIATE)
|
||||
lightfail = 1
|
||||
else
|
||||
for (var/mob/living/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES
|
||||
if (src in M.contents)
|
||||
M << "\red Your gun's reactor overloads!"
|
||||
M << "\red You feel a wave of heat wash over you."
|
||||
M.apply_effect(100, IRRADIATE)
|
||||
M.apply_effect(300, IRRADIATE)
|
||||
crit_fail = 1 //break the gun so it stops recharging
|
||||
processing_objects.Remove(src)
|
||||
update_icon()
|
||||
|
||||
@@ -49,10 +49,11 @@
|
||||
|
||||
on_hit(var/atom/target, var/blocked = 0)
|
||||
var/mob/M = target
|
||||
if(istype(target, /mob/living/carbon/human) && M:mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays.
|
||||
if(istype(target, /mob/living) && M:mutantrace == "plant") //Plantmen possibly get mutated and damaged by the rays.
|
||||
var/mob/living/L as mob
|
||||
if(prob(15))
|
||||
M.radiation += rand(10,30)
|
||||
M.Weaken(5)
|
||||
L.apply_effect((rand(30,80)),IRRADIATE)
|
||||
L.Weaken(5)
|
||||
for (var/mob/V in viewers(src))
|
||||
V.show_message("\red [M] writhes in pain as \his vacuoles boil.", 3, "\red You hear the crunching of leaves.", 2)
|
||||
if(prob(35))
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:05
|
||||
|
||||
/*///////////////Circuit Imprinter (By Darem)////////////////////////
|
||||
Used to print new circuit boards (for computers and similar systems) and AI modules. Each circuit board pattern are stored in
|
||||
a /datum/desgin on the linked R&D console. You can then print them out in a fasion similar to a regular lathe. However, instead of
|
||||
@@ -81,6 +79,12 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
|
||||
if(g_amount >= 3750)
|
||||
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
|
||||
G.amount = round(g_amount / 3750)
|
||||
if(gold_amount >= 2000)
|
||||
var/obj/item/stack/sheet/gold/G = new /obj/item/stack/sheet/gold(src.loc)
|
||||
G.amount = round(gold_amount / 2000)
|
||||
if(diamond_amount >= 2000)
|
||||
var/obj/item/stack/sheet/diamond/G = new /obj/item/stack/sheet/diamond(src.loc)
|
||||
G.amount = round(diamond_amount / 2000)
|
||||
del(src)
|
||||
return 1
|
||||
else
|
||||
@@ -101,20 +105,18 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
|
||||
if (busy)
|
||||
user << "\red The [name] is busy. Please wait for completion of previous operation."
|
||||
return 1
|
||||
if ((TotalMaterials() + 3750) > max_material_amount)
|
||||
var/obj/item/stack/sheet/stack = O
|
||||
if ((TotalMaterials() + stack.perunit) > max_material_amount)
|
||||
user << "\red The [name] is full. Please remove glass from the protolathe in order to insert more."
|
||||
return 1
|
||||
|
||||
var/obj/item/stack/stack = O
|
||||
var/amount = 1
|
||||
var/title = "[stack.name]: [stack.amount] sheet\s left"
|
||||
switch(alert(title, "How many sheets do you want to load?", "one", "max", "cancel", null))
|
||||
if("one")
|
||||
amount = 1
|
||||
if("max")
|
||||
amount = min(stack.amount, round((max_material_amount-TotalMaterials())/3750))
|
||||
else
|
||||
return 1
|
||||
var/amount = round(input("How many sheets do you want to add?") as num)
|
||||
if(amount < 0)
|
||||
amount = 0
|
||||
if(amount == 0)
|
||||
return
|
||||
if(amount > stack.amount)
|
||||
amount = min(stack.amount, round((max_material_amount-TotalMaterials())/stack.perunit))
|
||||
|
||||
busy = 1
|
||||
use_power(max(1000, (3750*amount/10)))
|
||||
@@ -123,9 +125,9 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
|
||||
if(istype(stack, /obj/item/stack/sheet/glass))
|
||||
g_amount += amount * 3750
|
||||
else if(istype(stack, /obj/item/stack/sheet/gold))
|
||||
gold_amount += amount * 3750
|
||||
gold_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/diamond))
|
||||
diamond_amount += amount * 3750
|
||||
diamond_amount += amount * 2000
|
||||
stack.use(amount)
|
||||
busy = 0
|
||||
src.updateUsrDialog()
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
priority = "Undetermined"
|
||||
|
||||
/obj/machinery/message_server
|
||||
icon = 'stationobjs.dmi'
|
||||
icon = 'research.dmi'
|
||||
icon_state = "server"
|
||||
name = "Messaging Server"
|
||||
density = 1
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
|
||||
|
||||
/*
|
||||
Protolathe
|
||||
|
||||
@@ -13,6 +11,7 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
name = "Protolathe"
|
||||
icon_state = "protolathe"
|
||||
flags = OPENCONTAINER
|
||||
|
||||
var/max_material_storage = 100000 //All this could probably be done better with a list but meh.
|
||||
var/m_amount = 0.0
|
||||
var/g_amount = 0.0
|
||||
@@ -84,31 +83,31 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
I.loc = src.loc
|
||||
if(m_amount >= 3750)
|
||||
var/obj/item/stack/sheet/metal/G = new /obj/item/stack/sheet/metal(src.loc)
|
||||
G.amount = round(m_amount / 3750)
|
||||
G.amount = round(m_amount / G.perunit)
|
||||
if(g_amount >= 3750)
|
||||
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
|
||||
G.amount = round(g_amount / 3750)
|
||||
if(plasma_amount >= 3750)
|
||||
G.amount = round(g_amount / G.perunit)
|
||||
if(plasma_amount >= 2000)
|
||||
var/obj/item/stack/sheet/plasma/G = new /obj/item/stack/sheet/plasma(src.loc)
|
||||
G.amount = round(plasma_amount / 3750)
|
||||
if(silver_amount >= 3750)
|
||||
G.amount = round(plasma_amount / G.perunit)
|
||||
if(silver_amount >= 2000)
|
||||
var/obj/item/stack/sheet/silver/G = new /obj/item/stack/sheet/silver(src.loc)
|
||||
G.amount = round(silver_amount / 3750)
|
||||
if(gold_amount >= 3750)
|
||||
G.amount = round(silver_amount / G.perunit)
|
||||
if(gold_amount >= 2000)
|
||||
var/obj/item/stack/sheet/gold/G = new /obj/item/stack/sheet/gold(src.loc)
|
||||
G.amount = round(gold_amount / 3750)
|
||||
if(uranium_amount >= 3750)
|
||||
G.amount = round(gold_amount / G.perunit)
|
||||
if(uranium_amount >= 2000)
|
||||
var/obj/item/stack/sheet/uranium/G = new /obj/item/stack/sheet/uranium(src.loc)
|
||||
G.amount = round(uranium_amount / 3750)
|
||||
if(diamond_amount >= 3750)
|
||||
G.amount = round(uranium_amount / G.perunit)
|
||||
if(diamond_amount >= 2000)
|
||||
var/obj/item/stack/sheet/diamond/G = new /obj/item/stack/sheet/diamond(src.loc)
|
||||
G.amount = round(diamond_amount / 3750)
|
||||
if(clown_amount >= 3750)
|
||||
G.amount = round(diamond_amount / G.perunit)
|
||||
if(clown_amount >= 2000)
|
||||
var/obj/item/stack/sheet/clown/G = new /obj/item/stack/sheet/clown(src.loc)
|
||||
G.amount = round(clown_amount / 3750)
|
||||
if(adamantine_amount >= 3750)
|
||||
G.amount = round(clown_amount / G.perunit)
|
||||
if(adamantine_amount >= 2000)
|
||||
var/obj/item/stack/sheet/adamantine/G = new /obj/item/stack/sheet/adamantine(src.loc)
|
||||
G.amount = round(adamantine_amount / 3750)
|
||||
G.amount = round(adamantine_amount / G.perunit)
|
||||
del(src)
|
||||
return 1
|
||||
else
|
||||
@@ -131,21 +130,18 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
user << "\red The protolathe's material bin is full. Please remove material before adding more."
|
||||
return 1
|
||||
|
||||
var/obj/item/stack/stack = O
|
||||
var/amount = 1
|
||||
var/title = "[stack.name]: [stack.amount] sheet\s left"
|
||||
switch(alert(title, "How many sheets do you want to load?", "one", "max", "cancel", null))
|
||||
if("one")
|
||||
amount = 1
|
||||
if("max")
|
||||
amount = min(stack.amount, round((max_material_storage-TotalMaterials())/3750))
|
||||
else
|
||||
return 1
|
||||
var/obj/item/stack/sheet/stack = O
|
||||
var/amount = round(input("How many sheets do you want to add?") as num)
|
||||
if(amount < 0)
|
||||
amount = 0
|
||||
if(amount == 0)
|
||||
return
|
||||
if(amount > stack.amount)
|
||||
amount = min(stack.amount, round((max_material_storage-TotalMaterials())/stack.perunit))
|
||||
|
||||
if(istype(O, /obj/item/stack/sheet/glass))
|
||||
flick("protolathe_r",src)//plays glass insertion animation
|
||||
else
|
||||
flick("protolathe_o",src)//plays metal insertion animation
|
||||
src.overlays += "protolathe_[stack.name]"
|
||||
sleep(10)
|
||||
src.overlays -= "protolathe_[stack.name]"
|
||||
|
||||
icon_state = "protolathe"
|
||||
busy = 1
|
||||
@@ -153,25 +149,24 @@ Note: Must be placed west/left of and R&D console to function.
|
||||
spawn(16)
|
||||
user << "\blue You add [amount] sheets to the [src.name]."
|
||||
icon_state = "protolathe"
|
||||
flick("protolathe_o",src)
|
||||
if(istype(stack, /obj/item/stack/sheet/metal))
|
||||
m_amount += amount * 3750
|
||||
else if(istype(stack, /obj/item/stack/sheet/glass))
|
||||
g_amount += amount * 3750
|
||||
else if(istype(stack, /obj/item/stack/sheet/gold))
|
||||
gold_amount += amount * 3750
|
||||
gold_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/silver))
|
||||
silver_amount += amount * 3750
|
||||
silver_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/plasma))
|
||||
plasma_amount += amount * 3750
|
||||
plasma_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/uranium))
|
||||
uranium_amount += amount * 3750
|
||||
uranium_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/diamond))
|
||||
diamond_amount += amount * 3750
|
||||
diamond_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/clown))
|
||||
clown_amount += amount * 3750
|
||||
clown_amount += amount * 2000
|
||||
else if(istype(stack, /obj/item/stack/sheet/adamantine))
|
||||
adamantine_amount += amount * 3750
|
||||
adamantine_amount += amount * 2000
|
||||
stack.use(amount)
|
||||
busy = 0
|
||||
src.updateUsrDialog()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
/*
|
||||
Research and Development (R&D) Console
|
||||
@@ -83,8 +83,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
return_name = "Uranium"
|
||||
if("diamond")
|
||||
return_name = "Diamond"
|
||||
if("adamantine")
|
||||
return_name = "adamantine"
|
||||
if("clown")
|
||||
return_name = "Bananium"
|
||||
else
|
||||
@@ -372,8 +370,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M]))
|
||||
if("$diamond")
|
||||
linked_lathe.diamond_amount = max(0, (linked_lathe.diamond_amount-being_built.materials[M]))
|
||||
if("$adamantine")
|
||||
linked_lathe.adamantine_amount = max(0, (linked_lathe.adamantine_amount-being_built.materials[M]))
|
||||
if("$clown")
|
||||
linked_lathe.clown_amount = max(0, (linked_lathe.clown_amount-being_built.materials[M]))
|
||||
else
|
||||
@@ -466,9 +462,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
if("diamond")
|
||||
type = /obj/item/stack/sheet/diamond
|
||||
res_amount = "diamond_amount"
|
||||
if("adamantine")
|
||||
type = /obj/item/stack/sheet/adamantine
|
||||
res_amount = "adamantine_amount"
|
||||
if("clown")
|
||||
type = /obj/item/stack/sheet/clown
|
||||
res_amount = "clown_amount"
|
||||
@@ -737,8 +730,6 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
if(D.materials[M] > linked_lathe.uranium_amount) check_materials = 0
|
||||
if("$diamond")
|
||||
if(D.materials[M] > linked_lathe.diamond_amount) check_materials = 0
|
||||
if("$adamantine")
|
||||
if(D.materials[M] > linked_lathe.adamantine_amount) check_materials = 0
|
||||
if("$clown")
|
||||
if(D.materials[M] > linked_lathe.clown_amount) check_materials = 0
|
||||
else if (!linked_lathe.reagents.has_reagent(M, D.materials[M]))
|
||||
@@ -769,51 +760,44 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
//Gold
|
||||
dat += "* [linked_lathe.gold_amount] cm<sup>3</sup> of Gold || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.gold_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.gold_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.gold_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.gold_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.gold_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.gold_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=gold;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Silver
|
||||
dat += "* [linked_lathe.silver_amount] cm<sup>3</sup> of Silver || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.silver_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.silver_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.silver_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.silver_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.silver_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.silver_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=silver;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Plasma
|
||||
dat += "* [linked_lathe.plasma_amount] cm<sup>3</sup> of Solid Plasma || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.plasma_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.plasma_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.plasma_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.plasma_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasma;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.plasma_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasmalathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Uranium
|
||||
dat += "* [linked_lathe.uranium_amount] cm<sup>3</sup> of Uranium || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.uranium_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.uranium_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.uranium_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.uranium_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.uranium_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.uranium_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=uranium;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Diamond
|
||||
dat += "* [linked_lathe.diamond_amount] cm<sup>3</sup> of Diamond || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.diamond_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Adamantine - Is this even possible to get?
|
||||
dat += "* [linked_lathe.adamantine_amount] cm<sup>3</sup> of Adamantine || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.adamantine_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.adamantine_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.adamantine_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=adamantine;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.diamond_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=diamond;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Bananium
|
||||
dat += "* [linked_lathe.clown_amount] cm<sup>3</sup> of Bananium || "
|
||||
dat += "Eject: "
|
||||
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.clown_amount >= 18750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.clown_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_lathe.clown_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_lathe.clown_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_lathe.clown_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=clown;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
|
||||
if(3.3) //Protolathe Chemical Storage Submenu
|
||||
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A> || "
|
||||
@@ -882,16 +866,16 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
//Gold
|
||||
dat += "* [linked_imprinter.gold_amount] cm<sup>3</sup> of Gold || "
|
||||
dat += "Eject: "
|
||||
if(linked_imprinter.gold_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_imprinter.gold_amount >= 18750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_imprinter.gold_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_imprinter.gold_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_imprinter.gold_amount >= 10000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_imprinter.gold_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=gold;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
dat += "<BR>"
|
||||
//Diamond
|
||||
dat += "* [linked_imprinter.diamond_amount] cm<sup>3</sup> of Diamond || "
|
||||
dat += "Eject: "
|
||||
if(linked_imprinter.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_imprinter.diamond_amount >= 18750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_imprinter.diamond_amount >= 3750) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
if(linked_imprinter.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=1'>(1 Sheet)</A> "
|
||||
if(linked_imprinter.diamond_amount >= 10000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=5'>(5 Sheets)</A> "
|
||||
if(linked_imprinter.diamond_amount >= 2000) dat += "<A href='?src=\ref[src];imprinter_ejectsheet=diamond;imprinter_ejectsheet_amt=50'>(Max Sheets)</A>"
|
||||
|
||||
user << browse("<TITLE>Research and Development Console</TITLE><HR>[dat]", "window=rdconsole;size=575x400")
|
||||
onclose(user, "rdconsole")
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
|
||||
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33
|
||||
|
||||
//All devices that link into the R&D console fall into thise type for easy identification and some shared procs.
|
||||
|
||||
|
||||
/obj/machinery/r_n_d
|
||||
name = "R&D Device"
|
||||
icon = 'research.dmi'
|
||||
density = 1
|
||||
anchored = 1
|
||||
use_power = 1
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
//This file was auto-corrected by findeclaration.exe on 29/05/2012 15:03:06
|
||||
|
||||
/obj/machinery/r_n_d/server
|
||||
name = "R&D Server"
|
||||
icon = 'research.dmi'
|
||||
icon_state = "server"
|
||||
var/datum/research/files
|
||||
var/health = 100
|
||||
|
||||
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 132 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 23 KiB |
BIN
icons/obj/doors/Doorbananium.dmi
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
icons/obj/doors/Doordiamond.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
icons/obj/doors/Doorgold.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
icons/obj/doors/Doorplasma.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
icons/obj/doors/Doorsand.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
icons/obj/doors/Doorsilver.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
icons/obj/doors/Dooruranium.dmi
Normal file
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 126 KiB |
BIN
icons/obj/machines/research.dmi
Normal file
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 336 KiB After Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 193 KiB |
@@ -2527,13 +2527,13 @@
|
||||
"aWE" = (/obj/machinery/status_display{pixel_x = 0; pixel_y = 32},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"aWF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"aWG" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/power/apc{dir = 4; name = "Captain's Quarters APC"; pixel_x = 26; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"aWH" = (/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWI" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/turret{id = "aicore"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWJ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/machinery/camera{c_tag = "AI Chamber North"; dir = 2; network = "Command"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWK" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWL" = (/obj/machinery/light/small{dir = 1},/obj/machinery/power/terminal{dir = 8},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_y = 29},/obj/structure/cable,/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWM" = (/obj/machinery/turret{id = "aicore"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWN" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aWH" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWI" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/turret{id = "aicore"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWJ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/machinery/camera{c_tag = "AI Chamber North"; dir = 2; network = "Command"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWK" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWL" = (/obj/machinery/light/small{dir = 1},/obj/machinery/power/terminal{dir = 8},/obj/machinery/requests_console{department = "AI"; departmentType = 5; pixel_y = 29},/obj/structure/cable,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWM" = (/obj/machinery/turret{id = "aicore"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWN" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aWO" = (/obj/machinery/copier,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"aWP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"aWQ" = (/obj/structure/filingcabinet,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
@@ -2601,9 +2601,9 @@
|
||||
"aYa" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{dir = 5; icon_state = "carpetside"},/area/crew_quarters/captain)
|
||||
"aYb" = (/obj/machinery/computer/arcade,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"aYc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"aYd" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aYe" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/ai_slipper,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aYf" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aYd" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aYe" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/ai_slipper,/obj/effect/landmark{name = "lightsout"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aYf" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aYg" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"aYh" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
|
||||
"aYi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop)
|
||||
@@ -2666,11 +2666,11 @@
|
||||
"aZn" = (/turf/simulated/floor{icon_state = "carpetside"},/area/crew_quarters/captain)
|
||||
"aZo" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{dir = 6; icon_state = "carpetside"},/area/crew_quarters/captain)
|
||||
"aZp" = (/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"aZq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aZq" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aZr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"aZs" = (/turf/simulated/wall,/area/turret_protected/ai)
|
||||
"aZt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"aZu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"aZu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"aZv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop)
|
||||
"aZw" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/machinery/vending/cola,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"aZx" = (/mob/living/simple_animal/corgi/Ian,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
@@ -2715,13 +2715,13 @@
|
||||
"bak" = (/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment{dir = 1},/obj/item/weapon/megaphone,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bal" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bam" = (/obj/machinery/vending/cola,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"ban" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 1; freerange = 1; listening = 0; name = "General Broadcasting Channel"; pixel_x = -25; pixel_y = -4},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bao" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"ban" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = 0; pixel_y = 20},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 1; freerange = 1; listening = 0; name = "General Broadcasting Channel"; pixel_x = -25; pixel_y = -4},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bao" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/window{dir = 4; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bap" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"baq" = (/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = -27; pixel_y = 4},/obj/machinery/turretid{id = "aicore"; pixel_x = 24; pixel_y = -7},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; listening = 0; name = "General Broadcasting Channel"; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"baq" = (/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 28; pixel_y = 5},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = -27; pixel_y = 4},/obj/machinery/turretid{id = "aicore"; pixel_x = 24; pixel_y = -7},/obj/effect/landmark/start{name = "AI"},/obj/item/device/radio/intercom{broadcasting = 1; listening = 0; name = "General Broadcasting Channel"; pixel_y = 25},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bar" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"bas" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bat" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 1; freerange = 1; listening = 0; name = "General Broadcasting Channel"; pixel_x = 27; pixel_y = -3},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bas" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/door/window{base_state = "right"; dir = 8; icon_state = "right"; name = "AI Core Door"; req_access_txt = "16"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bat" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/landmark{name = "tripai"},/obj/item/device/radio/intercom{anyai = 0; freerange = 1; name = "General Listening Channel"; pixel_x = 0; pixel_y = 19},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 0; freerange = 1; frequency = 1447; name = "Private Channel"; pixel_x = 0; pixel_y = -26},/obj/item/device/radio/intercom{anyai = 0; broadcasting = 1; freerange = 1; listening = 0; name = "General Broadcasting Channel"; pixel_x = 27; pixel_y = -3},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bau" = (/obj/machinery/vending/snack,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"bav" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"baw" = (/obj/structure/stool/bed/chair/comfy/teal{dir = 4},/turf/simulated/floor{icon_state = "blue"; dir = 4},/area/crew_quarters/heads/hop)
|
||||
@@ -2781,12 +2781,12 @@
|
||||
"bby" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/stamp/captain,/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment{dir = 1},/obj/item/weapon/paper{info = "Our scientists stole your suit and shoved it in their destructive analyzer. We replaced it with one that isn't space capable. <br><br>--Central Command"; name = "Important Memo"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bbz" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bbA" = (/obj/structure/displaycase,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bbB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/apc{dir = 1; equip_consumption = 100; light_consumption = 50; name = "AI Chamber APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbE" = (/obj/machinery/door/window{name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/hologram/holopad,/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bbB" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbD" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/power/apc{dir = 1; equip_consumption = 100; light_consumption = 50; name = "AI Chamber APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbE" = (/obj/machinery/door/window{name = "AI Core Door"; req_access_txt = "16"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/hologram/holopad,/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbF" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/flasher{pixel_x = 0; pixel_y = 24; id = "AI"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbG" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bbH" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/atm{pixel_x = -30; pixel_y = 0},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"bbI" = (/obj/effect/landmark/start{name = "Head of Personnel"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"bbJ" = (/obj/machinery/computer/card,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
@@ -2843,12 +2843,12 @@
|
||||
"bcI" = (/obj/effect/landmark/start{name = "Captain"},/obj/structure/stool/bed/chair/comfy/teal{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bcJ" = (/obj/item/weapon/book/manual/security_space_law,/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment{dir = 1},/obj/item/ashtray/bronze,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bcK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/keycard_auth{pixel_x = 25},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"bcL" = (/obj/machinery/light/small{dir = 8},/obj/machinery/turret{desc = ""; dir = 4; id = "aicore"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bcL" = (/obj/machinery/light/small{dir = 8},/obj/machinery/turret{desc = ""; dir = 4; id = "aicore"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bcM" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"bcN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bcN" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bcO" = (/obj/machinery/ai_slipper,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/effect/decal/warning_stripes{icon_state = "U-S"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"bcP" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"bcQ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/turret{dir = 8; id = "aicore"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bcQ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/turret{dir = 8; id = "aicore"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bcR" = (/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"bcS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
"bcT" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
@@ -2928,11 +2928,11 @@
|
||||
"bep" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
|
||||
"beq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
|
||||
"ber" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
|
||||
"bes" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/telecomms/allinone{frequency = 144.7},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bet" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "AI Chamber South-2"; dir = 1; network = "Command"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bes" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/telecomms/allinone{frequency = 144.7},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bet" = (/obj/machinery/ai_status_display{pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "AI Chamber South-2"; dir = 1; network = "Command"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"beu" = (/obj/machinery/door/airlock/secure{name = "AI Core Access"; req_access_txt = "16"},/obj/effect/decal/warning_stripes{icon_state = "E-corner"},/obj/effect/decal/warning_stripes{icon_state = "W-corner"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
|
||||
"bev" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "AI Chamber South-1"; dir = 1; network = "Command"},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bew" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/grid,/area/turret_protected/ai)
|
||||
"bev" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "AI Chamber South-1"; dir = 1; network = "Command"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bew" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai)
|
||||
"bex" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
|
||||
"bey" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall/r_wall,/area/crew_quarters/heads/hop)
|
||||
"bez" = (/obj/structure/disposalpipe/segment,/obj/structure/closet/secure_closet/hop,/turf/simulated/floor,/area/crew_quarters/heads/hop)
|
||||
@@ -3180,10 +3180,10 @@
|
||||
"bjh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/port)
|
||||
"bji" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/wall,/area/maintenance/port)
|
||||
"bjj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/lattice,/turf/space,/area)
|
||||
"bjk" = (/obj/machinery/turret{dir = 4; id = "upload"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
|
||||
"bjl" = (/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
|
||||
"bjk" = (/obj/machinery/turret{dir = 4; id = "upload"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
|
||||
"bjl" = (/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
|
||||
"bjm" = (/obj/effect/decal/warning_stripes{icon_state = "E-corner"},/obj/effect/decal/warning_stripes{icon_state = "W-corner"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
|
||||
"bjn" = (/obj/machinery/turret{dir = 8; id = "upload"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
|
||||
"bjn" = (/obj/machinery/turret{dir = 8; id = "upload"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
|
||||
"bjo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/simulated/wall,/area/bridge/meeting_room)
|
||||
"bjp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor,/area/bridge/meeting_room)
|
||||
"bjq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall,/area/bridge/meeting_room)
|
||||
@@ -3247,12 +3247,12 @@
|
||||
"bkw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area/teleporter)
|
||||
"bkx" = (/obj/machinery/atmospherics/pipe/manifold{color = "red"; dir = 8; icon_state = "manifold-r-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/obj/structure/lattice,/turf/space,/area)
|
||||
"bky" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
|
||||
"bkz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "AI Upload"; dir = 4; network = "Command"},/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
|
||||
"bkz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "AI Upload"; dir = 4; network = "Command"},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
|
||||
"bkA" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/warning_stripes{icon_state = "SE-in"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
|
||||
"bkB" = (/obj/effect/decal/warning_stripes{icon_state = "N"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
|
||||
"bkC" = (/obj/effect/decal/warning_stripes{icon_state = "NW-out"},/obj/effect/decal/warning_stripes{icon_state = "NE-out"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
|
||||
"bkD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/warning_stripes{icon_state = "SW-in"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai_upload)
|
||||
"bkE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/oil,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
|
||||
"bkE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/decal/cleanable/oil,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/bluegrid,/area/turret_protected/ai_upload)
|
||||
"bkF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
|
||||
"bkG" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 4; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area)
|
||||
"bkH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/bridge/meeting_room)
|
||||
@@ -4781,10 +4781,10 @@
|
||||
"bNW" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/optable,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
|
||||
"bNX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
|
||||
"bNY" = (/obj/structure/table,/obj/item/weapon/circular_saw,/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
|
||||
"bNZ" = (/obj/machinery/r_n_d/server{id_with_download_string = "1"; id_with_upload_string = "1"; name = "Core R&D Server"; server_id = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOa" = (/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOb" = (/obj/machinery/camera{c_tag = "Server Room"; dir = 2; network = "Research"},/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOc" = (/obj/machinery/blackbox_recorder,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bNZ" = (/obj/machinery/r_n_d/server{id_with_download_string = "1"; id_with_upload_string = "1"; name = "Core R&D Server"; server_id = 1},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOa" = (/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOb" = (/obj/machinery/camera{c_tag = "Server Room"; dir = 2; network = "Research"},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOc" = (/obj/machinery/blackbox_recorder,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bOd" = (/obj/structure/disposalpipe/segment{dir = 1},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
|
||||
"bOe" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/sign/biohazard{pixel_x = 28},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"})
|
||||
"bOf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/requests_console{department = "Xenobiology"; departmentType = 0; pixel_x = -30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/toxins/xenobiology)
|
||||
@@ -4862,8 +4862,8 @@
|
||||
"bPz" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"bPA" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"bPB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bPC" = (/turf/simulated/floor/grid,/area/assembly/chargebay)
|
||||
"bPD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/grid,/area/assembly/chargebay)
|
||||
"bPC" = (/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
|
||||
"bPD" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
|
||||
"bPE" = (/obj/machinery/alarm{pixel_y = 24},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bPF" = (/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bPG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area/assembly/chargebay)
|
||||
@@ -4892,9 +4892,9 @@
|
||||
"bQd" = (/obj/structure/grille,/obj/machinery/door/poddoor{density = 0; icon_state = "pdoor0"; id = "Observation Shutters"; name = "Observation Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; icon_state = "manifold-b-f"; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/medical/surgery)
|
||||
"bQe" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
|
||||
"bQf" = (/obj/machinery/requests_console{department = "Operating Theatre"; departmentType = 0; name = "OR RC"; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/surgery)
|
||||
"bQg" = (/obj/machinery/r_n_d/server{id_with_download_string = "1;2"; id_with_upload_string = "1;2"; name = "Robotics R&D Server"; server_id = 2},/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bQg" = (/obj/machinery/r_n_d/server{id_with_download_string = "1;2"; id_with_upload_string = "1;2"; name = "Robotics R&D Server"; server_id = 2},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bQh" = (/obj/machinery/alarm/server{dir = 1; pixel_y = -22},/turf/simulated/floor{icon_state = "dark"},/area/toxins/server)
|
||||
"bQi" = (/obj/machinery/message_server,/turf/simulated/floor/grid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bQi" = (/obj/machinery/message_server,/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/toxins/server)
|
||||
"bQj" = (/obj/structure/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/medical/research{name = "Research Division"})
|
||||
"bQk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/window/reinforced{dir = 1},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor{icon_state = "delivery"; name = "floor"},/area/medical/research{name = "Research Division"})
|
||||
"bQl" = (/obj/machinery/shieldwallgen{req_access = list(55)},/obj/structure/cable,/turf/simulated/floor/plating,/area/toxins/xenobiology)
|
||||
@@ -4912,7 +4912,7 @@
|
||||
"bQx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bQy" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/assembly/chargebay)
|
||||
"bQz" = (/turf/simulated/floor/mech_bay_recharge_floor{dir = 8},/area/assembly/chargebay)
|
||||
"bQA" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/grid,/area/assembly/chargebay)
|
||||
"bQA" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
|
||||
"bQB" = (/obj/machinery/door/poddoor{id = "Skynet_launch"; name = "Recharge Bay"; req_access_txt = "22"},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bQC" = (/turf/simulated/floor{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/hallway/primary/aft)
|
||||
"bQD" = (/obj/machinery/light{dir = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor,/area/hallway/primary/aft)
|
||||
@@ -5050,7 +5050,7 @@
|
||||
"bTf" = (/obj/effect/sign/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; pixel_x = -1},/turf/simulated/wall,/area/maintenance/asmaint2)
|
||||
"bTg" = (/turf/simulated/wall,/area/maintenance/aft)
|
||||
"bTh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/machinery/camera{c_tag = "Assembly Line Maintenance"; dir = 8},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint)
|
||||
"bTi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/grid,/area/assembly/chargebay)
|
||||
"bTi" = (/obj/machinery/atmospherics/pipe/simple{dir = 4},/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/bluegrid,/area/assembly/chargebay)
|
||||
"bTj" = (/obj/machinery/light_switch{pixel_y = 24},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bTk" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/door/airlock/glass/glass_research{name = "Robotics Assembly Line"; req_access_txt = "29"},/turf/simulated/floor,/area/assembly/chargebay)
|
||||
"bTl" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/item/weapon/crowbar,/turf/simulated/floor,/area/hallway/primary/aft)
|
||||
@@ -7021,11 +7021,11 @@
|
||||
"cFa" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
|
||||
"cFb" = (/obj/machinery/recharger{pixel_y = 4},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
|
||||
"cFc" = (/obj/machinery/camera{c_tag = "Red Team"; network = "Thunderdome"; pixel_x = 11; pixel_y = -9},/obj/effect/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
|
||||
"cFd" = (/turf/simulated/floor/grid,/area/tdome)
|
||||
"cFe" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/grid,/area/tdome)
|
||||
"cFd" = (/turf/simulated/floor/bluegrid,/area/tdome)
|
||||
"cFe" = (/obj/machinery/flasher{id = "flash"; name = "Thunderdome Flash"},/turf/simulated/floor/bluegrid,/area/tdome)
|
||||
"cFf" = (/obj/machinery/camera{c_tag = "Green Team"; network = "Thunderdome"; pixel_x = 12; pixel_y = -10},/obj/effect/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
|
||||
"cFg" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/grid,/area/tdome)
|
||||
"cFh" = (/obj/machinery/camera{c_tag = "Arena"; network = "Thunderdome"; pixel_x = 10},/turf/simulated/floor/grid,/area/tdome)
|
||||
"cFg" = (/obj/machinery/atmospherics/pipe/vent,/turf/simulated/floor/bluegrid,/area/tdome)
|
||||
"cFh" = (/obj/machinery/camera{c_tag = "Arena"; network = "Thunderdome"; pixel_x = 10},/turf/simulated/floor/bluegrid,/area/tdome)
|
||||
"cFi" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
|
||||
"cFj" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; icon_state = "manifold"; level = 2},/turf/simulated/floor,/area/tdome)
|
||||
"cFk" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
|
||||
@@ -7381,16 +7381,16 @@
|
||||
"cLW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/wall/r_wall,/area/turret_protected/tcomeast)
|
||||
"cLX" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{req_access_txt = 1},/turf/space,/area/turret_protected/tcomwest)
|
||||
"cLY" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light/small{dir = 4},/turf/space,/area/turret_protected/tcomwest)
|
||||
"cLZ" = (/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMa" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMb" = (/obj/machinery/power/apc{dir = 1; name = "Com Sat Central Compartment APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMc" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMd" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMe" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/camera{c_tag = "Central Compartment North"; dir = 2; network = "Tcomsat"},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMf" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMg" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMh" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cLZ" = (/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMa" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMb" = (/obj/machinery/power/apc{dir = 1; name = "Com Sat Central Compartment APC"; pixel_x = -1; pixel_y = 26},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMc" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMd" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMe" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/camera{c_tag = "Central Compartment North"; dir = 2; network = "Tcomsat"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMf" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMg" = (/obj/machinery/atmospherics/pipe/simple,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMh" = (/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMj" = (/turf/space,/area/turret_protected/tcomeast)
|
||||
"cMk" = (/obj/machinery/light{dir = 4},/turf/space,/area/turret_protected/tcomeast)
|
||||
"cMl" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating/airless,/area)
|
||||
@@ -7398,11 +7398,11 @@
|
||||
"cMn" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = "90Curve"},/turf/simulated/floor/plating/airless,/area)
|
||||
"cMo" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/space,/area/turret_protected/tcomwest)
|
||||
"cMp" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor{icon_state = "vault"; dir = 5},/area/turret_protected/tcomwest)
|
||||
"cMq" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMr" = (/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMs" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMu" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMq" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMr" = (/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMs" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMt" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMu" = (/obj/machinery/light{dir = 4},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cMv" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/space,/area/turret_protected/tcomeast)
|
||||
"cMw" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/turret_protected/tcomeast)
|
||||
"cMx" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/plating,/area/turret_protected/tcomeast)
|
||||
@@ -7441,8 +7441,8 @@
|
||||
"cNe" = (/obj/structure/grille,/obj/structure/cable{icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/space,/area)
|
||||
"cNf" = (/obj/machinery/telecomms/processor/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNg" = (/obj/machinery/telecomms/bus/preset_two,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNh" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNh" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNj" = (/obj/machinery/telecomms/processor/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNk" = (/obj/machinery/telecomms/bus/preset_four,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNl" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/space,/area/turret_protected/tcomeast)
|
||||
@@ -7473,8 +7473,8 @@
|
||||
"cNK" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/floor/plating/airless,/area)
|
||||
"cNL" = (/obj/machinery/telecomms/server/presets/science,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNM" = (/obj/machinery/telecomms/server/presets/medical,/turf/simulated/floor{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNN" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNO" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor/grid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNN" = (/obj/machinery/atmospherics/pipe/simple{dir = 6},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNO" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Mainframe Floor"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNP" = (/obj/machinery/telecomms/server/presets/command,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNQ" = (/obj/machinery/telecomms/server/presets/security,/turf/simulated/floor{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomeast)
|
||||
@@ -7482,10 +7482,10 @@
|
||||
"cNT" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/turret_protected/tcomeast)
|
||||
"cNU" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/turf/simulated/wall/r_wall,/area)
|
||||
"cNV" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/plating/airless,/area)
|
||||
"cNW" = (/obj/machinery/light,/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNY" = (/obj/machinery/camera{c_tag = "Central Compartment South"; dir = 1; network = "Tcomsat"},/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/obj/machinery/light,/turf/simulated/floor/grid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNW" = (/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNX" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 140; on = 1; pressure_checks = 0},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNY" = (/obj/machinery/camera{c_tag = "Central Compartment South"; dir = 1; network = "Tcomsat"},/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cNZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 120; icon_state = "in"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/obj/machinery/light,/turf/simulated/floor/bluegrid{name = "Mainframe Base"; nitrogen = 100; oxygen = 0; temperature = 80},/area/tcommsat/chamber)
|
||||
"cOa" = (/obj/effect/sign/nosmoking_2,/turf/simulated/wall/r_wall,/area/tcommsat/chamber)
|
||||
"cOb" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomwest)
|
||||
"cOc" = (/obj/structure/window/reinforced,/turf/space,/area/turret_protected/tcomwest)
|
||||
|
||||