here we go again (#2456)
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
max_integrity = 500
|
||||
var/state = 0
|
||||
var/datum/ai_laws/laws = new()
|
||||
var/obj/item/weapon/circuitboard/circuit = null
|
||||
var/obj/item/circuitboard/circuit = null
|
||||
var/obj/item/device/mmi/brain = null
|
||||
|
||||
/obj/structure/AIcore/New()
|
||||
@@ -24,14 +24,14 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/AIcore/attackby(obj/item/P, mob/user, params)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
if(istype(P, /obj/item/wrench))
|
||||
return default_unfasten_wrench(user, P, 20)
|
||||
if(!anchored)
|
||||
if(istype(P, /obj/item/weapon/weldingtool))
|
||||
if(istype(P, /obj/item/weldingtool))
|
||||
if(state != EMPTY_CORE)
|
||||
to_chat(user, "<span class='warning'>The core must be empty to deconstruct it!</span>")
|
||||
return
|
||||
var/obj/item/weapon/weldingtool/WT = P
|
||||
var/obj/item/weldingtool/WT = P
|
||||
if(!WT.isOn())
|
||||
to_chat(user, "<span class='warning'>The welder must be on for this task!</span>")
|
||||
return
|
||||
@@ -44,7 +44,7 @@
|
||||
else
|
||||
switch(state)
|
||||
if(EMPTY_CORE)
|
||||
if(istype(P, /obj/item/weapon/circuitboard/aicore))
|
||||
if(istype(P, /obj/item/circuitboard/aicore))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(loc, 'sound/items/deconstruct.ogg', 50, 1)
|
||||
@@ -55,13 +55,13 @@
|
||||
P.forceMove(src)
|
||||
return
|
||||
if(CIRCUIT_CORE)
|
||||
if(istype(P, /obj/item/weapon/screwdriver))
|
||||
if(istype(P, /obj/item/screwdriver))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You screw the circuit board into place.</span>")
|
||||
state = SCREWED_CORE
|
||||
update_icon()
|
||||
return
|
||||
if(istype(P, /obj/item/weapon/crowbar))
|
||||
if(istype(P, /obj/item/crowbar))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the circuit board.</span>")
|
||||
state = EMPTY_CORE
|
||||
@@ -70,7 +70,7 @@
|
||||
circuit = null
|
||||
return
|
||||
if(SCREWED_CORE)
|
||||
if(istype(P, /obj/item/weapon/screwdriver) && circuit)
|
||||
if(istype(P, /obj/item/screwdriver) && circuit)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You unfasten the circuit board.</span>")
|
||||
state = CIRCUIT_CORE
|
||||
@@ -89,7 +89,7 @@
|
||||
to_chat(user, "<span class='warning'>You need five lengths of cable to wire the AI core!</span>")
|
||||
return
|
||||
if(CABLED_CORE)
|
||||
if(istype(P, /obj/item/weapon/wirecutters))
|
||||
if(istype(P, /obj/item/wirecutters))
|
||||
if(brain)
|
||||
to_chat(user, "<span class='warning'>Get that [brain.name] out of there first!</span>")
|
||||
else
|
||||
@@ -114,11 +114,11 @@
|
||||
to_chat(user, "<span class='warning'>You need two sheets of reinforced glass to insert them into the AI core!</span>")
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/aiModule))
|
||||
if(istype(P, /obj/item/aiModule))
|
||||
if(brain && brain.laws.id != DEFAULT_AI_LAWID)
|
||||
to_chat(user, "<span class='warning'>The installed [brain.name] already has set laws!</span>")
|
||||
return
|
||||
var/obj/item/weapon/aiModule/module = P
|
||||
var/obj/item/aiModule/module = P
|
||||
module.install(laws, user)
|
||||
return
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/crowbar) && brain)
|
||||
if(istype(P, /obj/item/crowbar) && brain)
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the brain.</span>")
|
||||
brain.forceMove(loc)
|
||||
@@ -161,7 +161,7 @@
|
||||
return
|
||||
|
||||
if(GLASS_CORE)
|
||||
if(istype(P, /obj/item/weapon/crowbar))
|
||||
if(istype(P, /obj/item/crowbar))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You remove the glass panel.</span>")
|
||||
state = CABLED_CORE
|
||||
@@ -169,7 +169,7 @@
|
||||
new /obj/item/stack/sheet/rglass(loc, 2)
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/screwdriver))
|
||||
if(istype(P, /obj/item/screwdriver))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You connect the monitor.</span>")
|
||||
if(brain)
|
||||
@@ -191,7 +191,7 @@
|
||||
P.transfer_ai("INACTIVE", "AICARD", src, user)
|
||||
return
|
||||
|
||||
if(istype(P, /obj/item/weapon/screwdriver))
|
||||
if(istype(P, /obj/item/screwdriver))
|
||||
playsound(loc, P.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You disconnect the monitor.</span>")
|
||||
state = GLASS_CORE
|
||||
@@ -271,6 +271,6 @@ That prevents a few funky behaviors.
|
||||
to_chat(user, "There is no AI loaded on this terminal!")
|
||||
|
||||
|
||||
/obj/item/weapon/circuitboard/aicore
|
||||
/obj/item/circuitboard/aicore
|
||||
name = "AI core (AI Core Board)" //Well, duh, but best to be consistent
|
||||
origin_tech = "programming=3"
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
density = TRUE
|
||||
resistance_flags = FLAMMABLE
|
||||
max_integrity = 60
|
||||
var/obj/item/weapon/canvas/painting = null
|
||||
var/obj/item/canvas/painting = null
|
||||
|
||||
|
||||
//Adding canvases
|
||||
/obj/structure/easel/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/canvas))
|
||||
var/obj/item/weapon/canvas/C = I
|
||||
if(istype(I, /obj/item/canvas))
|
||||
var/obj/item/canvas/C = I
|
||||
user.dropItemToGround(C)
|
||||
painting = C
|
||||
C.loc = get_turf(src)
|
||||
@@ -46,7 +46,7 @@
|
||||
//To safe memory on making /icons we cache the blanks..
|
||||
GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
|
||||
|
||||
/obj/item/weapon/canvas
|
||||
/obj/item/canvas
|
||||
name = "canvas"
|
||||
desc = "Draw out your soul on this canvas!"
|
||||
icon = 'icons/obj/artstuff.dmi'
|
||||
@@ -54,21 +54,21 @@ GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
|
||||
resistance_flags = FLAMMABLE
|
||||
var/whichGlobalBackup = 1 //List index
|
||||
|
||||
/obj/item/weapon/canvas/nineteenXnineteen
|
||||
/obj/item/canvas/nineteenXnineteen
|
||||
icon_state = "19x19"
|
||||
whichGlobalBackup = 2
|
||||
|
||||
/obj/item/weapon/canvas/twentythreeXnineteen
|
||||
/obj/item/canvas/twentythreeXnineteen
|
||||
icon_state = "23x19"
|
||||
whichGlobalBackup = 3
|
||||
|
||||
/obj/item/weapon/canvas/twentythreeXtwentythree
|
||||
/obj/item/canvas/twentythreeXtwentythree
|
||||
icon_state = "23x23"
|
||||
whichGlobalBackup = 4
|
||||
|
||||
|
||||
//Find the right size blank canvas
|
||||
/obj/item/weapon/canvas/proc/getGlobalBackup()
|
||||
/obj/item/canvas/proc/getGlobalBackup()
|
||||
. = null
|
||||
if(GLOB.globalBlankCanvases[whichGlobalBackup])
|
||||
. = GLOB.globalBlankCanvases[whichGlobalBackup]
|
||||
@@ -80,7 +80,7 @@ GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
|
||||
|
||||
|
||||
//One pixel increments
|
||||
/obj/item/weapon/canvas/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/canvas/attackby(obj/item/I, mob/user, params)
|
||||
//Click info
|
||||
var/list/click_params = params2list(params)
|
||||
var/pixX = text2num(click_params["icon-x"])
|
||||
@@ -91,7 +91,7 @@ GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
|
||||
return
|
||||
|
||||
//Cleaning one pixel with a soap or rag
|
||||
if(istype(I, /obj/item/weapon/soap) || istype(I, /obj/item/weapon/reagent_containers/glass/rag))
|
||||
if(istype(I, /obj/item/soap) || istype(I, /obj/item/reagent_containers/glass/rag))
|
||||
//Pixel info created only when needed
|
||||
var/icon/masterpiece = icon(icon,icon_state)
|
||||
var/thePix = masterpiece.GetPixel(pixX,pixY)
|
||||
@@ -114,7 +114,7 @@ GLOBAL_LIST_INIT(globalBlankCanvases, new(AMT_OF_CANVASES))
|
||||
|
||||
|
||||
//Clean the whole canvas
|
||||
/obj/item/weapon/canvas/attack_self(mob/user)
|
||||
/obj/item/canvas/attack_self(mob/user)
|
||||
if(!user)
|
||||
return
|
||||
var/icon/blank = getGlobalBackup()
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
|
||||
/obj/structure/sign/barsign/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='info'>Access denied.</span>")
|
||||
return
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
/obj/structure/bed/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/bed/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
/obj/structure/bed/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct(TRUE)
|
||||
else
|
||||
@@ -48,7 +48,7 @@
|
||||
resistance_flags = 0
|
||||
var/foldabletype = /obj/item/roller
|
||||
|
||||
/obj/structure/bed/roller/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/bed/roller/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/roller/robo))
|
||||
var/obj/item/roller/robo/R = W
|
||||
if(R.loaded)
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
W.setDir(dir)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/chair/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
/obj/structure/chair/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct()
|
||||
else if(istype(W, /obj/item/assembly/shock_kit))
|
||||
|
||||
@@ -4,7 +4,7 @@ BEDSHEETS
|
||||
LINEN BINS
|
||||
*/
|
||||
|
||||
/obj/item/weapon/bedsheet
|
||||
/obj/item/bedsheet
|
||||
name = "bedsheet"
|
||||
desc = "A surprisingly soft linen bedsheet."
|
||||
icon = 'icons/obj/bedsheets.dmi'
|
||||
@@ -22,11 +22,11 @@ LINEN BINS
|
||||
dog_fashion = /datum/dog_fashion/head/ghost
|
||||
var/list/dream_messages = list("white")
|
||||
|
||||
/obj/item/weapon/bedsheet/attack(mob/living/M, mob/user)
|
||||
/obj/item/bedsheet/attack(mob/living/M, mob/user)
|
||||
if(!attempt_initiate_surgery(src, M, user))
|
||||
..()
|
||||
|
||||
/obj/item/weapon/bedsheet/attack_self(mob/user)
|
||||
/obj/item/bedsheet/attack_self(mob/user)
|
||||
user.drop_item()
|
||||
if(layer == initial(layer))
|
||||
layer = ABOVE_MOB_LAYER
|
||||
@@ -37,8 +37,8 @@ LINEN BINS
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/item/weapon/bedsheet/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wirecutters) || I.is_sharp())
|
||||
/obj/item/bedsheet/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/wirecutters) || I.is_sharp())
|
||||
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3)
|
||||
transfer_fingerprints_to(C)
|
||||
C.add_fingerprint(user)
|
||||
@@ -47,77 +47,77 @@ LINEN BINS
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/weapon/bedsheet/blue
|
||||
/obj/item/bedsheet/blue
|
||||
icon_state = "sheetblue"
|
||||
item_color = "blue"
|
||||
dream_messages = list("blue")
|
||||
|
||||
/obj/item/weapon/bedsheet/green
|
||||
/obj/item/bedsheet/green
|
||||
icon_state = "sheetgreen"
|
||||
item_color = "green"
|
||||
dream_messages = list("green")
|
||||
|
||||
/obj/item/weapon/bedsheet/grey
|
||||
/obj/item/bedsheet/grey
|
||||
icon_state = "sheetgrey"
|
||||
item_color = "grey"
|
||||
dream_messages = list("grey")
|
||||
|
||||
/obj/item/weapon/bedsheet/orange
|
||||
/obj/item/bedsheet/orange
|
||||
icon_state = "sheetorange"
|
||||
item_color = "orange"
|
||||
dream_messages = list("orange")
|
||||
|
||||
/obj/item/weapon/bedsheet/purple
|
||||
/obj/item/bedsheet/purple
|
||||
icon_state = "sheetpurple"
|
||||
item_color = "purple"
|
||||
dream_messages = list("purple")
|
||||
|
||||
/obj/item/weapon/bedsheet/patriot
|
||||
/obj/item/bedsheet/patriot
|
||||
name = "patriotic bedsheet"
|
||||
desc = "You've never felt more free than when sleeping on this."
|
||||
icon_state = "sheetUSA"
|
||||
item_color = "sheetUSA"
|
||||
dream_messages = list("America", "freedom", "fireworks", "bald eagles")
|
||||
|
||||
/obj/item/weapon/bedsheet/rainbow
|
||||
/obj/item/bedsheet/rainbow
|
||||
name = "rainbow bedsheet"
|
||||
desc = "A multicolored blanket. It's actually several different sheets cut up and sewn together."
|
||||
icon_state = "sheetrainbow"
|
||||
item_color = "rainbow"
|
||||
dream_messages = list("red", "orange", "yellow", "green", "blue", "purple", "a rainbow")
|
||||
|
||||
/obj/item/weapon/bedsheet/red
|
||||
/obj/item/bedsheet/red
|
||||
icon_state = "sheetred"
|
||||
item_color = "red"
|
||||
dream_messages = list("red")
|
||||
|
||||
/obj/item/weapon/bedsheet/yellow
|
||||
/obj/item/bedsheet/yellow
|
||||
icon_state = "sheetyellow"
|
||||
item_color = "yellow"
|
||||
dream_messages = list("yellow")
|
||||
|
||||
/obj/item/weapon/bedsheet/mime
|
||||
/obj/item/bedsheet/mime
|
||||
name = "mime's blanket"
|
||||
desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this."
|
||||
icon_state = "sheetmime"
|
||||
item_color = "mime"
|
||||
dream_messages = list("silence", "gestures", "a pale face", "a gaping mouth", "the mime")
|
||||
|
||||
/obj/item/weapon/bedsheet/clown
|
||||
/obj/item/bedsheet/clown
|
||||
name = "clown's blanket"
|
||||
desc = "A rainbow blanket with a clown mask woven in. It smells faintly of bananas."
|
||||
icon_state = "sheetclown"
|
||||
item_color = "clown"
|
||||
dream_messages = list("honk", "laughter", "a prank", "a joke", "a smiling face", "the clown")
|
||||
|
||||
/obj/item/weapon/bedsheet/captain
|
||||
/obj/item/bedsheet/captain
|
||||
name = "captain's bedsheet"
|
||||
desc = "It has a Nanotrasen symbol on it, and was woven with a revolutionary new kind of thread guaranteed to have 0.01% permeability for most non-chemical substances, popular among most modern captains."
|
||||
icon_state = "sheetcaptain"
|
||||
item_color = "captain"
|
||||
dream_messages = list("authority", "a golden ID", "sunglasses", "a green disc", "an antique gun", "the captain")
|
||||
|
||||
/obj/item/weapon/bedsheet/rd
|
||||
/obj/item/bedsheet/rd
|
||||
name = "research director's bedsheet"
|
||||
desc = "It appears to have a beaker emblem, and is made out of fire-resistant material, although it probably won't protect you in the event of fires you're familiar with every day."
|
||||
icon_state = "sheetrd"
|
||||
@@ -125,114 +125,114 @@ LINEN BINS
|
||||
dream_messages = list("authority", "a silvery ID", "a bomb", "a mech", "a facehugger", "maniacal laughter", "the research director")
|
||||
|
||||
// for Free Golems.
|
||||
/obj/item/weapon/bedsheet/rd/royal_cape
|
||||
/obj/item/bedsheet/rd/royal_cape
|
||||
name = "Royal Cape of the Liberator"
|
||||
desc = "Majestic."
|
||||
dream_messages = list("mining", "stone", "a golem", "freedom", "doing whatever")
|
||||
|
||||
/obj/item/weapon/bedsheet/medical
|
||||
/obj/item/bedsheet/medical
|
||||
name = "medical blanket"
|
||||
desc = "It's a sterilized* blanket commonly used in the Medbay. *Sterilization is voided if a virologist is present onboard the station."
|
||||
icon_state = "sheetmedical"
|
||||
item_color = "medical"
|
||||
dream_messages = list("healing", "life", "surgery", "a doctor")
|
||||
|
||||
/obj/item/weapon/bedsheet/cmo
|
||||
/obj/item/bedsheet/cmo
|
||||
name = "chief medical officer's bedsheet"
|
||||
desc = "It's a sterilized blanket that has a cross emblem. There's some cat fur on it, likely from Runtime."
|
||||
icon_state = "sheetcmo"
|
||||
item_color = "cmo"
|
||||
dream_messages = list("authority", "a silvery ID", "healing", "life", "surgery", "a cat", "the chief medical officer")
|
||||
|
||||
/obj/item/weapon/bedsheet/hos
|
||||
/obj/item/bedsheet/hos
|
||||
name = "head of security's bedsheet"
|
||||
desc = "It is decorated with a shield emblem. While crime doesn't sleep, you do, but you are still THE LAW!"
|
||||
icon_state = "sheethos"
|
||||
item_color = "hosred"
|
||||
dream_messages = list("authority", "a silvery ID", "handcuffs", "a baton", "a flashbang", "sunglasses", "the head of security")
|
||||
|
||||
/obj/item/weapon/bedsheet/hop
|
||||
/obj/item/bedsheet/hop
|
||||
name = "head of personnel's bedsheet"
|
||||
desc = "It is decorated with a key emblem. For those rare moments when you can rest and cuddle with Ian without someone screaming for you over the radio."
|
||||
icon_state = "sheethop"
|
||||
item_color = "hop"
|
||||
dream_messages = list("authority", "a silvery ID", "obligation", "a computer", "an ID", "a corgi", "the head of personnel")
|
||||
|
||||
/obj/item/weapon/bedsheet/ce
|
||||
/obj/item/bedsheet/ce
|
||||
name = "chief engineer's bedsheet"
|
||||
desc = "It is decorated with a wrench emblem. It's highly reflective and stain resistant, so you don't need to worry about ruining it with oil."
|
||||
icon_state = "sheetce"
|
||||
item_color = "chief"
|
||||
dream_messages = list("authority", "a silvery ID", "the engine", "power tools", "an APC", "a parrot", "the chief engineer")
|
||||
|
||||
/obj/item/weapon/bedsheet/qm
|
||||
/obj/item/bedsheet/qm
|
||||
name = "quartermaster's bedsheet"
|
||||
desc = "It is decorated with a crate emblem in silver lining. It's rather tough, and just the thing to lie on after a hard day of pushing paper."
|
||||
icon_state = "sheetqm"
|
||||
item_color = "qm"
|
||||
dream_messages = list("a grey ID", "a shuttle", "a crate", "a sloth", "the quartermaster")
|
||||
|
||||
/obj/item/weapon/bedsheet/brown
|
||||
/obj/item/bedsheet/brown
|
||||
icon_state = "sheetbrown"
|
||||
item_color = "cargo"
|
||||
dream_messages = list("brown")
|
||||
|
||||
/obj/item/weapon/bedsheet/black
|
||||
/obj/item/bedsheet/black
|
||||
icon_state = "sheetblack"
|
||||
item_color = "black"
|
||||
dream_messages = list("black")
|
||||
|
||||
/obj/item/weapon/bedsheet/centcom
|
||||
/obj/item/bedsheet/centcom
|
||||
name = "\improper CentCom bedsheet"
|
||||
desc = "Woven with advanced nanothread for warmth as well as being very decorated, essential for all officials."
|
||||
icon_state = "sheetcentcom"
|
||||
item_color = "centcom"
|
||||
dream_messages = list("a unique ID", "authority", "artillery", "an ending")
|
||||
|
||||
/obj/item/weapon/bedsheet/syndie
|
||||
/obj/item/bedsheet/syndie
|
||||
name = "syndicate bedsheet"
|
||||
desc = "It has a syndicate emblem and it has an aura of evil."
|
||||
icon_state = "sheetsyndie"
|
||||
item_color = "syndie"
|
||||
dream_messages = list("a green disc", "a red crystal", "a glowing blade", "a wire-covered ID")
|
||||
|
||||
/obj/item/weapon/bedsheet/cult
|
||||
/obj/item/bedsheet/cult
|
||||
name = "cultist's bedsheet"
|
||||
desc = "You might dream of Nar'Sie if you sleep with this. It seems rather tattered and glows of an eldritch presence."
|
||||
icon_state = "sheetcult"
|
||||
item_color = "cult"
|
||||
dream_messages = list("a tome", "a floating red crystal", "a glowing sword", "a bloody symbol", "a massive humanoid figure")
|
||||
|
||||
/obj/item/weapon/bedsheet/wiz
|
||||
/obj/item/bedsheet/wiz
|
||||
name = "wizard's bedsheet"
|
||||
desc = "A special fabric enchanted with magic so you can have an enchanted night. It even glows!"
|
||||
icon_state = "sheetwiz"
|
||||
item_color = "wiz"
|
||||
dream_messages = list("a book", "an explosion", "lightning", "a staff", "a skeleton", "a robe", "magic")
|
||||
|
||||
/obj/item/weapon/bedsheet/nanotrasen
|
||||
/obj/item/bedsheet/nanotrasen
|
||||
name = "nanotrasen bedsheet"
|
||||
desc = "It has the Nanotrasen logo on it and has an aura of duty."
|
||||
icon_state = "sheetNT"
|
||||
item_color = "nanotrasen"
|
||||
dream_messages = list("authority", "an ending")
|
||||
|
||||
/obj/item/weapon/bedsheet/ian
|
||||
/obj/item/bedsheet/ian
|
||||
icon_state = "sheetian"
|
||||
item_color = "ian"
|
||||
dream_messages = list("a dog", "a corgi", "woof", "bark", "arf")
|
||||
|
||||
|
||||
/obj/item/weapon/bedsheet/random
|
||||
/obj/item/bedsheet/random
|
||||
icon_state = "sheetrainbow"
|
||||
item_color = "rainbow"
|
||||
name = "random bedsheet"
|
||||
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
|
||||
|
||||
/obj/item/weapon/bedsheet/random/Initialize()
|
||||
/obj/item/bedsheet/random/Initialize()
|
||||
. = INITIALIZE_HINT_QDEL
|
||||
..()
|
||||
var/type = pick(typesof(/obj/item/weapon/bedsheet) - /obj/item/weapon/bedsheet/random)
|
||||
var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
|
||||
new type(loc)
|
||||
|
||||
/obj/structure/bedsheetbin
|
||||
@@ -274,7 +274,7 @@ LINEN BINS
|
||||
..()
|
||||
|
||||
/obj/structure/bedsheetbin/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/bedsheet))
|
||||
if(istype(I, /obj/item/bedsheet))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
I.loc = src
|
||||
@@ -302,13 +302,13 @@ LINEN BINS
|
||||
if(amount >= 1)
|
||||
amount--
|
||||
|
||||
var/obj/item/weapon/bedsheet/B
|
||||
var/obj/item/bedsheet/B
|
||||
if(sheets.len > 0)
|
||||
B = sheets[sheets.len]
|
||||
sheets.Remove(B)
|
||||
|
||||
else
|
||||
B = new /obj/item/weapon/bedsheet(loc)
|
||||
B = new /obj/item/bedsheet(loc)
|
||||
|
||||
B.loc = user.loc
|
||||
user.put_in_hands(B)
|
||||
@@ -326,13 +326,13 @@ LINEN BINS
|
||||
if(amount >= 1)
|
||||
amount--
|
||||
|
||||
var/obj/item/weapon/bedsheet/B
|
||||
var/obj/item/bedsheet/B
|
||||
if(sheets.len > 0)
|
||||
B = sheets[sheets.len]
|
||||
sheets.Remove(B)
|
||||
|
||||
else
|
||||
B = new /obj/item/weapon/bedsheet(loc)
|
||||
B = new /obj/item/bedsheet(loc)
|
||||
|
||||
B.loc = loc
|
||||
to_chat(user, "<span class='notice'>You telekinetically remove [B] from [src].</span>")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/max_mob_size = MOB_SIZE_HUMAN //Biggest mob_size accepted by the container
|
||||
var/mob_storage_capacity = 3 // how many human sized mob/living can fit together inside a closet.
|
||||
var/storage_capacity = 30 //This is so that someone can't pack hundreds of items in a locker/crate then open it in a populated area to crash clients.
|
||||
var/cutting_tool = /obj/item/weapon/weldingtool
|
||||
var/cutting_tool = /obj/item/weldingtool
|
||||
var/open_sound = 'sound/machines/click.ogg'
|
||||
var/close_sound = 'sound/machines/click.ogg'
|
||||
var/cutting_sound = 'sound/items/welder.ogg'
|
||||
@@ -201,13 +201,13 @@
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
bust_open()
|
||||
|
||||
/obj/structure/closet/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/closet/attackby(obj/item/W, mob/user, params)
|
||||
if(user in src)
|
||||
return
|
||||
if(opened)
|
||||
if(istype(W, cutting_tool))
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0, user))
|
||||
to_chat(user, "<span class='notice'>You begin cutting \the [src] apart...</span>")
|
||||
playsound(loc, cutting_sound, 40, 1)
|
||||
@@ -228,8 +228,8 @@
|
||||
if(user.drop_item()) // so we put in unlit welder too
|
||||
W.forceMove(loc)
|
||||
return 1
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && can_weld_shut)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool) && can_weld_shut)
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0, user))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin [welded ? "unwelding":"welding"] \the [src]...</span>")
|
||||
@@ -243,7 +243,7 @@
|
||||
"<span class='notice'>You [welded ? "weld" : "unwelded"] \the [src] with \the [WT].</span>",
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
update_icon()
|
||||
else if(istype(W, /obj/item/weapon/wrench) && anchorable)
|
||||
else if(istype(W, /obj/item/wrench) && anchorable)
|
||||
if(isinspace() && !anchored)
|
||||
return
|
||||
anchored = !anchored
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/tagged = 0 // so closet code knows to put the tag overlay back
|
||||
|
||||
/obj/structure/closet/body_bag/attackby(obj/item/I, mob/user, params)
|
||||
if (istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/toy/crayon))
|
||||
if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon))
|
||||
var/t = stripped_input(user, "What would you like the label to be?", name, null, 53)
|
||||
if(user.get_active_held_item() != I)
|
||||
return
|
||||
@@ -29,7 +29,7 @@
|
||||
else
|
||||
name = "body bag"
|
||||
return
|
||||
else if(istype(I, /obj/item/weapon/wirecutters))
|
||||
else if(istype(I, /obj/item/wirecutters))
|
||||
to_chat(user, "<span class='notice'>You cut the tag off [src].</span>")
|
||||
name = "body bag"
|
||||
tagged = 0
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
max_integrity = 70
|
||||
integrity_failure = 0
|
||||
can_weld_shut = 0
|
||||
cutting_tool = /obj/item/weapon/wirecutters
|
||||
cutting_tool = /obj/item/wirecutters
|
||||
open_sound = "rustle"
|
||||
cutting_sound = 'sound/items/poster_ripped.ogg'
|
||||
material_drop = /obj/item/stack/sheet/cardboard
|
||||
@@ -64,7 +64,7 @@
|
||||
mob_storage_capacity = 5
|
||||
resistance_flags = 0
|
||||
move_speed_multiplier = 2
|
||||
cutting_tool = /obj/item/weapon/weldingtool
|
||||
cutting_tool = /obj/item/weldingtool
|
||||
open_sound = 'sound/machines/click.ogg'
|
||||
cutting_sound = 'sound/items/welder.ogg'
|
||||
material_drop = /obj/item/stack/sheet/plasteel
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
/obj/structure/closet/lasertag/red/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/laser/redtag(src)
|
||||
new /obj/item/gun/energy/laser/redtag(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/suit/redtag(src)
|
||||
new /obj/item/clothing/head/helmet/redtaghelm(src)
|
||||
@@ -60,7 +60,7 @@
|
||||
/obj/structure/closet/lasertag/blue/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/laser/bluetag(src)
|
||||
new /obj/item/gun/energy/laser/bluetag(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/suit/bluetag(src)
|
||||
new /obj/item/clothing/head/helmet/bluetaghelm(src)
|
||||
|
||||
@@ -63,13 +63,13 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/suit/armor/tdome/red(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/melee/transforming/energy/sword/saber(src)
|
||||
new /obj/item/melee/transforming/energy/sword/saber(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/gun/energy/laser(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/melee/baton/loaded(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/head/helmet/thunderdome(src)
|
||||
|
||||
@@ -82,13 +82,13 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/suit/armor/tdome/green(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/melee/transforming/energy/sword/saber(src)
|
||||
new /obj/item/melee/transforming/energy/sword/saber(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/gun/energy/laser(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/melee/baton/loaded(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/head/helmet/thunderdome(src)
|
||||
|
||||
@@ -98,10 +98,10 @@
|
||||
|
||||
/obj/structure/closet/malf/suits/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/tank/jetpack/void(src)
|
||||
new /obj/item/tank/jetpack/void(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
new /obj/item/clothing/head/helmet/space/nasavoid(src)
|
||||
new /obj/item/clothing/suit/space/nasavoid(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/weapon/stock_parts/cell(src)
|
||||
new /obj/item/crowbar(src)
|
||||
new /obj/item/stock_parts/cell(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
|
||||
@@ -21,12 +21,12 @@
|
||||
new /obj/item/clothing/head/soft/black(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/rag(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/rag(src)
|
||||
new /obj/item/weapon/storage/box/beanbag(src)
|
||||
new /obj/item/reagent_containers/glass/rag(src)
|
||||
new /obj/item/reagent_containers/glass/rag(src)
|
||||
new /obj/item/storage/box/beanbag(src)
|
||||
new /obj/item/clothing/suit/armor/vest/alt(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/reagent(src)
|
||||
new /obj/item/weapon/storage/belt/bandolier(src)
|
||||
new /obj/item/storage/belt/bandolier(src)
|
||||
|
||||
/obj/structure/closet/chefcloset
|
||||
name = "\proper chef's closet"
|
||||
@@ -45,12 +45,12 @@
|
||||
new /obj/item/clothing/suit/apron/chef(src)
|
||||
new /obj/item/clothing/head/soft/mime(src)
|
||||
new /obj/item/clothing/head/soft/mime(src)
|
||||
new /obj/item/weapon/storage/box/mousetraps(src)
|
||||
new /obj/item/weapon/storage/box/mousetraps(src)
|
||||
new /obj/item/storage/box/mousetraps(src)
|
||||
new /obj/item/storage/box/mousetraps(src)
|
||||
new /obj/item/clothing/suit/toggle/chef(src)
|
||||
new /obj/item/clothing/under/rank/chef(src)
|
||||
new /obj/item/clothing/head/chefhat(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/rag(src)
|
||||
new /obj/item/reagent_containers/glass/rag(src)
|
||||
|
||||
/obj/structure/closet/jcloset
|
||||
name = "custodial closet"
|
||||
@@ -60,21 +60,21 @@
|
||||
/obj/structure/closet/jcloset/PopulateContents()
|
||||
..()
|
||||
new /obj/item/clothing/under/rank/janitor(src)
|
||||
new /obj/item/weapon/cartridge/janitor(src)
|
||||
new /obj/item/cartridge/janitor(src)
|
||||
new /obj/item/clothing/gloves/color/black(src)
|
||||
new /obj/item/clothing/head/soft/purple(src)
|
||||
new /obj/item/weapon/paint/paint_remover(src)
|
||||
new /obj/item/weapon/melee/flyswatter(src)
|
||||
new /obj/item/paint/paint_remover(src)
|
||||
new /obj/item/melee/flyswatter(src)
|
||||
new /obj/item/device/flashlight(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/caution(src)
|
||||
new /obj/item/weapon/holosign_creator(src)
|
||||
new /obj/item/caution(src)
|
||||
new /obj/item/holosign_creator(src)
|
||||
new /obj/item/device/lightreplacer(src)
|
||||
new /obj/item/weapon/soap(src)
|
||||
new /obj/item/weapon/storage/bag/trash(src)
|
||||
new /obj/item/soap(src)
|
||||
new /obj/item/storage/bag/trash(src)
|
||||
new /obj/item/clothing/shoes/galoshes(src)
|
||||
new /obj/item/weapon/watertank/janitor(src)
|
||||
new /obj/item/weapon/storage/belt/janitor(src)
|
||||
new /obj/item/watertank/janitor(src)
|
||||
new /obj/item/storage/belt/janitor(src)
|
||||
|
||||
|
||||
/obj/structure/closet/lawcloset
|
||||
@@ -114,11 +114,11 @@
|
||||
new /obj/item/clothing/head/witchunter_hat(src)
|
||||
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
||||
new /obj/item/clothing/suit/holidaypriest(src)
|
||||
new /obj/item/weapon/storage/backpack/cultpack (src)
|
||||
new /obj/item/storage/backpack/cultpack (src)
|
||||
new /obj/item/clothing/head/helmet/knight/templar(src)
|
||||
new /obj/item/clothing/suit/armor/riot/knight/templar(src)
|
||||
new /obj/item/weapon/storage/fancy/candle_box(src)
|
||||
new /obj/item/weapon/storage/fancy/candle_box(src)
|
||||
new /obj/item/storage/fancy/candle_box(src)
|
||||
new /obj/item/storage/fancy/candle_box(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/coffin
|
||||
@@ -138,10 +138,10 @@
|
||||
|
||||
/obj/structure/closet/wardrobe/red/PopulateContents()
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/security(src)
|
||||
new /obj/item/weapon/storage/backpack/security(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/sec(src)
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/sec(src)
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/sec(src)
|
||||
new /obj/item/storage/backpack/security(src)
|
||||
new /obj/item/storage/backpack/satchel/sec(src)
|
||||
new /obj/item/storage/backpack/duffelbag/sec(src)
|
||||
new /obj/item/storage/backpack/duffelbag/sec(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/under/rank/security(src)
|
||||
for(var/i in 1 to 3)
|
||||
@@ -176,9 +176,9 @@
|
||||
icon_door = "atmos_wardrobe"
|
||||
|
||||
/obj/structure/closet/wardrobe/atmospherics_yellow/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/engineering(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/eng(src)
|
||||
new /obj/item/weapon/storage/backpack/industrial(src)
|
||||
new /obj/item/storage/backpack/duffelbag/engineering(src)
|
||||
new /obj/item/storage/backpack/satchel/eng(src)
|
||||
new /obj/item/storage/backpack/industrial(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos(src)
|
||||
for(var/i in 1 to 3)
|
||||
@@ -192,9 +192,9 @@
|
||||
icon_door = "yellow"
|
||||
|
||||
/obj/structure/closet/wardrobe/engineering_yellow/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/engineering(src)
|
||||
new /obj/item/weapon/storage/backpack/industrial(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/eng(src)
|
||||
new /obj/item/storage/backpack/duffelbag/engineering(src)
|
||||
new /obj/item/storage/backpack/industrial(src)
|
||||
new /obj/item/storage/backpack/satchel/eng(src)
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/engineering(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/under/rank/engineer(src)
|
||||
@@ -210,9 +210,9 @@
|
||||
name = "medical doctor's wardrobe"
|
||||
|
||||
/obj/structure/closet/wardrobe/white/medical/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/med(src)
|
||||
new /obj/item/weapon/storage/backpack/medic(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/med(src)
|
||||
new /obj/item/storage/backpack/duffelbag/med(src)
|
||||
new /obj/item/storage/backpack/medic(src)
|
||||
new /obj/item/storage/backpack/satchel/med(src)
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/medical(src)
|
||||
new /obj/item/clothing/under/rank/nursesuit (src)
|
||||
new /obj/item/clothing/head/nursehat (src)
|
||||
@@ -266,12 +266,12 @@
|
||||
new /obj/item/clothing/shoes/sneakers/white(src)
|
||||
new /obj/item/clothing/suit/toggle/labcoat/chemist(src)
|
||||
new /obj/item/clothing/suit/toggle/labcoat/chemist(src)
|
||||
new /obj/item/weapon/storage/backpack/chemistry(src)
|
||||
new /obj/item/weapon/storage/backpack/chemistry(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/chem(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/chem(src)
|
||||
new /obj/item/weapon/storage/bag/chemistry(src)
|
||||
new /obj/item/weapon/storage/bag/chemistry(src)
|
||||
new /obj/item/storage/backpack/chemistry(src)
|
||||
new /obj/item/storage/backpack/chemistry(src)
|
||||
new /obj/item/storage/backpack/satchel/chem(src)
|
||||
new /obj/item/storage/backpack/satchel/chem(src)
|
||||
new /obj/item/storage/bag/chemistry(src)
|
||||
new /obj/item/storage/bag/chemistry(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -286,10 +286,10 @@
|
||||
new /obj/item/clothing/shoes/sneakers/white(src)
|
||||
new /obj/item/clothing/suit/toggle/labcoat/genetics(src)
|
||||
new /obj/item/clothing/suit/toggle/labcoat/genetics(src)
|
||||
new /obj/item/weapon/storage/backpack/genetics(src)
|
||||
new /obj/item/weapon/storage/backpack/genetics(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/gen(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/gen(src)
|
||||
new /obj/item/storage/backpack/genetics(src)
|
||||
new /obj/item/storage/backpack/genetics(src)
|
||||
new /obj/item/storage/backpack/satchel/gen(src)
|
||||
new /obj/item/storage/backpack/satchel/gen(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -306,10 +306,10 @@
|
||||
new /obj/item/clothing/suit/toggle/labcoat/virologist(src)
|
||||
new /obj/item/clothing/mask/surgical(src)
|
||||
new /obj/item/clothing/mask/surgical(src)
|
||||
new /obj/item/weapon/storage/backpack/virology(src)
|
||||
new /obj/item/weapon/storage/backpack/virology(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/vir(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/vir(src)
|
||||
new /obj/item/storage/backpack/virology(src)
|
||||
new /obj/item/storage/backpack/virology(src)
|
||||
new /obj/item/storage/backpack/satchel/vir(src)
|
||||
new /obj/item/storage/backpack/satchel/vir(src)
|
||||
return
|
||||
|
||||
/obj/structure/closet/wardrobe/science_white
|
||||
@@ -317,10 +317,10 @@
|
||||
icon_door = "white"
|
||||
|
||||
/obj/structure/closet/wardrobe/science_white/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/science(src)
|
||||
new /obj/item/weapon/storage/backpack/science(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/storage/backpack/science(src)
|
||||
new /obj/item/storage/backpack/science(src)
|
||||
new /obj/item/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/storage/backpack/satchel/tox(src)
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/science(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/under/rank/scientist(src)
|
||||
@@ -339,10 +339,10 @@
|
||||
icon_door = "green"
|
||||
|
||||
/obj/structure/closet/wardrobe/botanist/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/botany(src)
|
||||
new /obj/item/weapon/storage/backpack/botany(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/hyd(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/hyd(src)
|
||||
new /obj/item/storage/backpack/botany(src)
|
||||
new /obj/item/storage/backpack/botany(src)
|
||||
new /obj/item/storage/backpack/satchel/hyd(src)
|
||||
new /obj/item/storage/backpack/satchel/hyd(src)
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/hydro(src)
|
||||
new /obj/item/clothing/suit/apron(src)
|
||||
new /obj/item/clothing/suit/apron(src)
|
||||
@@ -363,5 +363,5 @@
|
||||
new /obj/item/clothing/suit/curator(src)
|
||||
new /obj/item/clothing/under/rank/curator/treasure_hunter(src)
|
||||
new /obj/item/clothing/shoes/workboots/mining(src)
|
||||
new /obj/item/weapon/storage/backpack/satchel/explorer(src)
|
||||
new /obj/item/storage/backpack/satchel/explorer(src)
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
/obj/structure/closet/l3closet/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/bag/bio( src )
|
||||
new /obj/item/storage/bag/bio( src )
|
||||
new /obj/item/clothing/suit/bio_suit/general( src )
|
||||
new /obj/item/clothing/head/bio_hood/general( src )
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
icon_state = "bio_viro"
|
||||
|
||||
/obj/structure/closet/l3closet/virology/PopulateContents()
|
||||
new /obj/item/weapon/storage/bag/bio( src )
|
||||
new /obj/item/storage/bag/bio( src )
|
||||
new /obj/item/clothing/suit/bio_suit/virology( src )
|
||||
new /obj/item/clothing/head/bio_hood/virology( src )
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
icon_state = "bio_viro"
|
||||
|
||||
/obj/structure/closet/l3closet/scientist/PopulateContents()
|
||||
new /obj/item/weapon/storage/bag/bio( src )
|
||||
new /obj/item/storage/bag/bio( src )
|
||||
new /obj/item/clothing/suit/bio_suit/scientist( src )
|
||||
new /obj/item/clothing/head/bio_hood/scientist( src )
|
||||
|
||||
|
||||
@@ -8,4 +8,4 @@
|
||||
/obj/structure/closet/secure_closet/bar/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 10)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/beer( src )
|
||||
new /obj/item/reagent_containers/food/drinks/beer( src )
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
new /obj/item/clothing/suit/fire/firefighter(src)
|
||||
new /obj/item/clothing/gloves/fingerless(src)
|
||||
new /obj/item/device/megaphone/cargo(src)
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/head/soft(src)
|
||||
new /obj/item/device/export_scanner(src)
|
||||
new /obj/item/weapon/door_remote/quartermaster(src)
|
||||
new /obj/item/door_remote/quartermaster(src)
|
||||
|
||||
@@ -11,22 +11,22 @@
|
||||
new /obj/item/clothing/head/welding(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/weapon/tank/jetpack/suit(src)
|
||||
new /obj/item/weapon/cartridge/ce(src)
|
||||
new /obj/item/tank/jetpack/suit(src)
|
||||
new /obj/item/cartridge/ce(src)
|
||||
new /obj/item/device/radio/headset/heads/ce(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/storage/toolbox/mechanical(src)
|
||||
new /obj/item/clothing/suit/hazardvest(src)
|
||||
new /obj/item/device/megaphone/command(src)
|
||||
new /obj/item/areaeditor/blueprints(src)
|
||||
new /obj/item/weapon/airlock_painter(src)
|
||||
new /obj/item/weapon/holosign_creator/engineering(src)
|
||||
new /obj/item/airlock_painter(src)
|
||||
new /obj/item/holosign_creator/engineering(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
new /obj/item/clothing/glasses/meson/engine(src)
|
||||
new /obj/item/weapon/door_remote/chief_engineer(src)
|
||||
new /obj/item/weapon/pipe_dispenser(src)
|
||||
new /obj/item/weapon/inducer(src)
|
||||
new /obj/item/door_remote/chief_engineer(src)
|
||||
new /obj/item/pipe_dispenser(src)
|
||||
new /obj/item/inducer(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_electrical
|
||||
name = "electrical supplies locker"
|
||||
@@ -38,12 +38,12 @@
|
||||
..()
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/clothing/gloves/color/yellow(src)
|
||||
new /obj/item/weapon/inducer(src)
|
||||
new /obj/item/weapon/inducer(src)
|
||||
new /obj/item/inducer(src)
|
||||
new /obj/item/inducer(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/storage/toolbox/electrical(src)
|
||||
new /obj/item/storage/toolbox/electrical(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/electronics/apc(src)
|
||||
new /obj/item/electronics/apc(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/device/multitool(src)
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/head/welding(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_personal
|
||||
name = "engineer's locker"
|
||||
@@ -68,12 +68,12 @@
|
||||
/obj/structure/closet/secure_closet/engineering_personal/PopulateContents()
|
||||
..()
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
|
||||
new /obj/item/weapon/holosign_creator/engineering(src)
|
||||
new /obj/item/storage/toolbox/mechanical(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen/engi(src)
|
||||
new /obj/item/holosign_creator/engineering(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/clothing/glasses/meson/engine(src)
|
||||
new /obj/item/weapon/storage/box/emptysandbags(src)
|
||||
new /obj/item/storage/box/emptysandbags(src)
|
||||
|
||||
|
||||
/obj/structure/closet/secure_closet/atmospherics
|
||||
@@ -84,12 +84,12 @@
|
||||
/obj/structure/closet/secure_closet/atmospherics/PopulateContents()
|
||||
..()
|
||||
new /obj/item/device/radio/headset/headset_eng(src)
|
||||
new /obj/item/weapon/pipe_dispenser(src)
|
||||
new /obj/item/weapon/storage/toolbox/mechanical(src)
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen/engi(src)
|
||||
new /obj/item/pipe_dispenser(src)
|
||||
new /obj/item/storage/toolbox/mechanical(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen/engi(src)
|
||||
new /obj/item/device/analyzer(src)
|
||||
new /obj/item/weapon/holosign_creator/atmos(src)
|
||||
new /obj/item/weapon/watertank/atmos(src)
|
||||
new /obj/item/holosign_creator/atmos(src)
|
||||
new /obj/item/watertank/atmos(src)
|
||||
new /obj/item/clothing/suit/fire/atmos(src)
|
||||
new /obj/item/clothing/head/hardhat/atmos(src)
|
||||
new /obj/item/clothing/glasses/meson/engine/tray(src)
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen/PopulateContents()
|
||||
..()
|
||||
for(var/i = 0, i < 3, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/flour(src)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/rice(src)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/sugar(src)
|
||||
new /obj/item/reagent_containers/food/condiment/flour(src)
|
||||
new /obj/item/reagent_containers/food/condiment/rice(src)
|
||||
new /obj/item/reagent_containers/food/condiment/sugar(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance
|
||||
name = "maintenance refrigerator"
|
||||
@@ -20,11 +20,11 @@
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/PopulateContents()
|
||||
..()
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
|
||||
new /obj/item/reagent_containers/food/condiment/milk(src)
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src)
|
||||
new /obj/item/reagent_containers/food/condiment/soymilk(src)
|
||||
for(var/i = 0, i < 2, i++)
|
||||
new /obj/item/weapon/storage/fancy/egg_box(src)
|
||||
new /obj/item/storage/fancy/egg_box(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen/mining
|
||||
req_access = list()
|
||||
@@ -35,18 +35,18 @@
|
||||
/obj/structure/closet/secure_closet/freezer/meat/PopulateContents()
|
||||
..()
|
||||
for(var/i = 0, i < 4, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/meat/slab/monkey(src)
|
||||
new /obj/item/reagent_containers/food/snacks/meat/slab/monkey(src)
|
||||
/obj/structure/closet/secure_closet/freezer/fridge
|
||||
name = "refrigerator"
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/fridge/PopulateContents()
|
||||
..()
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/milk(src)
|
||||
new /obj/item/reagent_containers/food/condiment/milk(src)
|
||||
for(var/i = 0, i < 5, i++)
|
||||
new /obj/item/weapon/reagent_containers/food/condiment/soymilk(src)
|
||||
new /obj/item/reagent_containers/food/condiment/soymilk(src)
|
||||
for(var/i = 0, i < 2, i++)
|
||||
new /obj/item/weapon/storage/fancy/egg_box(src)
|
||||
new /obj/item/storage/fancy/egg_box(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/money
|
||||
name = "freezer"
|
||||
@@ -69,4 +69,4 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/pie/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/pie/cream(src)
|
||||
new /obj/item/reagent_containers/food/snacks/pie/cream(src)
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/hydroponics/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/bag/plants/portaseeder(src)
|
||||
new /obj/item/storage/bag/plants/portaseeder(src)
|
||||
new /obj/item/device/plant_analyzer(src)
|
||||
new /obj/item/device/radio/headset/headset_srv(src)
|
||||
new /obj/item/weapon/cultivator(src)
|
||||
new /obj/item/weapon/hatchet(src)
|
||||
new /obj/item/weapon/storage/box/disks_plantgene(src)
|
||||
new /obj/item/cultivator(src)
|
||||
new /obj/item/hatchet(src)
|
||||
new /obj/item/storage/box/disks_plantgene(src)
|
||||
@@ -6,20 +6,20 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/medical1/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/reagent_containers/glass/beaker(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/beaker(src)
|
||||
new /obj/item/weapon/reagent_containers/dropper(src)
|
||||
new /obj/item/weapon/reagent_containers/dropper(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/weapon/storage/box/syringes(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/toxin(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/morphine(src)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/morphine(src)
|
||||
new /obj/item/reagent_containers/glass/beaker(src)
|
||||
new /obj/item/reagent_containers/glass/beaker(src)
|
||||
new /obj/item/reagent_containers/dropper(src)
|
||||
new /obj/item/reagent_containers/dropper(src)
|
||||
new /obj/item/storage/belt/medical(src)
|
||||
new /obj/item/storage/box/syringes(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/toxin(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/morphine(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/morphine(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/epinephrine(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/epinephrine(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/glass/bottle/charcoal(src)
|
||||
new /obj/item/weapon/storage/box/rxglasses(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/charcoal(src)
|
||||
new /obj/item/storage/box/rxglasses(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/medical2
|
||||
name = "anesthetic closet"
|
||||
@@ -29,7 +29,7 @@
|
||||
/obj/structure/closet/secure_closet/medical2/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/tank/internals/anesthetic(src)
|
||||
new /obj/item/tank/internals/anesthetic(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/mask/breath/medical(src)
|
||||
|
||||
@@ -41,9 +41,9 @@
|
||||
/obj/structure/closet/secure_closet/medical3/PopulateContents()
|
||||
..()
|
||||
new /obj/item/device/radio/headset/headset_med(src)
|
||||
new /obj/item/weapon/defibrillator/loaded(src)
|
||||
new /obj/item/defibrillator/loaded(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/storage/belt/medical(src)
|
||||
new /obj/item/clothing/glasses/hud/health(src)
|
||||
return
|
||||
|
||||
@@ -55,22 +55,22 @@
|
||||
/obj/structure/closet/secure_closet/CMO/PopulateContents()
|
||||
..()
|
||||
new /obj/item/clothing/neck/cloak/cmo(src)
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/med(src)
|
||||
new /obj/item/storage/backpack/duffelbag/med(src)
|
||||
new /obj/item/clothing/suit/bio_suit/cmo(src)
|
||||
new /obj/item/clothing/head/bio_hood/cmo(src)
|
||||
new /obj/item/clothing/suit/toggle/labcoat/cmo(src)
|
||||
new /obj/item/clothing/under/rank/chief_medical_officer(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown (src)
|
||||
new /obj/item/weapon/cartridge/cmo(src)
|
||||
new /obj/item/cartridge/cmo(src)
|
||||
new /obj/item/device/radio/headset/heads/cmo(src)
|
||||
new /obj/item/device/megaphone/command(src)
|
||||
new /obj/item/weapon/defibrillator/compact/loaded(src)
|
||||
new /obj/item/defibrillator/compact/loaded(src)
|
||||
new /obj/item/clothing/gloves/color/latex/nitrile(src)
|
||||
new /obj/item/weapon/storage/belt/medical(src)
|
||||
new /obj/item/storage/belt/medical(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
new /obj/item/weapon/reagent_containers/hypospray/CMO(src)
|
||||
new /obj/item/reagent_containers/hypospray/CMO(src)
|
||||
new /obj/item/device/autosurgeon/cmo(src)
|
||||
new /obj/item/weapon/door_remote/chief_medical_officer(src)
|
||||
new /obj/item/door_remote/chief_medical_officer(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/animal
|
||||
name = "animal control"
|
||||
@@ -89,5 +89,5 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/chemical/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/box/pillbottles(src)
|
||||
new /obj/item/weapon/storage/box/pillbottles(src)
|
||||
new /obj/item/storage/box/pillbottles(src)
|
||||
new /obj/item/storage/box/pillbottles(src)
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/ertCom/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/firstaid/regular(src)
|
||||
new /obj/item/weapon/storage/box/handcuffs(src)
|
||||
new /obj/item/storage/firstaid/regular(src)
|
||||
new /obj/item/storage/box/handcuffs(src)
|
||||
new /obj/item/device/aicard(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
if(prob(50))
|
||||
new /obj/item/ammo_box/magazine/m50(src)
|
||||
new /obj/item/ammo_box/magazine/m50(src)
|
||||
new /obj/item/weapon/gun/ballistic/automatic/pistol/deagle(src)
|
||||
new /obj/item/gun/ballistic/automatic/pistol/deagle(src)
|
||||
else
|
||||
new /obj/item/ammo_box/a357(src)
|
||||
new /obj/item/ammo_box/a357(src)
|
||||
new /obj/item/weapon/gun/ballistic/revolver/mateba(src)
|
||||
new /obj/item/gun/ballistic/revolver/mateba(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/ertSec
|
||||
name = "security closet"
|
||||
@@ -27,11 +27,11 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/ertSec/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/storage/box/teargas(src)
|
||||
new /obj/item/weapon/storage/box/flashes(src)
|
||||
new /obj/item/weapon/storage/box/handcuffs(src)
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/box/teargas(src)
|
||||
new /obj/item/storage/box/flashes(src)
|
||||
new /obj/item/storage/box/handcuffs(src)
|
||||
new /obj/item/shield/riot/tele(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/ertMed
|
||||
name = "medical closet"
|
||||
@@ -41,12 +41,12 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/ertMed/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/firstaid/o2(src)
|
||||
new /obj/item/weapon/storage/firstaid/toxin(src)
|
||||
new /obj/item/weapon/storage/firstaid/fire(src)
|
||||
new /obj/item/weapon/storage/firstaid/brute(src)
|
||||
new /obj/item/weapon/storage/firstaid/regular(src)
|
||||
new /obj/item/weapon/defibrillator/compact/combat/loaded(src)
|
||||
new /obj/item/storage/firstaid/o2(src)
|
||||
new /obj/item/storage/firstaid/toxin(src)
|
||||
new /obj/item/storage/firstaid/fire(src)
|
||||
new /obj/item/storage/firstaid/brute(src)
|
||||
new /obj/item/storage/firstaid/regular(src)
|
||||
new /obj/item/defibrillator/compact/combat/loaded(src)
|
||||
new /mob/living/simple_animal/bot/medbot(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/ertEngi
|
||||
@@ -62,6 +62,6 @@
|
||||
new /obj/item/stack/sheet/glass(src, 50)
|
||||
new /obj/item/stack/sheet/mineral/sandbags(src, 30)
|
||||
new /obj/item/clothing/shoes/magboots(src)
|
||||
new /obj/item/weapon/storage/box/metalfoam(src)
|
||||
new /obj/item/storage/box/metalfoam(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/rcd_ammo/large(src)
|
||||
new /obj/item/rcd_ammo/large(src)
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
/obj/structure/closet/secure_closet/personal/PopulateContents()
|
||||
..()
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/duffelbag(src)
|
||||
new /obj/item/storage/backpack/duffelbag(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack(src)
|
||||
new /obj/item/storage/backpack(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel(src)
|
||||
new /obj/item/storage/backpack/satchel(src)
|
||||
new /obj/item/device/radio/headset( src )
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/patient
|
||||
@@ -27,12 +27,12 @@
|
||||
max_integrity = 70
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/cabinet/PopulateContents()
|
||||
new /obj/item/weapon/storage/backpack/satchel/leather/withwallet( src )
|
||||
new /obj/item/storage/backpack/satchel/leather/withwallet( src )
|
||||
new /obj/item/device/instrument/piano_synth(src)
|
||||
new /obj/item/device/radio/headset( src )
|
||||
|
||||
/obj/structure/closet/secure_closet/personal/attackby(obj/item/W, mob/user, params)
|
||||
var/obj/item/weapon/card/id/I = W.GetID()
|
||||
var/obj/item/card/id/I = W.GetID()
|
||||
if(istype(I))
|
||||
if(broken)
|
||||
to_chat(user, "<span class='danger'>It appears to be broken.</span>")
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
new /obj/item/clothing/under/rank/research_director/alt(src)
|
||||
new /obj/item/clothing/under/rank/research_director/turtleneck(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/weapon/cartridge/rd(src)
|
||||
new /obj/item/cartridge/rd(src)
|
||||
new /obj/item/clothing/gloves/color/latex(src)
|
||||
new /obj/item/device/radio/headset/heads/rd(src)
|
||||
new /obj/item/weapon/tank/internals/air(src)
|
||||
new /obj/item/tank/internals/air(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/device/megaphone/command(src)
|
||||
new /obj/item/weapon/storage/lockbox/medal/sci(src)
|
||||
new /obj/item/storage/lockbox/medal/sci(src)
|
||||
new /obj/item/clothing/suit/armor/reactive/teleport(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
new /obj/item/device/laser_pointer(src)
|
||||
new /obj/item/weapon/door_remote/research_director(src)
|
||||
new /obj/item/weapon/storage/box/firingpins(src)
|
||||
new /obj/item/door_remote/research_director(src)
|
||||
new /obj/item/storage/box/firingpins(src)
|
||||
@@ -7,28 +7,28 @@
|
||||
..()
|
||||
new /obj/item/clothing/suit/hooded/wintercoat/captain(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/captain(src)
|
||||
new /obj/item/storage/backpack/captain(src)
|
||||
else
|
||||
new /obj/item/weapon/storage/backpack/satchel/cap(src)
|
||||
new /obj/item/storage/backpack/satchel/cap(src)
|
||||
new /obj/item/clothing/neck/cloak/cap(src)
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/captain(src)
|
||||
new /obj/item/storage/backpack/duffelbag/captain(src)
|
||||
new /obj/item/clothing/head/crown/fancy(src)
|
||||
new /obj/item/clothing/suit/captunic(src)
|
||||
new /obj/item/clothing/under/captainparade(src)
|
||||
new /obj/item/clothing/head/caphat/parade(src)
|
||||
new /obj/item/clothing/under/rank/captain(src)
|
||||
new /obj/item/clothing/suit/armor/vest/capcarapace/alt(src)
|
||||
new /obj/item/weapon/cartridge/captain(src)
|
||||
new /obj/item/cartridge/captain(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/weapon/storage/box/silver_ids(src)
|
||||
new /obj/item/storage/box/silver_ids(src)
|
||||
new /obj/item/device/radio/headset/heads/captain/alt(src)
|
||||
new /obj/item/device/radio/headset/heads/captain(src)
|
||||
new /obj/item/clothing/glasses/sunglasses/gar/supergar(src)
|
||||
new /obj/item/clothing/gloves/color/captain(src)
|
||||
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
|
||||
new /obj/item/weapon/storage/belt/sabre(src)
|
||||
new /obj/item/weapon/gun/energy/e_gun(src)
|
||||
new /obj/item/weapon/door_remote/captain(src)
|
||||
new /obj/item/restraints/handcuffs/cable/zipties(src)
|
||||
new /obj/item/storage/belt/sabre(src)
|
||||
new /obj/item/gun/energy/e_gun(src)
|
||||
new /obj/item/door_remote/captain(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/hop
|
||||
name = "\proper head of personnel's locker"
|
||||
@@ -40,19 +40,19 @@
|
||||
new /obj/item/clothing/neck/cloak/hop(src)
|
||||
new /obj/item/clothing/under/rank/head_of_personnel(src)
|
||||
new /obj/item/clothing/head/hopcap(src)
|
||||
new /obj/item/weapon/cartridge/hop(src)
|
||||
new /obj/item/cartridge/hop(src)
|
||||
new /obj/item/device/radio/headset/heads/hop(src)
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
new /obj/item/weapon/storage/box/ids(src)
|
||||
new /obj/item/weapon/storage/box/ids(src)
|
||||
new /obj/item/storage/box/ids(src)
|
||||
new /obj/item/storage/box/ids(src)
|
||||
new /obj/item/device/megaphone/command(src)
|
||||
new /obj/item/clothing/suit/armor/vest/alt(src)
|
||||
new /obj/item/device/assembly/flash/handheld(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/weapon/restraints/handcuffs/cable/zipties(src)
|
||||
new /obj/item/weapon/gun/energy/e_gun(src)
|
||||
new /obj/item/restraints/handcuffs/cable/zipties(src)
|
||||
new /obj/item/gun/energy/e_gun(src)
|
||||
new /obj/item/clothing/neck/petcollar(src)
|
||||
new /obj/item/weapon/door_remote/civillian(src)
|
||||
new /obj/item/door_remote/civillian(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/hos
|
||||
name = "\proper head of security's locker"
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/structure/closet/secure_closet/hos/PopulateContents()
|
||||
..()
|
||||
new /obj/item/clothing/neck/cloak/hos(src)
|
||||
new /obj/item/weapon/cartridge/hos(src)
|
||||
new /obj/item/cartridge/hos(src)
|
||||
new /obj/item/device/radio/headset/heads/hos(src)
|
||||
new /obj/item/clothing/under/hosparadefem(src)
|
||||
new /obj/item/clothing/under/hosparademale(src)
|
||||
@@ -73,17 +73,17 @@
|
||||
new /obj/item/clothing/glasses/hud/security/sunglasses/eyepatch(src)
|
||||
new /obj/item/clothing/glasses/hud/security/sunglasses/gars/supergars(src)
|
||||
new /obj/item/clothing/under/rank/head_of_security/grey(src)
|
||||
new /obj/item/weapon/storage/lockbox/medal/sec(src)
|
||||
new /obj/item/storage/lockbox/medal/sec(src)
|
||||
new /obj/item/device/megaphone/sec(src)
|
||||
new /obj/item/weapon/holosign_creator/security(src)
|
||||
new /obj/item/weapon/storage/lockbox/loyalty(src)
|
||||
new /obj/item/holosign_creator/security(src)
|
||||
new /obj/item/storage/lockbox/loyalty(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer/swat(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/shield/riot/tele(src)
|
||||
new /obj/item/weapon/storage/belt/security/full(src)
|
||||
new /obj/item/weapon/gun/energy/e_gun/hos(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
new /obj/item/shield/riot/tele(src)
|
||||
new /obj/item/storage/belt/security/full(src)
|
||||
new /obj/item/gun/energy/e_gun/hos(src)
|
||||
new /obj/item/device/flashlight/seclite(src)
|
||||
new /obj/item/weapon/pinpointer(src)
|
||||
new /obj/item/pinpointer(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/warden
|
||||
name = "\proper warden's locker"
|
||||
@@ -99,15 +99,15 @@
|
||||
new /obj/item/clothing/suit/armor/vest/warden/alt(src)
|
||||
new /obj/item/clothing/under/rank/warden/navyblue(src)
|
||||
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
|
||||
new /obj/item/weapon/holosign_creator/security(src)
|
||||
new /obj/item/holosign_creator/security(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer(src)
|
||||
new /obj/item/weapon/storage/box/zipties(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/storage/belt/security/full(src)
|
||||
new /obj/item/storage/box/zipties(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/belt/security/full(src)
|
||||
new /obj/item/device/flashlight/seclite(src)
|
||||
new /obj/item/clothing/gloves/krav_maga/sec(src)
|
||||
new /obj/item/weapon/door_remote/head_of_security(src)
|
||||
new /obj/item/weapon/gun/ballistic/shotgun/automatic/combat/compact(src)
|
||||
new /obj/item/door_remote/head_of_security(src)
|
||||
new /obj/item/gun/ballistic/shotgun/automatic/combat/compact(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/security
|
||||
name = "security officer's locker"
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/security/sec/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/belt/security/full(src)
|
||||
new /obj/item/storage/belt/security/full(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/security/cargo
|
||||
|
||||
@@ -175,14 +175,14 @@
|
||||
new /obj/item/clothing/suit/det_suit/grey(src)
|
||||
new /obj/item/clothing/head/fedora(src)
|
||||
new /obj/item/clothing/shoes/laceup(src)
|
||||
new /obj/item/weapon/storage/box/evidence(src)
|
||||
new /obj/item/storage/box/evidence(src)
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
new /obj/item/device/detective_scanner(src)
|
||||
new /obj/item/device/flashlight/seclite(src)
|
||||
new /obj/item/weapon/holosign_creator/security(src)
|
||||
new /obj/item/weapon/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/holosign_creator/security(src)
|
||||
new /obj/item/reagent_containers/spray/pepper(src)
|
||||
new /obj/item/clothing/suit/armor/vest/det_suit(src)
|
||||
new /obj/item/weapon/storage/belt/holster/full(src)
|
||||
new /obj/item/storage/belt/holster/full(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/injection
|
||||
name = "lethal injections"
|
||||
@@ -191,7 +191,7 @@
|
||||
/obj/structure/closet/secure_closet/injection/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/weapon/reagent_containers/syringe/lethal/execution(src)
|
||||
new /obj/item/reagent_containers/syringe/lethal/execution(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/brig
|
||||
name = "brig locker"
|
||||
@@ -218,11 +218,11 @@
|
||||
..()
|
||||
new /obj/item/clothing/shoes/sneakers/brown(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/paper/fluff/jobs/security/court_judgement (src)
|
||||
new /obj/item/weapon/pen (src)
|
||||
new /obj/item/paper/fluff/jobs/security/court_judgement (src)
|
||||
new /obj/item/pen (src)
|
||||
new /obj/item/clothing/suit/judgerobe (src)
|
||||
new /obj/item/clothing/head/powdered_wig (src)
|
||||
new /obj/item/weapon/storage/briefcase(src)
|
||||
new /obj/item/storage/briefcase(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/contraband/armory
|
||||
anchored = TRUE
|
||||
@@ -247,7 +247,7 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/head/helmet/riot(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/shield/riot(src)
|
||||
new /obj/item/shield/riot(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/armory2
|
||||
name = "armory ballistics locker"
|
||||
@@ -256,11 +256,11 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/armory2/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/box/firingpins(src)
|
||||
new /obj/item/storage/box/firingpins(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/storage/box/rubbershot(src)
|
||||
new /obj/item/storage/box/rubbershot(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/ballistic/shotgun/riot(src)
|
||||
new /obj/item/gun/ballistic/shotgun/riot(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/armory3
|
||||
name = "armory energy gun locker"
|
||||
@@ -269,12 +269,12 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/armory3/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/storage/box/firingpins(src)
|
||||
new /obj/item/weapon/gun/energy/ionrifle(src)
|
||||
new /obj/item/storage/box/firingpins(src)
|
||||
new /obj/item/gun/energy/ionrifle(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/e_gun(src)
|
||||
new /obj/item/gun/energy/e_gun(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/gun/energy/laser(src)
|
||||
|
||||
/obj/structure/closet/secure_closet/tac
|
||||
name = "armory tac locker"
|
||||
@@ -283,7 +283,7 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/tac/PopulateContents()
|
||||
..()
|
||||
new /obj/item/weapon/gun/ballistic/automatic/wt550(src)
|
||||
new /obj/item/gun/ballistic/automatic/wt550(src)
|
||||
new /obj/item/clothing/head/helmet/alt(src)
|
||||
new /obj/item/clothing/mask/gas/sechailer(src)
|
||||
new /obj/item/clothing/suit/armor/bulletproof(src)
|
||||
@@ -296,4 +296,4 @@
|
||||
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/storage/box/lethalshot(src)
|
||||
new /obj/item/storage/box/lethalshot(src)
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
new /obj/item/clothing/shoes/sneakers/black(src)
|
||||
new /obj/item/device/radio/headset/syndicate(src)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/weapon/storage/belt/military(src)
|
||||
new /obj/item/weapon/crowbar/red(src)
|
||||
new /obj/item/storage/belt/military(src)
|
||||
new /obj/item/crowbar/red(src)
|
||||
new /obj/item/clothing/glasses/night(src)
|
||||
return
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
/obj/structure/closet/syndicate/nuclear/PopulateContents()
|
||||
for(var/i in 1 to 5)
|
||||
new /obj/item/ammo_box/magazine/m10mm(src)
|
||||
new /obj/item/weapon/storage/box/flashbangs(src)
|
||||
new /obj/item/weapon/storage/box/teargas(src)
|
||||
new /obj/item/weapon/storage/backpack/duffelbag/syndie/med(src)
|
||||
new /obj/item/storage/box/flashbangs(src)
|
||||
new /obj/item/storage/box/teargas(src)
|
||||
new /obj/item/storage/backpack/duffelbag/syndie/med(src)
|
||||
new /obj/item/device/pda/syndicate(src)
|
||||
return
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
//Sad trombone
|
||||
if(pickednum == 1)
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
|
||||
var/obj/item/paper/P = new /obj/item/paper(src)
|
||||
P.name = "\improper IOU"
|
||||
P.info = "Sorry man, we needed the money so we sold your stash. It's ok, we'll double our money for sure this time!"
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
|
||||
//Jetpack (You hit the jackpot!)
|
||||
if(pickednum == 50)
|
||||
new /obj/item/weapon/tank/jetpack/carbondioxide(src)
|
||||
new /obj/item/tank/jetpack/carbondioxide(src)
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -24,26 +24,26 @@
|
||||
..()
|
||||
|
||||
if (prob(40))
|
||||
new /obj/item/weapon/storage/toolbox/emergency(src)
|
||||
new /obj/item/storage/toolbox/emergency(src)
|
||||
|
||||
switch (pickweight(list("small" = 40, "aid" = 25, "tank" = 20, "both" = 10, "nothing" = 4, "delete" = 1)))
|
||||
if ("small")
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
|
||||
if ("aid")
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/weapon/storage/firstaid/o2(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/storage/firstaid/o2(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
|
||||
if ("tank")
|
||||
new /obj/item/weapon/tank/internals/air(src)
|
||||
new /obj/item/tank/internals/air(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
|
||||
if ("both")
|
||||
new /obj/item/weapon/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/tank/internals/emergency_oxygen(src)
|
||||
new /obj/item/clothing/mask/breath(src)
|
||||
|
||||
if ("nothing")
|
||||
@@ -71,16 +71,16 @@
|
||||
|
||||
new /obj/item/clothing/suit/fire/firefighter(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/weapon/tank/internals/oxygen/red(src)
|
||||
new /obj/item/weapon/extinguisher(src)
|
||||
new /obj/item/tank/internals/oxygen/red(src)
|
||||
new /obj/item/extinguisher(src)
|
||||
new /obj/item/clothing/head/hardhat/red(src)
|
||||
|
||||
/obj/structure/closet/firecloset/full/PopulateContents()
|
||||
new /obj/item/clothing/suit/fire/firefighter(src)
|
||||
new /obj/item/clothing/mask/gas(src)
|
||||
new /obj/item/device/flashlight(src)
|
||||
new /obj/item/weapon/tank/internals/oxygen/red(src)
|
||||
new /obj/item/weapon/extinguisher(src)
|
||||
new /obj/item/tank/internals/oxygen/red(src)
|
||||
new /obj/item/extinguisher(src)
|
||||
new /obj/item/clothing/head/hardhat/red(src)
|
||||
|
||||
/*
|
||||
@@ -99,19 +99,19 @@
|
||||
if(prob(70))
|
||||
new /obj/item/device/flashlight(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weapon/screwdriver(src)
|
||||
new /obj/item/screwdriver(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/wrench(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weldingtool(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/crowbar(src)
|
||||
if(prob(70))
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
new /obj/item/wirecutters(src)
|
||||
if(prob(70))
|
||||
new /obj/item/device/t_scanner(src)
|
||||
if(prob(20))
|
||||
new /obj/item/weapon/storage/belt/utility(src)
|
||||
new /obj/item/storage/belt/utility(src)
|
||||
if(prob(30))
|
||||
new /obj/item/stack/cable_coil/random(src)
|
||||
if(prob(30))
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/clothing/head/soft/grey(src)
|
||||
if(prob(50))
|
||||
new /obj/item/weapon/storage/backpack/duffelbag(src)
|
||||
new /obj/item/storage/backpack/duffelbag(src)
|
||||
if(prob(40))
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
new /obj/item/clothing/mask/bandana/black(src)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
climb_time = 10 //real fast, because let's be honest stepping into or onto a crate is easy
|
||||
climb_stun = 0 //climbing onto crates isn't hard, guys
|
||||
delivery_icon = "deliverycrate"
|
||||
var/obj/item/weapon/paper/fluff/jobs/cargo/manifest/manifest
|
||||
var/obj/item/paper/fluff/jobs/cargo/manifest/manifest
|
||||
|
||||
/obj/structure/closet/crate/New()
|
||||
..()
|
||||
@@ -87,16 +87,16 @@
|
||||
|
||||
/obj/structure/closet/crate/freezer/blood/PopulateContents()
|
||||
. = ..()
|
||||
new /obj/item/weapon/reagent_containers/blood/empty(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/empty(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/AMinus(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/BMinus(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/BPlus(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/OMinus(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/OPlus(src)
|
||||
new /obj/item/weapon/reagent_containers/blood/lizard(src)
|
||||
new /obj/item/reagent_containers/blood/empty(src)
|
||||
new /obj/item/reagent_containers/blood/empty(src)
|
||||
new /obj/item/reagent_containers/blood/AMinus(src)
|
||||
new /obj/item/reagent_containers/blood/BMinus(src)
|
||||
new /obj/item/reagent_containers/blood/BPlus(src)
|
||||
new /obj/item/reagent_containers/blood/OMinus(src)
|
||||
new /obj/item/reagent_containers/blood/OPlus(src)
|
||||
new /obj/item/reagent_containers/blood/lizard(src)
|
||||
for(var/i in 1 to 3)
|
||||
new /obj/item/weapon/reagent_containers/blood/random(src)
|
||||
new /obj/item/reagent_containers/blood/random(src)
|
||||
|
||||
/obj/structure/closet/crate/freezer/surplus_limbs
|
||||
name = "surplus prosthetic limbs"
|
||||
@@ -138,8 +138,8 @@
|
||||
/obj/structure/closet/crate/rcd/PopulateContents()
|
||||
..()
|
||||
for(var/i in 1 to 4)
|
||||
new /obj/item/weapon/rcd_ammo(src)
|
||||
new /obj/item/weapon/construction/rcd(src)
|
||||
new /obj/item/rcd_ammo(src)
|
||||
new /obj/item/construction/rcd(src)
|
||||
|
||||
/obj/structure/closet/crate/science
|
||||
name = "science crate"
|
||||
|
||||
@@ -22,16 +22,16 @@
|
||||
else
|
||||
add_overlay("largebino")
|
||||
|
||||
/obj/structure/closet/crate/bin/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/storage/bag/trash))
|
||||
var/obj/item/weapon/storage/bag/trash/T = W
|
||||
/obj/structure/closet/crate/bin/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/storage/bag/trash))
|
||||
var/obj/item/storage/bag/trash/T = W
|
||||
to_chat(user, "<span class='notice'>You fill the bag.</span>")
|
||||
for(var/obj/item/O in src)
|
||||
if(T.can_be_inserted(O, 1))
|
||||
O.loc = T
|
||||
T.update_icon()
|
||||
do_animate()
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
else if(istype(W, /obj/item/wrench))
|
||||
anchored = !anchored
|
||||
playsound(src.loc, W.usesound, 75, 1)
|
||||
else
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
material_drop = /obj/item/stack/sheet/mineral/wood
|
||||
material_drop_amount = 4
|
||||
delivery_icon = "deliverybox"
|
||||
var/obj/item/weapon/tank/internals/emergency_oxygen/tank
|
||||
var/obj/item/tank/internals/emergency_oxygen/tank
|
||||
|
||||
/obj/structure/closet/crate/critter/New()
|
||||
..()
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need a crowbar to pry this open!</span>")
|
||||
|
||||
/obj/structure/closet/crate/large/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
/obj/structure/closet/crate/large/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
var/turf/T = get_turf(src)
|
||||
if(manifest)
|
||||
tear_manifest(user)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/structure/closet/crate/wooden/toy/PopulateContents()
|
||||
. = ..()
|
||||
new /obj/item/device/megaphone/clown(src)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/soda_cans/canned_laughter(src)
|
||||
new /obj/item/weapon/pneumatic_cannon/pie(src)
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/pie/cream(src)
|
||||
new /obj/item/weapon/storage/crayons(src)
|
||||
new /obj/item/reagent_containers/food/drinks/soda_cans/canned_laughter(src)
|
||||
new /obj/item/pneumatic_cannon/pie(src)
|
||||
new /obj/item/reagent_containers/food/snacks/pie/cream(src)
|
||||
new /obj/item/storage/crayons(src)
|
||||
@@ -13,7 +13,7 @@
|
||||
var/alert = TRUE
|
||||
var/open = FALSE
|
||||
var/openable = TRUE
|
||||
var/obj/item/weapon/electronics/airlock/electronics
|
||||
var/obj/item/electronics/airlock/electronics
|
||||
var/start_showpiece_type = null //add type for items on display
|
||||
|
||||
/obj/structure/displaycase/Initialize()
|
||||
@@ -53,7 +53,7 @@
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
dump()
|
||||
if(!disassembled)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
new /obj/item/shard( src.loc )
|
||||
trigger_alarm()
|
||||
qdel(src)
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
if(!broken && !(flags_1 & NODECONSTRUCT_1))
|
||||
density = FALSE
|
||||
broken = 1
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
new /obj/item/shard( src.loc )
|
||||
playsound(src, "shatter", 70, 1)
|
||||
update_icon()
|
||||
trigger_alarm()
|
||||
@@ -112,15 +112,15 @@
|
||||
src.icon = I
|
||||
return
|
||||
|
||||
/obj/structure/displaycase/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/displaycase/attackby(obj/item/W, mob/user, params)
|
||||
if(W.GetID() && !broken && openable)
|
||||
if(allowed(user))
|
||||
to_chat(user, "<span class='notice'>You [open ? "close":"open"] the [src]</span>")
|
||||
toggle_lock(user)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent == INTENT_HELP && !broken)
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool) && user.a_intent == INTENT_HELP && !broken)
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(obj_integrity < max_integrity && WT.remove_fuel(5, user))
|
||||
to_chat(user, "<span class='notice'>You begin repairing [src].</span>")
|
||||
playsound(loc, WT.usesound, 40, 1)
|
||||
@@ -132,7 +132,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is already in good condition!</span>")
|
||||
return
|
||||
else if(!alert && istype(W, /obj/item/weapon/crowbar) && openable) //Only applies to the lab cage and player made display cases
|
||||
else if(!alert && istype(W, /obj/item/crowbar) && openable) //Only applies to the lab cage and player made display cases
|
||||
if(broken)
|
||||
if(showpiece)
|
||||
to_chat(user, "<span class='notice'>Remove the displayed object first.</span>")
|
||||
@@ -195,11 +195,11 @@
|
||||
desc = "wooden base of display case"
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "glassbox_chassis"
|
||||
var/obj/item/weapon/electronics/airlock/electronics
|
||||
var/obj/item/electronics/airlock/electronics
|
||||
|
||||
|
||||
/obj/structure/displaycase_chassis/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wrench)) //The player can only deconstruct the wooden frame
|
||||
if(istype(I, /obj/item/wrench)) //The player can only deconstruct the wooden frame
|
||||
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 30*I.toolspeed, target = src))
|
||||
@@ -207,7 +207,7 @@
|
||||
new /obj/item/stack/sheet/mineral/wood(get_turf(src), 5)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/electronics/airlock))
|
||||
else if(istype(I, /obj/item/electronics/airlock))
|
||||
to_chat(user, "<span class='notice'>You start installing the electronics into [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 30, target = src) && user.transferItemToLoc(I,src))
|
||||
@@ -238,7 +238,7 @@
|
||||
//The lab cage and captains display case do not spawn with electronics, which is why req_access is needed.
|
||||
/obj/structure/displaycase/captain
|
||||
alert = 1
|
||||
start_showpiece_type = /obj/item/weapon/gun/energy/laser/captain
|
||||
start_showpiece_type = /obj/item/gun/energy/laser/captain
|
||||
req_access = list(ACCESS_CENT_SPECOPS)
|
||||
|
||||
/obj/structure/displaycase/labcage
|
||||
@@ -275,7 +275,7 @@
|
||||
to_chat(user, "The plaque reads:")
|
||||
to_chat(user, trophy_message)
|
||||
|
||||
/obj/structure/displaycase/trophy/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/displaycase/trophy/attackby(obj/item/W, mob/user, params)
|
||||
|
||||
if(!user.Adjacent(src)) //no TK museology
|
||||
return
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/mineral = null
|
||||
var/typetext = ""
|
||||
var/icontext = ""
|
||||
var/obj/item/weapon/electronics/airlock/electronics = null
|
||||
var/obj/item/electronics/airlock/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/created_name = null
|
||||
@@ -364,7 +364,7 @@
|
||||
state = 1
|
||||
|
||||
/obj/structure/door_assembly/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/pen))
|
||||
if(istype(W, /obj/item/pen))
|
||||
var/t = stripped_input(user, "Enter the name for the door.", src.name, src.created_name,MAX_NAME_LEN)
|
||||
if(!t)
|
||||
return
|
||||
@@ -372,14 +372,14 @@
|
||||
return
|
||||
created_name = t
|
||||
|
||||
else if(istype(W, /obj/item/weapon/airlock_painter)) // |- Ricotez
|
||||
else if(istype(W, /obj/item/airlock_painter)) // |- Ricotez
|
||||
//INFORMATION ABOUT ADDING A NEW AIRLOCK TO THE PAINT LIST:
|
||||
//If your airlock has a regular version, add it to the list with regular versions.
|
||||
//If your airlock has a glass version, add it to the list with glass versions.
|
||||
//Don't forget to also set has_solid and has_glass to the proper value.
|
||||
//Do NOT add your airlock to a list if it does not have a version for that list,
|
||||
// or you will get broken icons.
|
||||
var/obj/item/weapon/airlock_painter/WT = W
|
||||
var/obj/item/airlock_painter/WT = W
|
||||
if(WT.can_use(user))
|
||||
var/icontype
|
||||
var/optionlist
|
||||
@@ -502,8 +502,8 @@
|
||||
mineral = null //I know this is stupid, but until we change glass to a boolean it's how this code works.
|
||||
to_chat(user, "<span class='notice'>You change the paintjob on the airlock assembly.</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool) && !anchored )
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
user.visible_message("<span class='warning'>[user] disassembles the airlock assembly.</span>", \
|
||||
"You start to disassemble the airlock assembly...")
|
||||
@@ -515,7 +515,7 @@
|
||||
to_chat(user, "<span class='notice'>You disassemble the airlock assembly.</span>")
|
||||
deconstruct(TRUE)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
else if(istype(W, /obj/item/wrench))
|
||||
if(!anchored )
|
||||
var/door_check = 1
|
||||
for(var/obj/machinery/door/D in loc)
|
||||
@@ -564,7 +564,7 @@
|
||||
to_chat(user, "<span class='notice'>You wire the airlock assembly.</span>")
|
||||
src.name = "wired airlock assembly"
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && state == 1 )
|
||||
else if(istype(W, /obj/item/wirecutters) && state == 1 )
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] cuts the wires from the airlock assembly.", \
|
||||
"<span class='notice'>You start to cut the wires from the airlock assembly...</span>")
|
||||
@@ -577,7 +577,7 @@
|
||||
src.state = 0
|
||||
src.name = "secured airlock assembly"
|
||||
|
||||
else if(istype(W, /obj/item/weapon/electronics/airlock) && state == 1 )
|
||||
else if(istype(W, /obj/item/electronics/airlock) && state == 1 )
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] installs the electronics into the airlock assembly.", \
|
||||
"<span class='notice'>You start to install electronics into the airlock assembly...</span>")
|
||||
@@ -594,7 +594,7 @@
|
||||
src.electronics = W
|
||||
|
||||
|
||||
else if(istype(W, /obj/item/weapon/crowbar) && state == 2 )
|
||||
else if(istype(W, /obj/item/crowbar) && state == 2 )
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] removes the electronics from the airlock assembly.", \
|
||||
"<span class='notice'>You start to remove electronics from the airlock assembly...</span>")
|
||||
@@ -605,9 +605,9 @@
|
||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||
src.state = 1
|
||||
src.name = "wired airlock assembly"
|
||||
var/obj/item/weapon/electronics/airlock/ae
|
||||
var/obj/item/electronics/airlock/ae
|
||||
if (!electronics)
|
||||
ae = new/obj/item/weapon/electronics/airlock( src.loc )
|
||||
ae = new/obj/item/electronics/airlock( src.loc )
|
||||
else
|
||||
ae = electronics
|
||||
electronics = null
|
||||
@@ -657,7 +657,7 @@
|
||||
airlock_type = text2path ("/obj/machinery/door/airlock/[M]")
|
||||
glass_type = /obj/machinery/door/airlock/glass
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver) && state == 2 )
|
||||
else if(istype(W, /obj/item/screwdriver) && state == 2 )
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] finishes the airlock.", \
|
||||
"<span class='notice'>You start finishing the airlock...</span>")
|
||||
@@ -709,7 +709,7 @@
|
||||
else
|
||||
new /obj/item/stack/sheet/glass(T)
|
||||
else
|
||||
new /obj/item/weapon/shard(T)
|
||||
new /obj/item/shard(T)
|
||||
else
|
||||
var/obj/item/stack/sheet/mineral/mineral_path = text2path("/obj/item/stack/sheet/mineral/[mineral]")
|
||||
new mineral_path(T, 2)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
anchored = TRUE
|
||||
|
||||
/obj/structure/dresser/attackby(obj/item/P, mob/user, params)
|
||||
if(istype(P, /obj/item/weapon/wrench))
|
||||
if(istype(P, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to [anchored ? "unwrench" : "wrench"] [src].</span>")
|
||||
playsound(src, P.usesound, 50, 1)
|
||||
if(do_after(user, 20, target = src))
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
..()
|
||||
add_overlay(mutable_appearance('icons/obj/chairs.dmi', "echair_over", MOB_LAYER + 1))
|
||||
|
||||
/obj/structure/chair/e_chair/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
/obj/structure/chair/e_chair/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/wrench))
|
||||
var/obj/structure/chair/C = new /obj/structure/chair(loc)
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
C.setDir(dir)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
density = FALSE
|
||||
max_integrity = 200
|
||||
integrity_failure = 50
|
||||
var/obj/item/weapon/extinguisher/stored_extinguisher
|
||||
var/obj/item/extinguisher/stored_extinguisher
|
||||
var/opened = 0
|
||||
|
||||
/obj/structure/extinguisher_cabinet/New(loc, ndir, building)
|
||||
@@ -19,7 +19,7 @@
|
||||
opened = 1
|
||||
icon_state = "extinguisher_empty"
|
||||
else
|
||||
stored_extinguisher = new /obj/item/weapon/extinguisher(src)
|
||||
stored_extinguisher = new /obj/item/extinguisher(src)
|
||||
|
||||
/obj/structure/extinguisher_cabinet/Destroy()
|
||||
if(stored_extinguisher)
|
||||
@@ -37,7 +37,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/structure/extinguisher_cabinet/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wrench) && !stored_extinguisher)
|
||||
if(istype(I, /obj/item/wrench) && !stored_extinguisher)
|
||||
to_chat(user, "<span class='notice'>You start unsecuring [name]...</span>")
|
||||
playsound(loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 60*I.toolspeed, target = src))
|
||||
@@ -48,7 +48,7 @@
|
||||
|
||||
if(iscyborg(user) || isalien(user))
|
||||
return
|
||||
if(istype(I, /obj/item/weapon/extinguisher))
|
||||
if(istype(I, /obj/item/extinguisher))
|
||||
if(!stored_extinguisher && opened)
|
||||
if(!user.drop_item())
|
||||
return
|
||||
@@ -112,7 +112,7 @@
|
||||
icon_state = "extinguisher_closed"
|
||||
return
|
||||
if(stored_extinguisher)
|
||||
if(istype(stored_extinguisher, /obj/item/weapon/extinguisher/mini))
|
||||
if(istype(stored_extinguisher, /obj/item/extinguisher/mini))
|
||||
icon_state = "extinguisher_mini"
|
||||
else
|
||||
icon_state = "extinguisher_full"
|
||||
|
||||
@@ -91,12 +91,12 @@
|
||||
qdel(src)
|
||||
return T
|
||||
|
||||
/obj/structure/falsewall/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/falsewall/attackby(obj/item/W, mob/user, params)
|
||||
if(opening)
|
||||
to_chat(user, "<span class='warning'>You must wait until the door has stopped moving!</span>")
|
||||
return
|
||||
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
if(density)
|
||||
var/turf/T = get_turf(src)
|
||||
if(T.density)
|
||||
@@ -110,14 +110,14 @@
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You can't reach, close it first!</span>")
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
dismantle(user, TRUE)
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
else if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
dismantle(user, TRUE)
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
var/obj/item/pickaxe/drill/jackhammer/D = W
|
||||
D.playDigSound()
|
||||
dismantle(user, TRUE)
|
||||
else
|
||||
@@ -137,7 +137,7 @@
|
||||
new mineral(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/falsewall/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/structure/falsewall/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
return 0
|
||||
|
||||
/obj/structure/falsewall/examine_status(mob/user) //So you can't detect falsewalls by examine.
|
||||
@@ -170,7 +170,7 @@
|
||||
var/last_event = 0
|
||||
canSmoothWith = list(/obj/structure/falsewall/uranium, /turf/closed/wall/mineral/uranium)
|
||||
|
||||
/obj/structure/falsewall/uranium/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/falsewall/uranium/attackby(obj/item/W, mob/user, params)
|
||||
radiate()
|
||||
return ..()
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
walltype = /turf/closed/wall/mineral/plasma
|
||||
canSmoothWith = list(/obj/structure/falsewall/plasma, /turf/closed/wall/mineral/plasma)
|
||||
|
||||
/obj/structure/falsewall/plasma/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/falsewall/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.is_hot() > 300)
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma falsewall ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(T)]",0,1)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/structure/fireaxecabinet
|
||||
name = "fire axe cabinet"
|
||||
desc = "There is a small label that reads \"For Emergency use only\" along with details for safe use of the axe. As if."
|
||||
var/obj/item/weapon/twohanded/fireaxe/fireaxe = new/obj/item/weapon/twohanded/fireaxe
|
||||
var/obj/item/twohanded/fireaxe/fireaxe = new/obj/item/twohanded/fireaxe
|
||||
icon = 'icons/obj/wallmounts.dmi'
|
||||
icon_state = "fireaxe"
|
||||
anchored = TRUE
|
||||
@@ -24,8 +24,8 @@
|
||||
/obj/structure/fireaxecabinet/attackby(obj/item/I, mob/user, params)
|
||||
if(iscyborg(user) || istype(I, /obj/item/device/multitool))
|
||||
toggle_lock(user)
|
||||
else if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == INTENT_HELP && !broken)
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
else if(istype(I, /obj/item/weldingtool) && user.a_intent == INTENT_HELP && !broken)
|
||||
var/obj/item/weldingtool/WT = I
|
||||
if(obj_integrity < max_integrity && WT.remove_fuel(2, user))
|
||||
to_chat(user, "<span class='notice'>You begin repairing [src].</span>")
|
||||
playsound(loc, WT.usesound, 40, 1)
|
||||
@@ -48,8 +48,8 @@
|
||||
obj_integrity = max_integrity
|
||||
update_icon()
|
||||
else if(open || broken)
|
||||
if(istype(I, /obj/item/weapon/twohanded/fireaxe) && !fireaxe)
|
||||
var/obj/item/weapon/twohanded/fireaxe/F = I
|
||||
if(istype(I, /obj/item/twohanded/fireaxe) && !fireaxe)
|
||||
var/obj/item/twohanded/fireaxe/F = I
|
||||
if(F.wielded)
|
||||
to_chat(user, "<span class='warning'>Unwield the [F.name] first.</span>")
|
||||
return
|
||||
@@ -87,8 +87,8 @@
|
||||
update_icon()
|
||||
broken = TRUE
|
||||
playsound(src, 'sound/effects/glassbr3.ogg', 100, 1)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/weapon/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
new /obj/item/shard(loc)
|
||||
|
||||
/obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
|
||||
@@ -51,14 +51,14 @@
|
||||
user.visible_message("<span class='notice'>[user] tosses some \
|
||||
wood into [src].</span>", "<span class='notice'>You add \
|
||||
some fuel to [src].</span>")
|
||||
else if(istype(T, /obj/item/weapon/paper_bin))
|
||||
var/obj/item/weapon/paper_bin/paper_bin = T
|
||||
else if(istype(T, /obj/item/paper_bin))
|
||||
var/obj/item/paper_bin/paper_bin = T
|
||||
user.visible_message("<span class='notice'>[user] throws [T] into \
|
||||
[src].</span>", "<span class='notice'>You add [T] to [src].\
|
||||
</span>")
|
||||
adjust_fuel_timer(PAPER_BURN_TIMER * paper_bin.total_paper)
|
||||
qdel(paper_bin)
|
||||
else if(istype(T, /obj/item/weapon/paper))
|
||||
else if(istype(T, /obj/item/paper))
|
||||
user.visible_message("<span class='notice'>[user] throws [T] into \
|
||||
[src].</span>", "<span class='notice'>You throw [T] into [src].\
|
||||
</span>")
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/cut = FALSE
|
||||
var/log_amount = 10
|
||||
|
||||
/obj/structure/flora/tree/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/flora/tree/attackby(obj/item/W, mob/user, params)
|
||||
if(!cut && log_amount && (!(NODECONSTRUCT_1 in flags_1)))
|
||||
if(W.sharpness && W.force > 0)
|
||||
if(W.hitsound)
|
||||
@@ -31,7 +31,7 @@
|
||||
name += " stump"
|
||||
cut = TRUE
|
||||
for(var/i=1 to log_amount)
|
||||
new /obj/item/weapon/grown/log/tree(get_turf(src))
|
||||
new /obj/item/grown/log/tree(get_turf(src))
|
||||
|
||||
else
|
||||
return ..()
|
||||
@@ -248,7 +248,7 @@
|
||||
icon_state = "fullgrass_[rand(1, 3)]"
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants
|
||||
/obj/item/twohanded/required/kirbyplants
|
||||
name = "potted plant"
|
||||
icon = 'icons/obj/flora/plants.dmi'
|
||||
icon_state = "plant-01"
|
||||
@@ -259,26 +259,26 @@
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/equipped(mob/living/user)
|
||||
/obj/item/twohanded/required/kirbyplants/equipped(mob/living/user)
|
||||
var/image/I = image(icon = 'icons/obj/flora/plants.dmi' , icon_state = src.icon_state, loc = user)
|
||||
I.override = 1
|
||||
add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/everyone, "sneaking_mission", I)
|
||||
..()
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/dropped(mob/living/user)
|
||||
/obj/item/twohanded/required/kirbyplants/dropped(mob/living/user)
|
||||
..()
|
||||
user.remove_alt_appearance("sneaking_mission")
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/random
|
||||
/obj/item/twohanded/required/kirbyplants/random
|
||||
var/list/static/states
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/random/Initialize()
|
||||
/obj/item/twohanded/required/kirbyplants/random/Initialize()
|
||||
. = ..()
|
||||
if(!states)
|
||||
generate_states()
|
||||
icon_state = pick(states)
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/random/proc/generate_states()
|
||||
/obj/item/twohanded/required/kirbyplants/random/proc/generate_states()
|
||||
states = list()
|
||||
for(var/i in 1 to 25)
|
||||
var/number
|
||||
@@ -290,7 +290,7 @@
|
||||
states += "applebush"
|
||||
|
||||
|
||||
/obj/item/weapon/twohanded/required/kirbyplants/dead
|
||||
/obj/item/twohanded/required/kirbyplants/dead
|
||||
name = "RD's potted plant"
|
||||
desc = "A gift from the botanical staff, presented after the RD's reassignment. There's a tag on it that says \"Y'all come back now, y'hear?\"\nIt doesn't look very healthy..."
|
||||
icon_state = "plant-25"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/deconstructible = TRUE
|
||||
|
||||
/obj/structure/fluff/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/wrench) && deconstructible)
|
||||
if(istype(I, /obj/item/wrench) && deconstructible)
|
||||
user.visible_message("<span class='notice'>[user] starts disassembling [src]...</span>", "<span class='notice'>You start disassembling [src]...</span>")
|
||||
playsound(user, I.usesound, 50, 1)
|
||||
if(!do_after(user, 50, target = src))
|
||||
|
||||
@@ -212,20 +212,20 @@
|
||||
life and sent you to this hell are forever branded into your memory.</b>"
|
||||
outfit.uniform = /obj/item/clothing/under/assistantformal
|
||||
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
outfit.back = /obj/item/weapon/storage/backpack
|
||||
outfit.back = /obj/item/storage/backpack
|
||||
if(2)
|
||||
flavour_text += "you're an exile from the Tiger Cooperative. Their technological fanaticism drove you to question the power and beliefs of the Exolitics, and they saw you as a \
|
||||
heretic and subjected you to hours of horrible torture. You were hours away from execution when a high-ranking friend of yours in the Cooperative managed to secure you a pod, \
|
||||
scrambled its destination's coordinates, and launched it. You awoke from stasis when you landed and have been surviving - barely - ever since.</b>"
|
||||
outfit.uniform = /obj/item/clothing/under/rank/prisoner
|
||||
outfit.shoes = /obj/item/clothing/shoes/sneakers/orange
|
||||
outfit.back = /obj/item/weapon/storage/backpack
|
||||
outfit.back = /obj/item/storage/backpack
|
||||
if(3)
|
||||
flavour_text += "you were a doctor on one of Nanotrasen's space stations, but you left behind that damn corporation's tyranny and everything it stood for. From a metaphorical hell \
|
||||
to a literal one, you find yourself nonetheless missing the recycled air and warm floors of what you left behind... but you'd still rather be here than there.</b>"
|
||||
outfit.uniform = /obj/item/clothing/under/rank/medical
|
||||
outfit.suit = /obj/item/clothing/suit/toggle/labcoat
|
||||
outfit.back = /obj/item/weapon/storage/backpack/medic
|
||||
outfit.back = /obj/item/storage/backpack/medic
|
||||
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
if(4)
|
||||
flavour_text += "you were always joked about by your friends for \"not playing with a full deck\", as they so <i>kindly</i> put it. It seems that they were right when you, on a tour \
|
||||
@@ -233,7 +233,7 @@
|
||||
it, and after a terrifying and fast ride for days, you landed here. You've had time to wisen up since then, and you think that your old friends wouldn't be laughing now.</b>"
|
||||
outfit.uniform = /obj/item/clothing/under/color/grey/glorf
|
||||
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
|
||||
outfit.back = /obj/item/weapon/storage/backpack
|
||||
outfit.back = /obj/item/storage/backpack
|
||||
|
||||
/obj/effect/mob_spawn/human/hermit/Destroy()
|
||||
new/obj/structure/fluff/empty_cryostasis_sleeper(get_turf(src))
|
||||
@@ -279,7 +279,7 @@
|
||||
uniform = /obj/item/clothing/under/rank/prisoner
|
||||
mask = /obj/item/clothing/mask/breath
|
||||
shoes = /obj/item/clothing/shoes/sneakers/orange
|
||||
r_pocket = /obj/item/weapon/tank/internals/emergency_oxygen
|
||||
r_pocket = /obj/item/tank/internals/emergency_oxygen
|
||||
|
||||
|
||||
/obj/effect/mob_spawn/human/prisoner_transport/Destroy()
|
||||
@@ -307,8 +307,8 @@
|
||||
uniform = /obj/item/clothing/under/assistantformal
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
r_pocket = /obj/item/device/radio/off
|
||||
back = /obj/item/weapon/storage/backpack
|
||||
implants = list(/obj/item/weapon/implant/mindshield)
|
||||
back = /obj/item/storage/backpack
|
||||
implants = list(/obj/item/implant/mindshield)
|
||||
|
||||
/obj/effect/mob_spawn/human/hotel_staff/security
|
||||
name = "hotel security sleeper"
|
||||
@@ -324,8 +324,8 @@
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
suit = /obj/item/clothing/suit/armor/vest/blueshirt
|
||||
head = /obj/item/clothing/head/helmet/blueshirt
|
||||
back = /obj/item/weapon/storage/backpack/security
|
||||
belt = /obj/item/weapon/storage/belt/security/full
|
||||
back = /obj/item/storage/backpack/security
|
||||
belt = /obj/item/storage/belt/security/full
|
||||
|
||||
/obj/effect/mob_spawn/human/hotel_staff/Destroy()
|
||||
new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src))
|
||||
@@ -368,7 +368,7 @@
|
||||
L.mind.hasSoul = FALSE
|
||||
var/mob/living/carbon/human/H = L
|
||||
var/obj/item/worn = H.wear_id
|
||||
var/obj/item/weapon/card/id/id = worn.GetID()
|
||||
var/obj/item/card/id/id = worn.GetID()
|
||||
id.registered_name = L.real_name
|
||||
id.update_label()
|
||||
else
|
||||
@@ -380,9 +380,9 @@
|
||||
uniform = /obj/item/clothing/under/assistantformal
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
r_pocket = /obj/item/device/radio/off
|
||||
back = /obj/item/weapon/storage/backpack
|
||||
implants = list(/obj/item/weapon/implant/mindshield) //No revolutionaries, he's MY friend.
|
||||
id = /obj/item/weapon/card/id
|
||||
back = /obj/item/storage/backpack
|
||||
implants = list(/obj/item/implant/mindshield) //No revolutionaries, he's MY friend.
|
||||
id = /obj/item/card/id
|
||||
|
||||
/obj/effect/mob_spawn/human/syndicate
|
||||
name = "Syndicate Operative"
|
||||
@@ -400,9 +400,9 @@
|
||||
shoes = /obj/item/clothing/shoes/combat
|
||||
gloves = /obj/item/clothing/gloves/combat
|
||||
ears = /obj/item/device/radio/headset/syndicate/alt
|
||||
back = /obj/item/weapon/storage/backpack
|
||||
implants = list(/obj/item/weapon/implant/weapons_auth)
|
||||
id = /obj/item/weapon/card/id
|
||||
back = /obj/item/storage/backpack
|
||||
implants = list(/obj/item/implant/weapons_auth)
|
||||
id = /obj/item/card/id
|
||||
|
||||
/datum/outfit/syndicate_empty/post_equip(mob/living/carbon/human/H)
|
||||
H.faction |= "syndicate"
|
||||
@@ -414,9 +414,9 @@
|
||||
|
||||
/datum/outfit/syndicate_empty/SBC
|
||||
name = "Syndicate Battlecruiser Ship Operative"
|
||||
l_pocket = /obj/item/weapon/gun/ballistic/automatic/pistol
|
||||
r_pocket = /obj/item/weapon/kitchen/knife/combat/survival
|
||||
belt = /obj/item/weapon/storage/belt/military/assault
|
||||
l_pocket = /obj/item/gun/ballistic/automatic/pistol
|
||||
r_pocket = /obj/item/kitchen/knife/combat/survival
|
||||
belt = /obj/item/storage/belt/military/assault
|
||||
|
||||
/obj/effect/mob_spawn/human/syndicate/battlecruiser/assault
|
||||
name = "Syndicate Battlecruiser Assault Operative"
|
||||
@@ -427,11 +427,11 @@
|
||||
name = "Syndicate Battlecruiser Assault Operative"
|
||||
uniform = /obj/item/clothing/under/syndicate/combat
|
||||
l_pocket = /obj/item/ammo_box/magazine/m10mm
|
||||
r_pocket = /obj/item/weapon/kitchen/knife/combat/survival
|
||||
belt = /obj/item/weapon/storage/belt/military
|
||||
r_pocket = /obj/item/kitchen/knife/combat/survival
|
||||
belt = /obj/item/storage/belt/military
|
||||
suit = /obj/item/clothing/suit/armor/vest
|
||||
suit_store = /obj/item/weapon/gun/ballistic/automatic/pistol
|
||||
back = /obj/item/weapon/storage/backpack/security
|
||||
suit_store = /obj/item/gun/ballistic/automatic/pistol
|
||||
back = /obj/item/storage/backpack/security
|
||||
mask = /obj/item/clothing/mask/gas/syndicate
|
||||
|
||||
/obj/effect/mob_spawn/human/syndicate/battlecruiser/captain
|
||||
@@ -442,11 +442,11 @@
|
||||
|
||||
/datum/outfit/syndicate_empty/SBC/assault/captain
|
||||
name = "Syndicate Battlecruiser Captain"
|
||||
l_pocket = /obj/item/weapon/melee/transforming/energy/sword/saber/red
|
||||
r_pocket = /obj/item/weapon/melee/classic_baton/telescopic
|
||||
l_pocket = /obj/item/melee/transforming/energy/sword/saber/red
|
||||
r_pocket = /obj/item/melee/classic_baton/telescopic
|
||||
suit = /obj/item/clothing/suit/armor/vest/capcarapace/syndicate
|
||||
suit_store = /obj/item/weapon/gun/ballistic/revolver/mateba
|
||||
back = /obj/item/weapon/storage/backpack/satchel/leather
|
||||
suit_store = /obj/item/gun/ballistic/revolver/mateba
|
||||
back = /obj/item/storage/backpack/satchel/leather
|
||||
head = /obj/item/clothing/head/HoS/syndicate
|
||||
mask = /obj/item/clothing/mask/cigarette/cigar/havana
|
||||
glasses = /obj/item/clothing/glasses/thermal/eyepatch
|
||||
@@ -467,8 +467,8 @@
|
||||
your eyes, everything seems rusted and broken, a dark feeling sweels in your gut as you climb out of your pod."
|
||||
uniform = /obj/item/clothing/under/rank/security
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
id = /obj/item/weapon/card/id/away/old/sec
|
||||
r_pocket = /obj/item/weapon/restraints/handcuffs
|
||||
id = /obj/item/card/id/away/old/sec
|
||||
r_pocket = /obj/item/restraints/handcuffs
|
||||
l_pocket = /obj/item/device/assembly/flash/handheld
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
@@ -491,9 +491,9 @@
|
||||
your eyes, everything seems rusted and broken, a dark feeling sweels in your gut as you climb out of your pod."
|
||||
uniform = /obj/item/clothing/under/rank/engineer
|
||||
shoes = /obj/item/clothing/shoes/workboots
|
||||
id = /obj/item/weapon/card/id/away/old/eng
|
||||
id = /obj/item/card/id/away/old/eng
|
||||
gloves = /obj/item/clothing/gloves/color/fyellow/old
|
||||
l_pocket = /obj/item/weapon/tank/internals/emergency_oxygen
|
||||
l_pocket = /obj/item/tank/internals/emergency_oxygen
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
/obj/effect/mob_spawn/human/oldeng/Destroy()
|
||||
@@ -515,7 +515,7 @@
|
||||
your eyes, everything seems rusted and broken, a dark feeling sweels in your gut as you climb out of your pod."
|
||||
uniform = /obj/item/clothing/under/rank/scientist
|
||||
shoes = /obj/item/clothing/shoes/laceup
|
||||
id = /obj/item/weapon/card/id/away/old/sci
|
||||
id = /obj/item/card/id/away/old/sci
|
||||
l_pocket = /obj/item/stack/medical/bruise_pack
|
||||
assignedrole = "Ancient Crew"
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
/obj/structure/girder/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
if(state == GIRDER_DISPLACED)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] disassembles the girder.</span>", \
|
||||
@@ -56,7 +56,7 @@
|
||||
to_chat(user, "<span class='notice'>You secure the support struts.</span>")
|
||||
state = GIRDER_REINF
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wrench))
|
||||
else if(istype(W, /obj/item/wrench))
|
||||
if(state == GIRDER_DISPLACED)
|
||||
if(!isfloorturf(loc))
|
||||
to_chat(user, "<span class='warning'>A floor must be present to secure the girder!</span>")
|
||||
@@ -77,7 +77,7 @@
|
||||
transfer_fingerprints_to(D)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
else if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
@@ -86,14 +86,14 @@
|
||||
M.add_fingerprint(user)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
var/obj/item/pickaxe/drill/jackhammer/D = W
|
||||
to_chat(user, "<span class='notice'>You smash through the girder!</span>")
|
||||
new /obj/item/stack/sheet/metal(get_turf(src))
|
||||
D.playDigSound()
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/wirecutters) && state == GIRDER_REINF_STRUTS)
|
||||
else if(istype(W, /obj/item/wirecutters) && state == GIRDER_REINF_STRUTS)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You start removing the inner grille...</span>")
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
@@ -325,14 +325,14 @@
|
||||
|
||||
/obj/structure/girder/cult/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/tome) && iscultist(user)) //Cultists can demolish cult girders instantly with their tomes
|
||||
if(istype(W, /obj/item/tome) && iscultist(user)) //Cultists can demolish cult girders instantly with their tomes
|
||||
user.visible_message("<span class='warning'>[user] strikes [src] with [W]!</span>", "<span class='notice'>You demolish [src].</span>")
|
||||
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
|
||||
R.amount = 1
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0,user))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
|
||||
@@ -345,7 +345,7 @@
|
||||
transfer_fingerprints_to(R)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
else if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
to_chat(user, "<span class='notice'>You start slicing apart the girder...</span>")
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
if(do_after(user, 40*W.toolspeed, target = src))
|
||||
@@ -355,8 +355,8 @@
|
||||
transfer_fingerprints_to(R)
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
var/obj/item/pickaxe/drill/jackhammer/D = W
|
||||
to_chat(user, "<span class='notice'>Your jackhammer smashes through the girder!</span>")
|
||||
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
|
||||
R.amount = 2
|
||||
@@ -390,7 +390,7 @@
|
||||
new/obj/item/stack/sheet/runed_metal/(get_turf(src), 1)
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/girder/rcd_vals(mob/user, obj/item/weapon/construction/rcd/the_rcd)
|
||||
/obj/structure/girder/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_FLOORWALL)
|
||||
return list("mode" = RCD_FLOORWALL, "delay" = 20, "cost" = 8)
|
||||
@@ -398,7 +398,7 @@
|
||||
return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 13)
|
||||
return FALSE
|
||||
|
||||
/obj/structure/girder/rcd_act(mob/user, obj/item/weapon/construction/rcd/the_rcd, passed_mode)
|
||||
/obj/structure/girder/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
|
||||
var/turf/T = get_turf(src)
|
||||
switch(passed_mode)
|
||||
if(RCD_FLOORWALL)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/grille_type = null
|
||||
var/broken_type = /obj/structure/grille/broken
|
||||
|
||||
/obj/structure/grille/rcd_vals(mob/user, obj/item/weapon/construction/rcd/the_rcd)
|
||||
/obj/structure/grille/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5)
|
||||
@@ -27,7 +27,7 @@
|
||||
else return list("mode" = RCD_WINDOWGRILLE, "delay" = 20, "cost" = 8)
|
||||
return FALSE
|
||||
|
||||
/obj/structure/grille/rcd_act(mob/user, var/obj/item/weapon/construction/rcd/the_rcd, passed_mode)
|
||||
/obj/structure/grille/rcd_act(mob/user, var/obj/item/construction/rcd/the_rcd, passed_mode)
|
||||
switch(passed_mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
to_chat(user, "<span class='notice'>You deconstruct the grille.</span>")
|
||||
@@ -98,14 +98,14 @@
|
||||
var/atom/movable/mover = caller
|
||||
. = . || mover.checkpass(PASSGRILLE)
|
||||
|
||||
/obj/structure/grille/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/grille/attackby(obj/item/W, mob/user, params)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
if(!shock(user, 100))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
deconstruct()
|
||||
else if((istype(W, /obj/item/weapon/screwdriver)) && (isturf(loc) || anchored))
|
||||
else if((istype(W, /obj/item/screwdriver)) && (isturf(loc) || anchored))
|
||||
if(!shock(user, 90))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
anchored = !anchored
|
||||
@@ -156,7 +156,7 @@
|
||||
return
|
||||
//window placing end
|
||||
|
||||
else if(istype(W, /obj/item/weapon/shard) || !shock(user, 70))
|
||||
else if(istype(W, /obj/item/shard) || !shock(user, 70))
|
||||
return ..()
|
||||
|
||||
/obj/structure/grille/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
@@ -226,7 +226,7 @@
|
||||
C.powernet.load += C.powernet.avail * 0.0375 // you can gain up to 3.5 via the 4x upgrades power is halved by the pole so thats 2x then 1X then .5X for 3.5x the 3 bounces shock.
|
||||
return ..()
|
||||
|
||||
/obj/structure/grille/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/structure/grille/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
return 0
|
||||
|
||||
/obj/structure/grille/broken // Pre-broken grilles for map placement
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
density = TRUE
|
||||
opacity = 0
|
||||
var/case_type = ""
|
||||
var/gun_category = /obj/item/weapon/gun
|
||||
var/gun_category = /obj/item/gun
|
||||
var/open = TRUE
|
||||
var/capacity = 4
|
||||
|
||||
@@ -101,11 +101,11 @@
|
||||
name = "shotgun locker"
|
||||
desc = "A locker that holds shotguns."
|
||||
case_type = "shotgun"
|
||||
gun_category = /obj/item/weapon/gun/ballistic/shotgun
|
||||
gun_category = /obj/item/gun/ballistic/shotgun
|
||||
|
||||
/obj/structure/guncase/ecase
|
||||
name = "energy gun locker"
|
||||
desc = "A locker that holds energy guns."
|
||||
icon_state = "ecase"
|
||||
case_type = "egun"
|
||||
gun_category = /obj/item/weapon/gun/energy/e_gun
|
||||
gun_category = /obj/item/gun/energy/e_gun
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
anchored = TRUE
|
||||
max_integrity = 1
|
||||
armor = list(melee = 0, bullet = 50, laser = 50, energy = 50, bomb = 0, bio = 0, rad = 0, fire = 20, acid = 20)
|
||||
var/obj/item/weapon/holosign_creator/projector
|
||||
var/obj/item/holosign_creator/projector
|
||||
|
||||
/obj/structure/holosign/New(loc, source_projector)
|
||||
if(source_projector)
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
container_type = OPENCONTAINER_1
|
||||
//copypaste sorry
|
||||
var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite
|
||||
var/obj/item/weapon/storage/bag/trash/mybag = null
|
||||
var/obj/item/weapon/mop/mymop = null
|
||||
var/obj/item/weapon/reagent_containers/spray/cleaner/myspray = null
|
||||
var/obj/item/storage/bag/trash/mybag = null
|
||||
var/obj/item/mop/mymop = null
|
||||
var/obj/item/reagent_containers/spray/cleaner/myspray = null
|
||||
var/obj/item/device/lightreplacer/myreplacer = null
|
||||
var/signs = 0
|
||||
var/const/max_signs = 4
|
||||
@@ -21,7 +21,7 @@
|
||||
..()
|
||||
|
||||
|
||||
/obj/structure/janitorialcart/proc/wet_mop(obj/item/weapon/mop, mob/user)
|
||||
/obj/structure/janitorialcart/proc/wet_mop(obj/item/mop, mob/user)
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "<span class='warning'>[src] is out of water!</span>")
|
||||
return 0
|
||||
@@ -43,8 +43,8 @@
|
||||
/obj/structure/janitorialcart/attackby(obj/item/I, mob/user, params)
|
||||
var/fail_msg = "<span class='warning'>There is already one of those in [src]!</span>"
|
||||
|
||||
if(istype(I, /obj/item/weapon/mop))
|
||||
var/obj/item/weapon/mop/m=I
|
||||
if(istype(I, /obj/item/mop))
|
||||
var/obj/item/mop/m=I
|
||||
if(m.reagents.total_volume < m.reagents.maximum_volume)
|
||||
if (wet_mop(m, user))
|
||||
return
|
||||
@@ -53,13 +53,13 @@
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
|
||||
else if(istype(I, /obj/item/weapon/storage/bag/trash))
|
||||
else if(istype(I, /obj/item/storage/bag/trash))
|
||||
if(!mybag)
|
||||
var/obj/item/weapon/storage/bag/trash/t=I
|
||||
var/obj/item/storage/bag/trash/t=I
|
||||
t.janicart_insert(user, src)
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers/spray/cleaner))
|
||||
else if(istype(I, /obj/item/reagent_containers/spray/cleaner))
|
||||
if(!myspray)
|
||||
put_in_cart(I, user)
|
||||
myspray=I
|
||||
@@ -72,7 +72,7 @@
|
||||
l.janicart_insert(user,src)
|
||||
else
|
||||
to_chat(user, fail_msg)
|
||||
else if(istype(I, /obj/item/weapon/caution))
|
||||
else if(istype(I, /obj/item/caution))
|
||||
if(signs < max_signs)
|
||||
put_in_cart(I, user)
|
||||
signs++
|
||||
@@ -81,7 +81,7 @@
|
||||
to_chat(user, "<span class='warning'>[src] can't hold any more signs!</span>")
|
||||
else if(mybag)
|
||||
mybag.attackby(I, user)
|
||||
else if(istype(I, /obj/item/weapon/crowbar))
|
||||
else if(istype(I, /obj/item/crowbar))
|
||||
user.visible_message("[user] begins to empty the contents of [src].", "<span class='notice'>You begin to empty the contents of [src]...</span>")
|
||||
if(do_after(user, 30*I.toolspeed, target = src))
|
||||
to_chat(usr, "<span class='notice'>You empty the contents of [src]'s bucket onto the floor.</span>")
|
||||
@@ -136,7 +136,7 @@
|
||||
myreplacer = null
|
||||
if(href_list["sign"])
|
||||
if(signs)
|
||||
var/obj/item/weapon/caution/Sign = locate() in src
|
||||
var/obj/item/caution/Sign = locate() in src
|
||||
if(Sign)
|
||||
user.put_in_hands(Sign)
|
||||
to_chat(user, "<span class='notice'>You take \a [Sign] from [src].</span>")
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
var/obj/F = new /obj/structure/kitchenspike(src.loc)
|
||||
transfer_fingerprints_to(F)
|
||||
qdel(src)
|
||||
else if(istype(I, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
else if(istype(I, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = I
|
||||
if(!WT.remove_fuel(0, user))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin cutting \the [src] apart...</span>")
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
|
||||
/obj/structure/kitchenspike/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
if(istype(I, /obj/item/crowbar))
|
||||
if(!has_buckled_mobs())
|
||||
playsound(loc, I.usesound, 100, 1)
|
||||
if(do_after(user, 20*I.toolspeed, target = src))
|
||||
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/structure/ladder/attack_paw(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/ladder/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/ladder/attackby(obj/item/W, mob/user, params)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/structure/ladder/attack_ghost(mob/dead/observer/user)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
new /obj/structure/lattice/clockwork/large(loc)
|
||||
|
||||
/obj/structure/lattice/attackby(obj/item/C, mob/user, params)
|
||||
if(istype(C, /obj/item/weapon/wirecutters))
|
||||
if(istype(C, /obj/item/wirecutters))
|
||||
to_chat(user, "<span class='notice'>Slicing [name] joints ...</span>")
|
||||
deconstruct()
|
||||
else
|
||||
|
||||
@@ -121,9 +121,9 @@
|
||||
else
|
||||
icon_state = initial_state
|
||||
|
||||
/obj/structure/mineral_door/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/pickaxe))
|
||||
var/obj/item/weapon/pickaxe/digTool = W
|
||||
/obj/structure/mineral_door/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/pickaxe))
|
||||
var/obj/item/pickaxe/digTool = W
|
||||
to_chat(user, "<span class='notice'>You start digging the [name]...</span>")
|
||||
if(do_after(user,digTool.digspeed*(1+round(max_integrity*0.01)), target = src) && src)
|
||||
to_chat(user, "<span class='notice'>You finish digging.</span>")
|
||||
@@ -181,7 +181,7 @@
|
||||
icon_state = "plasma"
|
||||
sheetType = /obj/item/stack/sheet/mineral/plasma
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.is_hot())
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma mineral door ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(T)]",0,1)
|
||||
|
||||
@@ -56,12 +56,12 @@
|
||||
/obj/structure/mirror/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(!disassembled)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
new /obj/item/shard( src.loc )
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/mirror/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent != INTENT_HARM)
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if(istype(I, /obj/item/weldingtool) && user.a_intent != INTENT_HARM)
|
||||
var/obj/item/weldingtool/WT = I
|
||||
if(broken)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(WT.remove_fuel(0, user))
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
..()
|
||||
|
||||
/obj/structure/mopbucket/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/mop))
|
||||
if(istype(I, /obj/item/mop))
|
||||
if(reagents.total_volume < 1)
|
||||
to_chat(user, "[src] is out of water!</span>")
|
||||
else
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
/obj/structure/bodycontainer/attackby(obj/P, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
if(istype(P, /obj/item/weapon/pen))
|
||||
if(istype(P, /obj/item/pen))
|
||||
var/t = stripped_input(user, "What would you like the label to be?", text("[]", name), null)
|
||||
if (user.get_active_held_item() != P)
|
||||
return
|
||||
@@ -138,7 +138,7 @@
|
||||
icon_state = "morgue4" // Cloneable
|
||||
break
|
||||
|
||||
/obj/item/weapon/paper/guides/jobs/medical/morgue
|
||||
/obj/item/paper/guides/jobs/medical/morgue
|
||||
name = "morgue memo"
|
||||
info = "<font size='2'>Since this station's medbay never seems to fail to be staffed by the mindless monkeys meant for genetics experiments, I'm leaving a reminder here for anyone handling the pile of cadavers the quacks are sure to leave.</font><BR><BR><font size='4'><font color=red>Red lights mean there's a plain ol' dead body inside.</font><BR><BR><font color=orange>Yellow lights mean there's non-body objects inside.</font><BR><font size='2'>Probably stuff pried off a corpse someone grabbed, or if you're lucky it's stashed booze.</font><BR><BR><font color=green>Green lights mean the morgue system detects the body may be able to be cloned.</font></font><BR><font size='2'>I don't know how that works, but keep it away from the kitchen and go yell at the geneticists.</font><BR><BR>- CentCom medical inspector"
|
||||
|
||||
@@ -230,7 +230,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
|
||||
/obj/structure/bodycontainer/crematorium/creamatorium/cremate(mob/user)
|
||||
var/list/icecreams = new()
|
||||
for(var/mob/living/i_scream in GetAllContents())
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/icecream/IC = new()
|
||||
var/obj/item/reagent_containers/food/snacks/icecream/IC = new()
|
||||
IC.set_cone_type("waffle")
|
||||
IC.add_mob_flavor(i_scream)
|
||||
icecreams += IC
|
||||
|
||||
@@ -373,7 +373,7 @@
|
||||
song.interact(user)
|
||||
|
||||
/obj/structure/piano/attackby(obj/item/O, mob/user, params)
|
||||
if (istype(O, /obj/item/weapon/wrench))
|
||||
if (istype(O, /obj/item/wrench))
|
||||
if (!anchored && !isinspace())
|
||||
playsound(src, O.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'> You begin to tighten \the [src] to the floor...</span>")
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
for(var/obj/item/I in loc)
|
||||
if(notices > 4) break
|
||||
if(istype(I, /obj/item/weapon/paper))
|
||||
if(istype(I, /obj/item/paper))
|
||||
I.loc = src
|
||||
notices++
|
||||
icon_state = "nboard0[notices]"
|
||||
|
||||
//attaching papers!!
|
||||
/obj/structure/noticeboard/attackby(obj/item/weapon/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/paper) || istype(O, /obj/item/weapon/photo))
|
||||
/obj/structure/noticeboard/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/paper) || istype(O, /obj/item/photo))
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='info'>You are not authorized to add notices</span>")
|
||||
return
|
||||
@@ -42,7 +42,7 @@
|
||||
var/auth = allowed(user)
|
||||
var/dat = "<B>[name]</B><BR>"
|
||||
for(var/obj/item/P in src)
|
||||
if(istype(P, /obj/item/weapon/paper))
|
||||
if(istype(P, /obj/item/paper))
|
||||
dat += "<A href='?src=\ref[src];read=\ref[P]'>[P.name]</A> [auth ? "<A href='?src=\ref[src];write=\ref[P]'>Write</A> <A href='?src=\ref[src];remove=\ref[P]'>Remove</A>" : ""]<BR>"
|
||||
else
|
||||
dat += "<A href='?src=\ref[src];read=\ref[P]'>[P.name]</A> [auth ? "<A href='?src=\ref[src];remove=\ref[P]'>Remove</A>" : ""]<BR>"
|
||||
@@ -67,7 +67,7 @@
|
||||
return
|
||||
var/obj/item/P = locate(href_list["write"]) in contents
|
||||
if(istype(P) && P.loc == src)
|
||||
var/obj/item/I = usr.is_holding_item_of_type(/obj/item/weapon/pen)
|
||||
var/obj/item/I = usr.is_holding_item_of_type(/obj/item/pen)
|
||||
if(I)
|
||||
add_fingerprint(usr)
|
||||
P.attackby(I, usr)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/obj/structure/plasticflaps/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(istype(W, /obj/item/screwdriver))
|
||||
if(state == PLASTIC_FLAPS_NORMAL)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] unscrews [src] from the floor.</span>", "<span class='notice'>You start to unscrew [src] from the floor...</span>", "You hear rustling noises.")
|
||||
@@ -38,7 +38,7 @@
|
||||
state = PLASTIC_FLAPS_NORMAL
|
||||
anchored = TRUE
|
||||
to_chat(user, "<span class='notice'>You screw [src] from the floor.</span>")
|
||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||
else if(istype(W, /obj/item/wirecutters))
|
||||
if(state == PLASTIC_FLAPS_DETACHED)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] cuts apart [src].</span>", "<span class='notice'>You start to cut apart [src].</span>", "You hear cutting.")
|
||||
|
||||
@@ -38,10 +38,10 @@
|
||||
return - 1
|
||||
|
||||
|
||||
/obj/structure/reflector/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/reflector/attackby(obj/item/W, mob/user, params)
|
||||
if(admin)
|
||||
return
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(anchored)
|
||||
to_chat(user, "Unweld the [src] first!")
|
||||
if(do_after(user, 80*W.toolspeed, target = src))
|
||||
@@ -50,8 +50,8 @@
|
||||
new framebuildstacktype(loc, framebuildstackamount)
|
||||
new buildstacktype(loc, buildstackamount)
|
||||
qdel(src)
|
||||
else if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
else if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
switch(anchored)
|
||||
if(0)
|
||||
if (WT.remove_fuel(0,user))
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
//However if a player wants to move an existing showcase or remove one, this is for that.
|
||||
|
||||
/obj/structure/showcase/attackby(obj/item/W, mob/user)
|
||||
if(istype(W, /obj/item/weapon/screwdriver) && !anchored)
|
||||
if(istype(W, /obj/item/screwdriver) && !anchored)
|
||||
if(deconstruction_state == SHOWCASE_SCREWDRIVERED)
|
||||
to_chat(user, "<span class='notice'>You screw the screws back into the showcase.</span>")
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
@@ -65,7 +65,7 @@
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
deconstruction_state = SHOWCASE_SCREWDRIVERED
|
||||
|
||||
if(istype(W, /obj/item/weapon/crowbar) && deconstruction_state == SHOWCASE_SCREWDRIVERED)
|
||||
if(istype(W, /obj/item/crowbar) && deconstruction_state == SHOWCASE_SCREWDRIVERED)
|
||||
if(do_after(user, 20*W.toolspeed, target = src))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
to_chat(user, "<span class='notice'>You start to crowbar the showcase apart...</span>")
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
playsound(loc, 'sound/items/welder.ogg', 80, 1)
|
||||
|
||||
/obj/structure/sign/attackby(obj/item/O, mob/user, params)
|
||||
if(istype(O, /obj/item/weapon/wrench) && buildable_sign)
|
||||
if(istype(O, /obj/item/wrench) && buildable_sign)
|
||||
user.visible_message("<span class='notice'>[user] starts removing [src]...</span>", \
|
||||
"<span class='notice'>You start unfastening [src].</span>")
|
||||
playsound(src, O.usesound, 50, 1)
|
||||
@@ -37,7 +37,7 @@
|
||||
SB.icon_state = icon_state
|
||||
SB.sign_path = type
|
||||
qdel(src)
|
||||
else if(istype(O, /obj/item/weapon/pen) && buildable_sign)
|
||||
else if(istype(O, /obj/item/pen) && buildable_sign)
|
||||
var/list/sign_types = list("Secure Area", "Biohazard", "High Voltage", "Radiation", "Hard Vacuum Ahead", "Disposal: Leads To Space", "Danger: Fire", "No Smoking", "Medbay", "Science", "Chemistry", \
|
||||
"Hydroponics", "Xenobiology")
|
||||
var/obj/structure/sign/sign_type
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
var/material_drop_type = /obj/item/stack/sheet/metal
|
||||
CanAtmosPass = ATMOS_PASS_DENSITY
|
||||
|
||||
/obj/structure/statue/attackby(obj/item/weapon/W, mob/living/user, params)
|
||||
/obj/structure/statue/attackby(obj/item/W, mob/living/user, params)
|
||||
add_fingerprint(user)
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(anchored)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] is loosening the [name]'s bolts.", \
|
||||
@@ -41,7 +41,7 @@
|
||||
"<span class='notice'>You have secured the [name]'s bolts.</span>")
|
||||
anchored = TRUE
|
||||
|
||||
else if(istype(W, /obj/item/weapon/gun/energy/plasmacutter))
|
||||
else if(istype(W, /obj/item/gun/energy/plasmacutter))
|
||||
playsound(src, 'sound/items/welder.ogg', 100, 1)
|
||||
user.visible_message("[user] is slicing apart the [name]...", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
@@ -52,8 +52,8 @@
|
||||
"<span class='notice'>You slice apart the [name].</span>")
|
||||
deconstruct(TRUE)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer))
|
||||
var/obj/item/weapon/pickaxe/drill/jackhammer/D = W
|
||||
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
|
||||
var/obj/item/pickaxe/drill/jackhammer/D = W
|
||||
if(!src.loc)
|
||||
return
|
||||
user.visible_message("[user] destroys the [name]!", \
|
||||
@@ -61,7 +61,7 @@
|
||||
D.playDigSound()
|
||||
qdel(src)
|
||||
|
||||
else if(istype(W, /obj/item/weapon/weldingtool) && !anchored)
|
||||
else if(istype(W, /obj/item/weldingtool) && !anchored)
|
||||
playsound(loc, W.usesound, 40, 1)
|
||||
user.visible_message("[user] is slicing apart the [name].", \
|
||||
"<span class='notice'>You are slicing apart the [name]...</span>")
|
||||
@@ -111,7 +111,7 @@
|
||||
desc = "This statue has a sickening green colour."
|
||||
icon_state = "eng"
|
||||
|
||||
/obj/structure/statue/uranium/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/statue/uranium/attackby(obj/item/W, mob/user, params)
|
||||
radiate()
|
||||
return ..()
|
||||
|
||||
@@ -171,7 +171,7 @@
|
||||
log_game("Plasma statue ignited by [Proj] in [COORD(T)]. No known firer.")
|
||||
..()
|
||||
|
||||
/obj/structure/statue/plasma/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(W.is_hot() > 300)//If the temperature of the object is over 300, then ignite
|
||||
var/turf/T = get_turf(src)
|
||||
message_admins("Plasma statue ignited by [ADMIN_LOOKUPFLW(user)] in [ADMIN_COORDJMP(T)]",0,1)
|
||||
@@ -277,7 +277,7 @@
|
||||
honk()
|
||||
..()
|
||||
|
||||
/obj/structure/statue/bananium/attackby(obj/item/weapon/W, mob/user, params)
|
||||
/obj/structure/statue/bananium/attackby(obj/item/W, mob/user, params)
|
||||
honk()
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
var/framestackamount = 2
|
||||
|
||||
/obj/structure/table_frame/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 30*I.toolspeed, target = src))
|
||||
|
||||
@@ -95,14 +95,14 @@
|
||||
|
||||
/obj/structure/table/attackby(obj/item/I, mob/user, params)
|
||||
if(!(flags_1 & NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/weapon/screwdriver) && deconstruction_ready)
|
||||
if(istype(I, /obj/item/screwdriver) && deconstruction_ready)
|
||||
to_chat(user, "<span class='notice'>You start disassembling [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 20*I.toolspeed, target = src))
|
||||
deconstruct(TRUE)
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/wrench) && deconstruction_ready)
|
||||
if(istype(I, /obj/item/wrench) && deconstruction_ready)
|
||||
to_chat(user, "<span class='notice'>You start deconstructing [src]...</span>")
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(do_after(user, 40*I.toolspeed, target = src))
|
||||
@@ -110,8 +110,8 @@
|
||||
deconstruct(TRUE, 1)
|
||||
return
|
||||
|
||||
if(istype(I, /obj/item/weapon/storage/bag/tray))
|
||||
var/obj/item/weapon/storage/bag/tray/T = I
|
||||
if(istype(I, /obj/item/storage/bag/tray))
|
||||
var/obj/item/storage/bag/tray/T = I
|
||||
if(T.contents.len > 0) // If the tray isn't empty
|
||||
var/list/obj/item/oldContents = T.contents.Copy()
|
||||
T.quick_empty()
|
||||
@@ -167,7 +167,7 @@
|
||||
/obj/structure/table/glass/New()
|
||||
. = ..()
|
||||
debris += new frame
|
||||
debris += new /obj/item/weapon/shard
|
||||
debris += new /obj/item/shard
|
||||
|
||||
/obj/structure/table/glass/Destroy()
|
||||
for(var/i in debris)
|
||||
@@ -203,7 +203,7 @@
|
||||
var/atom/movable/AM = I
|
||||
AM.forceMove(T)
|
||||
debris -= AM
|
||||
if(istype(AM, /obj/item/weapon/shard))
|
||||
if(istype(AM, /obj/item/shard))
|
||||
AM.throw_impact(L)
|
||||
L.Knockdown(100)
|
||||
qdel(src)
|
||||
@@ -224,7 +224,7 @@
|
||||
|
||||
/obj/structure/table/glass/narsie_act()
|
||||
color = NARSIE_WINDOW_COLOUR
|
||||
for(var/obj/item/weapon/shard/S in debris)
|
||||
for(var/obj/item/shard/S in debris)
|
||||
S.color = NARSIE_WINDOW_COLOUR
|
||||
|
||||
/*
|
||||
@@ -295,9 +295,9 @@
|
||||
integrity_failure = 50
|
||||
armor = list(melee = 10, bullet = 30, laser = 30, energy = 100, bomb = 20, bio = 0, rad = 0, fire = 80, acid = 70)
|
||||
|
||||
/obj/structure/table/reinforced/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/weldingtool))
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
/obj/structure/table/reinforced/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weldingtool))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(WT.remove_fuel(0, user))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
if(deconstruction_ready)
|
||||
@@ -428,8 +428,8 @@
|
||||
step(O, get_dir(O, src))
|
||||
|
||||
|
||||
/obj/structure/rack/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if (istype(W, /obj/item/weapon/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
/obj/structure/rack/attackby(obj/item/W, mob/user, params)
|
||||
if (istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1))
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
deconstruct(TRUE)
|
||||
return
|
||||
@@ -468,7 +468,7 @@
|
||||
/obj/structure/rack/deconstruct(disassembled = TRUE)
|
||||
if(!(flags_1&NODECONSTRUCT_1))
|
||||
density = FALSE
|
||||
var/obj/item/weapon/rack_parts/newparts = new(loc)
|
||||
var/obj/item/rack_parts/newparts = new(loc)
|
||||
transfer_fingerprints_to(newparts)
|
||||
qdel(src)
|
||||
|
||||
@@ -477,7 +477,7 @@
|
||||
* Rack Parts
|
||||
*/
|
||||
|
||||
/obj/item/weapon/rack_parts
|
||||
/obj/item/rack_parts
|
||||
name = "rack parts"
|
||||
desc = "Parts of a rack."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
@@ -486,14 +486,14 @@
|
||||
materials = list(MAT_METAL=2000)
|
||||
var/building = FALSE
|
||||
|
||||
/obj/item/weapon/rack_parts/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
/obj/item/rack_parts/attackby(obj/item/W, mob/user, params)
|
||||
if (istype(W, /obj/item/wrench))
|
||||
new /obj/item/stack/sheet/metal(user.loc)
|
||||
qdel(src)
|
||||
else
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/rack_parts/attack_self(mob/user)
|
||||
/obj/item/rack_parts/attack_self(mob/user)
|
||||
if(building)
|
||||
return
|
||||
building = TRUE
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
/obj/structure/tank_dispenser/Initialize()
|
||||
. = ..()
|
||||
for(var/i in 1 to oxygentanks)
|
||||
new /obj/item/weapon/tank/internals/oxygen(src)
|
||||
new /obj/item/tank/internals/oxygen(src)
|
||||
for(var/i in 1 to plasmatanks)
|
||||
new /obj/item/weapon/tank/internals/plasma(src)
|
||||
new /obj/item/tank/internals/plasma(src)
|
||||
update_icon()
|
||||
|
||||
/obj/structure/tank_dispenser/update_icon()
|
||||
@@ -40,17 +40,17 @@
|
||||
|
||||
/obj/structure/tank_dispenser/attackby(obj/item/I, mob/user, params)
|
||||
var/full
|
||||
if(istype(I, /obj/item/weapon/tank/internals/plasma))
|
||||
if(istype(I, /obj/item/tank/internals/plasma))
|
||||
if(plasmatanks < TANK_DISPENSER_CAPACITY)
|
||||
plasmatanks++
|
||||
else
|
||||
full = TRUE
|
||||
else if(istype(I, /obj/item/weapon/tank/internals/oxygen))
|
||||
else if(istype(I, /obj/item/tank/internals/oxygen))
|
||||
if(oxygentanks < TANK_DISPENSER_CAPACITY)
|
||||
oxygentanks++
|
||||
else
|
||||
full = TRUE
|
||||
else if(istype(I, /obj/item/weapon/wrench))
|
||||
else if(istype(I, /obj/item/wrench))
|
||||
default_unfasten_wrench(user, I, time = 20)
|
||||
return
|
||||
else if(user.a_intent != INTENT_HARM)
|
||||
@@ -87,13 +87,13 @@
|
||||
return
|
||||
switch(action)
|
||||
if("plasma")
|
||||
var/obj/item/weapon/tank/internals/plasma/tank = locate() in src
|
||||
var/obj/item/tank/internals/plasma/tank = locate() in src
|
||||
if(tank && Adjacent(usr))
|
||||
usr.put_in_hands(tank)
|
||||
plasmatanks--
|
||||
. = TRUE
|
||||
if("oxygen")
|
||||
var/obj/item/weapon/tank/internals/oxygen/tank = locate() in src
|
||||
var/obj/item/tank/internals/oxygen/tank = locate() in src
|
||||
if(tank && Adjacent(usr))
|
||||
usr.put_in_hands(tank)
|
||||
oxygentanks--
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
|
||||
/obj/structure/transit_tube/station/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/crowbar))
|
||||
if(istype(W, /obj/item/crowbar))
|
||||
for(var/obj/structure/transit_tube_pod/P in loc)
|
||||
P.deconstruct(FALSE, user)
|
||||
else
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
deconstruct(FALSE)
|
||||
|
||||
/obj/structure/transit_tube/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(tube_construction)
|
||||
for(var/obj/structure/transit_tube_pod/pod in src.loc)
|
||||
to_chat(user, "<span class='warning'>Remove the pod first!</span>")
|
||||
@@ -48,7 +48,7 @@
|
||||
transfer_fingerprints_to(R)
|
||||
R.add_fingerprint(user)
|
||||
qdel(src)
|
||||
else if(istype(W, /obj/item/weapon/crowbar))
|
||||
else if(istype(W, /obj/item/crowbar))
|
||||
for(var/obj/structure/transit_tube_pod/pod in src.loc)
|
||||
pod.attackby(W, user)
|
||||
else
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
|
||||
/obj/structure/c_transit_tube/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You start attaching the [name]...</span>")
|
||||
add_fingerprint(user)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
icon_state = "pod"
|
||||
|
||||
/obj/structure/transit_tube_pod/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
if(istype(I, /obj/item/crowbar))
|
||||
if(!moving)
|
||||
playsound(src.loc, I.usesound, 50, 1)
|
||||
if(contents.len)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
|
||||
|
||||
/obj/structure/toilet/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/crowbar))
|
||||
if(istype(I, /obj/item/crowbar))
|
||||
to_chat(user, "<span class='notice'>You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...</span>")
|
||||
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
if(do_after(user, 30*I.toolspeed, target = src))
|
||||
@@ -95,10 +95,10 @@
|
||||
w_items += I.w_class
|
||||
to_chat(user, "<span class='notice'>You carefully place [I] into the cistern.</span>")
|
||||
|
||||
else if(istype(I, /obj/item/weapon/reagent_containers))
|
||||
else if(istype(I, /obj/item/reagent_containers))
|
||||
if (!open)
|
||||
return
|
||||
var/obj/item/weapon/reagent_containers/RG = I
|
||||
var/obj/item/reagent_containers/RG = I
|
||||
RG.reagents.add_reagent("water", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
|
||||
to_chat(user, "<span class='notice'>You fill [RG] from [src]. Gross.</span>")
|
||||
else
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
/obj/structure/urinal/New()
|
||||
..()
|
||||
hiddenitem = new /obj/item/weapon/reagent_containers/food/urinalcake
|
||||
hiddenitem = new /obj/item/reagent_containers/food/urinalcake
|
||||
|
||||
/obj/structure/urinal/attack_hand(mob/user)
|
||||
if(user.pulling && user.a_intent == INTENT_GRAB && isliving(user.pulling))
|
||||
@@ -160,7 +160,7 @@
|
||||
..()
|
||||
|
||||
/obj/structure/urinal/attackby(obj/item/I, mob/living/user, params)
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
to_chat(user, "<span class='notice'>You start to [exposed ? "screw the cap back into place" : "unscrew the cap to the drain protector"]...</span>")
|
||||
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, 1)
|
||||
if(do_after(user, 20*I.toolspeed, target = src))
|
||||
@@ -181,7 +181,7 @@
|
||||
to_chat(user, "<span class='notice'>You place [I] into the drain enclosure.</span>")
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/urinalcake
|
||||
/obj/item/reagent_containers/food/urinalcake
|
||||
name = "urinal cake"
|
||||
desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
@@ -233,7 +233,7 @@
|
||||
/obj/machinery/shower/attackby(obj/item/I, mob/user, params)
|
||||
if(I.type == /obj/item/device/analyzer)
|
||||
to_chat(user, "<span class='notice'>The water temperature seems to be [watertemp].</span>")
|
||||
if(istype(I, /obj/item/weapon/wrench))
|
||||
if(istype(I, /obj/item/wrench))
|
||||
to_chat(user, "<span class='notice'>You begin to adjust the temperature valve with \the [I]...</span>")
|
||||
if(do_after(user, 50*I.toolspeed, target = src))
|
||||
switch(watertemp)
|
||||
@@ -397,7 +397,7 @@
|
||||
|
||||
|
||||
|
||||
/obj/item/weapon/bikehorn/rubberducky
|
||||
/obj/item/bikehorn/rubberducky
|
||||
name = "rubber ducky"
|
||||
desc = "Rubber ducky you're so fine, you make bathtime lots of fuuun. Rubber ducky I'm awfully fooooond of yooooouuuu~" //thanks doohl
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
@@ -460,8 +460,8 @@
|
||||
to_chat(user, "<span class='warning'>Someone's already washing here!</span>")
|
||||
return
|
||||
|
||||
if(istype(O, /obj/item/weapon/reagent_containers))
|
||||
var/obj/item/weapon/reagent_containers/RG = O
|
||||
if(istype(O, /obj/item/reagent_containers))
|
||||
var/obj/item/reagent_containers/RG = O
|
||||
if(RG.container_type & OPENCONTAINER_1)
|
||||
if(!RG.reagents.holder_full())
|
||||
RG.reagents.add_reagent("[dispensedreagent]", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
|
||||
@@ -470,8 +470,8 @@
|
||||
to_chat(user, "<span class='notice'>\The [RG] is full.</span>")
|
||||
return FALSE
|
||||
|
||||
if(istype(O, /obj/item/weapon/melee/baton))
|
||||
var/obj/item/weapon/melee/baton/B = O
|
||||
if(istype(O, /obj/item/melee/baton))
|
||||
var/obj/item/melee/baton/B = O
|
||||
if(B.cell)
|
||||
if(B.cell.charge > 0 && B.status == 1)
|
||||
flick("baton_active", src)
|
||||
@@ -484,7 +484,7 @@
|
||||
playsound(src, "sparks", 50, 1)
|
||||
return
|
||||
|
||||
if(istype(O, /obj/item/weapon/mop))
|
||||
if(istype(O, /obj/item/mop))
|
||||
O.reagents.add_reagent("[dispensedreagent]", 5)
|
||||
to_chat(user, "<span class='notice'>You wet [O] in [src].</span>")
|
||||
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
|
||||
@@ -492,7 +492,7 @@
|
||||
|
||||
if(istype(O, /obj/item/stack/medical/gauze))
|
||||
var/obj/item/stack/medical/gauze/G = O
|
||||
new /obj/item/weapon/reagent_containers/glass/rag(src.loc)
|
||||
new /obj/item/reagent_containers/glass/rag(src.loc)
|
||||
to_chat(user, "<span class='notice'>You tear off a strip of gauze and make a rag.</span>")
|
||||
G.use(1)
|
||||
return
|
||||
@@ -584,7 +584,7 @@
|
||||
/obj/structure/curtain/attackby(obj/item/W, mob/user)
|
||||
if (istype(W, /obj/item/toy/crayon))
|
||||
color = input(user,"Choose Color") as color
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
else if(istype(W, /obj/item/screwdriver))
|
||||
if(anchored)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] unscrews [src] from the floor.</span>", "<span class='notice'>You start to unscrew [src] from the floor...</span>", "You hear rustling noises.")
|
||||
@@ -601,7 +601,7 @@
|
||||
return
|
||||
anchored = TRUE
|
||||
to_chat(user, "<span class='notice'>You screw [src] to the floor.</span>")
|
||||
else if(istype(W, /obj/item/weapon/wirecutters))
|
||||
else if(istype(W, /obj/item/wirecutters))
|
||||
if(!anchored)
|
||||
playsound(src.loc, W.usesound, 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] cuts apart [src].</span>", "<span class='notice'>You start to cut apart [src].</span>", "You hear cutting.")
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
dir = NORTH
|
||||
|
||||
var/ini_dir
|
||||
var/obj/item/weapon/electronics/airlock/electronics = null
|
||||
var/obj/item/electronics/airlock/electronics = null
|
||||
var/created_name = null
|
||||
|
||||
//Vars to help with the icon's name
|
||||
@@ -90,8 +90,8 @@
|
||||
add_fingerprint(user)
|
||||
switch(state)
|
||||
if("01")
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if(istype(W, /obj/item/weldingtool) && !anchored )
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if (WT.remove_fuel(0,user))
|
||||
user.visible_message("[user] disassembles the windoor assembly.", "<span class='notice'>You start to disassemble the windoor assembly...</span>")
|
||||
playsound(loc, 'sound/items/welder2.ogg', 50, 1)
|
||||
@@ -109,7 +109,7 @@
|
||||
return
|
||||
|
||||
//Wrenching an unsecure assembly anchors it in place. Step 4 complete
|
||||
if(istype(W, /obj/item/weapon/wrench) && !anchored)
|
||||
if(istype(W, /obj/item/wrench) && !anchored)
|
||||
for(var/obj/machinery/door/window/WD in loc)
|
||||
if(WD.dir == dir)
|
||||
to_chat(user, "<span class='warning'>There is already a windoor in that location!</span>")
|
||||
@@ -132,7 +132,7 @@
|
||||
name = "anchored windoor assembly"
|
||||
|
||||
//Unwrenching an unsecure assembly un-anchors it. Step 4 undone
|
||||
else if(istype(W, /obj/item/weapon/wrench) && anchored)
|
||||
else if(istype(W, /obj/item/wrench) && anchored)
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] unsecures the windoor assembly to the floor.", "<span class='notice'>You start to unsecure the windoor assembly to the floor...</span>")
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
if("02")
|
||||
|
||||
//Removing wire from the assembly. Step 5 undone.
|
||||
if(istype(W, /obj/item/weapon/wirecutters))
|
||||
if(istype(W, /obj/item/wirecutters))
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
user.visible_message("[user] cuts the wires from the airlock assembly.", "<span class='notice'>You start to cut the wires from airlock assembly...</span>")
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
name = "anchored windoor assembly"
|
||||
|
||||
//Adding airlock electronics for access. Step 6 complete.
|
||||
else if(istype(W, /obj/item/weapon/electronics/airlock))
|
||||
else if(istype(W, /obj/item/electronics/airlock))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
playsound(loc, W.usesound, 100, 1)
|
||||
@@ -224,7 +224,7 @@
|
||||
W.loc = loc
|
||||
|
||||
//Screwdriver to remove airlock electronics. Step 6 undone.
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
else if(istype(W, /obj/item/screwdriver))
|
||||
if(!electronics)
|
||||
return
|
||||
|
||||
@@ -236,12 +236,12 @@
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You remove the airlock electronics.</span>")
|
||||
name = "wired windoor assembly"
|
||||
var/obj/item/weapon/electronics/airlock/ae
|
||||
var/obj/item/electronics/airlock/ae
|
||||
ae = electronics
|
||||
electronics = null
|
||||
ae.loc = loc
|
||||
|
||||
else if(istype(W, /obj/item/weapon/pen))
|
||||
else if(istype(W, /obj/item/pen))
|
||||
var/t = stripped_input(user, "Enter the name for the door.", name, created_name,MAX_NAME_LEN)
|
||||
if(!t)
|
||||
return
|
||||
@@ -253,7 +253,7 @@
|
||||
|
||||
|
||||
//Crowbar to complete the assembly, Step 7 complete.
|
||||
else if(istype(W, /obj/item/weapon/crowbar))
|
||||
else if(istype(W, /obj/item/crowbar))
|
||||
if(!electronics)
|
||||
to_chat(usr, "<span class='warning'>The assembly is missing electronics!</span>")
|
||||
return
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
rods++
|
||||
|
||||
for(var/i in 1 to shards)
|
||||
debris += new /obj/item/weapon/shard(src)
|
||||
debris += new /obj/item/shard(src)
|
||||
if(rods)
|
||||
debris += new /obj/item/stack/rods(src, rods)
|
||||
|
||||
@@ -78,13 +78,13 @@
|
||||
real_explosion_block = explosion_block
|
||||
explosion_block = EXPLOSION_BLOCK_PROC
|
||||
|
||||
/obj/structure/window/rcd_vals(mob/user, obj/item/weapon/construction/rcd/the_rcd)
|
||||
/obj/structure/window/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5)
|
||||
return FALSE
|
||||
|
||||
/obj/structure/window/rcd_act(mob/user, var/obj/item/weapon/construction/rcd/the_rcd)
|
||||
/obj/structure/window/rcd_act(mob/user, var/obj/item/construction/rcd/the_rcd)
|
||||
switch(the_rcd.mode)
|
||||
if(RCD_DECONSTRUCT)
|
||||
to_chat(user, "<span class='notice'>You deconstruct the window.</span>")
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
/obj/structure/window/narsie_act()
|
||||
add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY)
|
||||
for(var/obj/item/weapon/shard/shard in debris)
|
||||
for(var/obj/item/shard/shard in debris)
|
||||
shard.add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY)
|
||||
|
||||
/obj/structure/window/ratvar_act()
|
||||
@@ -173,8 +173,8 @@
|
||||
return 1 //skip the afterattack
|
||||
|
||||
add_fingerprint(user)
|
||||
if(istype(I, /obj/item/weapon/weldingtool) && user.a_intent == INTENT_HELP)
|
||||
var/obj/item/weapon/weldingtool/WT = I
|
||||
if(istype(I, /obj/item/weldingtool) && user.a_intent == INTENT_HELP)
|
||||
var/obj/item/weldingtool/WT = I
|
||||
if(obj_integrity < max_integrity)
|
||||
if(WT.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='notice'>You begin repairing [src]...</span>")
|
||||
@@ -189,7 +189,7 @@
|
||||
return
|
||||
|
||||
if(!(flags_1&NODECONSTRUCT_1))
|
||||
if(istype(I, /obj/item/weapon/screwdriver))
|
||||
if(istype(I, /obj/item/screwdriver))
|
||||
playsound(src, I.usesound, 75, 1)
|
||||
if(reinf)
|
||||
if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME)
|
||||
@@ -212,7 +212,7 @@
|
||||
return
|
||||
|
||||
|
||||
else if (istype(I, /obj/item/weapon/crowbar) && reinf && (state == WINDOW_OUT_OF_FRAME || state == WINDOW_IN_FRAME))
|
||||
else if (istype(I, /obj/item/crowbar) && reinf && (state == WINDOW_OUT_OF_FRAME || state == WINDOW_IN_FRAME))
|
||||
to_chat(user, "<span class='notice'>You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...</span>")
|
||||
playsound(src, I.usesound, 75, 1)
|
||||
if(do_after(user, decon_speed*I.toolspeed, target = src, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
|
||||
@@ -220,7 +220,7 @@
|
||||
to_chat(user, "<span class='notice'>You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.</span>")
|
||||
return
|
||||
|
||||
else if(istype(I, /obj/item/weapon/wrench) && !anchored)
|
||||
else if(istype(I, /obj/item/wrench) && !anchored)
|
||||
playsound(src, I.usesound, 75, 1)
|
||||
to_chat(user, "<span class='notice'> You begin to disassemble [src]...</span>")
|
||||
if(do_after(user, decon_speed*I.toolspeed, target = src, extra_checks = CALLBACK(src, .proc/check_state_and_anchored, state, anchored)))
|
||||
@@ -394,7 +394,7 @@
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
..()
|
||||
|
||||
/obj/structure/window/storage_contents_dump_act(obj/item/weapon/storage/src_object, mob/user)
|
||||
/obj/structure/window/storage_contents_dump_act(obj/item/storage/src_object, mob/user)
|
||||
return 0
|
||||
|
||||
/obj/structure/window/CanAStarPass(ID, to_dir)
|
||||
@@ -664,7 +664,7 @@
|
||||
var/papers = rand(1,4)
|
||||
debris += new /obj/item/stack/sheet/mineral/wood()
|
||||
for(var/i in 1 to papers)
|
||||
debris += new /obj/item/weapon/paper/natural()
|
||||
debris += new /obj/item/paper/natural()
|
||||
update_icon()
|
||||
|
||||
/obj/structure/window/paperframe/attack_hand(mob/user)
|
||||
@@ -692,13 +692,13 @@
|
||||
queue_smooth(src)
|
||||
|
||||
|
||||
/obj/structure/window/paperframe/attackby(obj/item/weapon/W, mob/user)
|
||||
/obj/structure/window/paperframe/attackby(obj/item/W, mob/user)
|
||||
if(W.is_hot())
|
||||
fire_act(W.is_hot())
|
||||
return
|
||||
if(user.a_intent == INTENT_HARM)
|
||||
return ..()
|
||||
if(istype(W, /obj/item/weapon/paper) && obj_integrity < max_integrity)
|
||||
if(istype(W, /obj/item/paper) && obj_integrity < max_integrity)
|
||||
user.visible_message("[user] starts to patch the holes in \the [src].")
|
||||
if(do_after(user, 20, target = src))
|
||||
obj_integrity = min(obj_integrity+4,max_integrity)
|
||||
|
||||
Reference in New Issue
Block a user