mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-17 17:16:50 +01:00
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
507 lines
17 KiB
Plaintext
507 lines
17 KiB
Plaintext
obj/structure/door_assembly
|
|
icon = 'door_assembly.dmi'
|
|
|
|
name = "Airlock Assembly"
|
|
icon_state = "door_as_0"
|
|
anchored = 0
|
|
density = 1
|
|
var/state = 0
|
|
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
|
|
var/glass = null
|
|
|
|
New()
|
|
base_icon_state = copytext(icon_state,1,lentext(icon_state))
|
|
|
|
door_assembly_0
|
|
name = "Airlock Assembly"
|
|
icon_state = "door_as_1"
|
|
airlock_type = /obj/machinery/door/airlock
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
door_assembly_com
|
|
name = "Command Airlock Assembly"
|
|
icon_state = "door_as_com1"
|
|
glass_base_icon_state = "door_as_gcom"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_command
|
|
airlock_type = /obj/machinery/door/airlock/command
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_gcom1"
|
|
|
|
door_assembly_sec
|
|
name = "Security Airlock Assembly"
|
|
icon_state = "door_as_sec1"
|
|
glass_base_icon_state = "door_as_gsec"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_security
|
|
airlock_type = /obj/machinery/door/airlock/security
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_gsec1"
|
|
|
|
door_assembly_eng
|
|
name = "Engineering Airlock Assembly"
|
|
icon_state = "door_as_eng1"
|
|
glass_base_icon_state = "door_as_geng"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_engineering
|
|
airlock_type = /obj/machinery/door/airlock/engineering
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_geng1"
|
|
|
|
door_assembly_min
|
|
name = "Mining Airlock Assembly"
|
|
icon_state = "door_as_min1"
|
|
glass_base_icon_state = "door_as_gmin"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_mining
|
|
airlock_type = /obj/machinery/door/airlock/mining
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_gmin1"
|
|
|
|
door_assembly_atmo
|
|
name = "Atmospherics Airlock Assembly"
|
|
icon_state = "door_as_atmo1"
|
|
glass_base_icon_state = "door_as_gatmo"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_atmos
|
|
airlock_type = /obj/machinery/door/airlock/atmos
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_gatmo1"
|
|
|
|
door_assembly_research
|
|
name = "Research Airlock Assembly"
|
|
icon_state = "door_as_res1"
|
|
glass_base_icon_state = "door_as_gres"
|
|
glass_type = /obj/machinery/door/airlock/glass/glass_research
|
|
airlock_type = /obj/machinery/door/airlock/research
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
glass
|
|
glass = 1
|
|
icon_state = "door_as_gres1"
|
|
|
|
door_assembly_med
|
|
name = "Medical Airlock Assembly"
|
|
icon_state = "door_as_med1"
|
|
airlock_type = /obj/machinery/door/airlock/medical
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
|
|
glass
|
|
mineral = "glass"
|
|
icon_state = "door_as_gmed1"
|
|
|
|
door_assembly_mai
|
|
name = "Maintenance Airlock Assembly"
|
|
icon_state = "door_as_mai1"
|
|
airlock_type = /obj/machinery/door/airlock/maintenance
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
door_assembly_ext
|
|
name = "External Airlock Assembly"
|
|
icon_state = "door_as_ext1"
|
|
airlock_type = /obj/machinery/door/airlock/external
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
door_assembly_fre
|
|
name = "Freezer Airlock Assembly"
|
|
icon_state = "door_as_fre1"
|
|
airlock_type = /obj/machinery/door/airlock/freezer
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
door_assembly_mhatch
|
|
name = "Airtight Maintenance Hatch Assembly"
|
|
icon_state = "door_as_mhatch1"
|
|
airlock_type = /obj/machinery/door/airlock/maintenance_hatch
|
|
anchored = 1
|
|
density = 1
|
|
state = 1
|
|
glass = 0
|
|
|
|
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
|
|
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 )
|
|
var/obj/item/weapon/weldingtool/WT = W
|
|
if(WT.remove_fuel(0,user))
|
|
user.visible_message("[user] dissassembles the airlock assembly.", "You start to dissassemble the airlock assembly.")
|
|
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
|
|
|
if(do_after(user, 40))
|
|
if(!src || !WT.isOn()) return
|
|
user << "\blue You dissasembled the airlock assembly!"
|
|
new /obj/item/stack/sheet/metal(get_turf(src), 4)
|
|
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."
|
|
return
|
|
|
|
else if(istype(W, /obj/item/weapon/wrench) && !anchored )
|
|
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
|
user.visible_message("[user] secures the airlock assembly to the floor.", "You start to secure the airlock assembly to the floor.")
|
|
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You secured the airlock assembly!"
|
|
src.name = "Secured Airlock Assembly"
|
|
src.anchored = 1
|
|
|
|
else if(istype(W, /obj/item/weapon/wrench) && anchored )
|
|
playsound(src.loc, 'Ratchet.ogg', 100, 1)
|
|
user.visible_message("[user] unsecures the airlock assembly from the floor.", "You start to unsecure the airlock assembly from the floor.")
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You unsecured the airlock assembly!"
|
|
src.name = "Airlock Assembly"
|
|
src.anchored = 0
|
|
|
|
else if(istype(W, /obj/item/weapon/cable_coil) && state == 0 && anchored )
|
|
var/obj/item/weapon/cable_coil/coil = W
|
|
user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly.")
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
coil.use(1)
|
|
src.state = 1
|
|
user << "\blue You wire the Airlock!"
|
|
src.name = "Wired Airlock Assembly"
|
|
|
|
else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 )
|
|
playsound(src.loc, 'Wirecutter.ogg', 100, 1)
|
|
user.visible_message("[user] cuts the wires from the airlock assembly.", "You start to cut the wires from airlock assembly.")
|
|
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You cut the airlock wires.!"
|
|
new/obj/item/weapon/cable_coil(get_turf(user), 1)
|
|
src.state = 0
|
|
src.name = "Secured Airlock Assembly"
|
|
|
|
else if(istype(W, /obj/item/weapon/airlock_electronics) && state == 1 )
|
|
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
|
user.visible_message("[user] installs the electronics into the airlock assembly.", "You start to install electronics into the airlock assembly.")
|
|
user.drop_item()
|
|
W.loc = src
|
|
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You installed the airlock electronics!"
|
|
|
|
var/obj/item/weapon/airlock_electronics/E = W
|
|
var/obj/structure/door_assembly/D = new E.style(loc)
|
|
D.state = 2
|
|
D.glass = glass
|
|
if(glass)
|
|
// just in case user is setting a glass door to a type that doesn't have a glass version
|
|
if(ispath(D.glass_type))
|
|
D.icon_state = "[D.glass_base_icon_state]2"
|
|
else
|
|
D.icon_state = "[D.base_icon_state]2"
|
|
// type doesn't support glass, drop it
|
|
D.glass = 0
|
|
new/obj/item/stack/sheet/rglass(get_turf(src))
|
|
D.name = "Near finished Airlock Assembly"
|
|
E.loc = D
|
|
D.electronics = W
|
|
del(src)
|
|
else
|
|
W.loc = src.loc
|
|
|
|
//del(W)
|
|
|
|
else if(istype(W, /obj/item/weapon/crowbar) && state == 2 )
|
|
playsound(src.loc, 'Crowbar.ogg', 100, 1)
|
|
user.visible_message("[user] removes the electronics from the airlock assembly.", "You start to install electronics into the airlock assembly.")
|
|
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You removed the airlock electronics!"
|
|
src.state = 1
|
|
src.name = "Wired Airlock Assembly"
|
|
var/obj/item/weapon/airlock_electronics/ae
|
|
if (!electronics)
|
|
ae = new/obj/item/weapon/airlock_electronics( src.loc )
|
|
else
|
|
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/weapon/screwdriver) && state == 2 )
|
|
playsound(src.loc, 'Screwdriver.ogg', 100, 1)
|
|
user << "\blue Now finishing the airlock."
|
|
|
|
if(do_after(user, 40))
|
|
if(!src) return
|
|
user << "\blue You finish the airlock!"
|
|
var/obj/machinery/door/airlock/door
|
|
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
|
|
src.electronics.loc = door
|
|
del(src)
|
|
else
|
|
..()
|
|
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. |