Merge remote-tracking branch 'origin/master' into what-should-i-name-this-branch
This commit is contained in:
@@ -53,6 +53,12 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/bed/post_buckle_mob(mob/living/target)
|
||||
target.pixel_y = target.get_standard_pixel_y_offset(TRUE)
|
||||
|
||||
/obj/structure/bed/double/post_unbuckle_mob(mob/living/target)
|
||||
target.pixel_y = target.get_standard_pixel_y_offset(FALSE)
|
||||
|
||||
/*
|
||||
* Roller beds
|
||||
*/
|
||||
@@ -214,3 +220,24 @@
|
||||
name = "resting contraption"
|
||||
desc = "This looks similar to contraptions from Earth. Could aliens be stealing our technology?"
|
||||
icon_state = "abed"
|
||||
|
||||
//Double Beds, for luxurious sleeping, i.e. the captain and maybe heads- Do use this for ERP
|
||||
/obj/structure/bed/double
|
||||
name = "double bed"
|
||||
desc = "A luxurious double bed, for those too important for small dreams."
|
||||
icon_state = "bed_double"
|
||||
buildstackamount = 4
|
||||
max_buckled_mobs = 2
|
||||
///The mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.
|
||||
var/mob/living/goldilocks
|
||||
|
||||
/obj/structure/bed/double/post_buckle_mob(mob/living/target)
|
||||
target.pixel_y = target.get_standard_pixel_y_offset(TRUE)
|
||||
if(buckled_mobs.len > 1 && !goldilocks) //Push the second buckled mob a bit higher from the normal lying position
|
||||
target.pixel_y = target.get_standard_pixel_y_offset(FALSE) + 6
|
||||
goldilocks = target
|
||||
|
||||
/obj/structure/bed/double/post_unbuckle_mob(mob/living/target)
|
||||
target.pixel_y = target.get_standard_pixel_y_offset(FALSE)
|
||||
if(target == goldilocks)
|
||||
goldilocks = null
|
||||
|
||||
@@ -4,6 +4,41 @@ BEDSHEETS
|
||||
LINEN BINS
|
||||
*/
|
||||
|
||||
#define BEDSHEET_SINGLE "single"
|
||||
#define BEDSHEET_DOUBLE "double"
|
||||
|
||||
GLOBAL_LIST_INIT(double_bedsheets, list(/obj/item/bedsheet/double,
|
||||
/obj/item/bedsheet/blue/double,
|
||||
/obj/item/bedsheet/green/double,
|
||||
/obj/item/bedsheet/grey/double,
|
||||
/obj/item/bedsheet/orange/double,
|
||||
/obj/item/bedsheet/purple/double,
|
||||
/obj/item/bedsheet/patriot/double,
|
||||
/obj/item/bedsheet/rainbow/double,
|
||||
/obj/item/bedsheet/red/double,
|
||||
/obj/item/bedsheet/yellow/double,
|
||||
/obj/item/bedsheet/mime/double,
|
||||
/obj/item/bedsheet/clown/double,
|
||||
/obj/item/bedsheet/captain/double,
|
||||
/obj/item/bedsheet/rd/double,
|
||||
/obj/item/bedsheet/medical/double,
|
||||
/obj/item/bedsheet/cmo/double,
|
||||
/obj/item/bedsheet/hos/double,
|
||||
/obj/item/bedsheet/hop/double,
|
||||
/obj/item/bedsheet/ce/double,
|
||||
/obj/item/bedsheet/qm/double,
|
||||
/obj/item/bedsheet/chaplain/double,
|
||||
/obj/item/bedsheet/brown/double,
|
||||
/obj/item/bedsheet/black/double,
|
||||
/obj/item/bedsheet/centcom/double,
|
||||
/obj/item/bedsheet/syndie/double,
|
||||
/obj/item/bedsheet/cult/double,
|
||||
/obj/item/bedsheet/wiz/double,
|
||||
/obj/item/bedsheet/nanotrasen/double,
|
||||
/obj/item/bedsheet/ian/double,
|
||||
/obj/item/bedsheet/cosmos/double
|
||||
))
|
||||
|
||||
/obj/item/bedsheet
|
||||
name = "bedsheet"
|
||||
desc = "A surprisingly soft linen bedsheet."
|
||||
@@ -21,10 +56,15 @@ LINEN BINS
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head/ghost
|
||||
var/list/dream_messages = list("white")
|
||||
var/stack_amount = 3
|
||||
var/bedsheet_type = BEDSHEET_SINGLE
|
||||
|
||||
/obj/item/bedsheet/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/bed_tuckable, 0, 0, 0)
|
||||
if(bedsheet_type == BEDSHEET_DOUBLE)
|
||||
stack_amount *= 2
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
|
||||
/obj/item/bedsheet/attack(mob/living/M, mob/user)
|
||||
if(!attempt_initiate_surgery(src, M, user))
|
||||
@@ -46,7 +86,7 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/attackby(obj/item/I, mob/user, params)
|
||||
if(!(flags_1 & HOLOGRAM_1) && (I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness()))
|
||||
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3)
|
||||
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), stack_amount)
|
||||
transfer_fingerprints_to(C)
|
||||
C.add_fingerprint(user)
|
||||
qdel(src)
|
||||
@@ -247,9 +287,171 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/random/Initialize()
|
||||
..()
|
||||
var/type = pick(typesof(/obj/item/bedsheet) - (list(/obj/item/bedsheet/random, /obj/item/bedsheet/chameleon) + typesof(/obj/item/bedsheet/unlockable)))
|
||||
new type(loc)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
if(bedsheet_type == BEDSHEET_SINGLE)
|
||||
var/type = pick(typesof(/obj/item/bedsheet) - (list(/obj/item/bedsheet/random, /obj/item/bedsheet/chameleon) + typesof(/obj/item/bedsheet/unlockable) + GLOB.double_bedsheets))
|
||||
new type(loc)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
/obj/item/bedsheet/double
|
||||
icon_state = "double_sheetwhite"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/blue/double
|
||||
icon_state = "double_sheetblue"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/green/double
|
||||
icon_state = "double_sheetgreen"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/grey/double
|
||||
icon_state = "double_sheetgrey"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/orange/double
|
||||
icon_state = "double_sheetorange"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/purple/double
|
||||
icon_state = "double_sheetpurple"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/patriot/double
|
||||
icon_state = "double_sheetUSA"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/rainbow/double
|
||||
icon_state = "double_sheetrainbow"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/red/double
|
||||
icon_state = "double_sheetred"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/yellow/double
|
||||
icon_state = "double_sheetyellow"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/mime/double
|
||||
icon_state = "double_sheetmime"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/clown/double
|
||||
icon_state = "double_sheetclown"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/captain/double
|
||||
icon_state = "double_sheetcaptain"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/rd/double
|
||||
icon_state = "double_sheetrd"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/medical/double
|
||||
icon_state = "double_sheetmedical"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/cmo/double
|
||||
icon_state = "double_sheetcmo"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/hos/double
|
||||
icon_state = "double_sheethos"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/hop/double
|
||||
icon_state = "double_sheethop"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/ce/double
|
||||
icon_state = "double_sheetce"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/qm/double
|
||||
icon_state = "double_sheetqm"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/chaplain/double
|
||||
icon_state = "double_sheetchap"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/brown/double
|
||||
icon_state = "double_sheetbrown"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/black/double
|
||||
icon_state = "double_sheetblack"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/centcom/double
|
||||
icon_state = "double_sheetcentcom"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/syndie/double
|
||||
icon_state = "double_sheetsyndie"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/cult/double
|
||||
icon_state = "double_sheetcult"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/wiz/double
|
||||
icon_state = "double_sheetwiz"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/nanotrasen/double
|
||||
icon_state = "double_sheetNT"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/ian/double
|
||||
icon_state = "double_sheetian"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/cosmos/double
|
||||
icon_state = "double_sheetcosmos"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/random/double
|
||||
icon_state = "random_bedsheet"
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/random/double/Initialize()
|
||||
..()
|
||||
if(bedsheet_type == BEDSHEET_DOUBLE)
|
||||
var/type = pick(GLOB.double_bedsheets)
|
||||
new type(loc)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
/obj/item/bedsheet/chameleon //donator chameleon bedsheet
|
||||
name = "chameleon bedsheet"
|
||||
|
||||
@@ -672,3 +672,15 @@
|
||||
if(allowed(user))
|
||||
return TRUE
|
||||
to_chat(user, "<span class='notice'>Access denied.</span>")
|
||||
|
||||
/obj/structure/closet/on_object_saved(depth)
|
||||
if(depth >= 10)
|
||||
return ""
|
||||
var/dat = ""
|
||||
for(var/obj/item in contents)
|
||||
var/metadata = generate_tgm_metadata(item)
|
||||
dat += "[dat ? ",\n" : ""][item.type][metadata]"
|
||||
//Save the contents of things inside the things inside us, EG saving the contents of bags inside lockers
|
||||
var/custom_data = item.on_object_saved(depth++)
|
||||
dat += "[custom_data ? ",\n[custom_data]" : ""]"
|
||||
return dat
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
hole_size = LARGE_HOLE
|
||||
|
||||
/obj/structure/fence/attackby(obj/item/W, mob/user)
|
||||
var/current_stage = hole_size
|
||||
if(W.tool_behaviour == TOOL_WIRECUTTER)
|
||||
if(!cuttable)
|
||||
to_chat(user, "<span class='notice'>This section of the fence can't be cut.</span>")
|
||||
@@ -64,7 +65,6 @@
|
||||
if(invulnerable)
|
||||
to_chat(user, "<span class='notice'>This fence is too strong to cut through.</span>")
|
||||
return
|
||||
var/current_stage = hole_size
|
||||
if(current_stage >= MAX_HOLE_SIZE)
|
||||
to_chat(user, "<span class='notice'>This fence has too much cut out of it already.</span>")
|
||||
return
|
||||
@@ -86,6 +86,25 @@
|
||||
|
||||
update_cut_status()
|
||||
|
||||
else if(istype(W, /obj/item/stack/rods) && broken)
|
||||
if(!hole_size)
|
||||
to_chat(user, "<span class='info'>The [src] has no cuts in it!</span>")
|
||||
return
|
||||
var/obj/item/stack/rods/R = W
|
||||
if(do_after(user, CUT_TIME, target = src))
|
||||
if(current_stage == hole_size)
|
||||
switch(--hole_size)
|
||||
if(NO_HOLE)
|
||||
visible_message("<span class='notice'>\The [user] repairs \the [src] fully.</span>")
|
||||
to_chat(user, "<span class='info'>You repaire the [src] back to it's former glory.</span>")
|
||||
climbable = TRUE
|
||||
if(MEDIUM_HOLE)
|
||||
visible_message("<span class='notice'>\The [user] patches up \the [src].</span>")
|
||||
to_chat(user, "<span class='info'>The hole in \the [src] is reduced slightly, though someone could probably sill squeeze though if you don't patch it up more.</span>")
|
||||
climbable = FALSE
|
||||
R.use(1)
|
||||
update_cut_status()
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/structure/fence/proc/update_cut_status()
|
||||
|
||||
@@ -78,6 +78,12 @@
|
||||
deconstructible = FALSE
|
||||
layer = EDGED_TURF_LAYER
|
||||
|
||||
/obj/structure/fluff/lightpost/light
|
||||
desc = "That which most enchants the Edinians is the lighting by gas of the boulevards... These humble rows of lamps, shining with a clarity white and pure, have a marvelous effect upon the streets on Nova Edina. Adorned with a cheery garb, in tune with the festive spirits of the city."
|
||||
light_power = 0.8
|
||||
light_range = 10
|
||||
light_color = "#ffeeab"
|
||||
|
||||
/obj/structure/fluff/bus
|
||||
name = "bus"
|
||||
desc = "GO TO SCHOOL. READ A BOOK."
|
||||
|
||||
Reference in New Issue
Block a user