Updates box2550away (again) (again) (again)

Uses the map tools, but edits a lot of paths.

Makes box2550away unsimulated to combat lag
Adds three new unsimulated floors, which are just copies of simulated
ones
Adds four new unsimluated walls, which are just copies of simulated ones
Breaks telescreens as they don't work off the station
Adds the escape shuttle to the map as it has the penultimate HONK clue
paper on it and replaces the shuttle console with a fake
Adds a needed stat check to security camera computers
Gets rid of disposal overlays on box2550away toilets
Replaces box2550away status displays with fakes
Fixes a bug with entertainment monitors where they had no broken icon
due to being in status_display.dmi instead of stationobjs.dmi
Adds a carpet icon ("carpet2") that was present in 2010 and is used in
box2550away back to floors.dmi
Changes disposal related user messages so they refer to the name var of
the disposal object. This makes the messages refer to my disposal
toilets as toilets instead of diposals.
Removes the non-slip flag of SWAT shoes in the armoury.

God I hope I committed all the files I changed.
This commit is contained in:
Tenebrosity
2014-02-04 20:30:13 +13:00
parent acf5bccfa6
commit fd8be7edc2
9 changed files with 2147 additions and 2052 deletions
File diff suppressed because it is too large Load Diff
+56 -55
View File
@@ -20,67 +20,68 @@
attack_hand(var/mob/user as mob)
if (src.z > 6)
user << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!"
return
if(!stat)
if (src.z > 6)
user << "\red <b>Unable to establish a connection</b>: \black You're too far away from the station!"
return
if (!network)
world.log << "A computer lacks a network at [x],[y],[z]."
return
if (!(istype(network,/list)))
world.log << "The computer at [x],[y],[z] has a network that is not a list!"
return
if (!network)
world.log << "A computer lacks a network at [x],[y],[z]."
return
if (!(istype(network,/list)))
world.log << "The computer at [x],[y],[z] has a network that is not a list!"
return
if(..())
return
if(..())
return
var/list/L = list()
for (var/obj/machinery/camera/C in cameranet.cameras)
L.Add(C)
var/list/L = list()
for (var/obj/machinery/camera/C in cameranet.cameras)
L.Add(C)
camera_sort(L)
camera_sort(L)
var/list/D = list()
D["Cancel"] = "Cancel"
for(var/obj/machinery/camera/C in L)
if(!C.network)
world.log << "[C.c_tag] has no camera network."
continue
if(!(istype(C.network,/list)))
world.log << "[C.c_tag]'s camera network is not a list!"
continue
var/list/tempnetwork = C.network&network
if(tempnetwork.len)
D[text("[][]", C.c_tag, (C.status ? null : " (Deactivated)"))] = C
var/list/D = list()
D["Cancel"] = "Cancel"
for(var/obj/machinery/camera/C in L)
if(!C.network)
world.log << "[C.c_tag] has no camera network."
continue
if(!(istype(C.network,/list)))
world.log << "[C.c_tag]'s camera network is not a list!"
continue
var/list/tempnetwork = C.network&network
if(tempnetwork.len)
D[text("[][]", C.c_tag, (C.status ? null : " (Deactivated)"))] = C
var/t = input(user, "Which camera should you change to?") as null|anything in D
if(!t)
user.unset_machine()
return 0
var/obj/machinery/camera/C = D[t]
if(t == "Cancel")
user.unset_machine()
return 0
if(C)
if ((get_dist(user, src) > 1 || user.machine != src || user.blinded || !( C.can_use() )) && (!istype(user, /mob/living/silicon/ai)))
if(!C.can_use() && !isAI(user))
src.current = null
var/t = input(user, "Which camera should you change to?") as null|anything in D
if(!t)
user.unset_machine()
return 0
else
if(isAI(user))
var/mob/living/silicon/ai/A = user
A.eyeobj.setLoc(get_turf(C))
A.client.eye = A.eyeobj
else
src.current = C
use_power(50)
spawn(5)
attack_hand(user)
return
var/obj/machinery/camera/C = D[t]
if(t == "Cancel")
user.unset_machine()
return 0
if(C)
if ((get_dist(user, src) > 1 || user.machine != src || user.blinded || !( C.can_use() )) && (!istype(user, /mob/living/silicon/ai)))
if(!C.can_use() && !isAI(user))
src.current = null
return 0
else
if(isAI(user))
var/mob/living/silicon/ai/A = user
A.eyeobj.setLoc(get_turf(C))
A.client.eye = A.eyeobj
else
src.current = C
use_power(50)
spawn(5)
attack_hand(user)
return
@@ -101,8 +102,8 @@
/obj/machinery/computer/security/telescreen/entertainment
name = "entertainment monitor"
desc = "Damn, they better have /tg/thechannel on these things."
icon = 'icons/obj/status_display.dmi'
desc = "Damn, they better have the /tg/ channel on these things."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "entertainment"
network = list("thunder")
density = 0
+13 -1
View File
@@ -1,7 +1,19 @@
/turf/unsimulated/floor
name = "floor"
icon = 'icons/turf/floors.dmi'
icon_state = "Floor3"
icon_state = "floor"
/turf/unsimulated/floor/plating
name = "plating"
icon_state = "plating"
intact = 0
/turf/unsimulated/floor/bluegrid
icon = 'icons/turf/floors.dmi'
icon_state = "bcircuit"
/turf/unsimulated/floor/engine
icon_state = "engine"
/turf/unsimulated/floor/attack_paw(user as mob)
return src.attack_hand(user)
+23 -1
View File
@@ -6,6 +6,9 @@
density = 1
blocks_air = 1
/turf/unsimulated/wall/normal
icon_state = "wall"
/turf/unsimulated/wall/fakeglass
name = "window"
icon_state = "fakewindows"
@@ -23,4 +26,23 @@ turf/unsimulated/wall/splashscreen
layer = FLY_LAYER
/turf/unsimulated/wall/other
icon_state = "r_wall"
icon_state = "r_wall"
name = "reinforced wall"
/turf/unsimulated/shuttle
name = "shuttle"
icon = 'icons/turf/shuttle.dmi'
thermal_conductivity = 0.05
heat_capacity = 0
layer = 2
/turf/unsimulated/shuttle/wall
name = "wall"
icon_state = "wall1"
opacity = 1
density = 1
blocks_air = 1
/turf/unsimulated/shuttle/floor
name = "floor"
icon_state = "floor"
@@ -870,4 +870,49 @@ obj/effect/landmark/corpse/away/box2550/det
new /obj/item/clothing/shoes/brown/box2550away(src)
new /obj/item/clothing/shoes/brown/box2550away(src)
new /obj/item/clothing/shoes/brown/box2550away(src)
new /obj/item/clothing/shoes/brown/box2550away(src)
new /obj/item/clothing/shoes/brown/box2550away(src)
/obj/machinery/disposal/box2550away/toilet
name = "toilet"
desc = "The HT-451, a torque rotation-based, waste disposal unit for small matter. This one seems remarkably clean."
icon = 'icons/obj/watercloset.dmi'
icon_state = "toilet10" //lid up
density = 0
/obj/machinery/box2550away/fake_status_display
name = "status display"
icon = 'icons/obj/status_display.dmi'
icon_state = "frame"
anchored = 1
density = 0
desc = "The display says: \n\n"
/obj/machinery/box2550away/fake_status_display/ai
name = "\improper AI display"
desc = null
overlays = list("ai_bsod")
/obj/machinery/disposal/box2550away/toilet/update()
overlays.Cut()
if(stat & BROKEN)
mode = 0
flush = 0
return
// flush handle
if(flush)
return
// only handle is shown if no power
if(stat & NOPOWER || mode == -1)
return
// check for items in disposal - occupied light
if(contents.len > 0)
return
// charging and ready light
if(mode == 1)
return
else if(mode == 2)
return
+17 -17
View File
@@ -88,11 +88,11 @@
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start slicing the floorweld off the disposal unit."
user << "You start slicing the floorweld off \the [src]."
if(do_after(user,20))
if(!src || !W.isOn()) return
user << "You sliced the floorweld off the disposal unit."
user << "You slice the floorweld off \the [src]."
var/obj/structure/disposalconstruct/C = new (src.loc)
src.transfer_fingerprints_to(C)
C.ptype = 6 // 6 = disposal unit
@@ -106,7 +106,7 @@
return
if(istype(I, /obj/item/weapon/melee/energy/blade))
user << "You can't place that item inside the disposal unit."
user << "You can't place \the [I] into \the [src]."
return
if(istype(I, /obj/item/weapon/storage/bag/trash))
@@ -123,14 +123,14 @@
if(ismob(G.affecting))
var/mob/GM = G.affecting
for (var/mob/V in viewers(usr))
V.show_message("[usr] starts putting [GM.name] into the disposal.", 3)
V.show_message("[usr] starts putting [GM.name] into \the [src].", 3)
if(do_after(usr, 20))
if (GM.client)
GM.client.perspective = EYE_PERSPECTIVE
GM.client.eye = src
GM.loc = src
for (var/mob/C in viewers(src))
C.show_message("\red [GM.name] has been placed in the [src] by [user].", 3)
C.show_message("\red [GM.name] has been placed in \the [src] by [user].", 3)
del(G)
return
@@ -140,11 +140,11 @@
if(I)
I.loc = src
user << "You place \the [I] into the [src]."
user << "You place \the [I] into \the [src]."
for(var/mob/M in viewers(src))
if(M == user)
continue
M.show_message("[user.name] places \the [I] into the [src].", 3)
M.show_message("[user.name] places \the [I] into \the [src].", 3)
update()
@@ -158,22 +158,22 @@
var/msg
for (var/mob/V in viewers(usr))
if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis)
V.show_message("[usr] starts climbing into the disposal.", 3)
V.show_message("[usr] starts climbing into \the [src].", 3)
if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis)
if(target.anchored) return
if(!ishuman(user) && !ismonkey(user)) return
V.show_message("[usr] starts stuffing [target.name] into the disposal.", 3)
V.show_message("[usr] starts stuffing [target.name] into \the [src].", 3)
if(!do_after(usr, 20))
return
if(target_loc != target.loc)
return
if(target == user && !user.stat && !user.weakened && !user.stunned && !user.paralysis) // if drop self, then climbed in
// must be awake, not stunned or whatever
msg = "[user.name] climbs into the [src]."
user << "You climb into the [src]."
msg = "[user.name] climbs into \the [src]."
user << "You climb into \the [src]."
else if(target != user && !user.restrained() && !user.stat && !user.weakened && !user.stunned && !user.paralysis)
msg = "[user.name] stuffs [target.name] into the [src]!"
user << "You stuff [target.name] into the [src]!"
msg = "[user.name] stuffs [target.name] into \the [src]!"
user << "You stuff [target.name] into \the [src]!"
else
return
if (target.client)
@@ -245,7 +245,7 @@
// hostile mob escape from disposals
/obj/machinery/disposal/attack_animal(var/mob/living/simple_animal/M)
if(M.environment_smash)
visible_message("<span class='danger'>[M.name] smashes [src] apart!</span>")
visible_message("<span class='danger'>[M.name] smashes \the [src] apart!</span>")
del(src)
return
@@ -293,7 +293,7 @@
return
if(mode==-1 && !href_list["eject"]) // only allow ejecting if mode is -1
usr << "\red The disposal units power is disabled."
usr << "\red \The [src]'s power is disabled."
return
..()
usr.set_machine(src)
@@ -1290,10 +1290,10 @@
var/obj/item/weapon/weldingtool/W = I
if(W.remove_fuel(0,user))
playsound(src.loc, 'sound/items/Welder2.ogg', 100, 1)
user << "You start slicing the floorweld off the disposal outlet."
user << "You start slicing the floorweld off \the [src]."
if(do_after(user,20))
if(!src || !W.isOn()) return
user << "You sliced the floorweld off the disposal outlet."
user << "You slice the floorweld off \the [src]."
var/obj/structure/disposalconstruct/C = new (src.loc)
src.transfer_fingerprints_to(C)
C.ptype = 7 // 7 = outlet
Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

After

Width:  |  Height:  |  Size: 278 KiB