Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into space_ruins

All hail glorious leader tigercat
This commit is contained in:
Crazylemon64
2016-07-08 00:16:28 -07:00
928 changed files with 8857 additions and 8457 deletions
+2 -2
View File
@@ -49,10 +49,10 @@
/obj/structure/sign/barsign/attack_hand(mob/user as mob)
if (!src.allowed(user))
if(!src.allowed(user))
to_chat(user, "<span class = 'info'>Access denied.</span>")
return
if (broken)
if(broken)
to_chat(user, "<span class ='danger'>The controls seem unresponsive.</span>")
return
pick_sign()
+7 -7
View File
@@ -15,10 +15,10 @@
/obj/structure/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
var/can_hang = 0
for (var/T in allowed)
for(var/T in allowed)
if(istype(W,T))
can_hang = 1
if (can_hang && !coat)
if(can_hang && !coat)
user.visible_message("[user] hangs [W] on \the [src].", "You hang [W] on the \the [src]")
coat = W
user.drop_item(src)
@@ -30,11 +30,11 @@
/obj/structure/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
var/can_hang = 0
for (var/T in allowed)
for(var/T in allowed)
if(istype(mover,T))
can_hang = 1
if (can_hang && !coat)
if(can_hang && !coat)
src.visible_message("[mover] lands on \the [src].")
coat = mover
coat.loc = src
@@ -45,9 +45,9 @@
/obj/structure/coatrack/update_icon()
overlays.Cut()
if (istype(coat, /obj/item/clothing/suit/storage/labcoat))
if(istype(coat, /obj/item/clothing/suit/storage/labcoat))
overlays += image(icon, icon_state = "coat_lab")
if (istype(coat, /obj/item/clothing/suit/storage/labcoat/cmo))
if(istype(coat, /obj/item/clothing/suit/storage/labcoat/cmo))
overlays += image(icon, icon_state = "coat_cmo")
if (istype(coat, /obj/item/clothing/suit/storage/det_suit))
if(istype(coat, /obj/item/clothing/suit/storage/det_suit))
overlays += image(icon, icon_state = "coat_det")
@@ -66,8 +66,8 @@
loc.Exited(M)
M.loc = destination
loc.Entered(M, ignoreRest = 1)
for (var/atom/movable/AM in loc)
if (istype(AM, /obj/item))
for(var/atom/movable/AM in loc)
if(istype(AM, /obj/item))
continue
AM.Crossed(M)
@@ -149,7 +149,7 @@
qdel(src)
if(2)
if(prob(50))
for (var/atom/movable/A as mob|obj in src)
for(var/atom/movable/A as mob|obj in src)
A.forceMove(loc)
A.ex_act(severity++)
new /obj/item/stack/sheet/metal(loc)
@@ -335,7 +335,7 @@
to_chat(user, "<span class='notice'>It won't budge!</span>")
if(!lastbang)
lastbang = 1
for (var/mob/M in hearers(src, null))
for(var/mob/M in hearers(src, null))
to_chat(M, text("<FONT size=[]>BANG, bang!</FONT>", max(0, 5 - get_dist(src, M))))
spawn(30)
lastbang = 0
@@ -384,7 +384,7 @@
/obj/structure/closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if (L.loc == src)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!welded)
@@ -21,7 +21,7 @@
if(fireaxe)
hasaxe = 1
if (isrobot(user) || src.locked)
if(isrobot(user) || src.locked)
if(istype(O, /obj/item/device/multitool))
to_chat(user, "\red Resetting circuitry...")
playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
@@ -53,7 +53,7 @@
src.localopened = 1
update_icon()
return
if (istype(O, /obj/item/weapon/twohanded/fireaxe) && src.localopened)
if(istype(O, /obj/item/weapon/twohanded/fireaxe) && src.localopened)
if(!fireaxe)
if(O:wielded)
to_chat(user, "\red Unwield the axe first.")
@@ -155,7 +155,7 @@
set name = "Open/Close"
set category = "Object"
if (isrobot(usr) || src.locked || src.smashed)
if(isrobot(usr) || src.locked || src.smashed)
if(src.locked)
to_chat(usr, "\red The cabinet won't budge!")
else if(src.smashed)
@@ -169,10 +169,10 @@
set name = "Remove Fire Axe"
set category = "Object"
if (isrobot(usr))
if(isrobot(usr))
return
if (localopened)
if(localopened)
if(fireaxe)
usr.put_in_hands(fireaxe)
fireaxe = null
@@ -26,19 +26,19 @@
else
var/lazors = 0
var/shottas = 0
for (var/obj/item/weapon/gun/G in contents)
if (istype(G, /obj/item/weapon/gun/energy))
for(var/obj/item/weapon/gun/G in contents)
if(istype(G, /obj/item/weapon/gun/energy))
lazors++
if (istype(G, /obj/item/weapon/gun/projectile/))
if(istype(G, /obj/item/weapon/gun/projectile/))
shottas++
if (lazors || shottas)
for (var/i = 0 to 2)
if(lazors || shottas)
for(var/i = 0 to 2)
var/image/gun = image(icon(src.icon))
if (lazors > 0 && (shottas <= 0 || prob(50)))
if(lazors > 0 && (shottas <= 0 || prob(50)))
lazors--
gun.icon_state = "laser"
else if (shottas > 0)
else if(shottas > 0)
shottas--
gun.icon_state = "projectile"
@@ -49,7 +49,7 @@
if(broken)
overlays += icon(src.icon,"broken")
else if (locked)
else if(locked)
overlays += icon(src.icon,"locked")
else
overlays += icon(src.icon,"open")
@@ -156,13 +156,13 @@
new /obj/item/clothing/head/bio_hood/cmo(src)
new /obj/item/clothing/shoes/white(src)
switch(pick("blue", "green", "purple"))
if ("blue")
if("blue")
new /obj/item/clothing/under/rank/medical/blue(src)
new /obj/item/clothing/head/surgery/blue(src)
if ("green")
if("green")
new /obj/item/clothing/under/rank/medical/green(src)
new /obj/item/clothing/head/surgery/green(src)
if ("purple")
if("purple")
new /obj/item/clothing/under/rank/medical/purple(src)
new /obj/item/clothing/head/surgery/purple(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
@@ -53,11 +53,11 @@
new /obj/item/device/radio/headset( src )
/obj/structure/closet/secure_closet/personal/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (src.opened)
if (istype(W, /obj/item/weapon/grab))
if(src.opened)
if(istype(W, /obj/item/weapon/grab))
src.MouseDrop_T(W:affecting, user) //act like they were dragged onto the closet
user.drop_item()
if (W) W.forceMove(loc)
if(W) W.forceMove(loc)
else if(istype(W, /obj/item/weapon/card/id))
if(src.broken)
to_chat(user, "\red It appears to be broken.")
@@ -133,7 +133,7 @@
/obj/structure/closet/secure_closet/container_resist(var/mob/living/L)
var/breakout_time = 2 //2 minutes by default
if(opened)
if (L.loc == src)
if(L.loc == src)
L.forceMove(get_turf(src)) // Let's just be safe here
return //Door's open... wait, why are you in it's contents then?
if(!locked && !welded)
@@ -54,7 +54,7 @@
M.adjustFireLoss(intialFire - M.getFireLoss())
M.adjustBruteLoss(intialBrute - M.getBruteLoss())
M.setOxyLoss(intialOxy)
if (timer <= 0)
if(timer <= 0)
dump_contents()
processing_objects.Remove(src)
qdel(src)
@@ -145,7 +145,7 @@
return
/obj/structure/closet/statue/proc/shatter(mob/user as mob)
if (user)
if(user)
user.dust()
dump_contents()
visible_message("\red [src] shatters!. ")
@@ -22,36 +22,36 @@
/obj/structure/closet/emcloset/New()
..()
switch (pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10, "nothing" = 0, "delete" = 0)))
if ("small")
switch(pickweight(list("small" = 55, "aid" = 25, "tank" = 10, "both" = 10, "nothing" = 0, "delete" = 0)))
if("small")
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/mask/breath(src)
if ("aid")
if("aid")
new /obj/item/weapon/tank/emergency_oxygen(src)
new /obj/item/weapon/storage/toolbox/emergency(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/storage/firstaid/o2(src)
if ("tank")
if("tank")
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
if ("both")
if("both")
new /obj/item/weapon/storage/toolbox/emergency(src)
new /obj/item/weapon/tank/emergency_oxygen/engi(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/weapon/storage/firstaid/o2(src)
if ("nothing")
if("nothing")
// doot
// teehee - Ah, tg coders...
if ("delete")
if("delete")
qdel(src)
//If you want to re-add fire, just add "fire" = 15 to the pick list.
/*if ("fire")
/*if("fire")
new /obj/structure/closet/firecloset(src.loc)
qdel(src)*/
@@ -185,7 +185,7 @@
qdel(src)
return
if(3.0)
if (prob(50))
if(prob(50))
qdel(src)
return
else
@@ -497,7 +497,7 @@
/obj/structure/closet/crate/large/close()
. = ..()
if (.)//we can hold up to one large item
if(.)//we can hold up to one large item
var/found = 0
for(var/obj/structure/S in src.loc)
if(S == src)
@@ -524,7 +524,7 @@
/obj/structure/closet/crate/secure/large/close()
. = ..()
if (.)//we can hold up to one large item
if(.)//we can hold up to one large item
var/found = 0
for(var/obj/structure/S in src.loc)
if(S == src)
@@ -27,7 +27,7 @@
icon_opened = "emergopen"
/obj/structure/closet/walllocker/emerglocker/attack_hand(mob/user as mob)
if (istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
if(istype(user, /mob/living/silicon/ai)) //Added by Strumpetplaya - AI shouldn't be able to
return //activate emergency lockers. This fixes that. (Does this make sense, the AI can't call attack_hand, can it? --Mloc)
if(!amount)
to_chat(usr, "<spawn class='notice'>It's empty.")
+10 -10
View File
@@ -140,17 +140,17 @@ var/global/list/captain_display_cases = list()
/obj/structure/displaycase/ex_act(severity)
switch(severity)
if (1)
if(1)
new /obj/item/weapon/shard(loc)
if (occupant)
if(occupant)
dump()
qdel(src)
if (2)
if (prob(50))
if(2)
if(prob(50))
src.health -= 15
src.healthcheck()
if (3)
if (prob(50))
if(3)
if(prob(50))
src.health -= 5
src.healthcheck()
@@ -162,15 +162,15 @@ var/global/list/captain_display_cases = list()
return
/obj/structure/displaycase/blob_act()
if (prob(75))
if(prob(75))
new /obj/item/weapon/shard(loc)
if(occupant) dump()
qdel(src)
/obj/structure/displaycase/proc/healthcheck()
if (src.health <= 0)
if(src.health <= 0)
health = 0
if (!( src.destroyed ))
if(!( src.destroyed ))
src.density = 0
src.destroyed = 1
new /obj/item/weapon/shard(loc)
@@ -273,7 +273,7 @@ var/global/list/captain_display_cases = list()
update_icon()
/obj/structure/displaycase/attack_hand(mob/user as mob)
if (destroyed || (!locked && user.a_intent == I_HARM))
if(destroyed || (!locked && user.a_intent == I_HARM))
if(occupant)
dump()
to_chat(user, "<span class='danger'>You smash your fist into the delicate electronics at the bottom of the case, and deactivate the hover field.</span>")
@@ -151,7 +151,7 @@ obj/structure/door_assembly/multi_tile/Move()
if(istype(W, /obj/item/weapon/weldingtool) && ( (istext(glass)) || (glass == 1) || (!anchored) ))
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0, user))
if(WT.remove_fuel(0, user))
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
if(istext(glass))
user.visible_message("[user] welds the [glass] plating off the airlock assembly.", "You start to weld the [glass] plating off the airlock assembly.")
@@ -235,7 +235,7 @@ obj/structure/door_assembly/multi_tile/Move()
src.state = 1
src.name = "Wired Airlock Assembly"
var/obj/item/weapon/airlock_electronics/ae
if (!electronics)
if(!electronics)
ae = new/obj/item/weapon/airlock_electronics( src.loc )
else
ae = electronics
@@ -244,8 +244,8 @@ obj/structure/door_assembly/multi_tile/Move()
else if(istype(W, /obj/item/stack/sheet) && !glass)
var/obj/item/stack/sheet/S = W
if (S)
if (S.amount>=1)
if(S)
if(S.amount>=1)
if(istype(S, /obj/item/stack/sheet/rglass))
playsound(src.loc, 'sound/items/Crowbar.ogg', 100, 1)
user.visible_message("[user] adds [S.name] to the airlock assembly.", "You start to install [S.name] into the airlock assembly.")
@@ -273,7 +273,7 @@ obj/structure/door_assembly/multi_tile/Move()
var/path
if(istext(glass))
path = text2path("/obj/machinery/door/airlock/[glass]")
else if (glass == 1)
else if(glass == 1)
path = text2path("/obj/machinery/door/airlock[glass_type]")
else
path = text2path("/obj/machinery/door/airlock[airlock_type]")
@@ -298,9 +298,9 @@ obj/structure/door_assembly/multi_tile/Move()
/obj/structure/door_assembly/proc/update_state()
icon_state = "door_as_[glass == 1 ? "g" : ""][istext(glass) ? glass : base_icon_state][state]"
name = ""
switch (state)
switch(state)
if(0)
if (anchored)
if(anchored)
name = "Secured "
if(1)
name = "Wired "
+1 -1
View File
@@ -80,7 +80,7 @@
else
to_chat(user, fail_msg)
else if(istype(I, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
+2 -2
View File
@@ -28,10 +28,10 @@
/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
if(isrobot(user) || isalien(user))
return
if (ishuman(user))
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
if (user.hand)
if(user.hand)
temp = H.organs_by_name["l_hand"]
if(temp && !temp.is_usable())
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!")
+1 -1
View File
@@ -86,7 +86,7 @@
to_chat(user, "<span class='warning'>[src] is blocked!</span>")
return
if(istype(W, /obj/item/weapon/screwdriver))
if (!istype(T, /turf/simulated/floor))
if(!istype(T, /turf/simulated/floor))
to_chat(user, "<span class='warning'>[src] bolts must be tightened on the floor!</span>")
return
user.visible_message("<span class='notice'>[user] tightens some bolts on the wall.</span>", "<span class='warning'>You tighten the bolts on the wall.</span>")
+2 -2
View File
@@ -288,10 +288,10 @@
/*
/obj/structure/bush/Bumped(M as mob)
if (istype(M, /mob/living/simple_animal))
if(istype(M, /mob/living/simple_animal))
var/mob/living/simple_animal/A = M
A.loc = get_turf(src)
else if (istype(M, /mob/living/carbon/monkey))
else if(istype(M, /mob/living/carbon/monkey))
var/mob/living/carbon/monkey/A = M
A.loc = get_turf(src)
*/
+1 -1
View File
@@ -55,7 +55,7 @@
if(!success)
to_chat(user, fail_msg)
else if(istype(I, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
+10 -10
View File
@@ -41,7 +41,7 @@
else if(!anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1)
to_chat(user, "\blue Now securing the girder")
if(get_turf(user, 40))
if(do_after(user, 40, target = src))
to_chat(user, "\blue You secured the girder!")
new/obj/structure/girder( src.loc )
qdel(src)
@@ -106,7 +106,7 @@
else
if(S.amount < 2) return ..()
to_chat(user, "\blue Now adding plating...")
if (do_after(user,40, target = src))
if(do_after(user,40, target = src))
if(!src || !S || S.amount < 2) return
S.use(2)
to_chat(user, "\blue You added the plating!")
@@ -125,7 +125,7 @@
new /obj/structure/falsewall/reinforced (src.loc)
qdel(src)
else
if (src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
if(src.icon_state == "reinforced") //I cant believe someone would actually write this line of code...
if(S.amount < 1) return ..()
to_chat(user, "\blue Now finalising reinforced wall.")
if(do_after(user, 50, target = src))
@@ -141,7 +141,7 @@
else
if(S.amount < 1) return ..()
to_chat(user, "\blue Now reinforcing girders")
if (do_after(user,60, target = src))
if(do_after(user,60, target = src))
if(!src || !S || S.amount < 1) return
S.use(1)
to_chat(user, "\blue Girders reinforced!")
@@ -161,7 +161,7 @@
else
if(S.amount < 2) return ..()
to_chat(user, "\blue Now adding plating...")
if (do_after(user,40, target = src))
if(do_after(user,40, target = src))
if(!src || !S || S.amount < 2) return
S.use(2)
to_chat(user, "\blue You added the plating!")
@@ -176,7 +176,7 @@
else if(istype(W, /obj/item/pipe))
var/obj/item/pipe/P = W
if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
if(P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds.
user.drop_item()
P.loc = src.loc
to_chat(user, "\blue You fit the pipe into the [src]!")
@@ -206,13 +206,13 @@
qdel(src)
return
if(2.0)
if (prob(75))
if(prob(75))
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
new remains(loc)
qdel(src)
return
if(3.0)
if (prob(40))
if(prob(40))
var/remains = pick(/obj/item/stack/rods,/obj/item/stack/sheet/metal)
new remains(loc)
qdel(src)
@@ -277,12 +277,12 @@
qdel(src)
return
if(2.0)
if (prob(30))
if(prob(30))
new /obj/effect/decal/remains/human(loc)
qdel(src)
return
if(3.0)
if (prob(5))
if(prob(5))
new /obj/effect/decal/remains/human(loc)
qdel(src)
return
+1 -1
View File
@@ -81,7 +81,7 @@
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
var/mob/living/carbon/slime/S = user
if (!S.is_adult)
if(!S.is_adult)
return
playsound(loc, 'sound/effects/grillehit.ogg', 80, 1)
+2 -2
View File
@@ -89,14 +89,14 @@
/obj/structure/inflatable/attack_slime(mob/user as mob)
var/mob/living/carbon/slime/S = user
if (!S.is_adult)
if(!S.is_adult)
return
attack_generic(user, rand(10, 15))
/obj/structure/inflatable/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if(!istype(W))
return
if (can_puncture(W))
if(can_puncture(W))
visible_message("\red <b>[user] pierces [src] with [W]!</b>")
deflate(1)
if(W.damtype == BRUTE || W.damtype == BURN)
+1 -1
View File
@@ -90,7 +90,7 @@
reagents.reaction(src.loc)
src.reagents.clear_reagents()
else if(istype(I, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
+10 -10
View File
@@ -12,16 +12,16 @@
/obj/structure/lamarr/ex_act(severity)
switch(severity)
if (1)
if(1)
new /obj/item/weapon/shard(loc)
Break()
qdel(src)
if (2)
if (prob(50))
if(2)
if(prob(50))
src.health -= 15
src.healthcheck()
if (3)
if (prob(50))
if(3)
if(prob(50))
src.health -= 5
src.healthcheck()
@@ -34,14 +34,14 @@
/obj/structure/lamarr/blob_act()
if (prob(75))
if(prob(75))
new /obj/item/weapon/shard(loc)
Break()
qdel(src)
/obj/structure/lamarr/proc/healthcheck()
if (src.health <= 0)
if (!( src.destroyed ))
if(src.health <= 0)
if(!( src.destroyed ))
src.density = 0
src.destroyed = 1
new /obj/item/weapon/shard(loc)
@@ -66,12 +66,12 @@
return
/obj/structure/lamarr/attack_hand(mob/user as mob)
if (src.destroyed)
if(src.destroyed)
return
else
to_chat(usr, text("\blue You kick the lab cage."))
for(var/mob/O in oviewers())
if ((O.client && !( O.blinded )))
if((O.client && !( O.blinded )))
to_chat(O, text("\red [] kicks the lab cage.", usr))
src.health -= 2
healthcheck()
+5 -5
View File
@@ -18,14 +18,14 @@
icon = 'icons/obj/smoothlattice.dmi'
icon_state = "latticeblank"
updateOverlays()
for (var/dir in cardinal)
for(var/dir in cardinal)
var/obj/structure/lattice/L
if(locate(/obj/structure/lattice, get_step(src, dir)))
L = locate(/obj/structure/lattice, get_step(src, dir))
L.updateOverlays()
/obj/structure/lattice/Destroy()
for (var/dir in cardinal)
for(var/dir in cardinal)
var/obj/structure/lattice/L
if(locate(/obj/structure/lattice, get_step(src, dir)))
L = locate(/obj/structure/lattice, get_step(src, dir))
@@ -51,11 +51,11 @@
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob, params)
if (istype(C, /obj/item/stack/tile/plasteel) || istype(C, /obj/item/stack/rods))
if(istype(C, /obj/item/stack/tile/plasteel) || istype(C, /obj/item/stack/rods))
var/turf/T = get_turf(src)
T.attackby(C, user) //BubbleWrap - hand this off to the underlying turf instead
return
if (istype(C, /obj/item/weapon/weldingtool))
if(istype(C, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = C
if(WT.remove_fuel(0, user))
to_chat(user, "\blue Slicing lattice joints ...")
@@ -72,7 +72,7 @@
var/dir_sum = 0
for (var/direction in cardinal)
for(var/direction in cardinal)
if(locate(/obj/structure/lattice, get_step(src, direction)))
dir_sum += direction
else
@@ -132,7 +132,7 @@
/obj/structure/mineral_door/proc/Dismantle(devastated = 0)
if(!devastated)
if (mineralType == "metal")
if(mineralType == "metal")
var/ore = /obj/item/stack/sheet/metal
for(var/i = 1, i <= oreAmount, i++)
new ore(get_turf(src))
@@ -141,7 +141,7 @@
for(var/i = 1, i <= oreAmount, i++)
new ore(get_turf(src))
else
if (mineralType == "metal")
if(mineralType == "metal")
var/ore = /obj/item/stack/sheet/metal
for(var/i = 3, i <= oreAmount, i++)
new ore(get_turf(src))
+1 -1
View File
@@ -76,7 +76,7 @@
/obj/structure/mirror/attack_slime(mob/living/user as mob)
var/mob/living/carbon/slime/S = user
if (!S.is_adult)
if(!S.is_adult)
return
user.do_attack_animation(src)
if(shattered)
+1 -1
View File
@@ -34,7 +34,7 @@
attack_hand(mob/user as mob)
if (user.mind.special_role=="Ninja")
if(user.mind.special_role=="Ninja")
switch(alert("Phase Jaunt relay primed, target locked as [station_name()], initiate VOID-shift translocation? (Warning! Internals required!)",,"Yes","No"))
if("Yes")
+5 -5
View File
@@ -26,12 +26,12 @@
to_chat(usr, "[bicon(src)] [src] contains [reagents.total_volume] units of water left!")
/obj/structure/mopbucket/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/mop))
if (src.reagents.total_volume >= 2)
if(istype(W, /obj/item/weapon/mop))
if(src.reagents.total_volume >= 2)
src.reagents.trans_to(W, 2)
to_chat(user, "\blue You wet the mop")
playsound(src.loc, 'sound/effects/slosh.ogg', 25, 1)
if (src.reagents.total_volume < 1)
if(src.reagents.total_volume < 1)
to_chat(user, "\blue Out of water!")
return
@@ -41,10 +41,10 @@
qdel(src)
return
if(2.0)
if (prob(50))
if(prob(50))
qdel(src)
return
if(3.0)
if (prob(5))
if(prob(5))
qdel(src)
return
+66 -66
View File
@@ -55,14 +55,14 @@
qdel(src)
return
if(2.0)
if (prob(50))
if(prob(50))
for(var/atom/movable/A as mob|obj in src)
A.forceMove(loc)
ex_act(severity)
qdel(src)
return
if(3.0)
if (prob(5))
if(prob(5))
for(var/atom/movable/A as mob|obj in src)
A.forceMove(loc)
ex_act(severity)
@@ -75,9 +75,9 @@
/obj/structure/morgue/attack_hand(mob/user as mob)
if (connected)
if(connected)
for(var/atom/movable/A as mob|obj in connected.loc)
if (!( A.anchored ))
if(!( A.anchored ))
A.forceMove(src)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
qdel(connected)
@@ -88,7 +88,7 @@
step(connected, dir)
connected.layer = OBJ_LAYER
var/turf/T = get_step(src, dir)
if (T.contents.Find(connected))
if(T.contents.Find(connected))
connected.connected = src
icon_state = "morgue0"
for(var/atom/movable/A as mob|obj in src)
@@ -103,14 +103,14 @@
return
/obj/structure/morgue/attackby(P as obj, mob/user as mob, params)
if (istype(P, /obj/item/weapon/pen))
if(istype(P, /obj/item/weapon/pen))
var/t = input(user, "What would you like the label to be?", text("[]", name), null) as text
if (user.get_active_hand() != P)
if(user.get_active_hand() != P)
return
if ((!in_range(src, usr) && loc != user))
if((!in_range(src, usr) && loc != user))
return
t = sanitize(copytext(t,1,MAX_MESSAGE_LEN))
if (t)
if(t)
name = text("Morgue- '[]'", t)
overlays += image(icon, "morgue_label")
else
@@ -120,13 +120,13 @@
return
/obj/structure/morgue/relaymove(mob/user as mob)
if (user.stat)
if(user.stat)
return
connected = new /obj/structure/m_tray( loc )
step(connected, dir)
connected.layer = OBJ_LAYER
var/turf/T = get_step(src, dir)
if (T.contents.Find(connected))
if(T.contents.Find(connected))
connected.connected = src
icon_state = "morgue0"
for(var/atom/movable/A as mob|obj in src)
@@ -147,7 +147,7 @@
var/mob/living/carbon/CM = L
if(!istype(CM))
return
if (CM.stat || CM.restrained())
if(CM.stat || CM.restrained())
return
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
@@ -170,9 +170,9 @@
/obj/structure/m_tray/attack_hand(mob/user as mob)
if (connected)
if(connected)
for(var/atom/movable/A as mob|obj in loc)
if (!( A.anchored ))
if(!( A.anchored ))
A.forceMove(connected)
connected.connected = null
connected.update()
@@ -182,16 +182,16 @@
return
/obj/structure/m_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O)))
if((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O)))
return
if (!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
if(!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
return
if (!ismob(user) || user.stat || user.lying || user.stunned)
if(!ismob(user) || user.stat || user.lying || user.stunned)
return
O.forceMove(loc)
if (user != O)
if(user != O)
for(var/mob/B in viewers(user, 3))
if ((B.client && !( B.blinded )))
if((B.client && !( B.blinded )))
to_chat(B, text("\red [] stuffs [] into []!", user, O, src))
return
@@ -235,10 +235,10 @@
var/locked = 0
/obj/structure/crematorium/proc/update()
if (connected)
if(connected)
icon_state = "crema0"
else
if (contents.len)
if(contents.len)
icon_state = "crema2"
else
icon_state = "crema1"
@@ -253,14 +253,14 @@
qdel(src)
return
if(2.0)
if (prob(50))
if(prob(50))
for(var/atom/movable/A as mob|obj in src)
A.forceMove(loc)
ex_act(severity)
qdel(src)
return
if(3.0)
if (prob(5))
if(prob(5))
for(var/atom/movable/A as mob|obj in src)
A.forceMove(loc)
ex_act(severity)
@@ -273,23 +273,23 @@
/obj/structure/crematorium/attack_hand(mob/user as mob)
if (cremating)
if(cremating)
to_chat(usr, "\red It's locked.")
return
if ((connected) && (locked == 0))
if((connected) && (locked == 0))
for(var/atom/movable/A as mob|obj in connected.loc)
if (!( A.anchored ))
if(!( A.anchored ))
A.forceMove(src)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
qdel(connected)
connected = null
else if (locked == 0)
else if(locked == 0)
playsound(loc, 'sound/items/Deconstruct.ogg', 50, 1)
connected = new /obj/structure/c_tray( loc )
step(connected, SOUTH)
connected.layer = OBJ_LAYER
var/turf/T = get_step(src, SOUTH)
if (T.contents.Find(connected))
if(T.contents.Find(connected))
connected.connected = src
icon_state = "crema0"
for(var/atom/movable/A as mob|obj in src)
@@ -302,14 +302,14 @@
update()
/obj/structure/crematorium/attackby(P as obj, mob/user as mob, params)
if (istype(P, /obj/item/weapon/pen))
if(istype(P, /obj/item/weapon/pen))
var/t = input(user, "What would you like the label to be?", text("[]", name), null) as text
if (user.get_active_hand() != P)
if(user.get_active_hand() != P)
return
if ((!in_range(src, usr) > 1 && loc != user))
if((!in_range(src, usr) > 1 && loc != user))
return
t = sanitize(copytext(t,1,MAX_MESSAGE_LEN))
if (t)
if(t)
name = text("Crematorium- '[]'", t)
else
name = "Crematorium"
@@ -317,13 +317,13 @@
return
/obj/structure/crematorium/relaymove(mob/user as mob)
if (user.stat || locked)
if(user.stat || locked)
return
connected = new /obj/structure/c_tray( loc )
step(connected, SOUTH)
connected.layer = OBJ_LAYER
var/turf/T = get_step(src, SOUTH)
if (T.contents.Find(connected))
if(T.contents.Find(connected))
connected.connected = src
icon_state = "crema0"
for(var/atom/movable/A as mob|obj in src)
@@ -339,12 +339,12 @@
return //don't let you cremate something twice or w/e
if(contents.len <= 0)
for (var/mob/M in viewers(src))
for(var/mob/M in viewers(src))
M.show_message("<span class='warning'>You hear a hollow crackle.</span>", 1)
return
else
for (var/mob/M in viewers(src))
for(var/mob/M in viewers(src))
M.show_message("<span class='warning'>You hear a roar as the crematorium activates.</span>", 1)
cremating = 1
@@ -354,7 +354,7 @@
for(var/mob/living/M in search_contents_for(/mob/living))
if(!M || !isnull(M.gcDestroyed))
continue
if (M.stat!=2)
if(M.stat!=2)
M.emote("scream")
if(istype(user))
M.attack_log += "\[[time_stamp()]\] <font color='orange'>Has been cremated by [user.name] ([user.ckey])</font>"
@@ -385,7 +385,7 @@
var/mob/living/carbon/CM = L
if(!istype(CM))
return
if (CM.stat || CM.restrained())
if(CM.stat || CM.restrained())
return
to_chat(CM, "<span class='alert'>You attempt to slide yourself out of \the [src]...</span>")
@@ -406,9 +406,9 @@
throwpass = 1
/obj/structure/c_tray/attack_hand(mob/user as mob)
if (connected)
if(connected)
for(var/atom/movable/A as mob|obj in loc)
if (!( A.anchored ))
if(!( A.anchored ))
A.forceMove(connected)
//Foreach goto(26)
connected.connected = null
@@ -419,16 +419,16 @@
return
/obj/structure/c_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob)
if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O)))
if((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O)))
return
if (!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
if(!ismob(O) && !istype(O, /obj/structure/closet/body_bag))
return
if (!ismob(user) || user.stat || user.lying || user.stunned)
if(!ismob(user) || user.stat || user.lying || user.stunned)
return
O.forceMove(loc)
if (user != O)
if(user != O)
for(var/mob/B in viewers(user, 3))
if ((B.client && !( B.blinded )))
if((B.client && !( B.blinded )))
to_chat(B, text("\red [] stuffs [] into []!", user, O, src))
//Foreach goto(99)
return
@@ -441,9 +441,9 @@
/obj/machinery/crema_switch/attack_hand(mob/user as mob)
if(allowed(usr))
for (var/obj/structure/crematorium/C in world)
if (C.id == id)
if (!C.cremating)
for(var/obj/structure/crematorium/C in world)
if(C.id == id)
if(!C.cremating)
C.cremate(user)
else
to_chat(usr, "\red Access denied.")
@@ -451,48 +451,48 @@
/hook/Login/proc/update_morgue(var/client/client, var/mob/L)
//Update morgues on login/logout
if (L.stat == DEAD)
if(L.stat == DEAD)
var/obj/structure/morgue/Morgue = null
var/mob/living/carbon/human/C = null
if (istype(L,/mob/dead/observer)) //We're a ghost, let's find our corpse
if(istype(L,/mob/dead/observer)) //We're a ghost, let's find our corpse
var/mob/dead/observer/G = L
if(!G.mind) //This'll probably break morgue sprites, but the line under the next If statement causes runtimes with Assume Direct Control.
return
if (G.can_reenter_corpse && G.mind.current)
if(G.can_reenter_corpse && G.mind.current)
C = G.mind.current
else if (istype(L,/mob/living/carbon/human))
else if(istype(L,/mob/living/carbon/human))
C = L
if (C) //We found our corpse, is it inside a morgue?
if (istype(C.loc,/obj/structure/morgue))
if(C) //We found our corpse, is it inside a morgue?
if(istype(C.loc,/obj/structure/morgue))
Morgue = C.loc
else if (istype(C.loc,/obj/structure/closet/body_bag))
else if(istype(C.loc,/obj/structure/closet/body_bag))
var/obj/structure/closet/body_bag/B = C.loc
if (istype(B.loc,/obj/structure/morgue))
if(istype(B.loc,/obj/structure/morgue))
Morgue = B.loc
if (Morgue)
if(Morgue)
Morgue.update()
/hook/Logout/proc/update_morgue(var/client/client, var/mob/L)
//Update morgues on login/logout
if (L.stat == DEAD)
if(L.stat == DEAD)
var/obj/structure/morgue/Morgue = null
var/mob/living/carbon/human/C = null
if (istype(L,/mob/dead/observer)) //We're a ghost, let's find our corpse
if(istype(L,/mob/dead/observer)) //We're a ghost, let's find our corpse
var/mob/dead/observer/G = L
if(!G.mind) //This'll probably break morgue sprites, but the line under the next If statement causes runtimes with Assume Direct Control.
return 1
if (G.can_reenter_corpse && G.mind.current)
if(G.can_reenter_corpse && G.mind.current)
C = G.mind.current
else if (istype(L,/mob/living/carbon/human))
else if(istype(L,/mob/living/carbon/human))
C = L
if (C) //We found our corpse, is it inside a morgue?
if (istype(C.loc,/obj/structure/morgue))
if(C) //We found our corpse, is it inside a morgue?
if(istype(C.loc,/obj/structure/morgue))
Morgue = C.loc
else if (istype(C.loc,/obj/structure/closet/body_bag))
else if(istype(C.loc,/obj/structure/closet/body_bag))
var/obj/structure/closet/body_bag/B = C.loc
if (istype(B.loc,/obj/structure/morgue))
if(istype(B.loc,/obj/structure/morgue))
Morgue = B.loc
if (Morgue)
if(Morgue)
Morgue.update()
+5 -5
View File
@@ -129,7 +129,7 @@
return
ui = nanomanager.try_update_ui(user, instrumentObj, ui_key, ui, data, force_open)
if (!ui)
if(!ui)
ui = new(user, instrumentObj, ui_key, "song.tmpl", instrumentObj.name, 700, 500)
ui.set_initial_data(data)
ui.open()
@@ -298,11 +298,11 @@
song.Topic(href, href_list)
/obj/structure/piano/attackby(obj/item/O as obj, mob/user as mob, params)
if (istype(O, /obj/item/weapon/wrench))
if (!anchored && !isinspace())
if(istype(O, /obj/item/weapon/wrench))
if(!anchored && !isinspace())
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, "<span class='notice'> You begin to tighten \the [src] to the floor...</span>")
if (do_after(user, 20, target = src))
if(do_after(user, 20, target = src))
user.visible_message( \
"[user] tightens \the [src]'s casters.", \
"<span class='notice'> You have tightened \the [src]'s casters. Now it can be played again.</span>", \
@@ -311,7 +311,7 @@
else if(anchored)
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
to_chat(user, "<span class='notice'> You begin to loosen \the [src]'s casters...</span>")
if (do_after(user, 40, target = src))
if(do_after(user, 40, target = src))
user.visible_message( \
"[user] loosens \the [src]'s casters.", \
"<span class='notice'> You have loosened \the [src]. Now it can be pulled somewhere else.</span>", \
@@ -47,7 +47,7 @@
/obj/structure/stool/bed/nest/user_buckle_mob(mob/living/M, mob/living/user)
if ( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) )
if( !ismob(M) || (get_dist(src, user) > 1) || (M.loc != src.loc) || user.restrained() || usr.stat || M.buckled || istype(user, /mob/living/silicon/pai) )
return
if(M.get_int_organ(/obj/item/organ/internal/xenos/plasmavessel))
@@ -11,12 +11,12 @@
qdel(src)
return
if(2.0)
if (prob(70))
if(prob(70))
new /obj/item/stack/sheet/metal(src.loc)
qdel(src)
return
if(3.0)
if (prob(50))
if(prob(50))
new /obj/item/stack/sheet/metal(src.loc)
qdel(src)
return
@@ -37,9 +37,9 @@
/obj/structure/stool/MouseDrop(atom/over_object, src_location, over_location, src_control, over_control, params, skip_fucking_stool_shit = 0)
if(skip_fucking_stool_shit)
return ..(over_object)
if (istype(over_object, /mob/living/carbon/human))
if(istype(over_object, /mob/living/carbon/human))
var/mob/living/carbon/human/H = over_object
if (H==usr && !H.restrained() && !H.stat && in_range(src, over_object))
if(H==usr && !H.restrained() && !H.stat && in_range(src, over_object))
var/obj/item/weapon/stool/S = new/obj/item/weapon/stool()
S.origin = src
src.loc = S
@@ -64,7 +64,7 @@
qdel(src)
/obj/item/weapon/stool/attack(mob/M as mob, mob/user as mob)
if (prob(5) && istype(M,/mob/living))
if(prob(5) && istype(M,/mob/living))
user.visible_message("<span class='danger'>[user] breaks [src] over [M]'s back!.</span>")
user.unEquip(src)
var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal
+38 -38
View File
@@ -54,14 +54,14 @@
var/subtype = null
for(var/direction in list(turn(dir,90), turn(dir,-90)) )
var/obj/structure/table/T = locate(/obj/structure/table,get_step(src,direction))
if (T && T.flipped)
if(T && T.flipped)
type++
if(type == 1)
subtype = direction == turn(dir,90) ? "-" : "+"
var/base = "table"
if (istype(src, /obj/structure/table/woodentable))
if(istype(src, /obj/structure/table/woodentable))
base = "wood"
if (istype(src, /obj/structure/table/reinforced))
if(istype(src, /obj/structure/table/reinforced))
base = "rtable"
icon_state = "[base]flip[type][type == 1 ? subtype : ""]"
@@ -75,11 +75,11 @@
qdel(src)
return
if(2.0)
if (prob(50))
if(prob(50))
qdel(src)
return
if(3.0)
if (prob(25))
if(prob(25))
destroy()
else
return
@@ -134,8 +134,8 @@
return 1
if(locate(/obj/structure/table) in get_turf(mover))
return 1
if (flipped)
if (get_dir(loc, target) == dir)
if(flipped)
if(get_dir(loc, target) == dir)
return !density
else
return 1
@@ -150,13 +150,13 @@
//checks if projectile 'P' from turf 'from' can hit whatever is behind the table. Returns 1 if it can, 0 if bullet stops.
/obj/structure/table/proc/check_cover(obj/item/projectile/P, turf/from)
var/turf/cover = flipped ? get_turf(src) : get_step(loc, get_dir(from, loc))
if (get_dist(P.starting, loc) <= 1) //Tables won't help you if people are THIS close
if(get_dist(P.starting, loc) <= 1) //Tables won't help you if people are THIS close
return 1
if (get_turf(P.original) == cover)
if(get_turf(P.original) == cover)
var/chance = 20
if (ismob(P.original))
if(ismob(P.original))
var/mob/M = P.original
if (M.lying)
if(M.lying)
chance += 20 //Lying down lets you catch less bullets
if(flipped)
if(get_dir(loc, from) == dir) //Flipped tables catch mroe bullets
@@ -165,7 +165,7 @@
return 1 //But only from one side
if(prob(chance))
health -= P.damage/2
if (health > 0)
if(health > 0)
visible_message("<span class='warning'>[P] hits \the [src]!</span>")
return 0
else
@@ -177,8 +177,8 @@
/obj/structure/table/CheckExit(atom/movable/O as mob|obj, target as turf)
if(istype(O) && O.checkpass(PASSTABLE))
return 1
if (flipped)
if (get_dir(loc, target) == dir)
if(flipped)
if(get_dir(loc, target) == dir)
return !density
else
return 1
@@ -186,13 +186,13 @@
/obj/structure/table/MouseDrop_T(obj/O as obj, mob/user as mob)
..()
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
if((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
return
if(isrobot(user))
return
if(!user.drop_item())
return
if (O.loc != src.loc)
if(O.loc != src.loc)
step(O, get_dir(O, src))
return
@@ -217,11 +217,11 @@
qdel(I)
/obj/structure/table/attackby(obj/item/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/grab))
if(istype(W, /obj/item/weapon/grab))
tablepush(W, user)
return
if (istype(W, /obj/item/weapon/wrench))
if(istype(W, /obj/item/weapon/wrench))
user.visible_message("<span class='notice'>[user] is disassembling \a [src].</span>", "<span class='notice'>You start disassembling \the [src].</span>")
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
if(do_after(user, 50, target = src))
@@ -263,11 +263,11 @@
if(T && !T.flipped)
return 0
T = locate() in get_step(src.loc,direction)
if (!T || T.flipped)
if(!T || T.flipped)
return 1
if (istype(T,/obj/structure/table/reinforced/))
if(istype(T,/obj/structure/table/reinforced/))
var/obj/structure/table/reinforced/R = T
if (R.status == 2)
if(R.status == 2)
return 0
return T.straight_table_check(direction)
@@ -277,7 +277,7 @@
set category = null
set src in oview(1)
if (!can_touch(usr) || ismouse(usr))
if(!can_touch(usr) || ismouse(usr))
return
if(!flip(get_cardinal_dir(usr,src)))
@@ -297,13 +297,13 @@
set category = "Object"
set src in oview(1)
if (!unflip())
if(!unflip())
to_chat(usr, "<span class='notice'>It won't budge.</span>")
return
/obj/structure/table/proc/flip(var/direction)
if (flipped)
if(flipped)
return 0
if( !straight_table_check(turn(direction,90)) || !straight_table_check(turn(direction,-90)) )
@@ -313,8 +313,8 @@
verbs +=/obj/structure/table/proc/do_put
var/list/targets = list(get_step(src,dir),get_step(src,turn(dir, 45)),get_step(src,turn(dir, -45)))
for (var/atom/movable/A in get_turf(src))
if (!A.anchored)
for(var/atom/movable/A in get_turf(src))
if(!A.anchored)
spawn(0)
A.throw_at(pick(targets),1,1)
@@ -333,14 +333,14 @@
return 1
/obj/structure/table/proc/unflip()
if (!flipped)
if(!flipped)
return 0
var/can_flip = 1
for (var/mob/A in oview(src,0))//src.loc)
if (istype(A))
for(var/mob/A in oview(src,0))//src.loc)
if(istype(A))
can_flip = 0
if (!can_flip)
if(!can_flip)
return 0
verbs -=/obj/structure/table/proc/do_put
@@ -471,33 +471,33 @@
canSmoothWith = list(/obj/structure/table/reinforced, /obj/structure/table)
/obj/structure/table/reinforced/flip(var/direction)
if (status == 2)
if(status == 2)
return 0
else
return ..()
/obj/structure/table/reinforced/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/weldingtool))
if(istype(W, /obj/item/weapon/weldingtool))
var/obj/item/weapon/weldingtool/WT = W
if(WT.remove_fuel(0, user))
if(src.status == 2)
to_chat(user, "\blue Now weakening the reinforced table")
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
if (do_after(user, 50, target = src))
if(do_after(user, 50, target = src))
if(!src || !WT.isOn()) return
to_chat(user, "\blue Table weakened")
src.status = 1
else
to_chat(user, "\blue Now strengthening the reinforced table")
playsound(src.loc, 'sound/items/Welder.ogg', 50, 1)
if (do_after(user, 50, target = src))
if(do_after(user, 50, target = src))
if(!src || !WT.isOn()) return
to_chat(user, "\blue Table strengthened")
src.status = 2
return
return
if (istype(W, /obj/item/weapon/wrench))
if(istype(W, /obj/item/weapon/wrench))
if(src.status == 2)
return
@@ -560,18 +560,18 @@
. = . || mover.checkpass(PASSTABLE)
/obj/structure/rack/MouseDrop_T(obj/O as obj, mob/user as mob)
if ((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
if((!( istype(O, /obj/item/weapon) ) || user.get_active_hand() != O))
return
if(isrobot(user))
return
if(!user.drop_item())
return
if (O.loc != src.loc)
if(O.loc != src.loc)
step(O, get_dir(O, src))
return
/obj/structure/rack/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
if (istype(W, /obj/item/weapon/wrench))
if(istype(W, /obj/item/weapon/wrench))
new /obj/item/weapon/rack_parts( src.loc )
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
qdel(src)
+7 -7
View File
@@ -174,11 +174,11 @@
on = !on
update_icon()
if(on)
if (M.loc == loc)
if(M.loc == loc)
wash(M)
check_heat(M)
M.water_act(100, convertHeat(), src)
for (var/atom/movable/G in src.loc)
for(var/atom/movable/G in src.loc)
G.clean_blood()
G.water_act(100, convertHeat(), src)
@@ -283,9 +283,9 @@
washears = !(H.head.flags_inv & HIDEEARS)
if(H.wear_mask)
if (washears)
if(washears)
washears = !(H.wear_mask.flags_inv & HIDEEARS)
if (washglasses)
if(washglasses)
washglasses = !(H.wear_mask.flags_inv & HIDEEYES)
if(H.head)
@@ -382,10 +382,10 @@
if(!Adjacent(user))
return
if (ishuman(user))
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/temp = H.organs_by_name["r_hand"]
if (user.hand)
if(user.hand)
temp = H.organs_by_name["l_hand"]
if(temp && !temp.is_usable())
to_chat(user, "<span class='notice'>You try to move your [temp.name], but cannot!")
@@ -434,7 +434,7 @@
var/wateract = 0
wateract = (O.wash(user, src))
busy = 0
if (wateract)
if(wateract)
O.water_act(20,310.15,src)
/obj/structure/sink/kitchen
@@ -76,7 +76,7 @@ obj/structure/windoor_assembly/Destroy()
if("01")
if(istype(W, /obj/item/weapon/weldingtool) && !anchored )
var/obj/item/weapon/weldingtool/WT = W
if (WT.remove_fuel(0,user))
if(WT.remove_fuel(0,user))
user.visible_message("<span class='warning'>[user] dissassembles the windoor assembly.</span>", "<span class='notice'>You start to dissassemble the windoor assembly.</span>")
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
@@ -307,7 +307,7 @@ obj/structure/windoor_assembly/Destroy()
set src in oview(1)
if(usr.stat || !usr.canmove || usr.restrained())
return
if (src.anchored)
if(src.anchored)
to_chat(usr, "It is fastened to the floor; therefore, you can't rotate it!")
return 0
//if(src.state != "01")
+9 -9
View File
@@ -127,7 +127,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!"))
user.visible_message("<span class='danger'>[user] smashes through [src]!</span>")
destroy()
else if (user.a_intent == I_HARM)
else if(user.a_intent == I_HARM)
user.changeNext_move(CLICK_CD_MELEE)
playsound(get_turf(src), 'sound/effects/glassknock.ogg', 80, 1)
user.visible_message("\red [user.name] bangs against the [src.name]!", \
@@ -168,27 +168,27 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
/obj/structure/window/attack_slime(mob/living/user as mob)
var/mob/living/carbon/slime/S = user
if (!S.is_adult)
if(!S.is_adult)
return
attack_generic(user, rand(10, 15))
/obj/structure/window/attackby(obj/item/weapon/W as obj, mob/living/user as mob, params)
if(!istype(W)) return//I really wish I did not need this
if (istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
if(istype(W, /obj/item/weapon/grab) && get_dist(src,user)<2)
var/obj/item/weapon/grab/G = W
if(istype(G.affecting,/mob/living))
var/mob/living/M = G.affecting
var/state = G.state
qdel(W) //gotta delete it here because if window breaks, it won't get deleted
switch (state)
switch(state)
if(1)
M.visible_message("<span class='warning'>[user] slams [M] against \the [src]!</span>")
M.apply_damage(7)
hit(10)
if(2)
M.visible_message("<span class='danger'>[user] bashes [M] against \the [src]!</span>")
if (prob(50))
if(prob(50))
M.Weaken(1)
M.apply_damage(10)
hit(25)
@@ -229,16 +229,16 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
for(var/i=0;i<sheets;i++)
var/obj/item/stack/sheet/glass/NG = new glasstype(src.loc)
for (var/obj/item/stack/sheet/glass/G in src.loc) //Stack em up
for(var/obj/item/stack/sheet/glass/G in src.loc) //Stack em up
if(G==NG)
continue
if(G.amount>=G.max_amount)
continue
G.attackby(NG, user, params)
if (reinf)
if(reinf)
var/obj/item/stack/rods/NR = new (src.loc)
for (var/obj/item/stack/rods/R in src.loc)
for(var/obj/item/stack/rods/R in src.loc)
if(R==NR)
continue
if(R.amount>=R.max_amount)
@@ -514,7 +514,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
update_icon()
for(var/obj/structure/window/reinforced/polarized/W in range(src,range))
if (W.id == src.id || !W.id)
if(W.id == src.id || !W.id)
spawn(0)
W.toggle()
return