From da5996b0fa8ca8a753105db3dec1261239c267d4 Mon Sep 17 00:00:00 2001 From: MistakeNot4892 Date: Fri, 27 Oct 2023 21:52:47 +1100 Subject: [PATCH] Minor poster refactor. --- code/datums/supplypacks/nonessent.dm | 2 +- .../game/objects/effects/decals/contraband.dm | 8 ----- .../objects/effects/decals/posters/_poster.dm | 18 ++++++---- .../effects/decals/posters/_poster_design.dm | 14 +++++++- .../objects/items/weapons/gift_wrappaper.dm | 2 +- code/game/objects/random/subtypes/misc.dm | 2 +- code/unit_tests/icon_tests.dm | 33 ++++++++---------- .../obj/{contraband.dmi => items/posters.dmi} | Bin maps/away/bearcat/bearcat-1.dmm | 2 +- maps/away/liberia/liberia.dmm | 12 +++---- maps/away/slavers/slavers_base.dmm | 2 +- maps/away/unishi/unishi-3.dmm | 2 +- maps/tradeship/tradeship-1.dmm | 2 +- .../away_sites/lar_maria/lar_maria-1.dmm | 6 ++-- mods/valsalia/icons/posters.dmi | Bin 0 -> 6572 bytes nebula.dme | 1 - 16 files changed, 54 insertions(+), 52 deletions(-) delete mode 100644 code/game/objects/effects/decals/contraband.dm rename icons/obj/{contraband.dmi => items/posters.dmi} (100%) create mode 100644 mods/valsalia/icons/posters.dmi diff --git a/code/datums/supplypacks/nonessent.dm b/code/datums/supplypacks/nonessent.dm index 8cb4c18873b..4e03952f164 100644 --- a/code/datums/supplypacks/nonessent.dm +++ b/code/datums/supplypacks/nonessent.dm @@ -22,7 +22,7 @@ /obj/item/chems/glass/paint/purple, /obj/item/chems/glass/paint/black, /obj/item/chems/glass/paint/white, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/stack/package_wrap/fifty = 2, /obj/item/stack/package_wrap/gift/fifty = 2 ) diff --git a/code/game/objects/effects/decals/contraband.dm b/code/game/objects/effects/decals/contraband.dm deleted file mode 100644 index c8f5e1c8b4a..00000000000 --- a/code/game/objects/effects/decals/contraband.dm +++ /dev/null @@ -1,8 +0,0 @@ -//########################## CONTRABAND ;3333333333333333333 -Agouri ################################################### - -/obj/item/contraband - name = "contraband item" - desc = "You probably shouldn't be holding this." - icon = 'icons/obj/contraband.dmi' - force = 0 - material = /decl/material/solid/paper diff --git a/code/game/objects/effects/decals/posters/_poster.dm b/code/game/objects/effects/decals/posters/_poster.dm index b3d140b7724..94a52eff919 100644 --- a/code/game/objects/effects/decals/posters/_poster.dm +++ b/code/game/objects/effects/decals/posters/_poster.dm @@ -4,13 +4,13 @@ ///A wall mounted poster /obj/structure/sign/poster - icon = 'icons/obj/contraband.dmi' + icon = 'icons/obj/items/posters.dmi' icon_state = "poster0" anchored = TRUE directional_offset = "{'NORTH':{'y':32}, 'SOUTH':{'y':-32}, 'EAST':{'x':32}, 'WEST':{'x':-32}}" material = /decl/material/solid/paper maxhealth = 10 - parts_type = /obj/item/contraband/poster + parts_type = /obj/item/poster parts_amount = 1 ///Whether the poster is too damaged to take off from the wall or not. @@ -89,6 +89,7 @@ else desc = "[base_desc] [poster_design.desc]" SetName("[base_name] - [poster_design.name]") + icon = poster_design.icon set_icon_state(poster_design.icon_state) update_icon() @@ -121,10 +122,13 @@ ////////////////////////////////////////////////////////////////////////////////// ///A rolled up version of the wall-mounted poster structure -/obj/item/contraband/poster +/obj/item/poster name = "rolled-up poster" desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface." + icon = 'icons/obj/items/posters.dmi' icon_state = "rolled_poster" + force = 0 + material = /decl/material/solid/paper ///The name of the medium, excluding any reference to the design var/base_name = "rolled-up poster" ///The description for the item/medium without any reference to the design. @@ -132,12 +136,12 @@ ///Type path to the /decl for the design on this poster. At runtime is changed for a reference to the decl var/decl/poster_design/poster_design -/obj/item/contraband/poster/Initialize(ml, material_key, var/given_poster_type = null) +/obj/item/poster/Initialize(ml, material_key, var/given_poster_type = null) //Init design set_design(given_poster_type || poster_design || pick(decls_repository.get_decl_paths_of_subtype(/decl/poster_design))) return ..(ml, material_key) -/obj/item/contraband/poster/proc/set_design(var/decl/poster_design/_design_path) +/obj/item/poster/proc/set_design(var/decl/poster_design/_design_path) if(_design_path == poster_design) return TRUE if(ispath(_design_path, /decl)) @@ -150,7 +154,7 @@ SetName("[base_name] - [poster_design.name] - [poster_design.serial_number]") //Places the poster on a wall -/obj/item/contraband/poster/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams) +/obj/item/poster/afterattack(var/atom/A, var/mob/user, var/adjacent, var/clickparams) if (!adjacent) return @@ -185,7 +189,7 @@ // We cannot rely on user being on the appropriate turf when placement fails P.dismantle() -/obj/item/contraband/poster/proc/ArePostersOnWall(var/turf/W, var/placed_poster) +/obj/item/poster/proc/ArePostersOnWall(var/turf/W, var/placed_poster) //just check if there is a poster on or adjacent to the wall if (locate(/obj/structure/sign/poster) in W) return TRUE diff --git a/code/game/objects/effects/decals/posters/_poster_design.dm b/code/game/objects/effects/decals/posters/_poster_design.dm index ab3719c145a..e96a70f21d1 100644 --- a/code/game/objects/effects/decals/posters/_poster_design.dm +++ b/code/game/objects/effects/decals/posters/_poster_design.dm @@ -4,13 +4,16 @@ ///Contains information on what a poster displays. /decl/poster_design + abstract_type = /decl/poster_design ///The display name/title of the design. Suffixed to the name of the medium displaying the design. var/name ///The description of the design shown to users. This is suffixed to the description of the medium displaying this design. var/desc ///Collectible serial number string, if any. var/serial_number - ///The icon state to use for this design. The display medium will use this to pick it's icon. + ///The icon to use for this design. + var/icon = 'icons/obj/items/posters.dmi' + ///The icon state to use for this design. The display medium will use this to pick it's icon state. var/icon_state /decl/poster_design/Initialize() @@ -21,3 +24,12 @@ if(length(serial_number)) return serial_number = "serial #[sequential_id(/decl/poster_design)]" + +/decl/poster_design/validate() + . = ..() + if(!icon_state) + . += "no icon_state set" + if(!icon) + . += "no icon set" + if(icon && icon_state && !check_state_in_icon(icon_state, icon)) + . += "icon state [icon_state] not present in [icon]" diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index aa8bef4b56a..ff7128e2033 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -63,7 +63,7 @@ /obj/random/lipstick, /obj/item/grenade/smokebomb, /obj/item/corncob, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/book/manual/barman_recipes, /obj/item/book/manual/chef_recipes, /obj/item/bikehorn, diff --git a/code/game/objects/random/subtypes/misc.dm b/code/game/objects/random/subtypes/misc.dm index fbb91f2e3d9..ddee5784499 100644 --- a/code/game/objects/random/subtypes/misc.dm +++ b/code/game/objects/random/subtypes/misc.dm @@ -14,7 +14,7 @@ /obj/item/storage/pill_bottle/zoom = 2, /obj/item/chems/glass/beaker/vial/random/toxin = 1, /obj/item/chems/glass/beaker/sulphuric = 1, - /obj/item/contraband/poster = 5, + /obj/item/poster = 5, /obj/item/butterflyblade = 3, /obj/item/butterflyhandle = 3, /obj/item/baton/cattleprod = 1, diff --git a/code/unit_tests/icon_tests.dm b/code/unit_tests/icon_tests.dm index 199d599665d..f82c31b3d53 100644 --- a/code/unit_tests/icon_tests.dm +++ b/code/unit_tests/icon_tests.dm @@ -2,25 +2,6 @@ name = "ICON STATE template" template = /datum/unit_test/icon_test -/datum/unit_test/icon_test/posters_shall_have_icon_states - name = "ICON STATE - Posters Shall Have Icon States" - -/datum/unit_test/icon_test/posters_shall_have_icon_states/start_test() - var/contraband_icons = icon_states('icons/obj/contraband.dmi') - var/list/invalid_posters = list() - - var/list/all_posters = decls_repository.get_decls_of_subtype(/decl/poster_design) - for(var/poster_design in all_posters) - var/decl/poster_design/P = all_posters[poster_design] - if(!(P.icon_state in contraband_icons)) - invalid_posters += poster_design - - if(invalid_posters.len) - fail("/decl/poster_design with missing icon states: [english_list(invalid_posters)]") - else - pass("All /decl/poster_design subtypes have valid icon states.") - return 1 - /datum/unit_test/icon_test/item_modifiers_shall_have_icon_states name = "ICON STATE - Item Modifiers Shall Have Icon Sates" var/list/icon_states_by_type @@ -51,13 +32,27 @@ /datum/unit_test/icon_test/signs_shall_have_existing_icon_states name = "ICON STATE - Signs shall have existing icon states" + var/list/skip_types = list( + // Posters use a decl to set their icon and handle their own validation. + /obj/structure/sign/poster + ) /datum/unit_test/icon_test/signs_shall_have_existing_icon_states/start_test() var/list/failures = list() for(var/sign_type in typesof(/obj/structure/sign)) + var/obj/structure/sign/sign = sign_type if(TYPE_IS_ABSTRACT(sign)) continue + + var/skip = FALSE + for(var/skip_type in skip_types) + if(ispath(sign_type, skip_type)) + skip = TRUE + break + if(skip) + continue + var/check_state = initial(sign.icon_state) if(!check_state) failures += "[sign] - null icon_state" diff --git a/icons/obj/contraband.dmi b/icons/obj/items/posters.dmi similarity index 100% rename from icons/obj/contraband.dmi rename to icons/obj/items/posters.dmi diff --git a/maps/away/bearcat/bearcat-1.dmm b/maps/away/bearcat/bearcat-1.dmm index 2a4d997800d..31f75001b57 100644 --- a/maps/away/bearcat/bearcat-1.dmm +++ b/maps/away/bearcat/bearcat-1.dmm @@ -782,7 +782,7 @@ }, /obj/structure/closet/coffin, /obj/random/drinkbottle, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/tiled/usedup, /area/ship/scrap/cargo/lower) "bJ" = ( diff --git a/maps/away/liberia/liberia.dmm b/maps/away/liberia/liberia.dmm index 1aae936c19c..7546bed83aa 100644 --- a/maps/away/liberia/liberia.dmm +++ b/maps/away/liberia/liberia.dmm @@ -738,12 +738,12 @@ req_access = newlist() }, /obj/item/storage/secure/briefcase, -/obj/item/contraband/poster, -/obj/item/contraband/poster, -/obj/item/contraband/poster, -/obj/item/contraband/poster, -/obj/item/contraband/poster, -/obj/item/contraband/poster, +/obj/item/poster, +/obj/item/poster, +/obj/item/poster, +/obj/item/poster, +/obj/item/poster, +/obj/item/poster, /obj/item/knife/folding/combat/balisong, /obj/item/knife/folding/combat/balisong, /turf/simulated/floor/tiled/steel_grid, diff --git a/maps/away/slavers/slavers_base.dmm b/maps/away/slavers/slavers_base.dmm index 432c70fa5cb..6d909a76135 100644 --- a/maps/away/slavers/slavers_base.dmm +++ b/maps/away/slavers/slavers_base.dmm @@ -2323,7 +2323,7 @@ icon_state = "1-2" }, /obj/item/stock_parts/circuitboard/broken, -/obj/item/contraband/poster, +/obj/item/poster, /obj/item/radio/shortwave, /obj/machinery/light/small{ dir = 4 diff --git a/maps/away/unishi/unishi-3.dmm b/maps/away/unishi/unishi-3.dmm index a971dbbc36e..3156725ec11 100644 --- a/maps/away/unishi/unishi-3.dmm +++ b/maps/away/unishi/unishi-3.dmm @@ -1441,7 +1441,7 @@ /area/unishi/living) "eb" = ( /obj/structure/table/woodentable, -/obj/item/contraband/poster, +/obj/item/poster, /obj/item/haircomb/random, /obj/random/advdevice, /turf/simulated/floor/tiled, diff --git a/maps/tradeship/tradeship-1.dmm b/maps/tradeship/tradeship-1.dmm index ee46758f064..b4516a3948f 100644 --- a/maps/tradeship/tradeship-1.dmm +++ b/maps/tradeship/tradeship-1.dmm @@ -2015,7 +2015,7 @@ /obj/structure/railing/mapped, /obj/structure/closet/coffin, /obj/random/drinkbottle, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/tiled/monotile, /area/ship/trade/cargo/lower) "it" = ( diff --git a/mods/content/corporate/away_sites/lar_maria/lar_maria-1.dmm b/mods/content/corporate/away_sites/lar_maria/lar_maria-1.dmm index 4a6b98cb20a..52274967a4c 100644 --- a/mods/content/corporate/away_sites/lar_maria/lar_maria-1.dmm +++ b/mods/content/corporate/away_sites/lar_maria/lar_maria-1.dmm @@ -292,7 +292,7 @@ /area/lar_maria/cells) "aV" = ( /obj/structure/bed/padded, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/tiled, /area/lar_maria/cells) "aW" = ( @@ -2529,7 +2529,7 @@ /area/lar_maria/cells) "gC" = ( /obj/structure/closet/crate, -/obj/item/contraband/poster, +/obj/item/poster, /obj/item/inflatable_duck, /turf/simulated/floor/plating, /area/lar_maria/cells) @@ -3058,7 +3058,7 @@ /area/lar_maria/cells) "hW" = ( /obj/structure/table/steel_reinforced, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/plating, /area/lar_maria/cells) "hX" = ( diff --git a/mods/valsalia/icons/posters.dmi b/mods/valsalia/icons/posters.dmi new file mode 100644 index 0000000000000000000000000000000000000000..cff06cdbabe668a844737bc8488aebaa5bae461c GIT binary patch literal 6572 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 F{|^oNsp|j$ literal 0 HcmV?d00001 diff --git a/nebula.dme b/nebula.dme index d023feafb73..25d506c0570 100644 --- a/nebula.dme +++ b/nebula.dme @@ -943,7 +943,6 @@ #include "code\game\objects\effects\chem\foam.dm" #include "code\game\objects\effects\chem\water.dm" #include "code\game\objects\effects\decals\cleanable.dm" -#include "code\game\objects\effects\decals\contraband.dm" #include "code\game\objects\effects\decals\crayon.dm" #include "code\game\objects\effects\decals\decal.dm" #include "code\game\objects\effects\decals\misc.dm"