mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-11 15:14:27 +01:00
Improves barsigns and makes them buildable. (#24685)
* Improves barsigns and makes them buildable. * Requested fixes. * fingerprints and a parent call on attack_hand() (sure hope this doesn't break anything) * More fixes. (the change to barsigns.dmi is removing a bunch of almost-transparent pixels on the mead bay sign that shouldn't have been there) * Even more fixes. * Better code and sprite fixes. * early returns * better * more * switch * qwertyuiop * whoops * maps are stupid * mcramon sprites :o * i hope mapmerge works this time * i hope mapmerge works THIS time * zrsxdctfhghfcdszzsxdgcfhv --------- Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
This commit is contained in:
@@ -3133,10 +3133,6 @@
|
||||
icon_state = "stage_stairs"
|
||||
},
|
||||
/area/ruin/space/derelict/crew_quarters)
|
||||
"hF" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall/mineral/titanium/nodecon,
|
||||
/area/ruin/space/derelict/crew_quarters)
|
||||
"hH" = (
|
||||
/obj/machinery/door/airlock/public/glass{
|
||||
name = "Eastern Annex"
|
||||
@@ -7553,6 +7549,13 @@
|
||||
},
|
||||
/turf/simulated/wall/mineral/titanium/nodecon/nodiagonal,
|
||||
/area/ruin/space/derelict/arrival)
|
||||
"Ef" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/ruin/space/derelict/crew_quarters)
|
||||
"Nv" = (
|
||||
/obj/effect/spawner/airlock{
|
||||
req_access_txt = 0
|
||||
@@ -13520,8 +13523,8 @@ gn
|
||||
gG
|
||||
gG
|
||||
gG
|
||||
hF
|
||||
hT
|
||||
aV
|
||||
Ef
|
||||
in
|
||||
iK
|
||||
je
|
||||
|
||||
@@ -1121,6 +1121,12 @@
|
||||
icon_state = "cafeteria"
|
||||
},
|
||||
/area/ghost_bar)
|
||||
"et" = (
|
||||
/obj/machinery/barsign/ghost_bar{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/ghost_bar)
|
||||
"ev" = (
|
||||
/turf/simulated/floor/beach/sand,
|
||||
/area/holodeck/source_beach)
|
||||
@@ -2689,6 +2695,15 @@
|
||||
/obj/structure/chair/stool,
|
||||
/turf/simulated/floor/mineral/plastitanium/red,
|
||||
/area/shuttle/syndicate)
|
||||
"jA" = (
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "green"
|
||||
},
|
||||
/area/centcom/evac)
|
||||
"jB" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/machinery/door_control/no_emag{
|
||||
@@ -5375,10 +5390,6 @@
|
||||
/obj/effect/landmark/spawner/syndie,
|
||||
/turf/simulated/floor/wood,
|
||||
/area/syndicate_mothership)
|
||||
"sd" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall/indestructible/riveted,
|
||||
/area/ghost_bar)
|
||||
"se" = (
|
||||
/obj/structure/chair/comfy/shuttle{
|
||||
dir = 4
|
||||
@@ -7985,7 +7996,7 @@
|
||||
/turf/simulated/wall/indestructible/syndicate,
|
||||
/area/admin)
|
||||
"Cv" = (
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/machinery/icemachine,
|
||||
@@ -9238,7 +9249,7 @@
|
||||
/area/centcom/specops)
|
||||
"GT" = (
|
||||
/obj/structure/chair,
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/effect/landmark/spawner/tdomeobserve,
|
||||
@@ -12930,7 +12941,7 @@
|
||||
pixel_y = 5
|
||||
},
|
||||
/obj/structure/table/wood,
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
@@ -13931,11 +13942,6 @@
|
||||
},
|
||||
/turf/simulated/wall/indestructible/fakeglass,
|
||||
/area/centcom/specops)
|
||||
"Xi" = (
|
||||
/obj/effect/spawner/window,
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/centcom/evac)
|
||||
"Xj" = (
|
||||
/turf/simulated/floor/transparent/glass,
|
||||
/area/centcom/specops)
|
||||
@@ -46023,8 +46029,8 @@ Ng
|
||||
Ng
|
||||
So
|
||||
Vs
|
||||
Xi
|
||||
Xx
|
||||
Qe
|
||||
jA
|
||||
YO
|
||||
ZZ
|
||||
gI
|
||||
@@ -73030,8 +73036,8 @@ vd
|
||||
Ml
|
||||
vd
|
||||
xy
|
||||
sd
|
||||
Jy
|
||||
Me
|
||||
et
|
||||
Jy
|
||||
Jy
|
||||
Jy
|
||||
|
||||
@@ -24963,10 +24963,6 @@
|
||||
"bzd" = (
|
||||
/turf/simulated/floor/plasteel/goonplaque/memorial,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"bze" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall,
|
||||
/area/station/service/bar)
|
||||
"bzf" = (
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
@@ -76275,6 +76271,12 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/maintenance/apmaint)
|
||||
"pcF" = (
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/primary/starboard/west)
|
||||
"pcH" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
@@ -130569,8 +130571,8 @@ bmq
|
||||
bmq
|
||||
bmq
|
||||
bzo
|
||||
bze
|
||||
bAk
|
||||
aUS
|
||||
pcF
|
||||
bHy
|
||||
bDb
|
||||
bEy
|
||||
|
||||
@@ -3620,7 +3620,6 @@
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 2;
|
||||
icon_state = "green"
|
||||
},
|
||||
/area/station/public/quantum/service)
|
||||
@@ -26138,10 +26137,6 @@
|
||||
"cMz" = (
|
||||
/turf/simulated/wall/r_wall,
|
||||
/area/station/maintenance/fore)
|
||||
"cMA" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall,
|
||||
/area/station/maintenance/gambling_den)
|
||||
"cME" = (
|
||||
/obj/structure/cable/orange{
|
||||
d1 = 2;
|
||||
@@ -48367,10 +48362,6 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/hallway/spacebridge/serveng)
|
||||
"iwJ" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall,
|
||||
/area/station/service/bar)
|
||||
"iwU" = (
|
||||
/obj/structure/sign/directions/evac{
|
||||
dir = 4;
|
||||
@@ -54698,7 +54689,6 @@
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 2;
|
||||
icon_state = "green"
|
||||
},
|
||||
/area/station/public/quantum/service)
|
||||
@@ -62093,6 +62083,9 @@
|
||||
/obj/structure/chair/sofa/corp{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/simulated/floor/carpet,
|
||||
/area/station/hallway/primary/port/east)
|
||||
"mJX" = (
|
||||
@@ -62400,6 +62393,9 @@
|
||||
"mPu" = (
|
||||
/obj/structure/table/wood/poker,
|
||||
/obj/effect/spawner/lootdrop/maintenance,
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/wood{
|
||||
icon_state = "wood-broken"
|
||||
},
|
||||
@@ -70189,16 +70185,6 @@
|
||||
icon_state = "white"
|
||||
},
|
||||
/area/station/science/misc_lab)
|
||||
"pqq" = (
|
||||
/obj/machinery/door/airlock/multi_tile/glass{
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/autoname,
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
/area/station/public/quantum/security)
|
||||
"pqr" = (
|
||||
/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
|
||||
dir = 4
|
||||
@@ -116888,7 +116874,7 @@ xla
|
||||
sZf
|
||||
aWA
|
||||
iEe
|
||||
pqq
|
||||
bNX
|
||||
ibX
|
||||
jzf
|
||||
hPy
|
||||
@@ -118729,7 +118715,7 @@ pkc
|
||||
iqL
|
||||
rZl
|
||||
mJT
|
||||
iwJ
|
||||
aZZ
|
||||
iox
|
||||
bjr
|
||||
rRc
|
||||
@@ -122101,7 +122087,7 @@ bhO
|
||||
hUU
|
||||
sbn
|
||||
sbn
|
||||
cMA
|
||||
uJT
|
||||
mPu
|
||||
mER
|
||||
oWa
|
||||
|
||||
@@ -2819,7 +2819,7 @@
|
||||
/area/station/maintenance/fore)
|
||||
"aqv" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/item/wrench,
|
||||
@@ -4880,7 +4880,7 @@
|
||||
/turf/simulated/floor/engine,
|
||||
/area/station/engineering/controlroom)
|
||||
"avL" = (
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
@@ -9070,7 +9070,7 @@
|
||||
/area/station/service/bar)
|
||||
"aGA" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/chem_dispenser/soda{
|
||||
@@ -10213,6 +10213,12 @@
|
||||
/obj/effect/landmark/spawner/nukedisc_respawn,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/maintenance/auxsolarport)
|
||||
"aJK" = (
|
||||
/obj/machinery/light,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/alarm/directional/south,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"aJM" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
@@ -13792,10 +13798,6 @@
|
||||
icon_state = "bar"
|
||||
},
|
||||
/area/station/service/bar)
|
||||
"aTq" = (
|
||||
/obj/effect/spawner/airlock,
|
||||
/turf/simulated/wall,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"aTr" = (
|
||||
/obj/machinery/atmospherics/unary/vent_pump/on{
|
||||
dir = 1
|
||||
@@ -54207,7 +54209,7 @@
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/sign/barsign{
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
@@ -61709,13 +61711,21 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/primary/aft/south)
|
||||
"dHO" = (
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
d2 = 8;
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d2 = 8;
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"dHQ" = (
|
||||
@@ -62691,17 +62701,6 @@
|
||||
},
|
||||
/turf/simulated/floor/carpet/blue,
|
||||
/area/station/command/office/blueshield)
|
||||
"dNS" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 4;
|
||||
dwidth = 16;
|
||||
height = 21;
|
||||
id = "emergency_home";
|
||||
name = "emergency evac bay";
|
||||
width = 41
|
||||
},
|
||||
/turf/space,
|
||||
/area/space)
|
||||
"dNZ" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/plasteel{
|
||||
@@ -63949,16 +63948,6 @@
|
||||
/obj/item/crowbar/red,
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/station/maintenance/apmaint)
|
||||
"dSB" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"dSD" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
@@ -64691,12 +64680,6 @@
|
||||
icon_state = "neutralfull"
|
||||
},
|
||||
/area/station/hallway/primary/central)
|
||||
"dUY" = (
|
||||
/obj/machinery/light,
|
||||
/obj/effect/turf_decal/stripes/line,
|
||||
/obj/machinery/alarm/directional/south,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"dUZ" = (
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/status_display{
|
||||
@@ -66432,6 +66415,16 @@
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/wall,
|
||||
/area/station/legal/lawoffice)
|
||||
"evE" = (
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"evX" = (
|
||||
/obj/structure/cable,
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
@@ -66566,6 +66559,22 @@
|
||||
icon_state = "yellowcorner"
|
||||
},
|
||||
/area/station/hallway/primary/port/east)
|
||||
"ezr" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 6
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 4;
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/station/medical/virology)
|
||||
"ezR" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/plasteel{
|
||||
@@ -69236,6 +69245,10 @@
|
||||
icon_state = "redyellowfull"
|
||||
},
|
||||
/area/station/maintenance/fsmaint)
|
||||
"gcP" = (
|
||||
/obj/effect/spawner/airlock,
|
||||
/turf/simulated/wall,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"gdJ" = (
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/turf/simulated/floor/plating,
|
||||
@@ -71023,6 +71036,16 @@
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/command/office/rd)
|
||||
"hli" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"hly" = (
|
||||
/obj/structure/table/wood,
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
@@ -75560,15 +75583,6 @@
|
||||
icon_state = "whiteblue"
|
||||
},
|
||||
/area/station/medical/storage)
|
||||
"kdg" = (
|
||||
/obj/structure/sign/vacuum{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"kdm" = (
|
||||
/obj/machinery/power/apc/critical/directional/north,
|
||||
/obj/machinery/firealarm{
|
||||
@@ -75669,6 +75683,15 @@
|
||||
},
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/station/medical/morgue)
|
||||
"kfC" = (
|
||||
/obj/structure/sign/vacuum{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"kfT" = (
|
||||
/obj/structure/cable{
|
||||
d2 = 4;
|
||||
@@ -76089,6 +76112,17 @@
|
||||
/obj/effect/spawner/random_spawners/blood_maybe,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/maintenance/fsmaint)
|
||||
"ksE" = (
|
||||
/obj/docking_port/stationary{
|
||||
dir = 4;
|
||||
dwidth = 16;
|
||||
height = 21;
|
||||
id = "emergency_home";
|
||||
name = "emergency evac bay";
|
||||
width = 41
|
||||
},
|
||||
/turf/space,
|
||||
/area/space)
|
||||
"ksV" = (
|
||||
/obj/machinery/door/airlock/maintenance,
|
||||
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
|
||||
@@ -82354,22 +82388,6 @@
|
||||
icon_state = "red"
|
||||
},
|
||||
/area/station/security/permabrig)
|
||||
"ogR" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 6
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 4;
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/station/medical/virology)
|
||||
"ogX" = (
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Experimentation Lab Office";
|
||||
@@ -91307,6 +91325,21 @@
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/science/research)
|
||||
"tjT" = (
|
||||
/obj/item/radio/intercom{
|
||||
name = "west bump";
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/machinery/newscaster{
|
||||
dir = 1;
|
||||
name = "south bump";
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"tkb" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 6
|
||||
@@ -91839,24 +91872,6 @@
|
||||
icon_state = "yellowcorner"
|
||||
},
|
||||
/area/station/hallway/primary/port/west)
|
||||
"tEp" = (
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
icon_state = "2-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 8;
|
||||
icon_state = "1-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
d2 = 8;
|
||||
icon_state = "0-8"
|
||||
},
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"tEw" = (
|
||||
/obj/structure/showcase{
|
||||
density = 0;
|
||||
@@ -92354,21 +92369,6 @@
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/station/security/prison/cell_block)
|
||||
"tSp" = (
|
||||
/obj/item/radio/intercom{
|
||||
name = "west bump";
|
||||
pixel_x = -28
|
||||
},
|
||||
/obj/machinery/newscaster{
|
||||
dir = 1;
|
||||
name = "south bump";
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 10
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/hallway/secondary/exit)
|
||||
"tSt" = (
|
||||
/obj/structure/table,
|
||||
/obj/item/reagent_containers/drinks/drinkingglass{
|
||||
@@ -136687,7 +136687,7 @@ dIx
|
||||
dIx
|
||||
dIx
|
||||
dIx
|
||||
aTq
|
||||
gcP
|
||||
abj
|
||||
aaa
|
||||
aaa
|
||||
@@ -137198,7 +137198,7 @@ dPM
|
||||
dkq
|
||||
dSs
|
||||
dSP
|
||||
dSB
|
||||
hli
|
||||
dIH
|
||||
dIH
|
||||
dIH
|
||||
@@ -137456,8 +137456,8 @@ dNa
|
||||
dXJ
|
||||
dKo
|
||||
dUj
|
||||
kdg
|
||||
tSp
|
||||
kfC
|
||||
tjT
|
||||
dIH
|
||||
abj
|
||||
aaa
|
||||
@@ -138742,7 +138742,7 @@ joI
|
||||
dNc
|
||||
dNQ
|
||||
dOw
|
||||
dUY
|
||||
aJK
|
||||
dIH
|
||||
abj
|
||||
aaa
|
||||
@@ -140526,10 +140526,10 @@ pIY
|
||||
kuJ
|
||||
kpd
|
||||
kpd
|
||||
tEp
|
||||
dHO
|
||||
dHO
|
||||
dHO
|
||||
evE
|
||||
evE
|
||||
evE
|
||||
tJT
|
||||
dKQ
|
||||
jpk
|
||||
@@ -141304,7 +141304,7 @@ aaa
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
dNS
|
||||
ksE
|
||||
aaa
|
||||
aaa
|
||||
aaa
|
||||
@@ -149011,7 +149011,7 @@ dGw
|
||||
dGw
|
||||
hGZ
|
||||
qgr
|
||||
ogR
|
||||
ezr
|
||||
wWW
|
||||
qfH
|
||||
sRk
|
||||
|
||||
@@ -6218,10 +6218,6 @@
|
||||
},
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/station/engineering/control)
|
||||
"aHe" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall,
|
||||
/area/station/service/bar)
|
||||
"aHg" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
@@ -45393,6 +45389,14 @@
|
||||
icon_state = "neutralcorner"
|
||||
},
|
||||
/area/station/hallway/primary/central/west)
|
||||
"dKD" = (
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = -32
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "redcorner"
|
||||
},
|
||||
/area/station/hallway/primary/starboard)
|
||||
"dKK" = (
|
||||
/obj/effect/spawner/window/reinforced/grilled,
|
||||
/turf/simulated/floor/plating,
|
||||
@@ -127034,8 +127038,8 @@ bjp
|
||||
bez
|
||||
vtx
|
||||
boY
|
||||
bqA
|
||||
aHe
|
||||
dKD
|
||||
bsp
|
||||
ded
|
||||
bEv
|
||||
bEv
|
||||
|
||||
@@ -454,6 +454,12 @@
|
||||
},
|
||||
/turf/simulated/floor/pod,
|
||||
/area/ruin/powered/beach)
|
||||
"qe" = (
|
||||
/obj/machinery/barsign{
|
||||
pixel_y = 32
|
||||
},
|
||||
/turf/simulated/floor/beach/sand,
|
||||
/area/ruin/powered/beach)
|
||||
"qT" = (
|
||||
/obj/machinery/shower{
|
||||
dir = 8
|
||||
@@ -491,10 +497,6 @@
|
||||
},
|
||||
/turf/simulated/floor/beach/sand,
|
||||
/area/ruin/powered/beach)
|
||||
"Ds" = (
|
||||
/obj/structure/sign/barsign,
|
||||
/turf/simulated/wall/mineral/sandstone,
|
||||
/area/ruin/powered/beach)
|
||||
"Ec" = (
|
||||
/obj/machinery/door/airlock/sandstone{
|
||||
name = "Beach Access"
|
||||
@@ -1087,8 +1089,8 @@ aC
|
||||
aC
|
||||
aC
|
||||
JF
|
||||
Ds
|
||||
bE
|
||||
aj
|
||||
qe
|
||||
bE
|
||||
bE
|
||||
bE
|
||||
|
||||
@@ -1172,7 +1172,7 @@ GLOBAL_LIST_INIT(wall_items, typecacheof(list(/obj/machinery/power/apc, /obj/mac
|
||||
/obj/machinery/computer/security/telescreen, /obj/machinery/airlock_controller,
|
||||
/obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth,
|
||||
/obj/structure/mirror, /obj/structure/closet/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment,
|
||||
/obj/structure/sign)))
|
||||
/obj/structure/sign, /obj/machinery/barsign)))
|
||||
|
||||
/proc/gotwallitem(loc, dir)
|
||||
for(var/obj/O in loc)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
/atom/movable/lighting_object,
|
||||
/obj/machinery/dna_vault,
|
||||
/obj/machinery/power/bluespace_tap,
|
||||
/obj/structure/sign/barsign,
|
||||
/obj/machinery/barsign,
|
||||
/obj/machinery/atmospherics/unary/cryo_cell,
|
||||
/obj/machinery/gravity_generator
|
||||
)
|
||||
|
||||
@@ -113,6 +113,7 @@ GLOBAL_LIST_INIT(metal_recipes, list(
|
||||
new /datum/stack_recipe("air alarm frame", /obj/item/mounted/frame/alarm_frame, 2),
|
||||
new /datum/stack_recipe("fire alarm frame", /obj/item/mounted/frame/firealarm, 2),
|
||||
new /datum/stack_recipe("intercom frame", /obj/item/mounted/frame/intercom, 2),
|
||||
new /datum/stack_recipe/barsign_frame("bar sign frame", /obj/machinery/barsign, 4),
|
||||
new /datum/stack_recipe("extinguisher cabinet frame", /obj/item/mounted/frame/extinguisher, 2),
|
||||
null
|
||||
))
|
||||
|
||||
@@ -1,34 +1,46 @@
|
||||
/// All Signs are 64 by 32 pixels, they take two tiles
|
||||
/obj/structure/sign/barsign
|
||||
#define BARSIGN_FRAME 0
|
||||
#define BARSIGN_CIRCUIT 1
|
||||
#define BARSIGN_WIRED 2
|
||||
#define BARSIGN_COMPLETE 3
|
||||
|
||||
// All Signs are 64 by 32 pixels, they take two tiles
|
||||
/obj/machinery/barsign
|
||||
name = "Bar Sign"
|
||||
desc = "A bar sign with no writing on it."
|
||||
icon = 'icons/obj/barsigns.dmi'
|
||||
icon_state = "empty"
|
||||
icon_state = "off"
|
||||
req_access = list(ACCESS_BAR)
|
||||
max_integrity = 500
|
||||
integrity_failure = 250
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 100, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50)
|
||||
var/list/barsigns=list()
|
||||
var/list/hiddensigns
|
||||
max_integrity = 200
|
||||
integrity_failure = 160
|
||||
idle_power_consumption = 5
|
||||
active_power_consumption = 25
|
||||
power_state = ACTIVE_POWER_USE
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 20, ENERGY = 100, BOMB = 0, RAD = 100, FIRE = 50, ACID = 50)
|
||||
anchored = TRUE
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
var/list/barsigns = list()
|
||||
var/list/syndisigns = list()
|
||||
var/datum/barsign/current_sign
|
||||
var/datum/barsign/prev_sign
|
||||
var/panel_open = FALSE
|
||||
blocks_emissive = FALSE
|
||||
does_emissive = TRUE
|
||||
var/build_stage = BARSIGN_COMPLETE
|
||||
|
||||
/obj/structure/sign/barsign/Initialize(mapload)
|
||||
/obj/machinery/barsign/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
//filling the barsigns list
|
||||
// Fill the barsigns lists
|
||||
for(var/bartype in subtypesof(/datum/barsign))
|
||||
var/datum/barsign/signinfo = new bartype
|
||||
if(!signinfo.hidden)
|
||||
if(signinfo.hidden)
|
||||
continue
|
||||
if(!signinfo.syndicate)
|
||||
barsigns += signinfo
|
||||
else
|
||||
syndisigns += signinfo
|
||||
|
||||
//randomly assigning a sign
|
||||
set_sign(pick(barsigns))
|
||||
set_random_sign()
|
||||
set_light(1, LIGHTING_MINIMUM_POWER)
|
||||
|
||||
/obj/structure/sign/barsign/proc/set_sign(datum/barsign/sign)
|
||||
/obj/machinery/barsign/proc/set_sign(datum/barsign/sign)
|
||||
if(!istype(sign))
|
||||
return
|
||||
current_sign = sign
|
||||
@@ -41,363 +53,729 @@
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/structure/sign/barsign/update_icon_state()
|
||||
. = ..()
|
||||
/obj/machinery/barsign/proc/set_random_sign()
|
||||
if(!emagged)
|
||||
set_sign(pick(barsigns))
|
||||
else
|
||||
set_sign(pick(syndisigns))
|
||||
|
||||
if(!current_sign || broken)
|
||||
icon_state = "empty"
|
||||
// Saves a /datum/barsign to the prev_sign variable.
|
||||
/obj/machinery/barsign/proc/save_sign(datum/barsign/S)
|
||||
// Broken, blank, and EMPed screens shouldn't be saved.
|
||||
if(istype(S, /datum/barsign) && !istype(S, /datum/barsign/hiddensigns))
|
||||
prev_sign = S
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/barsign/update_icon_state()
|
||||
switch(build_stage)
|
||||
if(BARSIGN_FRAME)
|
||||
if(!istype(current_sign, /datum/barsign/hiddensigns/building/frame))
|
||||
set_sign(new /datum/barsign/hiddensigns/building/frame)
|
||||
return
|
||||
if(BARSIGN_CIRCUIT)
|
||||
if(!istype(current_sign, /datum/barsign/hiddensigns/building/circuited))
|
||||
set_sign(new /datum/barsign/hiddensigns/building/circuited)
|
||||
return
|
||||
if(BARSIGN_WIRED)
|
||||
if(!istype(current_sign, /datum/barsign/hiddensigns/building/wired))
|
||||
set_sign(new /datum/barsign/hiddensigns/building/wired)
|
||||
return
|
||||
if(BARSIGN_COMPLETE)
|
||||
if((stat & BROKEN) && !istype(current_sign, /datum/barsign/hiddensigns/signbroken))
|
||||
set_sign(new /datum/barsign/hiddensigns/signbroken)
|
||||
return
|
||||
if((stat & NOPOWER) && !(stat & BROKEN) && !istype(current_sign, /datum/barsign/hiddensigns/signoff))
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
return
|
||||
if((stat & EMPED) && !(stat & BROKEN|NOPOWER) && !istype(current_sign, /datum/barsign/hiddensigns/empbarsign))
|
||||
set_sign(new /datum/barsign/hiddensigns/empbarsign)
|
||||
return
|
||||
if(!current_sign)
|
||||
turn_off()
|
||||
return
|
||||
icon_state = current_sign.icon
|
||||
|
||||
/obj/structure/sign/barsign/update_overlays()
|
||||
// Allows the sign to be visible in complete darkness.
|
||||
/obj/machinery/barsign/update_overlays()
|
||||
. = ..()
|
||||
underlays.Cut()
|
||||
|
||||
if(current_sign == "empty" || broken || !current_sign)
|
||||
if(!is_on() || stat & (BROKEN|NOPOWER) || !current_sign || build_stage < BARSIGN_COMPLETE)
|
||||
return
|
||||
|
||||
underlays |= emissive_appearance(icon, current_sign.icon)
|
||||
|
||||
/obj/structure/sign/barsign/obj_break(damage_flag)
|
||||
if(!broken && !(flags & NODECONSTRUCT))
|
||||
broken = TRUE
|
||||
prev_sign = current_sign
|
||||
set_light(0)
|
||||
update_icon()
|
||||
/obj/machinery/barsign/examine(mob/user)
|
||||
. = ..()
|
||||
switch(build_stage)
|
||||
if(BARSIGN_FRAME)
|
||||
. += "<span class='notice'>It's missing a <i>circuit board</i> and the <b>bolts</b> are exposed.</span>"
|
||||
if(BARSIGN_CIRCUIT)
|
||||
. += "<span class='notice'>The frame needs <i>wiring</i> and the circuit board could be <b>pried out</b>.</span>"
|
||||
if(BARSIGN_WIRED)
|
||||
. += "<span class='notice'>The frame lacks a <i>glass screen</i> and is filled with wires that could be <b>cut</b>.</span>"
|
||||
if(BARSIGN_COMPLETE)
|
||||
. += "<span class='info'><b>Alt-Click</b> to toggle its power.</span>"
|
||||
if(panel_open)
|
||||
. += "<span class='notice'>It is disabled by its <i>unscrewed</i> maintenance panel that exposes an area from which the screen could be <b>pried out</b>.</span>"
|
||||
|
||||
/obj/structure/sign/barsign/deconstruct(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/metal(drop_location(), 2)
|
||||
new /obj/item/stack/cable_coil(drop_location(), 2)
|
||||
qdel(src)
|
||||
/obj/machinery/barsign/proc/is_on()
|
||||
if(power_state == ACTIVE_POWER_USE)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/structure/sign/barsign/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE)
|
||||
if(BURN)
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
/obj/structure/sign/barsign/attack_ai(mob/user as mob)
|
||||
return src.attack_hand(user)
|
||||
|
||||
/obj/structure/sign/barsign/attack_hand(mob/user as mob)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class = 'info'>Access denied.</span>")
|
||||
return
|
||||
if(broken)
|
||||
to_chat(user, "<span class ='danger'>The controls seem unresponsive.</span>")
|
||||
return
|
||||
pick_sign()
|
||||
|
||||
/obj/structure/sign/barsign/attackby(obj/item/I, mob/user)
|
||||
if(istype(I, /obj/item/stack/cable_coil) && panel_open)
|
||||
var/obj/item/stack/cable_coil/C = I
|
||||
if(emagged) //Emagged, not broken by EMP
|
||||
to_chat(user, "<span class='warning'>Sign has been damaged beyond repair!</span>")
|
||||
return
|
||||
else if(!broken)
|
||||
to_chat(user, "<span class='warning'>This sign is functioning properly!</span>")
|
||||
return
|
||||
|
||||
if(C.use(2))
|
||||
to_chat(user, "<span class='notice'>You replace the burnt wiring.</span>")
|
||||
broken = FALSE
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need at least two lengths of cable!</span>")
|
||||
/obj/machinery/barsign/proc/toggle_on_off()
|
||||
if(is_on())
|
||||
return turn_off()
|
||||
else
|
||||
return ..()
|
||||
return turn_on()
|
||||
|
||||
/obj/structure/sign/barsign/screwdriver_act(mob/user, obj/item/I)
|
||||
if(!panel_open)
|
||||
to_chat(user, "<span class='notice'>You open the maintenance panel.</span>")
|
||||
prev_sign = current_sign
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You close the maintenance panel.</span>")
|
||||
if(!broken && !emagged)
|
||||
set_sign(prev_sign)
|
||||
set_light(1, LIGHTING_MINIMUM_POWER)
|
||||
else if(emagged)
|
||||
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
|
||||
else
|
||||
set_sign(new /datum/barsign/hiddensigns/empbarsign)
|
||||
panel_open = !panel_open
|
||||
/obj/machinery/barsign/proc/turn_off()
|
||||
if((stat & (BROKEN|EMPED|MAINT)) || !is_on() || build_stage < BARSIGN_COMPLETE)
|
||||
return FALSE
|
||||
save_sign(current_sign)
|
||||
set_light(0)
|
||||
power_state = IDLE_POWER_USE
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
playsound(src, 'sound/machines/lightswitch.ogg', 10, TRUE)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/sign/barsign/emp_act(severity)
|
||||
set_sign(new /datum/barsign/hiddensigns/empbarsign)
|
||||
broken = TRUE
|
||||
/obj/machinery/barsign/proc/turn_on()
|
||||
if((stat & (BROKEN|NOPOWER|MAINT)) || is_on() || build_stage < BARSIGN_COMPLETE)
|
||||
return FALSE
|
||||
if(panel_open)
|
||||
return FALSE
|
||||
set_light(1, LIGHTING_MINIMUM_POWER)
|
||||
power_state = ACTIVE_POWER_USE
|
||||
if(prev_sign)
|
||||
set_sign(prev_sign)
|
||||
else
|
||||
set_random_sign()
|
||||
playsound(src, 'sound/machines/lightswitch.ogg', 10, TRUE)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/sign/barsign/emag_act(mob/user)
|
||||
if(broken || emagged)
|
||||
to_chat(user, "<span class='warning'>Nothing interesting happens!</span>")
|
||||
/obj/machinery/barsign/attack_hand(mob/user)
|
||||
if(..())
|
||||
return
|
||||
if(stat & MAINT)
|
||||
to_chat(user, "<span class='warning'>Wait until the repairs are complete!</span>")
|
||||
return
|
||||
if((stat & (BROKEN|NOPOWER|EMPED)) || build_stage < BARSIGN_COMPLETE)
|
||||
to_chat(user, "<span class='warning'>The controls seem unresponsive.</span>")
|
||||
return
|
||||
if(panel_open)
|
||||
to_chat(user, "<span class='warning'>Close the maintenance panel first!</span>")
|
||||
return
|
||||
if(!allowed(user))
|
||||
to_chat(user, "<span class='warning'>Access denied.</span>")
|
||||
return
|
||||
pick_sign(user)
|
||||
|
||||
/obj/machinery/barsign/AltClick(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(toggle_on_off())
|
||||
return
|
||||
attack_hand(user)
|
||||
|
||||
/obj/machinery/barsign/attackby(obj/item/I, mob/user, params)
|
||||
switch(build_stage)
|
||||
// Inserting the electronics/circuit
|
||||
if(BARSIGN_FRAME)
|
||||
if(istype(I, /obj/item/barsign_electronics))
|
||||
var/obj/item/barsign_electronics/electronic = I
|
||||
if(electronic.destroyed)
|
||||
emagged = TRUE
|
||||
else
|
||||
emagged = FALSE
|
||||
if(electronic.restricts_access)
|
||||
req_access = list(ACCESS_BAR)
|
||||
else
|
||||
req_access = list()
|
||||
to_chat(user, "<span class='notice'>You insert the circuit!</span>")
|
||||
qdel(electronic)
|
||||
build_stage = BARSIGN_CIRCUIT
|
||||
update_icon()
|
||||
playsound(get_turf(src), I.usesound, 50, TRUE)
|
||||
add_fingerprint(user)
|
||||
return
|
||||
// Wiring the bar sign
|
||||
if(BARSIGN_CIRCUIT)
|
||||
if(istype(I, /obj/item/stack/cable_coil))
|
||||
if(!I.use(5))
|
||||
to_chat(user, "<span class='warning'>You need a total of five cables to wire [src]!</span>")
|
||||
return
|
||||
stat &= ~EMPED
|
||||
build_stage = BARSIGN_WIRED
|
||||
update_icon()
|
||||
playsound(get_turf(src), I.usesound, 50, TRUE)
|
||||
to_chat(user, "<span class='notice'>You wire [src]!</span>")
|
||||
power_state = IDLE_POWER_USE
|
||||
add_fingerprint(user)
|
||||
return
|
||||
// Placing in the glass
|
||||
if(BARSIGN_WIRED)
|
||||
if(istype(I, /obj/item/stack/sheet/glass))
|
||||
if(!I.use(2))
|
||||
to_chat(user, "<span class='warning'>You need at least 2 sheets of glass for this!</span>")
|
||||
return
|
||||
build_stage = BARSIGN_COMPLETE
|
||||
playsound(get_turf(src), I.usesound, 50, TRUE)
|
||||
obj_integrity = max_integrity
|
||||
if(stat & BROKEN)
|
||||
stat &= ~BROKEN
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
add_fingerprint(user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/barsign/proc/pick_sign(mob/user)
|
||||
var/picked_name
|
||||
if(!emagged)
|
||||
picked_name = tgui_input_list(user, "Available Signage", "Bar Sign", barsigns)
|
||||
else
|
||||
picked_name = tgui_input_list(user, "Available Signage", "Bar Sign", syndisigns)
|
||||
if(!picked_name)
|
||||
return
|
||||
turn_on()
|
||||
set_sign(picked_name)
|
||||
|
||||
/obj/machinery/barsign/obj_break(damage_flag)
|
||||
if(!(stat & BROKEN) && !(flags & NODECONSTRUCT))
|
||||
turn_off()
|
||||
stat |= BROKEN
|
||||
// Don't break the glass unless it actually has glass.
|
||||
if(build_stage == BARSIGN_COMPLETE)
|
||||
set_sign(new /datum/barsign/hiddensigns/signbroken)
|
||||
playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
|
||||
|
||||
/obj/machinery/barsign/welder_act(mob/living/user, obj/item/I)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
return
|
||||
. = TRUE
|
||||
if(obj_integrity >= max_integrity)
|
||||
to_chat(user, "<span class='notice'>[src] does not need repairs.</span>")
|
||||
return
|
||||
if(I.tool_behaviour != TOOL_WELDER)
|
||||
return
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
var/time = max(50 * (1 - obj_integrity / max_integrity), 5)
|
||||
WELDER_ATTEMPT_REPAIR_MESSAGE
|
||||
turn_off()
|
||||
stat |= MAINT
|
||||
if(I.use_tool(src, user, time, volume = I.tool_volume))
|
||||
WELDER_REPAIR_SUCCESS_MESSAGE
|
||||
obj_integrity = max_integrity
|
||||
stat &= ~BROKEN
|
||||
set_sign(new /datum/barsign/hiddensigns/signoff)
|
||||
add_fingerprint(user)
|
||||
stat &= ~MAINT
|
||||
|
||||
/obj/machinery/barsign/screwdriver_act(mob/living/user, obj/item/I)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
return
|
||||
. = TRUE
|
||||
if(I.tool_behaviour != TOOL_SCREWDRIVER)
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = 0))
|
||||
return
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!panel_open)
|
||||
panel_open = TRUE
|
||||
turn_off()
|
||||
to_chat(user, "<span class='notice'>You open the maintenance panel of [src].</span>")
|
||||
else
|
||||
panel_open = FALSE
|
||||
to_chat(user, "<span class='notice'>You close the maintenance panel of [src].</span>")
|
||||
I.play_tool_sound(user, I.tool_volume)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/machinery/barsign/wrench_act(mob/living/user, obj/item/I)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
return
|
||||
if(build_stage != BARSIGN_FRAME)
|
||||
return
|
||||
. = TRUE
|
||||
if(I.tool_behaviour != TOOL_WRENCH)
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = 0))
|
||||
return
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
WRENCH_UNANCHOR_WALL_MESSAGE
|
||||
I.play_tool_sound(user, I.tool_volume)
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/machinery/barsign/crowbar_act(mob/living/user, obj/item/I)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
return FALSE
|
||||
if(build_stage != BARSIGN_CIRCUIT && build_stage != BARSIGN_COMPLETE)
|
||||
return FALSE
|
||||
. = TRUE
|
||||
if(I.tool_behaviour != TOOL_CROWBAR)
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = 0))
|
||||
return
|
||||
if(flags & NODECONSTRUCT)
|
||||
return
|
||||
// Removing the electronics
|
||||
if(build_stage == BARSIGN_CIRCUIT)
|
||||
var/obj/item/barsign_electronics/electronic
|
||||
electronic = new /obj/item/barsign_electronics
|
||||
if(!emagged)
|
||||
to_chat(user, "<span class='notice'>You pull the electronics out from [src].</span>")
|
||||
else
|
||||
// Give fried electronics if the sign is emagged
|
||||
to_chat(user, "<span class='notice'>You pull the fried electronics out from [src].</span>")
|
||||
electronic.destroyed = TRUE
|
||||
electronic.icon_state = "door_electronics_smoked"
|
||||
if(!length(req_access))
|
||||
electronic.restricts_access = FALSE
|
||||
electronic.forceMove(get_turf(user))
|
||||
build_stage = BARSIGN_FRAME
|
||||
update_icon()
|
||||
add_fingerprint(user)
|
||||
// Removing the glass screen
|
||||
else if(build_stage == BARSIGN_COMPLETE)
|
||||
if(!panel_open)
|
||||
to_chat(user, "<span class='warning'>Open the maintenance panel first!</span>")
|
||||
return
|
||||
// Drop a shard if the glass is broken
|
||||
if(stat & BROKEN)
|
||||
to_chat(user, "<span class='notice'>You remove the broken screen from [src].</span>")
|
||||
new /obj/item/shard(get_turf(user))
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You pull the glass screen out from [src].</span>")
|
||||
new /obj/item/stack/sheet/glass(get_turf(user), 2)
|
||||
build_stage = BARSIGN_WIRED
|
||||
update_icon()
|
||||
add_fingerprint(user)
|
||||
I.play_tool_sound(user, I.tool_volume)
|
||||
|
||||
/obj/machinery/barsign/wirecutter_act(mob/living/user, obj/item/I)
|
||||
if(user.a_intent != INTENT_HELP)
|
||||
return
|
||||
if(build_stage != BARSIGN_WIRED)
|
||||
return
|
||||
. = TRUE
|
||||
if(I.tool_behaviour != TOOL_WIRECUTTER)
|
||||
return
|
||||
if(!I.use_tool(src, user, 0, volume = 0))
|
||||
return
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(stat & EMPED)
|
||||
to_chat(user, "<span class='notice'>You remove the burnt wires out from [src].</span>")
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You cut the wires out from [src].</span>")
|
||||
new /obj/item/stack/cable_coil(get_turf(user), 5)
|
||||
build_stage = BARSIGN_CIRCUIT
|
||||
update_icon()
|
||||
power_state = NO_POWER_USE
|
||||
I.play_tool_sound(user, I.tool_volume)
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/machinery/barsign/emag_act(mob/user)
|
||||
if(stat & (BROKEN|NOPOWER|EMPED))
|
||||
to_chat(user, "<span class='warning'>[src] cannot be taken over right now!</span>")
|
||||
return
|
||||
if(emagged)
|
||||
to_chat(user, "<span class='warning'>[src] is already taken over!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You emag the barsign. Takeover in progress...</span>")
|
||||
add_fingerprint(user)
|
||||
addtimer(CALLBACK(src, PROC_REF(post_emag)), 10 SECONDS)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/sign/barsign/proc/post_emag()
|
||||
if(broken || emagged)
|
||||
/obj/machinery/barsign/proc/post_emag()
|
||||
if(stat & (BROKEN|NOPOWER|EMPED))
|
||||
return
|
||||
set_sign(new /datum/barsign/hiddensigns/syndibarsign)
|
||||
emagged = TRUE
|
||||
req_access = list(ACCESS_SYNDICATE)
|
||||
set_random_sign()
|
||||
req_access = list()
|
||||
|
||||
/obj/structure/sign/barsign/proc/pick_sign()
|
||||
var/picked_name = tgui_input_list(usr, "Available Signage", "Bar Sign", barsigns)
|
||||
if(!picked_name)
|
||||
/obj/machinery/barsign/emp_act(severity)
|
||||
if(build_stage >= BARSIGN_WIRED)
|
||||
if(!(stat & EMPED))
|
||||
stat |= EMPED
|
||||
turn_on()
|
||||
set_sign(new /datum/barsign/hiddensigns/empbarsign)
|
||||
playsound(loc, 'sound/effects/sparks4.ogg', 60, TRUE)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/barsign/power_change()
|
||||
. = ..()
|
||||
if(. && (stat & NOPOWER))
|
||||
turn_off()
|
||||
|
||||
/obj/machinery/barsign/deconstruct(disassembled = FALSE)
|
||||
if(disassembled)
|
||||
new /obj/item/stack/sheet/metal(drop_location(), 4)
|
||||
else
|
||||
new /obj/item/stack/sheet/metal(drop_location(), 2)
|
||||
if(build_stage >= BARSIGN_WIRED && !(stat & EMPED))
|
||||
new /obj/item/stack/cable_coil(drop_location(), 3)
|
||||
if(build_stage >= BARSIGN_COMPLETE)
|
||||
new /obj/item/shard(drop_location())
|
||||
qdel(src)
|
||||
|
||||
|
||||
/datum/stack_recipe/barsign_frame
|
||||
|
||||
/datum/stack_recipe/barsign_frame/try_build(mob/user, obj/item/stack/S, multiplier)
|
||||
if(!..())
|
||||
return FALSE
|
||||
var/user_turf = get_turf(user)
|
||||
var/placing_on = get_step(user_turf, user.dir)
|
||||
// Return FALSE if the user isn't facing a wall/window.
|
||||
if(!is_valid_turf(placing_on))
|
||||
to_chat(user, "<span class='warning'>You need to be facing a wall or window to place the [title].</span>")
|
||||
return FALSE
|
||||
// Return FALSE if there isn't space for the entire sign.
|
||||
if((user.dir != NORTH && user.dir != SOUTH) || !is_valid_turf(get_step(placing_on, EAST)))
|
||||
to_chat(user, "<span class='warning'>There is not enough space to place the [title].</span>")
|
||||
return FALSE
|
||||
// Return FALSE if there's already stuff on the wall.
|
||||
if(gotwallitem(user_turf, FLIP_DIR_VERTICALLY(user.dir)) || gotwallitem(get_step(user_turf, EAST), FLIP_DIR_VERTICALLY(user.dir)))
|
||||
to_chat(user, "<span class='warning'>There's already an item on the wall!</span>")
|
||||
return FALSE
|
||||
// Return FALSE if it would cause two bar signs to overlap.
|
||||
if((locate(/obj/machinery/barsign) in get_step(user_turf, WEST)))
|
||||
to_chat(user, "<span class='warning'>There's already a bar sign here!</span>")
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/stack_recipe/barsign_frame/proc/is_valid_turf(turf/T)
|
||||
if(!istype(T))
|
||||
return FALSE
|
||||
if(iswallturf(T))
|
||||
return TRUE
|
||||
if(locate(/obj/structure/window/full) in T)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/stack_recipe/barsign_frame/post_build(mob/user, obj/item/stack/S, obj/machinery/barsign/O)
|
||||
.= ..()
|
||||
playsound(O, 'sound/items/deconstruct.ogg', 10, TRUE)
|
||||
O.build_stage = BARSIGN_FRAME
|
||||
O.power_state = NO_POWER_USE
|
||||
O.set_light(0)
|
||||
O.update_icon()
|
||||
if(user.dir == SOUTH)
|
||||
O.pixel_y = -32
|
||||
else
|
||||
O.pixel_y = 32
|
||||
|
||||
|
||||
/obj/item/barsign_electronics
|
||||
name = "bar sign electronics"
|
||||
desc = "A circuit. It has a small data storage component filled with various bar sign designs."
|
||||
icon = 'icons/obj/doors/door_assembly.dmi'
|
||||
icon_state = "door_electronics"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
origin_tech = "engineering=2;programming=1"
|
||||
usesound = 'sound/items/deconstruct.ogg'
|
||||
var/destroyed = FALSE
|
||||
/// Restricts the sign to bar access if TRUE
|
||||
var/restricts_access = TRUE
|
||||
|
||||
/obj/item/barsign_electronics/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Use it while in your active hand to toggle the access restrictions.</span>"
|
||||
|
||||
/obj/item/barsign_electronics/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(destroyed)
|
||||
return
|
||||
set_sign(picked_name)
|
||||
restricts_access = !restricts_access
|
||||
to_chat(user, "<span class='notice'>You [restricts_access ? "enable" : "disable"] the access restrictions of [src].</span>")
|
||||
|
||||
// For the ghost bar since occupants don't have bar access.
|
||||
/obj/machinery/barsign/ghost_bar
|
||||
req_access = list()
|
||||
|
||||
/obj/machinery/barsign/ghost_bar/Initialize(mapload)
|
||||
. = ..()
|
||||
// Also give them access to syndicate signs because why not.
|
||||
barsigns |= syndisigns
|
||||
set_random_sign()
|
||||
|
||||
|
||||
//Code below is to define useless variables for datums. It errors without these
|
||||
/datum/barsign
|
||||
var/name = "Name"
|
||||
var/icon = "Icon"
|
||||
var/desc = "desc"
|
||||
var/hidden = 0
|
||||
var/icon = "Icon"
|
||||
/// Signs that should never be accessed by players via the selection menu.
|
||||
var/hidden = FALSE
|
||||
/// Signs that have a syndicate theme. Normally accessed by emagging the sign.
|
||||
var/syndicate = FALSE
|
||||
|
||||
//Anything below this is where all the specific signs are. If people want to add more signs, add them below.
|
||||
/datum/barsign/maltesefalcon
|
||||
name = "Maltese Falcon"
|
||||
icon = "maltesefalcon"
|
||||
desc = "The Maltese Falcon, Space Bar and Grill."
|
||||
icon = "maltesefalcon"
|
||||
|
||||
/datum/barsign/thebark
|
||||
name = "The Bark"
|
||||
icon = "thebark"
|
||||
desc = "Ian's bar of choice."
|
||||
icon = "thebark"
|
||||
|
||||
/datum/barsign/harmbaton
|
||||
name = "The Harmbaton"
|
||||
icon = "theharmbaton"
|
||||
desc = "A great dining experience for both security members and assistants."
|
||||
|
||||
icon = "theharmbaton"
|
||||
|
||||
/datum/barsign/thesingulo
|
||||
name = "The Singulo"
|
||||
icon = "thesingulo"
|
||||
desc = "Where people go that'd rather not be called by their name."
|
||||
icon = "thesingulo"
|
||||
|
||||
/datum/barsign/thedrunkcarp
|
||||
name = "The Drunk Carp"
|
||||
icon = "thedrunkcarp"
|
||||
desc = "Don't drink and swim."
|
||||
icon = "thedrunkcarp"
|
||||
|
||||
/datum/barsign/scotchservinwill
|
||||
name = "Scotch Servin Willy's"
|
||||
icon = "scotchservinwill"
|
||||
desc = "Willy sure moved up in the world from clown to bartender."
|
||||
icon = "scotchservinwill"
|
||||
|
||||
/datum/barsign/officerbeersky
|
||||
name = "Officer Beersky's"
|
||||
icon = "officerbeersky"
|
||||
desc = "Man eat a dong, these drinks are great."
|
||||
icon = "officerbeersky"
|
||||
|
||||
/datum/barsign/thecavern
|
||||
name = "The Cavern"
|
||||
icon = "thecavern"
|
||||
desc = "Fine drinks while listening to some fine tunes."
|
||||
icon = "thecavern"
|
||||
|
||||
/datum/barsign/theouterspess
|
||||
name = "The Outer Spess"
|
||||
icon = "theouterspess"
|
||||
desc = "This bar isn't actually located in outer space."
|
||||
icon = "theouterspess"
|
||||
|
||||
/datum/barsign/slipperyshots
|
||||
name = "Slippery Shots"
|
||||
icon = "slipperyshots"
|
||||
desc = "Slippery slope to drunkenness with our shots!"
|
||||
icon = "slipperyshots"
|
||||
|
||||
/datum/barsign/thegreytide
|
||||
name = "The Grey Tide"
|
||||
icon = "thegreytide"
|
||||
desc = "Abandon your toolboxing ways and enjoy a lazy beer!"
|
||||
icon = "thegreytide"
|
||||
|
||||
/datum/barsign/honkednloaded
|
||||
name = "Honked 'n' Loaded"
|
||||
icon = "honkednloaded"
|
||||
desc = "Honk."
|
||||
icon = "honkednloaded"
|
||||
|
||||
/datum/barsign/thenest
|
||||
name = "The Nest"
|
||||
icon = "thenest"
|
||||
desc = "A good place to retire for a drink after a long night of crime fighting."
|
||||
icon = "thenest"
|
||||
|
||||
/datum/barsign/thecoderbus
|
||||
name = "The Coderbus"
|
||||
icon = "thecoderbus"
|
||||
desc = "A very controversial bar known for its wide variety of constantly-changing drinks."
|
||||
icon = "thecoderbus"
|
||||
|
||||
/datum/barsign/theadminbus
|
||||
name = "The Adminbus"
|
||||
icon = "theadminbus"
|
||||
desc = "An establishment visited mainly by space-judges. It isn't bombed nearly as much as court hearings."
|
||||
icon = "theadminbus"
|
||||
|
||||
/datum/barsign/oldcockinn
|
||||
name = "The Old Cock Inn"
|
||||
icon = "oldcockinn"
|
||||
desc = "Something about this sign fills you with despair."
|
||||
icon = "oldcockinn"
|
||||
|
||||
/datum/barsign/thewretchedhive
|
||||
name = "The Wretched Hive"
|
||||
icon = "thewretchedhive"
|
||||
desc = "Legally obligated to instruct you to check your drinks for acid before consumption."
|
||||
icon = "thewretchedhive"
|
||||
|
||||
/datum/barsign/robustacafe
|
||||
name = "The Robusta Cafe"
|
||||
icon = "robustacafe"
|
||||
desc = "Holder of the 'Most Lethal Barfights' record 5 years uncontested."
|
||||
icon = "robustacafe"
|
||||
|
||||
/datum/barsign/emergencyrumparty
|
||||
name = "The Emergency Rum Party"
|
||||
icon = "emergencyrumparty"
|
||||
desc = "Still serving drinks that were banned years ago."
|
||||
icon = "emergencyrumparty"
|
||||
|
||||
/datum/barsign/combocafe
|
||||
name = "The Combo Cafe"
|
||||
icon = "combocafe"
|
||||
desc = "Renowned system-wide for their utterly uncreative drink combinations."
|
||||
icon = "combocafe"
|
||||
|
||||
/datum/barsign/vladssaladbar
|
||||
name = "Vlad's Salad Bar"
|
||||
icon = "vladssaladbar"
|
||||
desc = "Under new management. Vlad was always a bit too trigger happy with that shotgun."
|
||||
icon = "vladssaladbar"
|
||||
|
||||
/datum/barsign/theshaken
|
||||
name = "The Shaken"
|
||||
icon = "theshaken"
|
||||
desc = "This establishment does not serve stirred drinks."
|
||||
icon = "theshaken"
|
||||
|
||||
/datum/barsign/thealenath
|
||||
name = "The Ale' Nath"
|
||||
icon = "thealenath"
|
||||
desc = "All right, buddy. I think you've had EI NATH. Time to get a cab."
|
||||
icon = "thealenath"
|
||||
|
||||
/datum/barsign/thealohasnackbar
|
||||
name = "The Aloha Snackbar"
|
||||
icon = "alohasnackbar"
|
||||
desc = "A tasteful, inoffensive tiki bar sign."
|
||||
icon = "alohasnackbar"
|
||||
|
||||
/datum/barsign/thenet
|
||||
name = "The Net"
|
||||
icon = "thenet"
|
||||
desc = "The sea of drinkformation." //you couldn't come up with something better?
|
||||
icon = "thenet"
|
||||
|
||||
/datum/barsign/armok
|
||||
name = "Armok's Bar and Grill"
|
||||
icon = "armokbar"
|
||||
desc = "Dorfs need not apply."
|
||||
icon = "armokbar"
|
||||
|
||||
/datum/barsign/meadbay
|
||||
name = "Mead Bay"
|
||||
icon = "meadbay"
|
||||
desc = "Still probably a better place to get treated than the real one."
|
||||
icon = "meadbay"
|
||||
|
||||
/datum/barsign/whiskeyimplant
|
||||
name = "Whiskey Implant"
|
||||
desc = "A bar known for its unconventional means of serving you drinks, whether you want them or not."
|
||||
icon = "whiskeyimplant"
|
||||
desc = "A bar known for its unconventional means of serving you drinks,whether you want them or not."
|
||||
|
||||
/datum/barsign/redshirt
|
||||
name = "The Red Shirt"
|
||||
icon = "theredshirt"
|
||||
desc = "A number of famous patrons have attended this bar, including:..."
|
||||
icon = "theredshirt"
|
||||
|
||||
/datum/barsign/lv426
|
||||
name = "LV-426"
|
||||
icon = "lv426"
|
||||
desc = "Drinking with fancy facemasks is clearly more important than going to medbay."
|
||||
icon = "lv426"
|
||||
|
||||
/datum/barsign/zocalo
|
||||
name = "Zocalo"
|
||||
icon = "zocalo"
|
||||
desc = "Anteriormente ubicado en Spessmerica."
|
||||
icon = "zocalo"
|
||||
|
||||
/datum/barsign/fourtheemprah
|
||||
name = "4 The Emprah"
|
||||
icon = "4theemprah"
|
||||
desc = "Enjoyed by fanatics, heretics, and brain-damaged patrons alike."
|
||||
icon = "4theemprah"
|
||||
|
||||
/datum/barsign/ishimura
|
||||
name = "Ishimura"
|
||||
icon = "ishimura"
|
||||
desc = "Well known for their quality brownstar and delicious crackers."
|
||||
icon = "ishimura"
|
||||
|
||||
/datum/barsign/tardis
|
||||
name = "Tardis"
|
||||
icon = "tardis"
|
||||
desc = "This establishment has been through at least 5,343 iterations."
|
||||
icon = "tardis"
|
||||
|
||||
/datum/barsign/quarks
|
||||
name = "Quark's"
|
||||
icon = "quarks"
|
||||
desc = "Frequenters of this establishment are often seen wearing meson scanners; how quaint."
|
||||
icon = "quarks"
|
||||
|
||||
/datum/barsign/tenforward
|
||||
name = "Ten Forward"
|
||||
icon = "tenforward"
|
||||
desc = "Totally not a rip-off of an established bar or anything like that."
|
||||
icon = "tenforward"
|
||||
|
||||
/datum/barsign/thepranicngpony
|
||||
name = "The Prancing Pony"
|
||||
icon = "thepranicngpony"
|
||||
desc = "Ok, we don't take to kindly to you short folk pokin' round looking for some ranger scum."
|
||||
icon = "thepranicngpony"
|
||||
|
||||
/datum/barsign/vault13
|
||||
name = "Vault 13"
|
||||
icon = "vault13"
|
||||
desc = "Coincidence is intentional."
|
||||
icon = "vault13"
|
||||
|
||||
/datum/barsign/solaris
|
||||
name = "Solaris"
|
||||
icon = "solaris"
|
||||
desc = "When is a plasma giant not a plasma giant? When it's a bar serving plasma from a plasma giant."
|
||||
icon = "solaris"
|
||||
|
||||
/datum/barsign/thehive
|
||||
name = "The Hive"
|
||||
icon = "thehive"
|
||||
desc = "Dedicated to and founded in memory of those who died aboard the NT Class 4407 Research Stations."
|
||||
icon = "thehive"
|
||||
|
||||
/datum/barsign/cantina
|
||||
name = "Chalmun's Cantina"
|
||||
icon = "cantina"
|
||||
desc = "The bar was founded on the principles of originality; they have the same music playing 24/7."
|
||||
icon = "cantina"
|
||||
|
||||
/datum/barsign/milliways42
|
||||
name = "Milliways 42"
|
||||
icon = "milliways42"
|
||||
desc = "It's not really the end; it's the beginning, meaning, and answer for all your beverage needs."
|
||||
icon = "milliways42"
|
||||
|
||||
/datum/barsign/timeofeve
|
||||
name = "The Time of Eve"
|
||||
icon = "thetimeofeve"
|
||||
desc = "Vintage drinks from 2453!."
|
||||
icon = "thetimeofeve"
|
||||
|
||||
/datum/barsign/spaceasshole
|
||||
name = "Space Asshole"
|
||||
icon = "spaceasshole"
|
||||
desc = "Open since 2125, Not much has changed since then; the engineers still release the singulo and the damn miners still are more likely to cave your face in that deliver ores."
|
||||
icon = "spaceasshole"
|
||||
|
||||
/datum/barsign/themaint
|
||||
name = "The Maint"
|
||||
icon = "themaint"
|
||||
desc = "Home to Greytiders, Security and other unholy creations."
|
||||
icon = "themaint"
|
||||
|
||||
/datum/barsign/syndicat
|
||||
name = "The SyndiCat"
|
||||
desc = "Syndicate or die."
|
||||
icon = "thesyndicat"
|
||||
syndicate = TRUE
|
||||
|
||||
/datum/barsign/hiddensigns
|
||||
hidden = 1
|
||||
hidden = TRUE
|
||||
|
||||
//Hidden signs list below this point
|
||||
/datum/barsign/hiddensigns/empbarsign
|
||||
name = "Haywire Barsign"
|
||||
icon = "empbarsign"
|
||||
desc = "Something has gone very wrong."
|
||||
|
||||
/datum/barsign/hiddensigns/syndibarsign
|
||||
name = "Syndi Cat Takeover"
|
||||
icon = "syndibarsign"
|
||||
desc = "Syndicate or die."
|
||||
icon = "empbarsign"
|
||||
|
||||
/datum/barsign/hiddensigns/signoff
|
||||
name = "Bar Sign"
|
||||
icon = "empty"
|
||||
desc = "This sign doesn't seem to be on."
|
||||
icon = "off"
|
||||
|
||||
/datum/barsign/hiddensigns/signbroken
|
||||
name = "Broken Bar Sign"
|
||||
desc = "This sign has a massive crack in it!"
|
||||
icon = "broken"
|
||||
|
||||
/datum/barsign/hiddensigns/building
|
||||
name = "Bar Sign Frame"
|
||||
desc = "This isn't advertising anything except that the bar is under renovations."
|
||||
|
||||
/datum/barsign/hiddensigns/building/frame
|
||||
icon = "frame"
|
||||
|
||||
/datum/barsign/hiddensigns/building/circuited
|
||||
icon = "circuited"
|
||||
|
||||
/datum/barsign/hiddensigns/building/wired
|
||||
icon = "wired"
|
||||
|
||||
|
||||
#undef BARSIGN_FRAME
|
||||
#undef BARSIGN_CIRCUIT
|
||||
#undef BARSIGN_WIRED
|
||||
#undef BARSIGN_COMPLETE
|
||||
|
||||
@@ -171,6 +171,14 @@
|
||||
build_path = /obj/item/intercom_electronics
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
/datum/design/barsign_electronics
|
||||
name = "Bar Sign Electronics"
|
||||
id = "barsign_electronics"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
|
||||
build_path = /obj/item/barsign_electronics
|
||||
category = list("initial", "Electronics")
|
||||
|
||||
/datum/design/earmuffs
|
||||
name = "Earmuffs"
|
||||
id = "earmuffs"
|
||||
|
||||
@@ -135,7 +135,8 @@
|
||||
name = "Bar Starter Kit"
|
||||
contains = list(/obj/item/storage/box/drinkingglasses,
|
||||
/obj/item/circuitboard/chem_dispenser/soda,
|
||||
/obj/item/circuitboard/chem_dispenser/beer)
|
||||
/obj/item/circuitboard/chem_dispenser/beer,
|
||||
/obj/item/barsign_electronics)
|
||||
cost = 250
|
||||
containername = "beer starter kit"
|
||||
announce_beacons = list("Bar" = list("Bar"))
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 167 KiB |
Reference in New Issue
Block a user