mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 13:38:41 +01:00
[MIRROR] Fixes a few issues with double bedsheets. [MDB IGNORE] (#9281)
* Fixes a few issues with double bedsheets. (#62590) Fixes the random and dorms spawners for double bed sheets. Fixes the dying_key for double bed sheets. * Fixes a few issues with double bedsheets. Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
This commit is contained in:
@@ -4,6 +4,10 @@ BEDSHEETS
|
||||
LINEN BINS
|
||||
*/
|
||||
|
||||
#define BEDSHEET_ABSTRACT "abstract"
|
||||
#define BEDSHEET_SINGLE "single"
|
||||
#define BEDSHEET_DOUBLE "double"
|
||||
|
||||
/obj/item/bedsheet
|
||||
name = "bedsheet"
|
||||
desc = "A surprisingly soft linen bedsheet."
|
||||
@@ -23,6 +27,7 @@ LINEN BINS
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head/ghost
|
||||
var/list/dream_messages = list("white")
|
||||
var/bedsheet_type = BEDSHEET_SINGLE
|
||||
|
||||
/obj/item/bedsheet/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -252,18 +257,32 @@ LINEN BINS
|
||||
icon_state = "random_bedsheet"
|
||||
name = "random bedsheet"
|
||||
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
|
||||
slot_flags = null
|
||||
bedsheet_type = BEDSHEET_ABSTRACT
|
||||
var/static/list/bedsheet_list
|
||||
var/spawn_type = BEDSHEET_SINGLE
|
||||
|
||||
/obj/item/bedsheet/random/Initialize(mapload)
|
||||
..()
|
||||
var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
|
||||
new type(loc)
|
||||
if(!LAZYACCESS(bedsheet_list, spawn_type))
|
||||
var/list/spawn_list = list()
|
||||
var/list/possible_types = typesof(/obj/item/bedsheet)
|
||||
for(var/obj/item/bedsheet/sheet as anything in possible_types)
|
||||
if(initial(sheet.bedsheet_type) == spawn_type)
|
||||
spawn_list += sheet
|
||||
LAZYSET(bedsheet_list, spawn_type, spawn_list)
|
||||
var/chosen_type = pick(bedsheet_list[spawn_type])
|
||||
new chosen_type(loc)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
/obj/item/bedsheet/random/double
|
||||
icon_state = "random_bedsheet"
|
||||
spawn_type = BEDSHEET_DOUBLE
|
||||
|
||||
/obj/item/bedsheet/dorms
|
||||
icon_state = "random_bedsheet"
|
||||
name = "random dorms bedsheet"
|
||||
desc = "If you're reading this description ingame, something has gone wrong! Honk!"
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
slot_flags = null
|
||||
|
||||
/obj/item/bedsheet/dorms/Initialize(mapload)
|
||||
@@ -292,138 +311,189 @@ LINEN BINS
|
||||
|
||||
/obj/item/bedsheet/double
|
||||
icon_state = "double_sheetwhite"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
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
|
||||
icon_state = "double_sheetorange"
|
||||
worn_icon_state = "sheetorange"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/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
|
||||
icon_state = "double_sheetyellow"
|
||||
worn_icon_state = "sheetyellow"
|
||||
dying_key = DYE_REGISTRY_DOUBLE_BEDSHEET
|
||||
bedsheet_type = BEDSHEET_DOUBLE
|
||||
|
||||
/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/random/double
|
||||
/obj/item/bedsheet/dorms_double
|
||||
icon_state = "random_bedsheet"
|
||||
bedsheet_type = BEDSHEET_ABSTRACT
|
||||
|
||||
/obj/item/bedsheet/random/double/Initialize()
|
||||
..()
|
||||
var/type = pick(typesof(/obj/item/bedsheet) - /obj/item/bedsheet/random)
|
||||
new type(loc)
|
||||
return INITIALIZE_HINT_QDEL
|
||||
|
||||
/obj/item/bedsheet/dorms/double
|
||||
icon_state = "random_bedsheet"
|
||||
|
||||
/obj/item/bedsheet/dorms/double/Initialize()
|
||||
/obj/item/bedsheet/dorms_double/Initialize()
|
||||
..()
|
||||
var/type = pick_weight(list("Colors" = 80, "Special" = 20))
|
||||
switch(type)
|
||||
@@ -579,3 +649,7 @@ LINEN BINS
|
||||
|
||||
add_fingerprint(user)
|
||||
return COMPONENT_CANCEL_ATTACK_CHAIN
|
||||
|
||||
#undef BEDSHEET_ABSTRACT
|
||||
#undef BEDSHEET_SINGLE
|
||||
#undef BEDSHEET_DOUBLE
|
||||
|
||||
Reference in New Issue
Block a user