[MIRROR] Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets. [MDB IGNORE] (#9477)

* Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets. (#62813)

* Double beds can now have two people buckled to them at a time. Also doubles the material costs to make them and their sheets.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
SkyratBot
2021-11-15 18:01:08 +00:00
committed by GitHub
parent 668a4cd2aa
commit e73b2b4b01
4 changed files with 23 additions and 31 deletions
@@ -234,3 +234,17 @@
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)
if(buckled_mobs.len > 1 && !goldilocks) //Push the second buckled mob a bit higher from the normal lying position
target.pixel_y = target.base_pixel_y + 6
goldilocks = target
/obj/structure/bed/double/post_unbuckle_mob(mob/living/target)
target.pixel_y = target.base_pixel_y + target.body_position_pixel_y_offset
if(target == goldilocks)
goldilocks = null
+5 -29
View File
@@ -27,12 +27,16 @@ 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/surgery_initiator)
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_self(mob/user)
if(!user.CanReach(src)) //No telekenetic grabbing.
@@ -53,7 +57,7 @@ LINEN BINS
/obj/item/bedsheet/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WIRECUTTER || I.get_sharpness())
if (!(flags_1 & HOLOGRAM_1))
var/obj/item/stack/sheet/cloth/shreds = new (get_turf(src), 3)
var/obj/item/stack/sheet/cloth/shreds = new (get_turf(src), stack_amount)
if(!QDELETED(shreds)) //stacks merged
transfer_fingerprints_to(shreds)
shreds.add_fingerprint(user)
@@ -312,25 +316,21 @@ LINEN BINS
/obj/item/bedsheet/double
icon_state = "double_sheetwhite"
worn_icon_state = "sheetwhite"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/blue/double
icon_state = "double_sheetblue"
worn_icon_state = "sheetblue"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/green/double
icon_state = "double_sheetgreen"
worn_icon_state = "sheetgreen"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/grey/double
icon_state = "double_sheetgrey"
worn_icon_state = "sheetgrey"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/orange/double
@@ -342,25 +342,21 @@ LINEN BINS
/obj/item/bedsheet/purple/double
icon_state = "double_sheetpurple"
worn_icon_state = "sheetpurple"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/patriot/double
icon_state = "double_sheetUSA"
worn_icon_state = "sheetUSA"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/rainbow/double
icon_state = "double_sheetrainbow"
worn_icon_state = "sheetrainbow"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/red/double
icon_state = "double_sheetred"
worn_icon_state = "sheetred"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/yellow/double
@@ -372,121 +368,101 @@ LINEN BINS
/obj/item/bedsheet/mime/double
icon_state = "double_sheetmime"
worn_icon_state = "sheetmime"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/clown/double
icon_state = "double_sheetclown"
worn_icon_state = "sheetclown"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/captain/double
icon_state = "double_sheetcaptain"
worn_icon_state = "sheetcaptain"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/rd/double
icon_state = "double_sheetrd"
worn_icon_state = "sheetrd"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/medical/double
icon_state = "double_sheetmedical"
worn_icon_state = "sheetmedical"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/cmo/double
icon_state = "double_sheetcmo"
worn_icon_state = "sheetcmo"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/hos/double
icon_state = "double_sheethos"
worn_icon_state = "sheethos"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/hop/double
icon_state = "double_sheethop"
worn_icon_state = "sheethop"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/ce/double
icon_state = "double_sheetce"
worn_icon_state = "sheetce"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/qm/double
icon_state = "double_sheetqm"
worn_icon_state = "sheetqm"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/chaplain/double
icon_state = "double_sheetchap"
worn_icon_state = "sheetchap"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/brown/double
icon_state = "double_sheetbrown"
worn_icon_state = "sheetbrown"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/black/double
icon_state = "double_sheetblack"
worn_icon_state = "sheetblack"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/centcom/double
icon_state = "double_sheetcentcom"
worn_icon_state = "sheetcentcom"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/syndie/double
icon_state = "double_sheetsyndie"
worn_icon_state = "sheetsyndie"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/cult/double
icon_state = "double_sheetcult"
worn_icon_state = "sheetcult"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/wiz/double
icon_state = "double_sheetwiz"
worn_icon_state = "sheetwiz"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/nanotrasen/double
icon_state = "double_sheetNT"
worn_icon_state = "sheetNT"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/ian/double
icon_state = "double_sheetian"
worn_icon_state = "sheetian"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/cosmos/double
icon_state = "double_sheetcosmos"
worn_icon_state = "sheetcosmos"
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
bedsheet_type = BEDSHEET_DOUBLE
/obj/item/bedsheet/dorms_double