Merge remote-tracking branch 'upstream/master' into diagonal-movement

This commit is contained in:
Couls
2019-06-02 21:59:58 -04:00
parent cdb867456e
commit 5979166f54
526 changed files with 97898 additions and 5530 deletions
@@ -87,6 +87,12 @@ LINEN BINS
dream_messages = list("yellow")
nightmare_messages = list("locker full of banana peels")
/obj/item/bedsheet/black
icon_state = "sheetblack"
item_color = "sheetblack"
dream_messages = list("black")
nightmare_messages = list("the void of space")
/obj/item/bedsheet/mime
name = "mime's blanket"
desc = "A very soothing striped blanket. All the noise just seems to fade out when you're under the covers in this."
@@ -76,6 +76,7 @@
new /obj/item/radio/headset/headset_service(src)
new /obj/item/cartridge/janitor(src)
new /obj/item/flashlight(src)
new /obj/item/melee/flyswatter(src)
new /obj/item/clothing/shoes/galoshes(src)
new /obj/item/soap(src)
new /obj/item/caution(src)
@@ -28,17 +28,30 @@
name = "kitchen cabinet"
req_access = list(access_kitchen)
New()
..()
for(var/i in 1 to 3)
new /obj/item/reagent_containers/food/condiment/flour(src)
new /obj/item/reagent_containers/food/condiment/rice(src)
new /obj/item/reagent_containers/food/condiment/sugar(src)
/obj/structure/closet/secure_closet/freezer/kitchen/New()
..()
for(var/i in 1 to 3)
new /obj/item/reagent_containers/food/condiment/flour(src)
new /obj/item/reagent_containers/food/condiment/rice(src)
new /obj/item/reagent_containers/food/condiment/sugar(src)
/obj/structure/closet/secure_closet/freezer/kitchen/mining
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance
name = "maintenance refrigerator"
desc = "This refrigerator looks quite dusty, is there anything edible still inside?"
req_access = list()
/obj/structure/closet/secure_closet/freezer/kitchen/maintenance/New()
..()
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/milk(src)
for(var/i = 0, i < 5, i++)
new /obj/item/reagent_containers/food/condiment/soymilk(src)
for(var/i = 0, i < 2, i++)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/meat
name = "meat fridge"
@@ -54,6 +67,9 @@
for(var/i in 1 to 4)
new /obj/item/reagent_containers/food/snacks/meat/monkey(src)
/obj/structure/closet/secure_closet/freezer/meat/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/fridge
name = "refrigerator"
@@ -72,6 +88,9 @@
for(var/i in 1 to 2)
new /obj/item/storage/fancy/egg_box(src)
/obj/structure/closet/secure_closet/freezer/fridge/open
req_access = null
locked = FALSE
/obj/structure/closet/secure_closet/freezer/money
name = "freezer"
@@ -19,6 +19,9 @@
icon_closed = "emergency"
icon_opened = "emergencyopen"
/obj/structure/closet/emcloset/anchored
anchored = TRUE
/obj/structure/closet/emcloset/New()
..()
+65
View File
@@ -0,0 +1,65 @@
//Fluff structures serve no purpose and exist only for enriching the environment. They can be destroyed with a wrench.
/obj/structure/fluff
name = "fluff structure"
desc = "Fluffier than a sheep. This shouldn't exist."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "minibar"
anchored = TRUE
density = FALSE
opacity = 0
var/deconstructible = TRUE
/obj/structure/fluff/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/wrench) && deconstructible)
user.visible_message("<span class='notice'>[user] starts disassembling [src]...</span>", "<span class='notice'>You start disassembling [src]...</span>")
playsound(loc, I.usesound, 50, 1)
if(do_after(src, 50 * I.toolspeed, target = src))
user.visible_message("<span class='notice'>[user] disassembles [src]!</span>", "<span class='notice'>You break down [src] into scrap metal.</span>")
playsound(user, 'sound/items/deconstruct.ogg', 50, 1)
new/obj/item/stack/sheet/metal(drop_location())
qdel(src)
return
..()
/obj/structure/fluff/empty_terrarium //Empty terrariums are created when a preserved terrarium in a lavaland seed vault is activated.
name = "empty terrarium"
desc = "An ancient machine that seems to be used for storing plant matter. Its hatch is ajar."
icon = 'icons/obj/lavaland/spawners.dmi'
icon_state = "terrarium_open"
density = TRUE
/obj/structure/fluff/empty_sleeper //Empty sleepers are created by a good few ghost roles in lavaland.
name = "empty sleeper"
desc = "An open sleeper. It looks as though it would be awaiting another patient, were it not broken."
icon = 'icons/obj/cryogenic2.dmi'
icon_state = "sleeper-open"
/obj/structure/fluff/empty_sleeper/nanotrasen
name = "broken hypersleep chamber"
desc = "A Nanotrasen hypersleep chamber - this one appears broken. \
There are exposed bolts for easy disassembly using a wrench."
icon_state = "sleeper-o"
/obj/structure/fluff/empty_sleeper/syndicate
icon_state = "sleeper_s-open"
/obj/structure/fluff/empty_cryostasis_sleeper //Empty cryostasis sleepers are created when a malfunctioning cryostasis sleeper in a lavaland shelter is activated
name = "empty cryostasis sleeper"
desc = "Although comfortable, this sleeper won't function as anything but a bed ever again."
icon = 'icons/obj/lavaland/spawners.dmi'
icon_state = "cryostasis_sleeper_open"
/obj/structure/fluff/drake_statue //Ash drake status spawn on either side of the necropolis gate in lavaland.
name = "drake statue"
desc = "A towering basalt sculpture of a proud and regal drake. Its eyes are six glowing gemstones."
icon = 'icons/effects/64x64.dmi'
icon_state = "drake_statue"
pixel_x = -16
density = TRUE
deconstructible = FALSE
layer = EDGED_TURF_LAYER
/obj/structure/fluff/drake_statue/falling //A variety of statue in disrepair; parts are broken off and a gemstone is missing
desc = "A towering basalt sculpture of a drake. Cracks run down its surface and parts of it have fallen off."
icon_state = "drake_statue_falling"
+65 -68
View File
@@ -1,87 +1,84 @@
/obj/structure/lattice
desc = "A lightweight support lattice."
name = "lattice"
icon = 'icons/obj/structures.dmi'
icon_state = "latticefull"
density = 0
anchored = 1.0
desc = "A lightweight support lattice."
icon = 'icons/obj/smooth_structures/lattice.dmi'
icon_state = "lattice"
density = FALSE
anchored = TRUE
armor = list(melee = 50, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
layer = 2.3 //under pipes
layer = LATTICE_LAYER //under pipes
plane = FLOOR_PLANE
// flags = CONDUCT
var/number_of_rods = 1
canSmoothWith = list(/obj/structure/lattice,
/turf/simulated/floor,
/turf/simulated/wall,
/obj/structure/falsewall)
smooth = SMOOTH_MORE
/obj/structure/lattice/New()
..()
if(!(istype(src.loc, /turf/space)))
qdel(src)
for(var/obj/structure/lattice/LAT in src.loc)
/obj/structure/lattice/Initialize(mapload)
. = ..()
for(var/obj/structure/lattice/LAT in loc)
if(LAT != src)
qdel(LAT)
icon = 'icons/obj/smoothlattice.dmi'
icon_state = "latticeblank"
updateOverlays()
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()
QDEL_IN(LAT, 0)
/obj/structure/lattice/Destroy()
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(src.loc)
return ..()
/obj/structure/lattice/examine(mob/user)
..()
deconstruction_hints(user)
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
to_chat(user, "<span class='notice'>The rods look like they could be <b>cut</b>. There's space for more <i>rods</i> or a <i>tile</i>.</span>")
/obj/structure/lattice/attackby(obj/item/C, mob/user, params)
if(resistance_flags & INDESTRUCTIBLE)
return
if(istype(C, /obj/item/wirecutters))
to_chat(user, "<span class='notice'>Slicing [name] joints...</span>")
deconstruct()
else
var/turf/T = get_turf(src)
return T.attackby(C, user) //hand this off to the turf instead (for building plating, catwalks, etc)
/obj/structure/lattice/deconstruct(disassembled = TRUE)
if(!can_deconstruct)
new /obj/item/stack/rods(get_turf(src), number_of_rods)
qdel(src)
/obj/structure/lattice/blob_act()
qdel(src)
return
/obj/structure/lattice/ex_act(severity)
switch(severity)
if(1.0)
if(1)
qdel(src)
return
if(2.0)
if(2)
qdel(src)
if(3)
return
if(3.0)
return
else
return
/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))
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/weldingtool))
var/obj/item/weldingtool/WT = C
if(WT.remove_fuel(0, user))
to_chat(user, "<span class='notice'>Slicing lattice joints...</span>")
new /obj/item/stack/rods(src.loc)
qdel(src)
/obj/structure/lattice/proc/updateOverlays()
//if(!(istype(src.loc, /turf/space)))
// qdel(src)
spawn(1)
overlays = list()
var/dir_sum = 0
for(var/direction in cardinal)
if(locate(/obj/structure/lattice, get_step(src, direction)))
dir_sum += direction
else
if(!(istype(get_step(src, direction), /turf/space)))
dir_sum += direction
icon_state = "lattice[dir_sum]"
return
/obj/structure/lattice/singularity_pull(S, current_size)
if(current_size >= STAGE_FOUR)
qdel(src)
qdel(src)
/obj/structure/lattice/catwalk
name = "catwalk"
desc = "A catwalk for easier EVA maneuvering and cable placement."
icon = 'icons/obj/smooth_structures/catwalk.dmi'
icon_state = "catwalk"
number_of_rods = 2
smooth = SMOOTH_TRUE
canSmoothWith = null
/obj/structure/lattice/catwalk/deconstruction_hints(mob/user)
to_chat(user, "<span class='notice'>The supporting rods look like they could be <b>cut</b>.</span>")
/obj/structure/lattice/catwalk/Move()
var/turf/T = loc
for(var/obj/structure/cable/C in T)
C.deconstruct()
..()
/obj/structure/lattice/catwalk/deconstruct()
var/turf/T = loc
for(var/obj/structure/cable/C in T)
C.deconstruct()
..()
@@ -133,7 +133,7 @@
if(istype(W, /obj/item/pickaxe))
var/obj/item/pickaxe/digTool = W
to_chat(user, "<span class='notice'>You start digging \the [src].</span>")
if(do_after(user, digTool.digspeed * hardness, target = src) && src)
if(do_after(user, 40 * digTool.toolspeed * hardness, target = src) && src)
to_chat(user, "<span class='notice'>You finished digging.</span>")
deconstruct(TRUE)
else if(user.a_intent != INTENT_HARM)
+97 -15
View File
@@ -106,6 +106,11 @@
desc = "A warning sign which reads 'HARD VACUUM AHEAD'"
icon_state = "space"
/obj/structure/sign/vacuum/external
name = "\improper EXTERNAL AIRLOCK"
desc = "A warning sign which reads 'EXTERNAL AIRLOCK'."
layer = MOB_LAYER
/obj/structure/sign/deathsposal
name = "\improper DISPOSAL LEADS TO SPACE"
desc = "A warning sign which reads 'DISPOSAL LEADS TO SPACE'"
@@ -131,6 +136,15 @@
desc = "A warning sign which reads 'NO SMOKING'"
icon_state = "nosmoking2"
/obj/structure/sign/radiation
name = "\improper HAZARDOUS RADIATION"
desc = "A warning sign alerting the user of potential radiation hazards."
icon_state = "radiation"
/obj/structure/sign/radiation/rad_area
name = "\improper RADIOACTIVE AREA"
desc = "A warning sign which reads 'RADIOACTIVE AREA'."
/obj/structure/sign/redcross
name = "medbay"
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here.'"
@@ -161,21 +175,6 @@
desc = "A dead and stuffed Diona nymph, mounted on a board."
icon_state = "kidanplaque"
/obj/structure/sign/science //These 3 have multiple types, just var-edit the icon_state to whatever one you want on the map
name = "\improper SCIENCE!"
desc = "A warning sign which reads 'SCIENCE!'"
icon_state = "science1"
/obj/structure/sign/chemistry
name = "\improper CHEMISTRY"
desc = "A warning sign which reads 'CHEMISTRY'"
icon_state = "chemistry1"
/obj/structure/sign/botany
name = "\improper HYDROPONICS"
desc = "A warning sign which reads 'HYDROPONICS'"
icon_state = "hydro1"
/obj/structure/sign/mech
name = "\improper mech painting"
desc = "A painting of a mech"
@@ -211,6 +210,74 @@
desc = "A glowing dragon invites you in."
icon_state = "chinese"
/obj/structure/sign/science
name = "\improper SCIENCE!"
desc = "A warning sign which reads 'SCIENCE!'"
icon_state = "science1"
/obj/structure/sign/chemistry
name = "\improper CHEMISTRY"
desc = "A warning sign which reads 'CHEMISTRY'"
icon_state = "chemistry1"
/obj/structure/sign/botany
name = "\improper HYDROPONICS"
desc = "A warning sign which reads 'HYDROPONICS'"
icon_state = "hydro1"
/obj/structure/sign/xenobio
name = "\improper XENOBIOLOGY"
desc = "A sign labelling an area as a place where xenobiological entities are researched."
icon_state = "xenobio"
/obj/structure/sign/evac
name = "\improper EVACUATION"
desc = "A sign labelling an area where evacuation procedures take place."
icon_state = "evac"
/obj/structure/sign/drop
name = "\improper DROP PODS"
desc = "A sign labelling an area where drop pod loading procedures take place."
icon_state = "drop"
/obj/structure/sign/custodian
name = "\improper CUSTODIAN"
desc = "A sign labelling an area where the custodian works."
icon_state = "custodian"
/obj/structure/sign/engineering
name = "\improper ENGINEERING"
desc = "A sign labelling an area where engineers work."
icon_state = "engine"
/obj/structure/sign/cargo
name = "\improper CARGO"
desc = "A sign labelling an area where cargo ships dock."
icon_state = "cargo"
/obj/structure/sign/security
name = "\improper SECURITY"
desc = "A sign labelling an area where the law is law."
icon_state = "security"
/obj/structure/sign/holy
name = "\improper HOLY"
desc = "A sign labelling a religious area."
icon_state = "holy"
/obj/structure/sign/restroom
name = "\improper RESTROOM"
desc = "A sign labelling a restroom."
icon_state = "restroom"
/obj/structure/sign/medbay
name = "\improper MEDBAY"
desc = "The Intergalactic symbol of Medical institutions. You'll probably get help here."
icon_state = "bluecross"
/obj/structure/sign/medbay/alt
icon_state = "bluecross2"
/obj/structure/sign/directions/science
name = "\improper Research Division"
desc = "A direction sign, pointing out which way the Research Division is."
@@ -235,3 +302,18 @@
name = "\improper Escape Arm"
desc = "A direction sign, pointing out which way escape shuttle dock is."
icon_state = "direction_evac"
/obj/structure/sign/directions/cargo
name = "\improper Cargo Department"
desc = "A direction sign, pointing out which way the Cargo department is."
icon_state = "direction_supply"
/obj/structure/sign/explosives
name = "\improper HIGH EXPLOSIVES"
desc = "A warning sign which reads 'HIGH EXPLOSIVES'."
icon_state = "explosives"
/obj/structure/sign/explosives/alt
name = "\improper HIGH EXPLOSIVES"
desc = "A warning sign which reads 'HIGH EXPLOSIVES'."
icon_state = "explosives2"
+2 -2
View File
@@ -600,7 +600,7 @@
wateract = (W.wash(user, src))
busy = 0
if(wateract)
W.water_act(20,310.15,src)
W.water_act(20, 310.15, src)
if("Disconnect")
user.visible_message("<span class='notice'>[user] starts disconnecting [src].</span>", "<span class='notice'>You begin disconnecting [src]...</span>")
if(do_after(user, 40 * O.toolspeed, target = src))
@@ -633,7 +633,7 @@
wateract = (O.wash(user, src))
busy = 0
if(wateract)
O.water_act(20,310.15,src)
O.water_act(20, 310.15, src)
/obj/structure/sink/update_icon()
..()