diff --git a/code/_globalvars/lists/maintenance_loot.dm b/code/_globalvars/lists/maintenance_loot.dm index 9559552a71b..e1c50a0a989 100644 --- a/code/_globalvars/lists/maintenance_loot.dm +++ b/code/_globalvars/lists/maintenance_loot.dm @@ -167,6 +167,7 @@ GLOBAL_LIST_INIT(uncommon_loot, list(//uncommon: useful items /obj/item/grenade/iedcasing/spawned = 1, /obj/item/melee/baton/cattleprod = 1, /obj/item/throwing_star = 1, + /obj/item/pen/fountain = 1, ) = 8, list(//equipment diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 2b65ca08cd4..8694b50bbc7 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -50,6 +50,7 @@ desc = "A large piece of space-resistant printed paper." icon = 'icons/obj/contraband.dmi' anchored = TRUE + buildable_sign = FALSE //Cannot be unwrenched from a wall. var/ruined = FALSE var/random_basetype var/never_random = FALSE // used for the 'random' subclasses. diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm index 627a41349eb..83522a54eb5 100644 --- a/code/game/objects/structures/artstuff.dm +++ b/code/game/objects/structures/artstuff.dm @@ -223,7 +223,7 @@ name = "painting frame" desc = "The perfect showcase for your favorite deathtrap memories." icon = 'icons/obj/decals.dmi' - custom_materials = null + custom_materials = list(/datum/material/wood = 2000) flags_1 = 0 icon_state = "frame-empty" result_path = /obj/structure/sign/painting @@ -233,6 +233,7 @@ desc = "Art or \"Art\"? You decide." icon = 'icons/obj/decals.dmi' icon_state = "frame-empty" + custom_materials = list(/datum/material/wood = 2000) buildable_sign = FALSE var/obj/item/canvas/C var/persistence_id diff --git a/code/game/objects/structures/plaques/_plaques.dm b/code/game/objects/structures/plaques/_plaques.dm index a2da8f6d07e..ef1c186372d 100644 --- a/code/game/objects/structures/plaques/_plaques.dm +++ b/code/game/objects/structures/plaques/_plaques.dm @@ -17,6 +17,9 @@ /obj/item/plaque //The item version of the above. icon = 'icons/obj/decals.dmi' icon_state = "blankplaque" + item_state = "blankplaque" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' name = "blank plaque" desc = "A blank plaque, use a fancy pen to engrave it. It can be placed on a wall." w_class = WEIGHT_CLASS_NORMAL @@ -49,6 +52,7 @@ unwrenched_plaque.name = name //Copy over the plaque structure variables to the plaque item we're creating when we unwrench it. unwrenched_plaque.desc = desc unwrenched_plaque.engraved = engraved + unwrenched_plaque.icon_state = icon_state unwrenched_plaque.obj_integrity = obj_integrity unwrenched_plaque.setDir(dir) qdel(src) //The plaque structure on the wall goes poof and only the plaque item from unwrenching remains. @@ -178,6 +182,7 @@ placed_plaque.name = name placed_plaque.desc = desc placed_plaque.engraved = engraved + placed_plaque.icon_state = icon_state placed_plaque.obj_integrity = obj_integrity placed_plaque.setDir(dir) qdel(src) diff --git a/code/game/objects/structures/plaques/static_plaques.dm b/code/game/objects/structures/plaques/static_plaques.dm index 1ac3ec7546d..7a7c7baf1e8 100644 --- a/code/game/objects/structures/plaques/static_plaques.dm +++ b/code/game/objects/structures/plaques/static_plaques.dm @@ -19,7 +19,7 @@ /obj/structure/plaque/static_plaque/golden/captain name = "The Most Robust Captain Award for Robustness" -//These are plaques that aren't made of metal, so we'll just consider them signs. Those are made of plastic, not gold. +//These are plaques that aren't made of metal, so we'll just consider them signs. Those are made of plastic (default) or wood, not gold. //See: code>game>objects>structures>signs>_signs.dm /obj/structure/sign/plaques/kiddie @@ -47,3 +47,4 @@ name = "\improper Mr. Deempisi portrait" desc = "Under the painting a plaque reads: 'While the meat grinder may not have spared you, fear not. Not one part of you has gone to waste... You were delicious.'" icon_state = "monkey_painting" + custom_materials = list(/datum/material/wood = 2000) //The same as /obj/structure/sign/picture_frame diff --git a/code/game/objects/structures/signs/_signs.dm b/code/game/objects/structures/signs/_signs.dm index 5b9b29bafb5..2836dbcf50d 100644 --- a/code/game/objects/structures/signs/_signs.dm +++ b/code/game/objects/structures/signs/_signs.dm @@ -1,8 +1,5 @@ /obj/structure/sign icon = 'icons/obj/decals.dmi' - icon_state = "backing" - name = "sign backing" - desc = "A plastic sign backing, use a pen to change the decal. It can be detached from the wall with a wrench." anchored = TRUE opacity = 0 density = FALSE @@ -16,21 +13,31 @@ resistance_flags = FLAMMABLE ///This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override. var/is_editable = FALSE - ///sign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on a sign backing. - var/sign_change_name = "Sign - Blank" //If this is ever seen in game, something went wrong. + ///sign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable. + var/sign_change_name + +/obj/structure/sign/blank //This subtype is necessary for now because some other things (posters, picture frames, paintings) inheret from the parent type. + icon_state = "backing" + name = "sign backing" + desc = "A plastic sign backing, use a pen to change the decal. It can be detached from the wall with a wrench." + is_editable = TRUE + sign_change_name = "Blank Sign" /obj/item/sign name = "sign backing" desc = "A plastic sign backing, use a pen to change the decal. It can be placed on a wall." icon = 'icons/obj/decals.dmi' icon_state = "backing" + item_state = "backing" + lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' + righthand_file = 'icons/mob/inhands/items_righthand.dmi' w_class = WEIGHT_CLASS_NORMAL custom_materials = list(/datum/material/plastic = 2000) armor = list("melee" = 50, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) resistance_flags = FLAMMABLE max_integrity = 100 ///The type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item. - var/sign_path = /obj/structure/sign + var/sign_path = /obj/structure/sign/blank ///This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override. var/is_editable = TRUE @@ -61,6 +68,8 @@ /obj/structure/sign/wrench_act(mob/living/user, obj/item/wrench/I) . = ..() + if(!buildable_sign) + return TRUE user.visible_message("[user] starts removing [src]...", \ "You start unfastening [src].") I.play_tool_sound(src) @@ -70,11 +79,13 @@ user.visible_message("[user] unfastens [src].", \ "You unfasten [src].") var/obj/item/sign/unwrenched_sign = new (get_turf(user)) - if(type != /obj/structure/sign) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. + if(type != /obj/structure/sign/blank) //If it's still just a basic sign backing, we can (and should) skip some of the below variable transfers. unwrenched_sign.name = name //Copy over the sign structure variables to the sign item we're creating when we unwrench a sign. unwrenched_sign.desc = "[desc] It can be placed on a wall." unwrenched_sign.icon_state = icon_state unwrenched_sign.sign_path = type + unwrenched_sign.custom_materials = custom_materials //This is here so picture frames and wooden things don't get messed up. + unwrenched_sign.is_editable = is_editable unwrenched_sign.obj_integrity = obj_integrity //Transfer how damaged it is. unwrenched_sign.setDir(dir) qdel(src) //The sign structure on the wall goes poof and only the sign item from unwrenching remains. @@ -165,7 +176,10 @@ return var/obj/structure/sign/sign_type = GLOB.editable_sign_types[choice] name = initial(sign_type.name) - desc = "[initial(sign_type.desc)] It can be placed on a wall." + if(sign_type != /obj/structure/sign/blank) + desc = "[initial(sign_type.desc)] It can be placed on a wall." + else + desc = initial(desc) //If you're changing it to a blank sign, just use obj/item/sign's description. icon_state = initial(sign_type.icon_state) sign_path = sign_type user.visible_message("You finish changing the sign.") @@ -207,3 +221,4 @@ name = "\improper Nanotrasen logo sign" desc = "The Nanotrasen corporate logo." icon_state = "nanotrasen_sign1" + buildable_sign = FALSE diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 9a0bab6a2ea..963feeec94f 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -284,6 +284,7 @@ desc = "A sign of relief for weary miners, and a warning for would-be competitors to Nanotrasen's mining claims." icon = 'icons/turf/walls/survival_pod_walls.dmi' icon_state = "ntpod" + buildable_sign = FALSE /obj/structure/sign/mining/survival name = "shelter sign" diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm index edbdbcd9c89..f9fadc6f7e4 100644 --- a/code/modules/photography/photos/frame.dm +++ b/code/modules/photography/photos/frame.dm @@ -4,7 +4,7 @@ name = "picture frame" desc = "The perfect showcase for your favorite deathtrap memories." icon = 'icons/obj/decals.dmi' - custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 0.5) + custom_materials = list(/datum/material/wood = 2000) flags_1 = 0 icon_state = "frame-empty" result_path = /obj/structure/sign/picture_frame @@ -64,6 +64,7 @@ desc = "Every time you look it makes you laugh." icon = 'icons/obj/decals.dmi' icon_state = "frame-empty" + custom_materials = list(/datum/material/wood = 2000) var/obj/item/photo/framed var/persistence_id var/can_decon = TRUE diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index b35d6cc5c0d..ef6c49dca30 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index b53905cb2d4..f7f1c515152 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ