diff --git a/citadel.dme b/citadel.dme index c092b1d976a8..28470b35a4fc 100644 --- a/citadel.dme +++ b/citadel.dme @@ -274,6 +274,7 @@ #include "code\__DEFINES\misc\attack_animations.dm" #include "code\__DEFINES\misc\message_ranges.dm" #include "code\__DEFINES\misc\nightshift.dm" +#include "code\__DEFINES\misc\posters.dm" #include "code\__DEFINES\mobs\actions.dm" #include "code\__DEFINES\mobs\biology.dm" #include "code\__DEFINES\mobs\characteristics.dm" @@ -545,6 +546,7 @@ #include "code\controllers\repository\languages.dm" #include "code\controllers\repository\material_traits.dm" #include "code\controllers\repository\materials.dm" +#include "code\controllers\repository\poster_designs.dm" #include "code\controllers\repository\structs.dm" #include "code\controllers\subsystem\ai_holders.dm" #include "code\controllers\subsystem\ai_legacy.dm" @@ -1561,9 +1563,6 @@ #include "code\game\objects\effects\decals\misc.dm" #include "code\game\objects\effects\decals\remains.dm" #include "code\game\objects\effects\decals\warning_stripes.dm" -#include "code\game\objects\effects\decals\posters\bs12.dm" -#include "code\game\objects\effects\decals\posters\citadel.dm" -#include "code\game\objects\effects\decals\posters\polarisposters.dm" #include "code\game\objects\effects\map_effects\beam_point.dm" #include "code\game\objects\effects\map_effects\effect_emitter.dm" #include "code\game\objects\effects\map_effects\map_effects.dm" @@ -1925,7 +1924,6 @@ #include "code\game\objects\structures\morgue.dm" #include "code\game\objects\structures\noticeboard.dm" #include "code\game\objects\structures\plasticflaps.dm" -#include "code\game\objects\structures\poster.dm" #include "code\game\objects\structures\railing.dm" #include "code\game\objects\structures\safe.dm" #include "code\game\objects\structures\salvageable.dm" @@ -2289,12 +2287,21 @@ #include "code\modules\alarm\fire_alarm.dm" #include "code\modules\alarm\motion_alarm.dm" #include "code\modules\alarm\power_alarm.dm" -#include "code\modules\artwork\crayon.dm" +#include "code\modules\artwork\crayon_decal_meta.dm" +#include "code\modules\artwork\poster_design.dm" #include "code\modules\artwork\debris\crayon.dm" #include "code\modules\artwork\items\chalk.dm" #include "code\modules\artwork\items\crayon.dm" #include "code\modules\artwork\items\marker.dm" +#include "code\modules\artwork\items\poster.dm" #include "code\modules\artwork\items\spraycan.dm" +#include "code\modules\artwork\poster_designs\baystation.dm" +#include "code\modules\artwork\poster_designs\citadel.dm" +#include "code\modules\artwork\poster_designs\nanotrasen.dm" +#include "code\modules\artwork\poster_designs\polaris.dm" +#include "code\modules\artwork\poster_designs\tgstation.dm" +#include "code\modules\artwork\structures\poster.dm" +#include "code\modules\artwork\structures\sculpting_block.dm" #include "code\modules\assembly\assembly.dm" #include "code\modules\assembly\helpers.dm" #include "code\modules\assembly\holder.dm" @@ -4773,7 +4780,6 @@ #include "code\modules\rogueminer_vr\zone_console.dm" #include "code\modules\rogueminer_vr\zonemaster.dm" #include "code\modules\roles\role.dm" -#include "code\modules\sculpting\sculpting_block.dm" #include "code\modules\security levels\keycard authentication.dm" #include "code\modules\security levels\security levels.dm" #include "code\modules\shieldgen\emergency_shield.dm" diff --git a/code/__DEFINES/misc/posters.dm b/code/__DEFINES/misc/posters.dm new file mode 100644 index 000000000000..c2d6d5aa41a6 --- /dev/null +++ b/code/__DEFINES/misc/posters.dm @@ -0,0 +1,23 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +//* Helpers *// + +#define DECLARE_POSTER_DESIGN(TYPEPATH) \ +/obj/item/poster/preset##TYPEPATH { \ + name = /obj/item/poster::name + " - " + /datum/prototype/poster_design##TYPEPATH::name; \ + desc = /obj/item/poster::desc + " " + /datum/prototype/poster_design##TYPEPATH::desc; \ + poster_design_id = /datum/prototype/poster_design##TYPEPATH; \ +}; \ +/obj/structure/poster/preset##TYPEPATH {; \ + name = /datum/prototype/poster_design##TYPEPATH::name; \ + desc = /obj/structure/poster::desc + " " + /datum/prototype/poster_design##TYPEPATH::desc; \ + icon = /datum/prototype/poster_design##TYPEPATH::icon; \ + icon_state = /datum/prototype/poster_design##TYPEPATH::icon_state; \ + poster_design_id = /datum/prototype/poster_design##TYPEPATH; \ +}; \ +/datum/prototype/poster_design##TYPEPATH + +//* Tags *// + +#define POSTER_TAG_NANOTRASEN "nanotrasen" diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 3c8145928ce2..233a56f2c9c2 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -29,10 +29,6 @@ var/global/list/mechas_list = list() /// Times that players are allowed to respawn ("ckey" = world.time) GLOBAL_LIST_EMPTY(respawn_timers) -//* Posters -var/global/list/poster_designs = list() -var/global/list/NT_poster_designs = list() - //* Uplinks var/list/obj/item/uplink/world_uplinks = list() @@ -118,18 +114,6 @@ GLOBAL_LIST_EMPTY(mannequins) var/list/paths - //Posters - paths = typesof(/datum/poster) - /datum/poster - paths -= typesof(/datum/poster/nanotrasen) - for(var/T in paths) - var/datum/poster/P = new T - poster_designs += P - - paths = typesof(/datum/poster/nanotrasen) - for(var/T in paths) - var/datum/poster/P = new T - NT_poster_designs += P - // Custom species traits paths = typesof(/datum/trait) - /datum/trait - /datum/trait/negative - /datum/trait/neutral - /datum/trait/positive for(var/path in paths) diff --git a/code/controllers/repository.dm b/code/controllers/repository.dm index 4bc218532603..402a48e30dd4 100644 --- a/code/controllers/repository.dm +++ b/code/controllers/repository.dm @@ -155,7 +155,7 @@ * lists returned should never, ever be modified. * this fetches subtypes, not the first type on purpose. */ -/datum/controller/repository/proc/fetch_subtypes(path) +/datum/controller/repository/proc/fetch_subtypes_immutable(path) as /list RETURN_TYPE(/list) ASSERT(ispath(path, /datum/prototype)) if(subtype_lists[path]) @@ -169,6 +169,13 @@ generating += instance return generating +/** + * lists returned may be modified + */ +/datum/controller/repository/proc/fetch_subtypes_mutable(path) as /list + RETURN_TYPE(/list) + return fetch_subtypes_immutable(path).Copy() + /** * Registers a prototype created midround. * diff --git a/code/controllers/repository/poster_designs.dm b/code/controllers/repository/poster_designs.dm new file mode 100644 index 000000000000..327efabe8a5c --- /dev/null +++ b/code/controllers/repository/poster_designs.dm @@ -0,0 +1,39 @@ +//* This file is explicitly licensed under the MIT license. *// +//* Copyright (c) 2024 Citadel Station Developers *// + +REPOSITORY_DEF(poster_designs) + name = "Repository - Poster Designs" + expected_type = /datum/prototype/poster_design + + /// by tag + var/list/tag_lookup = list() + +/datum/controller/repository/poster_designs/load(datum/prototype/poster_design/instance) + . = ..() + if(!.) + return + for(var/the_tag in instance.poster_tags) + LAZYADD(tag_lookup[the_tag], instance) + +/datum/controller/repository/poster_designs/unload(datum/prototype/poster_design/instance) + . = ..() + if(!.) + return + for(var/the_tag in instance.poster_tags) + tag_lookup[the_tag] -= instance + if(!length(tag_lookup[the_tag])) + tag_lookup -= the_tag + +/** + * @params + * * tags - POSTER_TAG_*, list of POSTER_TAG_*, or null for **fetch all**. + */ +/datum/controller/repository/poster_designs/proc/fetch_by_tag_mutable(tags) + if(islist(tags)) + . = list() + for(var/the_tag in tags) + . |= tag_lookup[the_tag] + else if(tags) + . = tag_lookup[tags]?:Copy() || list() + else + . = fetch_subtypes_mutable(/datum/prototype/poster_design) diff --git a/code/controllers/subsystem/materials.dm b/code/controllers/subsystem/materials.dm index 7311cbbc0976..877dcbe0bd1e 100644 --- a/code/controllers/subsystem/materials.dm +++ b/code/controllers/subsystem/materials.dm @@ -171,7 +171,7 @@ SUBSYSTEM_DEF(materials) */ /datum/controller/subsystem/materials/proc/all_materials() RETURN_TYPE(/list) - return RSmaterials.fetch_subtypes(/datum/prototype/material):Copy() + return RSmaterials.fetch_subtypes_immutable(/datum/prototype/material):Copy() /** * drop a material sheet diff --git a/code/datums/prototype.dm b/code/datums/prototype.dm index a53fa776f1b8..fab952b1bcaf 100644 --- a/code/datums/prototype.dm +++ b/code/datums/prototype.dm @@ -30,7 +30,7 @@ /// Globally unique ID for usage with the repository this is stored in. /// - /// * IDs should be named like "kebab-case-abcd-1234". + /// * IDs should be named like "CamelCase" as per prototype standards in many ECS games. /// * IDs should be globally unique across rounds. /// * Hardcoded prototypes should always be referred to via type instead of ID where possible /// * All persistent prototypes bear the burden of not colliding with hardcoded prototypes. diff --git a/code/game/atoms/_atom.dm b/code/game/atoms/_atom.dm index 67997910b44b..905897a8af62 100644 --- a/code/game/atoms/_atom.dm +++ b/code/game/atoms/_atom.dm @@ -14,6 +14,7 @@ /// Prototype ID; persistence uses this to know what atom to load, even if the path changes in a refactor. /// /// * this is very much a 'set this on type and all subtypes or don't set it at all' situation. + /// * should be `FormattedLikeThis`. var/prototype_id //? Interaction diff --git a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/recreation.dm b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/recreation.dm index 7c9fefcb365f..3b68705c4341 100644 --- a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/recreation.dm +++ b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/recreation.dm @@ -46,7 +46,7 @@ /obj/item/reagent_containers/glass/paint/purple, /obj/item/reagent_containers/glass/paint/black, /obj/item/reagent_containers/glass/paint/white, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/wrapping_paper = 3, ) worth = 350 diff --git a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/security.dm b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/security.dm index fd0841c892d1..ff5df848cde3 100644 --- a/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/security.dm +++ b/code/game/content/factions/corporations/nanotrasen/nanotrasen-supply/security.dm @@ -555,7 +555,7 @@ /datum/supply_pack/nanotrasen/security/posters name = "Gear - Morale Posters" contains = list( - /obj/item/contraband/poster/nanotrasen = 6, + /obj/item/poster/nanotrasen = 6, ) worth = 100 // YEAAAH NANOTRASEN PROPAGANDA WOO container_type = /obj/structure/closet/crate/secure/corporate/nanotrasen diff --git a/code/game/objects/effects/decals/posters/polarisposters.dm b/code/game/objects/effects/decals/posters/polarisposters.dm deleted file mode 100644 index f3b4e6e3d708..000000000000 --- a/code/game/objects/effects/decals/posters/polarisposters.dm +++ /dev/null @@ -1,220 +0,0 @@ -/datum/poster/pol_1 - icon_state="polposter1" - name = "Safety!" - desc = "A poster advising you to learn how to put on your internals at a moment's notice." - -/datum/poster/pol_2 - icon_state="polposter2" - name = "Safety!" - desc = "A blue and white colored poster. This one advises you to wear your safety goggles when handling chemicals." - -/datum/poster/pol_3 - icon_state="polposter3" - name = "Safety!" - desc = "A safety poster instructing you to comply with the authorities, especially in an emergency." - -/datum/poster/pol_4 - icon_state="polposter4" - name = "Clean Hands Save Lives" - desc = "A safety poster reminding you to wash your hands." - -/datum/poster/pol_5 - icon_state="polposter5" - name = "Help!" - desc = "This poster depicts a man helping another man get up." - -/datum/poster/pol_6 - icon_state="polposter6" - name = "Walk!" - desc = "This poster depicts a man walking, presumably to encourage you not to run in the halls." - -/datum/poster/pol_7 - icon_state="polposter7" - name = "Place your signs!" - desc = "A safety poster reminding custodial staff to place wet floor signs where needed. This reminder's rarely heeded." - -/datum/poster/pol_8 - icon_state="polposter8" - name = "Safety!" - desc = "An advertisement / safety poster for EVA training and certification. Training is available at your local Central Command." - -/datum/poster/pol_9 - icon_state="poster10" //Recycling this icon - name = "Airlock Maintenance Reference" - desc = "This poster appears to be reference material for maintenance personnel, instructing to always wear insulated gloves, that wirecutters and \ - a multitool are the optimal tools to use, and where to find the maintenance panel on most airlocks. Unfortunately, the poster does not mention any \ - wire codes." - -/datum/poster/pol_10 - icon_state="polposter9" - name = "orchid" - desc = "This poster appears strangely familiar, depicting the flower of a tree native to the planet Earth." - -// A new subset of poster datum for Security posters. -/datum/poster/nanotrasen - icon_state = "polposter1" - name = "Safety!" - desc = "A poster advising you to learn how to put on your internals at a moment's notice." - -/datum/poster/nanotrasen/pol_2 - icon_state="polposter2" - name = "Safety!" - desc = "A blue and white colored poster. This one advises you to wear your safety goggles when handling chemicals." - -/datum/poster/nanotrasen/pol_3 - icon_state="polposter3" - name = "Safety!" - desc = "A safety poster instructing you to comply with the authorities, especially in an emergency." - -/datum/poster/nanotrasen/pol_4 - icon_state="polposter4" - name = "Clean Hands Save Lives" - desc = "A safety poster reminding you to wash your hands." - -/datum/poster/nanotrasen/pol_5 - icon_state="polposter5" - name = "Help!" - desc = "This poster depicts a man helping another man get up." - -/datum/poster/nanotrasen/pol_6 - icon_state="polposter6" - name = "Walk!" - desc = "This poster depicts a man walking, presumably to encourage you not to run in the halls." - -/datum/poster/nanotrasen/pol_7 - icon_state="polposter7" - name = "Place your signs!" - desc = "A safety poster reminding custodial staff to place wet floor signs where needed. This reminder's rarely heeded." - -/datum/poster/nanotrasen/pol_8 - icon_state="polposter8" - name = "Safety!" - desc = "An advertisement / safety poster for EVA training and certification. Training is available at your local Central Command." - -/datum/poster/nanotrasen/pol_9 - icon_state="poster10" - name = "Airlock Maintenance Reference" - desc = "This poster appears to be reference material for maintenance personnel, instructing to always wear insulated gloves, that wirecutters and \ - a multitool are the optimal tools to use, and where to find the maintenance panel on most airlocks. Unfortunately, the poster does not mention any \ - wire codes." - -/datum/poster/nanotrasen/pol_10 - icon_state="polposter9" - name = "orchid" - desc = "This poster suggests a feeling of peace. It depicts the flower of a tree native to the planet Earth." - -/datum/poster/nanotrasen/bay_9 - icon_state="bsposter9" - name = "Pinup Girl Amy" - desc = "This particular one is of Amy, the nymphomaniac urban legend of deep space. How this photograph came to be is not known." - -/datum/poster/nanotrasen/bay_21 - icon_state="bsposter21" - name = "Join the Fuzz!" - desc = "It's a nice recruitment poster of a white haired Chinese woman that says; \"Big Guns, Hot Women, Good Times. Security. We get it done.\"" - -/datum/poster/nanotrasen/bay_22 - icon_state="bsposter22" - name = "Looking for a career with excitement?" - desc = "A recruitment poster starring a dark haired woman with glasses and a purple shirt that has \"Got Brains? Got Talent? Not afraid of electric flying monsters that want to suck the soul out of you? Then Xenobiology could use someone like you!\" written on the bottom." - -/datum/poster/nanotrasen/bay_23 - icon_state="bsposter23" - name = "Safety first: because electricity doesn't wait!" - desc = "A safety poster starring a clueless looking redhead with frazzled hair. \"Every year, hundreds of NT employees expose themselves to electric shock. Play it safe. Avoid suspicious doors after electrical storms, and always wear protection when doing electric maintenance.\"" - -/datum/poster/nanotrasen/bay_24 - icon_state="bsposter24" - name = "Responsible medbay habits, No #259" - desc = "A poster with a nervous looking geneticist on it states; \"Friends Tell Friends They're Clones. It can cause severe and irreparable emotional trauma if a person is not properly informed of their recent demise. Always follow your contractual obligation and inform them of their recent rejuvenation.\"" - -/datum/poster/nanotrasen/bay_25 - icon_state="bsposter25" - name = "Irresponsible medbay habits, No #2" - desc = "This is a safety poster starring a perverted looking naked doctor. \"Sexual harassment is never okay. REPORT any acts of sexual deviance or harassment that disrupt a healthy working environment.\"" - -/datum/poster/nanotrasen/bay_49 - icon_state="bsposter49" - name = "Engineering recruitment" - desc = "This is a poster showing an engineer relaxing by a computer, the text states \"Living the life! Join Engineering today!\"" - -/datum/poster/nanotrasen/bay_52 - icon_state="bsposter52" - name = "fire safety poster" - desc = "This is a poster reminding you of what you should do if you are on fire, or if you are at a dance party." - -/datum/poster/nanotrasen/bay_53 - icon_state="bsposter53" - name = "fire extinguisher poster" - desc = "This is a poster reminding you of what you should use to put out a fire." - -/datum/poster/nanotrasen/bay_54 - icon_state="bsposter54" - name = "firefighter poster" - desc = "This is a poster of a particularly stern looking firefighter. The caption reads, \"Only you can prevent space fires.\"" - -/datum/poster/nanotrasen/bay_57 - icon_state="bsposter57" - name = "space carp warning poster" - desc = "This poster tells of the dangers of space carp infestations." - -/datum/poster/nanotrasen/bay_58 - icon_state="bsposter58" - name = "space carp information poster" - desc = "This poster showcases an old spacer saying on the dangers of migrant space carp." - -/datum/poster/nanotrasen/nt_1 - icon_state = "ntposter01" - name = "Security recruitment" - desc = "This poster showcases an NT security guard in an excited pose, with a small blurb about the importance of Security." - -/datum/poster/nanotrasen/nt_2 - icon_state = "ntposter02" - name = "Security recruitment" - desc = "This poster showcases an NT security guard in an excited pose, with a small blurb about Security Employee benefits." - -/datum/poster/nanotrasen/nt_3 - icon_state = "ntposter03" - name = "Mechatronic Safety" - desc = "This poster displays three cutting-edge gygaxes standing in line in front of a man in plain clothes.\ - The poster's captions explain the importance of knowing how to operate a mechatronic vehicle safely, especially near other personnel.\ - The image seems important." - -/datum/poster/nanotrasen/nt_4 - icon_state = "ntposter04" - name = "Beware Aetotheans" - desc = "This poster displays a distinctly hostile-looking red Promethean in a black coat. The fine-print around the edges warns the reader about the dangers posed by Almachi Prometheans." - -/datum/poster/nanotrasen/nt_5 - icon_state = "ntposter05" - name = SPECIES_PROMETHEAN - desc = "This poster displays a friendly-looking green Promethean in a labcoat. The fine-print around the edges talks about the benefits Prometheans give in laboratories." - -/datum/poster/nanotrasen/nt_6 - icon_state = "ntposter06" - name = "Nanotrasen" - desc = "This poster showcases an NT emblem. There is writing in the ring around the inner points, probably some sort of slogan no one bothers to memorize." - -/* Replace this eventually? -/datum/poster/nanotrasen/nt_7 - icon_state = "ntposter07" - name = "SolGov" - desc = "This poster showcases an SCG emblem. The outer ring reads,\ - \"NIL MORTALIBUS ARDUI EST\".\ - Solar Confederate Government." -*/ - -/datum/poster/nanotrasen/nt_8 - icon_state = "ntposter08" - name = "wildlife hazard" - desc = "This poster warns against attempting to kill a fully grown giant spider or other hostile life-form alone." - -/datum/poster/nanotrasen/nt_9 - icon_state = "ntposter09" - name = "Regulations and You" - desc = "This poster showcases an NT security guard reading from her PDA. The blurb advocates for the reader to keep corporate regulations in mind at all times, as an emergency can occur at any time." - -/datum/poster/nanostrasen/ccc_1 - icon_state = "cccposter01" - name = "The Lost Frontier" - desc = "This poster is a print of a famous paninting commissioned and most commonly used by the Cyan Consumables Corporation. The brass plate on the bottom lists the name of the piece, but the artist's signature has been defaced." diff --git a/code/game/objects/items/contraband.dm b/code/game/objects/items/contraband.dm index 8effa07967c4..2375b3e09398 100644 --- a/code/game/objects/items/contraband.dm +++ b/code/game/objects/items/contraband.dm @@ -104,7 +104,7 @@ /obj/item/card/emag, /obj/item/card/emag_broken, /obj/item/card/id/syndicate, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/disposable_teleporter, /obj/item/grenade/flashbang/clusterbang, /obj/item/grenade/flashbang/clusterbang, diff --git a/code/game/objects/items/id_cards/emag.dm b/code/game/objects/items/id_cards/emag.dm index 38fd47c93f7a..4d894a611dee 100644 --- a/code/game/objects/items/id_cards/emag.dm +++ b/code/game/objects/items/id_cards/emag.dm @@ -1,5 +1,5 @@ /obj/item/card/emag_broken - prototype_id = "cryptographic-sequencer-broken" + prototype_id = "ItemEmagBroken" desc = "It's a card with a magnetic strip attached to some circuitry. It looks too busted to be used for anything but salvage." name = "broken cryptographic sequencer" icon_state = "emag-spent" @@ -7,7 +7,7 @@ origin_tech = list(TECH_MAGNET = 2, TECH_ILLEGAL = 2) /obj/item/card/emag - prototype_id = "crytographic-sequencer" + prototype_id = "ItemEmag" desc = "It's a card with a magnetic strip attached to some circuitry." name = "cryptographic sequencer" icon_state = "emag" diff --git a/code/game/objects/items/stream_projector/medichine.dm b/code/game/objects/items/stream_projector/medichine.dm index a8f4146766cc..4583723dc05b 100644 --- a/code/game/objects/items/stream_projector/medichine.dm +++ b/code/game/objects/items/stream_projector/medichine.dm @@ -17,7 +17,7 @@ GLOBAL_LIST_EMPTY(medichine_cell_datums) * todo: should we use reagents instead..? */ /obj/item/stream_projector/medichine - prototype_id = "medichine-projector" + prototype_id = "ItemMedichineProjector" name = "medichine stream projector" desc = "A specialized, locked-down variant of a nanite stream projector. Deploys medichines from a cartridge onto a target's surface." icon = 'icons/items/stream_projector/medichine.dmi' @@ -362,7 +362,7 @@ GLOBAL_LIST_EMPTY(medichine_cell_datums) * medical beamgun cell */ /obj/item/medichine_cell - prototype_id = "medichine-cell" + prototype_id = "ItemMedichineCell" name = "medichine cartridge (EMPTY)" desc = "A cartridge meant to hold medicinal nanites." icon = 'icons/items/stream_projector/medichine.dmi' diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 568d38b4b2fd..069da682a19a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -87,7 +87,6 @@ icon_state = "waterballoon-e" /obj/item/toy/syndicateballoon - prototype_id = "balloon-syndicate" name = "criminal balloon" desc = "There is a tag on the back that reads \"FUK NT!11!\"." throw_force = 0 @@ -99,7 +98,6 @@ w_class = WEIGHT_CLASS_BULKY /obj/item/toy/nanotrasenballoon - prototype_id = "balloon-nanotrasen" name = "criminal balloon" desc = "Across the balloon the following is printed: \"Man, I love Nanotrasen soooo much. I use only NT products. You have NO idea.\"" throw_force = 0 @@ -114,7 +112,6 @@ * Fake telebeacon */ /obj/item/toy/blink - prototype_id = "toy-teleporter-beacon" name = "electronic blink toy game" desc = "Blink. Blink. Blink. Ages 8 and up." icon = 'icons/obj/machines/teleporter.dmi' @@ -129,7 +126,6 @@ * Fake singularity */ /obj/item/toy/spinningtoy - prototype_id = "toy-singularity" name = "gravitational singularity" desc = "\"Singulo\" brand spinning toy." icon = 'icons/obj/singularity.dmi' diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index ee4fc74d13f4..5d3212747275 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -91,7 +91,7 @@ /obj/item/lipstick/random, /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/misc.dm b/code/game/objects/random/misc.dm index 56cf332c9ac0..e7868cde8b70 100644 --- a/code/game/objects/random/misc.dm +++ b/code/game/objects/random/misc.dm @@ -264,7 +264,7 @@ prob(8);/obj/item/haircomb, prob(4);/obj/item/storage/pill_bottle/happy, prob(4);/obj/item/storage/pill_bottle/zoom, - prob(10);/obj/item/contraband/poster, + prob(10);/obj/item/poster, prob(4);/obj/item/material/butterfly, prob(6);/obj/item/material/butterflyblade, prob(6);/obj/item/material/butterflyhandle, @@ -933,7 +933,7 @@ icon_state = "purplecomb" /obj/random/cargopod/item_to_spawn() - return pick(prob(10);/obj/item/contraband/poster,\ + return pick(prob(10);/obj/item/poster,\ prob(8);/obj/item/haircomb,\ prob(6);/obj/item/material/wirerod,\ prob(6);/obj/item/storage/pill_bottle/tramadol,\ diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 1b53f9f27386..43f8d99d1a0f 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -327,7 +327,7 @@ if(prob(50)) starts_with += /obj/item/storage/backpack/dufflebag/sec if(prob(30)) - starts_with += /obj/item/contraband/poster/nanotrasen + starts_with += /obj/item/poster/nanotrasen return ..() /obj/structure/closet/secure_closet/security/cargo/Initialize(mapload) @@ -407,11 +407,11 @@ GLOBAL_LIST_BOILERPLATE(all_brig_closets, /obj/structure/closet/secure_closet/br anchored = 1 starts_with = list( - /obj/item/contraband/poster/nanotrasen, - /obj/item/contraband/poster/nanotrasen, - /obj/item/contraband/poster/nanotrasen, - /obj/item/contraband/poster/nanotrasen, - /obj/item/contraband/poster/nanotrasen) + /obj/item/poster/nanotrasen, + /obj/item/poster/nanotrasen, + /obj/item/poster/nanotrasen, + /obj/item/poster/nanotrasen, + /obj/item/poster/nanotrasen) /obj/structure/closet/secure_closet/courtroom name = "courtroom locker" diff --git a/code/game/objects/structures/loot_piles.dm b/code/game/objects/structures/loot_piles.dm index 25738b913faa..929746bae3fb 100644 --- a/code/game/objects/structures/loot_piles.dm +++ b/code/game/objects/structures/loot_piles.dm @@ -257,9 +257,9 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh /obj/item/stack/rods{amount = 5}, /obj/item/stack/material/steel{amount = 5}, /obj/item/stack/material/cardboard{amount = 5}, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/material/wirerod, - /obj/item/contraband/poster, + /obj/item/poster, /obj/item/newspaper, /obj/item/paper/crumpled, /obj/item/paper/crumpled/bloody, diff --git a/code/game/objects/structures/poster.dm b/code/game/objects/structures/poster.dm deleted file mode 100644 index 4c7978e4a6da..000000000000 --- a/code/game/objects/structures/poster.dm +++ /dev/null @@ -1,202 +0,0 @@ - -//########################## CONTRABAND ;3333333333333333333 -Agouri ################################################### - -/obj/item/contraband - name = "contraband item" - desc = "You probably shouldn't be holding this." - icon = 'icons/obj/contraband.dmi' - damage_force = 0 - - -/obj/item/contraband/poster - name = "rolled-up poster" - desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface." - icon_state = "rolled_poster" - drop_sound = 'sound/items/drop/wrapper.ogg' - pickup_sound = 'sound/items/pickup/wrapper.ogg' - var/serial_number = null - - var/poster_type = /obj/structure/sign/poster - -/obj/item/contraband/poster/Initialize(mapload, given_serial = 0) - . = ..() - if(!serial_number) - if(given_serial == 0) - serial_number = rand(1, poster_designs.len) - else - serial_number = given_serial - name += " - No. [serial_number]" - -//Places the poster on a wall -/obj/item/contraband/poster/afterattack(atom/target, mob/user, clickchain_flags, list/params) - if (!(clickchain_flags & CLICKCHAIN_HAS_PROXIMITY)) - return - - //must place on a wall and user must not be inside a closet/mecha/whatever - var/turf/W = target - if (!iswall(W) || !isturf(user.loc)) - to_chat(user, "You can't place this here!") - return - - var/placement_dir = get_dir(user, W) - if (!(placement_dir in GLOB.cardinal)) - to_chat(user, "You must stand directly in front of the wall you wish to place that on.") - return - - //just check if there is a poster on or adjacent to the wall - var/stuff_on_wall = 0 - if (locate(/obj/structure/sign/poster) in W) - stuff_on_wall = 1 - - //crude, but will cover most cases. We could do stuff like check pixel_x/y but it's not really worth it. - for (var/dir in GLOB.cardinal) - var/turf/T = get_step(W, dir) - if (locate(/obj/structure/sign/poster) in T) - stuff_on_wall = 1 - break - - if (stuff_on_wall) - to_chat(user, "There is already a poster there!") - return - - to_chat(user, "You start placing the poster on the wall...") //Looks like it's uncluttered enough. Place the poster. - - var/obj/structure/sign/poster/P = new poster_type(user.loc, get_dir(user, W), serial_number, src.type) - - flick("poster_being_set", P) - //playsound(W, 'sound/items/poster_being_created.ogg', 100, 1) //why the hell does placing a poster make printer sounds? - - var/oldsrc = src //get a reference to src so we can delete it after detaching ourselves - src = null - spawn(17) - if(!P) - return - - if(iswall(W) && user && P.loc == user.loc) //Let's check if everything is still there - to_chat(user, "You place the poster!") - else - P.roll_and_drop(P.loc) - - qdel(oldsrc) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway - -//NT subtype -/obj/item/contraband/poster/nanotrasen - icon_state = "rolled_poster_nt" - poster_type = /obj/structure/sign/poster/nanotrasen - -/obj/item/contraband/poster/nanotrasen/Initialize(mapload, given_serial = 0) - if(given_serial == 0) - serial_number = rand(1, NT_poster_designs.len) - else - serial_number = given_serial - return ..(mapload) - -//############################## THE ACTUAL DECALS ########################### - -/obj/structure/sign/poster - name = "poster" - desc = "A large piece of space-resistant printed paper. " - icon = 'icons/obj/contraband.dmi' - anchored = 1 - var/serial_number //Will hold the value of src.loc if nobody initialises it - var/poster_type //So mappers can specify a desired poster - var/ruined = 0 - - var/roll_type - var/poster_set = FALSE - -/obj/structure/sign/poster/Initialize(mapload, placement_dir, serial, itemtype = /obj/item/contraband/poster) - . = ..(mapload) - - if(!serial) - serial = rand(1, poster_designs.len) //use a random serial if none is given - - if(!poster_set) - serial_number = serial - var/datum/poster/design = poster_designs[serial_number] - set_poster(design) - - if(itemtype || !roll_type) - roll_type = itemtype - - switch (placement_dir) - if (NORTH) - pixel_x = 0 - pixel_y = 32 - if (SOUTH) - pixel_x = 0 - pixel_y = -32 - if (EAST) - pixel_x = 32 - pixel_y = 0 - if (WEST) - pixel_x = -32 - pixel_y = 0 - -/obj/structure/sign/poster/Initialize(mapload) - . = ..() - if (poster_type) - var/path = text2path(poster_type) - var/datum/poster/design = new path - set_poster(design) - -/obj/structure/sign/poster/proc/set_poster(var/datum/poster/design) - name = "[initial(name)] - [design.name]" - desc = "[initial(desc)] [design.desc]" - icon_state = design.icon_state // poster[serial_number] - - poster_set = TRUE - -/obj/structure/sign/poster/attackby(obj/item/W as obj, mob/user as mob) - if(W.is_wirecutter()) - playsound(src.loc, W.tool_sound, 100, 1) - if(ruined) - to_chat(user, "You remove the remnants of the poster.") - qdel(src) - else - to_chat(user, "You carefully remove the poster from the wall.") - roll_and_drop(user.loc) - return - -/obj/structure/sign/poster/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) - - if(ruined) - return - - if(alert("Do I want to rip the poster from the wall?","You think...","Yes","No") == "Yes") - - if(ruined || !user.Adjacent(src)) - return - - visible_message("[user] rips [src] in a single, decisive motion!" ) - playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, 1) - ruined = 1 - icon_state = "poster_ripped" - name = "ripped poster" - desc = "You can't make out anything from the poster's original print. It's ruined." - add_fingerprint(user) - -/obj/structure/sign/poster/proc/roll_and_drop(turf/newloc) - new roll_type(newloc, serial_number) - qdel(src) - -/datum/poster - // Name suffix. Poster - [name] - var/name="" - // Description suffix - var/desc="" - var/icon_state="" - -// NT poster subtype. -/obj/structure/sign/poster/nanotrasen - roll_type = /obj/item/contraband/poster/nanotrasen - -/obj/structure/sign/poster/nanotrasen/Initialize(mapload, placement_dir, serial, itemtype = /obj/item/contraband/poster/nanotrasen) - if(!serial) - serial = rand(1, NT_poster_designs.len) - - serial_number = serial - var/datum/poster/design = NT_poster_designs[serial_number] - set_poster(design) - - return ..(mapload, placement_dir, serial, itemtype) diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 79e1a4a67811..7156d2cdc424 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -1,8 +1,8 @@ /obj/structure/sign icon = 'icons/obj/decals.dmi' - anchored = 1 - opacity = 0 - density = 0 + anchored = TRUE + opacity = FALSE + density = FALSE plane = OBJ_PLANE layer = ABOVE_JUNK_LAYER w_class = WEIGHT_CLASS_NORMAL diff --git a/code/game/objects/structures/trash_pile.dm b/code/game/objects/structures/trash_pile.dm index ce0607b10237..7532fc01b19c 100644 --- a/code/game/objects/structures/trash_pile.dm +++ b/code/game/objects/structures/trash_pile.dm @@ -189,7 +189,7 @@ prob(2);/obj/item/flashlight/glowstick/blue, prob(2);/obj/item/card/emag_broken, prob(2);/obj/item/cell/super, - prob(2);/obj/item/contraband/poster, + prob(2);/obj/item/poster, prob(2);/obj/item/reagent_containers/glass/rag, prob(2);/obj/item/storage/box/sinpockets, prob(2);/obj/item/storage/secure/briefcase, diff --git a/code/game/turfs/simulated/wall/wall.dm b/code/game/turfs/simulated/wall/wall.dm index 7ff9c000e20b..e07dacb35c6a 100644 --- a/code/game/turfs/simulated/wall/wall.dm +++ b/code/game/turfs/simulated/wall/wall.dm @@ -166,8 +166,8 @@ material_outer.place_dismantled_product(src) for(var/obj/O in src.contents) //Eject contents! - if(istype(O,/obj/structure/sign/poster)) - var/obj/structure/sign/poster/P = O + if(istype(O,/obj/structure/poster)) + var/obj/structure/poster/P = O P.roll_and_drop(src) else O.forceMove(src) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 6d6a876f3e65..2c7138660328 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -192,7 +192,7 @@ var/global/floorIsLava = 0 // language toggles body += "

Languages:
" var/f = 1 - for(var/datum/prototype/language/L as anything in tim_sort(RSlanguages.fetch_subtypes(/datum/prototype/language), /proc/cmp_name_asc)) + for(var/datum/prototype/language/L as anything in tim_sort(RSlanguages.fetch_subtypes_immutable(/datum/prototype/language), /proc/cmp_name_asc)) if(!(L.language_flags & LANGUAGE_INNATE)) if(!f) body += " | " else f = 0 diff --git a/code/modules/artwork/crayon.dm b/code/modules/artwork/crayon_decal_meta.dm similarity index 100% rename from code/modules/artwork/crayon.dm rename to code/modules/artwork/crayon_decal_meta.dm diff --git a/code/modules/artwork/items/poster.dm b/code/modules/artwork/items/poster.dm new file mode 100644 index 000000000000..be689b6a4f99 --- /dev/null +++ b/code/modules/artwork/items/poster.dm @@ -0,0 +1,91 @@ +/obj/item/poster + prototype_id = "ItemPoster" + name = "rolled-up poster" + desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface." + icon = 'icons/modules/artwork/posters/poster.dmi' + icon_state = "rolled_poster" + drop_sound = 'sound/items/drop/wrapper.ogg' + pickup_sound = 'sound/items/pickup/wrapper.ogg' + + /// random poster design tag or tags no [poster_design_id] is filled out + /// + /// * null = pick all possible + /// * accepts null, POSTER_TAG_* enum, or list of POSTER_TAG_* enum's + var/poster_random_tag + /// our poster design id or type. + var/poster_design_id + /// were we macro-defined? lets us skip a few things. + var/macro_defined = FALSE + +/obj/item/poster/Initialize(mapload, poster_design_id) + . = ..() + if(macro_defined) + return + poster_design_id = poster_design_id || src.poster_design_id + if(!poster_design_id) + poster_design_id = pick(RSposter_designs.fetch_by_tag_mutable(poster_random_tag)) + if(poster_design_id != src.poster_design_id) + src.poster_design_id = poster_design_id + set_poster_design(RSposter_designs.fetch(poster_design_id)) + +/obj/item/poster/proc/set_poster_design(datum/prototype/poster_design/design) + src.name = "rolled-up-poster - [design.name]" + src.desc = "[initial(src.desc)] [design.desc]" + src.poster_design_id = design.id + +//Places the poster on a wall +/obj/item/poster/afterattack(atom/target, mob/user, clickchain_flags, list/params) + if (!(clickchain_flags & CLICKCHAIN_HAS_PROXIMITY)) + return + + //must place on a wall and user must not be inside a closet/mecha/whatever + var/turf/W = target + if (!iswall(W) || !isturf(user.loc)) + to_chat(user, "You can't place this here!") + return + + var/placement_dir = get_dir(user, W) + if (!(placement_dir in GLOB.cardinal)) + to_chat(user, "You must stand directly in front of the wall you wish to place that on.") + return + + //just check if there is a poster on or adjacent to the wall + var/stuff_on_wall = 0 + if (locate(/obj/structure/poster) in W) + stuff_on_wall = 1 + + //crude, but will cover most cases. We could do stuff like check pixel_x/y but it's not really worth it. + for (var/dir in GLOB.cardinal) + var/turf/T = get_step(W, dir) + if (locate(/obj/structure/poster) in T) + stuff_on_wall = 1 + break + + if (stuff_on_wall) + to_chat(user, "There is already a poster there!") + return + + to_chat(user, "You start placing the poster on the wall...") //Looks like it's uncluttered enough. Place the poster. + + var/obj/structure/poster/P = new(user.loc, get_dir(user, W), poster_design_id) + + flick(icon('icons/modules/artwork/posters/poster.dmi', "poster_being_set"), P) + + // todo: refactor + //playsound(W, 'sound/items/poster_being_created.ogg', 100, 1) //why the hell does placing a poster make printer sounds? + var/oldsrc = src //get a reference to src so we can delete it after detaching ourselves + src = null + spawn(17) + if(!P) + return + + if(iswall(W) && user && P.loc == user.loc) //Let's check if everything is still there + to_chat(user, "You place the poster!") + else + P.roll_and_drop(P.drop_location()) + + qdel(oldsrc) //delete it now to cut down on sanity checks afterwards. Agouri's code supports rerolling it anyway + +/obj/item/poster/nanotrasen + icon_state = "rolled_poster_nt" + poster_random_tag = POSTER_TAG_NANOTRASEN diff --git a/code/modules/artwork/poster_design.dm b/code/modules/artwork/poster_design.dm new file mode 100644 index 000000000000..b5d5cf23c3c2 --- /dev/null +++ b/code/modules/artwork/poster_design.dm @@ -0,0 +1,13 @@ +/datum/prototype/poster_design + abstract_type = /datum/prototype/poster_design + + /// poster name + var/name + /// poster desc + var/desc + /// poster icon + var/icon + /// poster icon state + var/icon_state + /// list of tags, if any + var/list/poster_tags diff --git a/code/game/objects/effects/decals/posters/bs12.dm b/code/modules/artwork/poster_designs/baystation.dm similarity index 72% rename from code/game/objects/effects/decals/posters/bs12.dm rename to code/modules/artwork/poster_designs/baystation.dm index 6837fc307cd2..bffba8215dea 100644 --- a/code/game/objects/effects/decals/posters/bs12.dm +++ b/code/modules/artwork/poster_designs/baystation.dm @@ -1,290 +1,387 @@ -// baystation12 posters -/datum/poster/bay_1 +/datum/prototype/poster_design/baystation + abstract_type = /datum/prototype/poster_design/baystation + icon = 'icons/modules/artwork/posters/sets/baystation.dmi' + +DECLARE_POSTER_DESIGN(/baystation/bay_1) + id = "Baystation1" icon_state="bsposter1" name = "Unlucky Space Explorer" desc = "This particular one depicts a skeletal form within a space suit." -/datum/poster/bay_2 +DECLARE_POSTER_DESIGN(/baystation/bay_2) + id = "Baystation2" icon_state="bsposter2" name = "Positronic Logic Conflicts" desc = "This particular one depicts the cold, unmoving stare of a particular advanced AI." -/datum/poster/bay_3 +DECLARE_POSTER_DESIGN(/baystation/bay_3) + id = "Baystation3" icon_state="bsposter3" name = "Paranoia" desc = "This particular one warns of the dangers of trusting your co-workers too much." -/datum/poster/bay_4 +DECLARE_POSTER_DESIGN(/baystation/bay_4) + id = "Baystation4" icon_state="bsposter4" name = "Keep Calm" desc = "This particular one is of a famous New Earth design, although a bit modified. Someone has scribbled an O over the A on the poster." -/datum/poster/bay_5 +DECLARE_POSTER_DESIGN(/baystation/bay_5) + id = "Baystation5" icon_state="bsposter5" name = "Martian Warlord" desc = "This particular one depicts the cartoony mug of a certain Martial Warmonger." -/datum/poster/bay_6 +DECLARE_POSTER_DESIGN(/baystation/bay_6) + id = "Baystation6" icon_state="bsposter6" name = "Technological Singularity" desc = "This particular one is of the blood-curdling symbol of a long-since defeated enemy of humanity." -/datum/poster/bay_7 +DECLARE_POSTER_DESIGN(/baystation/bay_7) + id = "Baystation7" icon_state="bsposter7" name = "Wasteland" desc = "This particular one is of a couple of ragged gunmen, one male and one female, on top of a mound of rubble. The number \"12\" is visible on their blue jumpsuits." -/datum/poster/bay_8 +DECLARE_POSTER_DESIGN(/baystation/bay_8) + id = "Baystation8" icon_state="bsposter8" name = "Pinup Girl Cindy" desc = "This particular one is of a historical corporate PR girl, Cindy, in a particularly feminine pose." -/datum/poster/bay_9 +DECLARE_POSTER_DESIGN(/baystation/bay_9) + id = "Baystation9" icon_state="bsposter9" name = "Pinup Girl Amy" desc = "This particular one is of Amy, the nymphomaniac urban legend of deep space. How this photograph came to be is not known." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_10 +DECLARE_POSTER_DESIGN(/baystation/bay_10) + id = "Baystation10" icon_state="bsposter10" name = "Don't Panic" desc = "This particular one depicts some sort of star in a grimace. The \"Don't Panic\" is written in big, friendly letters." -/datum/poster/bay_11 +DECLARE_POSTER_DESIGN(/baystation/bay_11) + id = "Baystation11" icon_state="bsposter11" name = "Underwater Laboratory" desc = "This particular one is of the fabled last crew of a previous Company project." -/datum/poster/bay_12 +DECLARE_POSTER_DESIGN(/baystation/bay_12) + id = "Baystation12" icon_state="bsposter12" name = "Rogue AI" desc = "This particular one depicts the shell of the infamous AI that catastropically comandeered one of humanity's earliest space stations. Back then, the Company was just known as TriOptimum." -/datum/poster/bay_13 +DECLARE_POSTER_DESIGN(/baystation/bay_13) + id = "Baystation13" icon_state="bsposter13" name = "User of the Arcane Arts" desc = "This particular one depicts a wizard, casting a spell. You can't really make out if it's an actual photograph or a computer-generated image." -/datum/poster/bay_14 +DECLARE_POSTER_DESIGN(/baystation/bay_14) + id = "Baystation14" icon_state="bsposter14" name = "Levitating Skull" desc = "This particular one is the portrait of a flying enchanted skull. Its adventures along with its fabled companion are now fading through history..." -/datum/poster/bay_15 +DECLARE_POSTER_DESIGN(/baystation/bay_15) + id = "Baystation15" icon_state="bsposter15" name = "Augmented Legend" desc = "This particular one is of an obviously augmented individual, gazing towards the sky. The cyber-city in the backround is rather punkish." -/datum/poster/bay_16 +DECLARE_POSTER_DESIGN(/baystation/bay_16) + id = "Baystation16" icon_state="bsposter16" name = "Dangerous Static" desc = "This particular one depicts nothing remarkable other than a rather mesmerising pattern of monitor static. There's a tag on the sides of the poster, but it's ripped off." -/datum/poster/bay_17 +DECLARE_POSTER_DESIGN(/baystation/bay_17) + id = "Baystation17" icon_state="bsposter17" name = "Pinup Girl Val" desc = "Luscious Val McNeil, the vertically challenged Legal Extraordinaire, winner of Miss Space two years running and favoured pinup girl of Lawyers Weekly." -/datum/poster/bay_18 +DECLARE_POSTER_DESIGN(/baystation/bay_18) + id = "Baystation18" icon_state="bsposter18" name = "Derpman, Enforcer of the State" desc = "Here to protect and serve... your donuts! A generously proportioned man, he teaches you the value of hiding your snacks." -/datum/poster/bay_19 +DECLARE_POSTER_DESIGN(/baystation/bay_19) + id = "Baystation19" icon_state="bsposter19" name = "Respect an Unathi" desc = "This poster depicts a well dressed looking Unathi receiving a prestigious award. It appears to espouse greater co-operation and harmony between the two races." -/datum/poster/bay_20 +DECLARE_POSTER_DESIGN(/baystation/bay_20) + id = "Baystation20" icon_state="bsposter20" name = "Skrell Twilight" desc = "This poster depicts a mysteriously inscrutable, alien scene. Numerous Skrell can be seen conversing amidst great, crystalline towers rising above crashing waves" -/datum/poster/bay_21 +DECLARE_POSTER_DESIGN(/baystation/bay_21) + id = "Baystation21" icon_state="bsposter21" name = "Join the Fuzz!" desc = "It's a nice recruitment poster of a white haired Chinese woman that says; \"Big Guns, Hot Women, Good Times. Security. We get it done.\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_22 +DECLARE_POSTER_DESIGN(/baystation/bay_22) + id = "Baystation22" icon_state="bsposter22" name = "Looking for a career with excitement?" desc = "A recruitment poster starring a dark haired woman with glasses and a purple shirt that has \"Got Brains? Got Talent? Not afraid of electric flying monsters that want to suck the soul out of you? Then Xenobiology could use someone like you!\" written on the bottom." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_23 +DECLARE_POSTER_DESIGN(/baystation/bay_23) + id = "Baystation23" icon_state="bsposter23" name = "Safety first: because electricity doesn't wait!" desc = "A safety poster starring a clueless looking redhead with frazzled hair. \"Every year, hundreds of NT employees expose themselves to electric shock. Play it safe. Avoid suspicious doors after electrical storms, and always wear protection when doing electric maintenance.\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_24 +DECLARE_POSTER_DESIGN(/baystation/bay_24) + id = "Baystation24" icon_state="bsposter24" name = "Responsible medbay habits, No #259" desc = "A poster with a nervous looking geneticist on it states; \"Friends Tell Friends They're Clones. It can cause severe and irreparable emotional trauma if a person is not properly informed of their recent demise. Always follow your contractual obligation and inform them of their recent rejuvenation.\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_25 +DECLARE_POSTER_DESIGN(/baystation/bay_25) + id = "Baystation25" icon_state="bsposter25" name = "Irresponsible medbay habits, No #2" desc = "This is a safety poster starring a perverted looking naked doctor. \"Sexual harassment is never okay. REPORT any acts of sexual deviance or harassment that disrupt a healthy working environment.\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_26 +DECLARE_POSTER_DESIGN(/baystation/bay_26) + id = "Baystation26" icon_state="bsposter26" name = "The Men We Knew" desc = "This movie poster depicts a group of soldiers fighting a large mech, the movie seems to be a patriotic war movie." -/datum/poster/bay_27 +DECLARE_POSTER_DESIGN(/baystation/bay_27) + id = "Baystation27" icon_state="bsposter27" name = "Plastic Sheep Can't Scream" desc = "This is a movie poster for an upcoming horror movie, it features an AI in the front of it." -/datum/poster/bay_28 +DECLARE_POSTER_DESIGN(/baystation/bay_28) + id = "Baystation28" icon_state="bsposter28" name = "The Stars Know Love" desc = "This is a movie poster. A bleeding woman is shown drawing a heart in her blood on the window of space ship, it seems to be a romantic Drama." -/datum/poster/bay_29 +DECLARE_POSTER_DESIGN(/baystation/bay_29) + id = "Baystation29" icon_state="bsposter29" name = "Winter Is Coming" desc = "On the poster is a frighteningly large wolf, he warns: \"Only YOU can keep the station from freezing during planetary occultation!\"" -/datum/poster/bay_30 +DECLARE_POSTER_DESIGN(/baystation/bay_30) + id = "Baystation30" icon_state="bsposter30" name = "Ambrosia Vulgaris" desc = "Just looking at this poster makes you feel a little bit dizzy." -/datum/poster/bay_31 +DECLARE_POSTER_DESIGN(/baystation/bay_31) + id = "Baystation31" icon_state="bsposter31" name = "Donut Corp" desc = "This is an advertisement for Donut Corp, the new innovation in donut technology!" -/datum/poster/bay_32 +DECLARE_POSTER_DESIGN(/baystation/bay_32) + id = "Baystation32" icon_state="bsposter32" name = "Eat!" desc = "A poster depicting a hamburger. The poster orders you to consume the hamburger." -/datum/poster/bay_33 +DECLARE_POSTER_DESIGN(/baystation/bay_33) + id = "Baystation33" icon_state="bsposter33" name = "Tools, tools, tools" desc = "You can never have enough tools, thats for sure!" -/datum/poster/bay_34 +DECLARE_POSTER_DESIGN(/baystation/bay_34) + id = "Baystation34" icon_state="bsposter34" name = "Power Up!" desc = "High reward, higher risk!" -/datum/poster/bay_35 +DECLARE_POSTER_DESIGN(/baystation/bay_35) + id = "Baystation35" icon_state="bsposter35" name = "Lamarr" desc = "This is a poster depicting the pet and mascot of the science department." -/datum/poster/bay_36 +DECLARE_POSTER_DESIGN(/baystation/bay_36) + id = "Baystation36" icon_state="bsposter36" name = "Fancy Borg" desc = "A poster depicting a cyborg using the service module. 'Fancy Borg' is written on it." -/datum/poster/bay_37 +DECLARE_POSTER_DESIGN(/baystation/bay_37) + id = "Baystation37" icon_state="bsposter37" name = "Fancier Borg" desc = "A poster depicting a cyborg using the service module. 'Fancy Borg' is written on it. This is even fancier than the first poster." -/datum/poster/bay_38 +DECLARE_POSTER_DESIGN(/baystation/bay_38) + id = "Baystation38" icon_state="bsposter38" name = "Toaster Love" desc = "This is a poster of a toaster containing two slices of bread. The word LOVE is written in big pink letters underneath." -/datum/poster/bay_39 +DECLARE_POSTER_DESIGN(/baystation/bay_39) + id = "Baystation39" icon_state="bsposter39" name = "Responsible medbay habits, No #91" desc = "A safety poster with a chemist holding a vial. \"Always wear safety gear while handling dangerous chemicals, even if it concerns only small amounts.\"" -/datum/poster/bay_40 +DECLARE_POSTER_DESIGN(/baystation/bay_40) + id = "Baystation40" icon_state="bsposter40" name = "Agreeable work environment" desc = "This poster depicts a young woman in a stylish dress. \"Try to aim for a pleasant atmosphere in the workspace. A friendly word can do more than forms in triplicate.\"" -/datum/poster/bay_41 +DECLARE_POSTER_DESIGN(/baystation/bay_41) + id = "Baystation41" icon_state="bsposter41" name = "Professional work environment" desc = "A safety poster featuring a green haired woman in a shimmering blue dress. \"As an Internal Affairs Agent, your job is to create a fair and agreeable work environment for the crewmembers, as discreetly and professionally as possible.\"" -/datum/poster/bay_42 +DECLARE_POSTER_DESIGN(/baystation/bay_42) + id = "Baystation42" icon_state="bsposter42" name = "Engineering pinup" desc = "This is pin-up poster. A half-naked girl with white hair, toned muscles and stunning blue eyes looks back at you from the poster. Her welding helmet, tattoos and grey jumpsuit hanging around her waist gives a bit of a rugged feel." -/datum/poster/bay_43 +DECLARE_POSTER_DESIGN(/baystation/bay_43) + id = "Baystation43" icon_state="bsposter43" name = "Responsible medbay habits, No #3" desc = "A safety poster with a purple-haired surgeon. She looks a bit cross. \"Let the surgeons do their work. NEVER replace or remove a surgery tool from where the surgeon put it.\"" -/datum/poster/bay_44 +DECLARE_POSTER_DESIGN(/baystation/bay_44) + id = "Baystation44" icon_state="bsposter44" name = "Time for a drink?" desc = "This poster depicts a friendly-looking Tajaran holding a tray of drinks." -/datum/poster/bay_45 +DECLARE_POSTER_DESIGN(/baystation/bay_45) + id = "Baystation45" icon_state="bsposter45" name = "Responsible engineering habits, No #1" desc = "A safety poster featuring a blue haired engineer. \"When repairing a machine or construction, always aim for long-term solutions.\"" -/datum/poster/bay_46 +DECLARE_POSTER_DESIGN(/baystation/bay_46) + id = "Baystation46" icon_state="bsposter46" name = "Inspirational lawyer" desc = "An inspirational poster depicting a Skrellian lawyer. He seems to be shouting something, while pointing fiercely to the right." -/datum/poster/bay_47 +DECLARE_POSTER_DESIGN(/baystation/bay_47) + id = "Baystation47" icon_state="bsposter47" name = "Security pinup" desc = "This is a pin-up poster. A dark skinned white haired girl poses in the sunlight wearing a tank top with her stomach exposed. The text on the poster states \"M, Succubus of Security.\" and a lipstick mark stains the top right corner, as if kissed by the model herself." -/datum/poster/bay_48 +DECLARE_POSTER_DESIGN(/baystation/bay_48) + id = "Baystation48" icon_state="bsposter48" name = "Borg pinup?" desc = "This is a.. pin-up poster? It is a diagram on an old model of cyborg with a note scribbled in marker on the bottom, on the top there is a large XO written in red marker." -/datum/poster/bay_49 +DECLARE_POSTER_DESIGN(/baystation/bay_49) + id = "Baystation49" icon_state="bsposter49" name = "Engineering recruitment" desc = "This is a poster showing an engineer relaxing by a computer, the text states \"Living the life! Join Engineering today!\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_50 +DECLARE_POSTER_DESIGN(/baystation/bay_50) + id = "Baystation50" icon_state="bsposter50" name = "Pinup Girl Cindy Kate" desc = "This particular one is of Cindy Kate, a seductive performer well known among less savoury circles." -/datum/poster/bay_51 +DECLARE_POSTER_DESIGN(/baystation/bay_51) + id = "Baystation51" icon_state="bsposter51" name = "space appreciation poster" desc = "This is a poster produced by the Generic Space Company, as a part of a series of commemorative posters on the wonders of space. One of three." -/datum/poster/bay_52 +DECLARE_POSTER_DESIGN(/baystation/bay_52) + id = "Baystation52" icon_state="bsposter52" name = "fire safety poster" desc = "This is a poster reminding you of what you should do if you are on fire, or if you are at a dance party." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_53 +DECLARE_POSTER_DESIGN(/baystation/bay_53) + id = "Baystation53" icon_state="bsposter53" name = "fire extinguisher poster" desc = "This is a poster reminding you of what you should use to put out a fire." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_54 +DECLARE_POSTER_DESIGN(/baystation/bay_54) + id = "Baystation54" icon_state="bsposter54" name = "firefighter poster" desc = "This is a poster of a particularly stern looking firefighter. The caption reads, \"Only you can prevent space fires.\"" + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_55 +DECLARE_POSTER_DESIGN(/baystation/bay_55) + id = "Baystation55" icon_state="bsposter55" name = "Earth appreciation poster" desc = "This is a poster produced by the Generic Space Company, as a part of a series of commemorative posters on the wonders of space. Two of three." -/datum/poster/bay_56 +DECLARE_POSTER_DESIGN(/baystation/bay_56) + id = "Baystation56" icon_state="bsposter56" name = "Mars appreciation poster" desc = "This is a poster produced by the Generic Space Company, as a part of a series of commemorative posters on the wonders of space. Three of three." -/datum/poster/bay_57 +DECLARE_POSTER_DESIGN(/baystation/bay_57) + id = "Baystation57" icon_state="bsposter57" name = "space carp warning poster" desc = "This poster tells of the dangers of space carp infestations." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) -/datum/poster/bay_58 +DECLARE_POSTER_DESIGN(/baystation/bay_58) + id = "Baystation58" icon_state="bsposter58" name = "space carp information poster" desc = "This poster showcases an old spacer saying on the dangers of migrant space carp." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) diff --git a/code/game/objects/effects/decals/posters/citadel.dm b/code/modules/artwork/poster_designs/citadel.dm similarity index 62% rename from code/game/objects/effects/decals/posters/citadel.dm rename to code/modules/artwork/poster_designs/citadel.dm index 5ee2c4680a37..b398a0c86148 100644 --- a/code/game/objects/effects/decals/posters/citadel.dm +++ b/code/modules/artwork/poster_designs/citadel.dm @@ -1,9 +1,15 @@ -/datum/poster/cit_1 +/datum/prototype/poster_design/citadel + abstract_type = /datum/prototype/poster_design/citadel + icon = 'icons/modules/artwork/posters/sets/citadel.dmi' + +DECLARE_POSTER_DESIGN(/citadel/cit_1) + id = "Citadel1" icon_state="citposter1" name = "I Blame Kynde" desc = "A poster blaming the corporation Kynde Group Pharmaceuticals for something. It doesn't specify what." -/datum/poster/cit_2 +DECLARE_POSTER_DESIGN(/citadel/cit_2) + id = "Citadel2" icon_state="citposter2" name = "mysterious poster" desc = "This poster is just a grainy photograph of a marble statue of an angel. There's a single line of tiny yellow text at the lower right corner which reads: \"Your guardian angels are near and ready to help.\"" diff --git a/code/modules/artwork/poster_designs/nanotrasen.dm b/code/modules/artwork/poster_designs/nanotrasen.dm new file mode 100644 index 000000000000..d2cf0ad6a2c7 --- /dev/null +++ b/code/modules/artwork/poster_designs/nanotrasen.dm @@ -0,0 +1,90 @@ +/datum/prototype/poster_design/nanotrasen + abstract_type = /datum/prototype/poster_design/nanotrasen + icon = 'icons/modules/artwork/posters/sets/nanotrasen.dmi' + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_1) + id = "Nanotrasen1" + icon_state = "ntposter01" + name = "Security recruitment" + desc = "This poster showcases an NT security guard in an excited pose, with a small blurb about the importance of Security." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_2) + id = "Nanotrasen2" + icon_state = "ntposter02" + name = "Security recruitment" + desc = "This poster showcases an NT security guard in an excited pose, with a small blurb about Security Employee benefits." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_3) + id = "Nanotrasen3" + icon_state = "ntposter03" + name = "Mechatronic Safety" + desc = "This poster displays three cutting-edge gygaxes standing in line in front of a man in plain clothes.\ + The poster's captions explain the importance of knowing how to operate a mechatronic vehicle safely, especially near other personnel.\ + The image seems important." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_4) + id = "Nanotrasen4" + icon_state = "ntposter04" + name = "Beware Aetotheans" + desc = "This poster displays a distinctly hostile-looking red Promethean in a black coat. The fine-print around the edges warns the reader about the dangers posed by Almachi Prometheans." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_5) + id = "Nanotrasen5" + icon_state = "ntposter05" + name = "Promethean" + desc = "This poster displays a friendly-looking green Promethean in a labcoat. The fine-print around the edges talks about the benefits Prometheans give in laboratories." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_6) + id = "Nanotrasen6" + icon_state = "ntposter06" + name = "Nanotrasen" + desc = "This poster showcases an NT emblem. There is writing in the ring around the inner points, probably some sort of slogan no one bothers to memorize." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +/* Replace this eventually? +DECLARE_POSTER_DESIGN(/nanotrasen/nt_7) + id = "Nanotrasen7" + icon_state = "ntposter07" + name = "SolGov" + desc = "This poster showcases an SCG emblem. The outer ring reads,\ + \"NIL MORTALIBUS ARDUI EST\".\ + Solar Confederate Government." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) +*/ + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_8) + id = "Nanotrasen8" + icon_state = "ntposter08" + name = "wildlife hazard" + desc = "This poster warns against attempting to kill a fully grown giant spider or other hostile life-form alone." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/nanotrasen/nt_9) + id = "Nanotrasen9" + icon_state = "ntposter09" + name = "Regulations and You" + desc = "This poster showcases an NT security guard reading from her PDA. The blurb advocates for the reader to keep corporate regulations in mind at all times, as an emergency can occur at any time." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) diff --git a/code/modules/artwork/poster_designs/polaris.dm b/code/modules/artwork/poster_designs/polaris.dm new file mode 100644 index 000000000000..2a3d3f620293 --- /dev/null +++ b/code/modules/artwork/poster_designs/polaris.dm @@ -0,0 +1,92 @@ +/datum/prototype/poster_design/polaris + abstract_type = /datum/prototype/poster_design/polaris + icon = 'icons/modules/artwork/posters/sets/polaris.dmi' + +DECLARE_POSTER_DESIGN(/polaris/pol_1) + id = "Polaris1" + icon_state="polposter1" + name = "Safety!" + desc = "A poster advising you to learn how to put on your internals at a moment's notice." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_2) + id = "Polaris2" + icon_state="polposter2" + name = "Safety!" + desc = "A blue and white colored poster. This one advises you to wear your safety goggles when handling chemicals." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_3) + id = "Polaris3" + icon_state="polposter3" + name = "Safety!" + desc = "A safety poster instructing you to comply with the authorities, especially in an emergency." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_4) + id = "Polaris4" + icon_state="polposter4" + name = "Clean Hands Save Lives" + desc = "A safety poster reminding you to wash your hands." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_5) + id = "Polaris5" + icon_state="polposter5" + name = "Help!" + desc = "This poster depicts a man helping another man get up." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_6) + id = "Polaris6" + icon_state="polposter6" + name = "Walk!" + desc = "This poster depicts a man walking, presumably to encourage you not to run in the halls." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_7) + id = "Polaris7" + icon_state="polposter7" + name = "Place your signs!" + desc = "A safety poster reminding custodial staff to place wet floor signs where needed. This reminder's rarely heeded." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_8) + id = "Polaris8" + icon_state="polposter8" + name = "Safety!" + desc = "An advertisement / safety poster for EVA training and certification. Training is available at your local Central Command." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_9) + id = "Polaris9" + icon_state="poster10" //Recycling this icon + name = "Airlock Maintenance Reference" + desc = "This poster appears to be reference material for maintenance personnel, instructing to always wear insulated gloves, that wirecutters and \ + a multitool are the optimal tools to use, and where to find the maintenance panel on most airlocks. Unfortunately, the poster does not mention any \ + wire codes." + poster_tags = list( + POSTER_TAG_NANOTRASEN, + ) + +DECLARE_POSTER_DESIGN(/polaris/pol_10) + id = "Polaris10" + icon_state="polposter9" + name = "orchid" + desc = "This poster appears strangely familiar, depicting the flower of a tree native to the planet Earth." diff --git a/code/game/objects/effects/decals/posters/tgposters.dm b/code/modules/artwork/poster_designs/tgstation.dm similarity index 61% rename from code/game/objects/effects/decals/posters/tgposters.dm rename to code/modules/artwork/poster_designs/tgstation.dm index 6ebe60355cb1..3ff8e678ffa0 100644 --- a/code/game/objects/effects/decals/posters/tgposters.dm +++ b/code/modules/artwork/poster_designs/tgstation.dm @@ -1,50 +1,63 @@ -// /tg/ posters. -/datum/poster/tg_1 +/datum/prototype/poster_design/tgstation + abstract_type = /datum/prototype/poster_design/tgstation + icon = 'icons/modules/artwork/posters/sets/tgstation.dmi' + +DECLARE_POSTER_DESIGN(/tgstation/tg_1) + id = "Tgstation1" name = "Free Tonto" desc = "A framed shred of a much larger flag, colors bled together and faded from age." icon_state="poster1" -/datum/poster/tg_2 +DECLARE_POSTER_DESIGN(/tgstation/tg_2) + id = "Tgstation2" name = "Atmosia Declaration of Independence" desc = "A relic of a failed rebellion" icon_state="poster2" -/datum/poster/tg_3 +DECLARE_POSTER_DESIGN(/tgstation/tg_3) + id = "Tgstation3" name = "Fun Police" desc = "A poster condemning the station's security forces." icon_state="poster3" -/datum/poster/tg_4 +DECLARE_POSTER_DESIGN(/tgstation/tg_4) + id = "Tgstation4" name = "Lusty Xeno" desc = "A heretical poster depicting the titular star of an equally heretical book." icon_state="poster4" -/datum/poster/tg_5 +DECLARE_POSTER_DESIGN(/tgstation/tg_5) + id = "Tgstation5" name = "Mercenary Recruitment Poster" desc = "See the galaxy! Shatter corrupt megacorporations! Join today!" icon_state="poster5" -/datum/poster/tg_6 +DECLARE_POSTER_DESIGN(/tgstation/tg_6) + id = "Tgstation6" name = "Clown" desc = "Honk." icon_state="poster6" -/datum/poster/tg_7 +DECLARE_POSTER_DESIGN(/tgstation/tg_7) + id = "Tgstation7" name = "Smoke" desc = "A poster depicting a carton of cigarettes." icon_state="poster7" -/datum/poster/tg_8 +DECLARE_POSTER_DESIGN(/tgstation/tg_8) + id = "Tgstation8" name = "Grey Tide" desc = "A rebellious poster symbolizing assistant solidarity." icon_state="poster8" -/datum/poster/tg_9 +DECLARE_POSTER_DESIGN(/tgstation/tg_9) + id = "Tgstation9" name = "Missing Gloves" desc = "This poster is about the uproar that followed Nanotrasen's financial cuts towards insulated-glove purchases." icon_state="poster9" -/datum/poster/tg_10 +DECLARE_POSTER_DESIGN(/tgstation/tg_10) + id = "Tgstation10" name = "Hacking Guide" desc = "This poster details the internal workings of the common Nanotrasen airlock." icon_state="poster10" diff --git a/code/modules/artwork/structures/poster.dm b/code/modules/artwork/structures/poster.dm new file mode 100644 index 000000000000..4b707581a185 --- /dev/null +++ b/code/modules/artwork/structures/poster.dm @@ -0,0 +1,86 @@ +/obj/structure/poster + prototype_id = "Poster" + name = "poster" + desc = "A large piece of space-resistant printed paper." + icon = 'icons/modules/artwork/posters/poster.dmi' + anchored = TRUE + + /// random poster design tag or tags no [poster_design_id] is filled out + /// + /// * null = pick all possible + /// * accepts null, POSTER_TAG_* enum, or list of POSTER_TAG_* enum's + var/poster_random_tag + /// our poster design id or type. + var/poster_design_id + /// were we macro-defined? lets us skip a few things. + var/macro_defined = FALSE + + var/ruined = 0 + var/roll_type + +/obj/structure/poster/Initialize(mapload, placement_dir, poster_design_id) + . = ..() + switch (placement_dir) + if (NORTH) + pixel_x = 0 + pixel_y = 32 + if (SOUTH) + pixel_x = 0 + pixel_y = -32 + if (EAST) + pixel_x = 32 + pixel_y = 0 + if (WEST) + pixel_x = -32 + pixel_y = 0 + + if(macro_defined) + return + poster_design_id = poster_design_id || src.poster_design_id + if(!poster_design_id) + poster_design_id = pick(RSposter_designs.fetch_by_tag_mutable(poster_random_tag)) + if(poster_design_id != src.poster_design_id) + src.poster_design_id = poster_design_id + set_poster_design(RSposter_designs.fetch(poster_design_id)) + +/obj/structure/poster/proc/set_poster_design(datum/prototype/poster_design/design) + src.name = "rolled-up-poster - [design.name]" + src.desc = "[initial(src.desc)] [design.desc]" + src.poster_design_id = design.id + src.icon = design.icon + src.icon_state = design.icon_state + +/obj/structure/poster/attackby(obj/item/W as obj, mob/user as mob) + if(W.is_wirecutter()) + playsound(src.loc, W.tool_sound, 100, 1) + if(ruined) + to_chat(user, "You remove the remnants of the poster.") + qdel(src) + else + to_chat(user, "You carefully remove the poster from the wall.") + roll_and_drop(user.loc) + +/obj/structure/poster/attack_hand(mob/user, datum/event_args/actor/clickchain/e_args) + if(ruined) + return + + if(alert("Do I want to rip the poster from the wall?","You think...","Yes","No") == "Yes") + + if(ruined || !user.Adjacent(src)) + return + + visible_message("[user] rips [src] in a single, decisive motion!" ) + playsound(src.loc, 'sound/items/poster_ripped.ogg', 100, 1) + ruined = TRUE + icon = initial(icon) + icon_state = "poster_ripped" + name = "ripped poster" + desc = "You can't make out anything from the poster's original print. It's ruined." + add_fingerprint(user) + +/obj/structure/poster/proc/roll_and_drop(turf/newloc) + new /obj/item/poster(newloc, poster_design_id) + qdel(src) + +/obj/structure/poster/nanotrasen + poster_random_tag = POSTER_TAG_NANOTRASEN diff --git a/code/modules/sculpting/sculpting_block.dm b/code/modules/artwork/structures/sculpting_block.dm similarity index 99% rename from code/modules/sculpting/sculpting_block.dm rename to code/modules/artwork/structures/sculpting_block.dm index db094b418e61..d9e53ef0ced6 100644 --- a/code/modules/sculpting/sculpting_block.dm +++ b/code/modules/artwork/structures/sculpting_block.dm @@ -19,7 +19,7 @@ /obj/structure/sculpting_block name = "material block" desc = "A block of material. You can sculpt this with appropriate tools, like a screwdriver." - icon = 'icons/modules/sculpting/sculpting.dmi' + icon = 'icons/modules/artwork/sculpting.dmi' icon_state = "block" density = TRUE anchored = FALSE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index c6c5345ba578..c1e3f9dccd26 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -182,7 +182,7 @@ add_language(LANGUAGE_EAL, TRUE) // todo: translation contexts on language holder? // this is messy - for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes(/datum/prototype/language)) + for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes_immutable(/datum/prototype/language)) if(!(L.translation_class & TRANSLATION_CLASSES_CYBORG_SPEAKS)) continue add_language(L, TRUE) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index 4ec7fc042cc4..5503d984d817 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -63,7 +63,7 @@ init_id() init_subsystems() - for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes(/datum/prototype/language)) + for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes_immutable(/datum/prototype/language)) if(L.translation_class & TRANSLATION_CLASS_LEVEL_1) add_language(L) add_language(LANGUAGE_EAL) diff --git a/code/modules/preferences/preference_setup/helpers/language_pick.dm b/code/modules/preferences/preference_setup/helpers/language_pick.dm index 1d3b21c2bb4f..263b38bb51a1 100644 --- a/code/modules/preferences/preference_setup/helpers/language_pick.dm +++ b/code/modules/preferences/preference_setup/helpers/language_pick.dm @@ -67,7 +67,7 @@ GLOBAL_LIST_EMPTY(language_picker_active) var/list/data = ..() var/list/built = list() var/list/categories = list("General") - for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes(/datum/prototype/language)) + for(var/datum/prototype/language/L as anything in RSlanguages.fetch_subtypes_immutable(/datum/prototype/language)) if(L.language_flags & LANGUAGE_RESTRICTED) continue built[++built.len] = list( diff --git a/code/modules/projectiles/guns/attachments/flashlight.dm b/code/modules/projectiles/guns/attachments/flashlight.dm index 67644df3d22e..ef9e5963d5f8 100644 --- a/code/modules/projectiles/guns/attachments/flashlight.dm +++ b/code/modules/projectiles/guns/attachments/flashlight.dm @@ -61,7 +61,7 @@ /obj/item/gun_attachment/flashlight/rail name = "rail light" icon_state = "raillight" - prototype_id = "attachment-rail-light" + prototype_id = "ItemAttachmentRailLight" align_x = 19 align_y = 17 attachment_slot = GUN_ATTACHMENT_SLOT_RAIL @@ -83,7 +83,7 @@ /obj/item/gun_attachment/flashlight/maglight name = "maglight" icon_state = "maglight" - prototype_id = "attachment-mag-light" + prototype_id = "ItemAttachmentMaglight" align_x = 11 align_y = 3 attachment_slot = GUN_ATTACHMENT_SLOT_SIDEBARREL diff --git a/code/modules/projectiles/guns/attachments/harness.dm b/code/modules/projectiles/guns/attachments/harness.dm index 5996ac248bbc..96fa43da8859 100644 --- a/code/modules/projectiles/guns/attachments/harness.dm +++ b/code/modules/projectiles/guns/attachments/harness.dm @@ -8,7 +8,7 @@ /obj/item/gun_attachment/harness/magnetic name = "magnetic harness" desc = "A fancy harness that will snap a gun back to an attachment point when it's dropped by its wearer." - prototype_id = "attachment-magnetic-harness" + prototype_id = "ItemAttachmentMagneticHarness" icon_state = "magnetic" align_x = 15 align_y = 16 diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 965f2e471176..ce4734c087fe 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -110,7 +110,7 @@ research holder datum. ///Input/Output: n/a /datum/research/proc/RefreshResearch() if(stores_designs) - for(var/datum/prototype/design/PD in RSdesigns.fetch_subtypes(/datum/prototype/design)) + for(var/datum/prototype/design/PD in RSdesigns.fetch_subtypes_immutable(/datum/prototype/design)) if(DesignHasReqs(PD)) AddDesign2Known(PD) for(var/datum/tech/T in known_tech) diff --git a/icons/modules/artwork/posters/poster.dmi b/icons/modules/artwork/posters/poster.dmi new file mode 100644 index 000000000000..2c0a7534499e Binary files /dev/null and b/icons/modules/artwork/posters/poster.dmi differ diff --git a/icons/modules/artwork/posters/sets/baystation.dmi b/icons/modules/artwork/posters/sets/baystation.dmi new file mode 100644 index 000000000000..6aba237617eb Binary files /dev/null and b/icons/modules/artwork/posters/sets/baystation.dmi differ diff --git a/icons/modules/artwork/posters/sets/citadel.dmi b/icons/modules/artwork/posters/sets/citadel.dmi new file mode 100644 index 000000000000..cb4965d96e6e Binary files /dev/null and b/icons/modules/artwork/posters/sets/citadel.dmi differ diff --git a/icons/modules/artwork/posters/sets/nanotrasen.dmi b/icons/modules/artwork/posters/sets/nanotrasen.dmi new file mode 100644 index 000000000000..2e49229c6405 Binary files /dev/null and b/icons/modules/artwork/posters/sets/nanotrasen.dmi differ diff --git a/icons/modules/artwork/posters/sets/polaris.dmi b/icons/modules/artwork/posters/sets/polaris.dmi new file mode 100644 index 000000000000..9eade1b4e7d8 Binary files /dev/null and b/icons/modules/artwork/posters/sets/polaris.dmi differ diff --git a/icons/modules/artwork/posters/sets/tgstation.dmi b/icons/modules/artwork/posters/sets/tgstation.dmi new file mode 100644 index 000000000000..1d113a2ed161 Binary files /dev/null and b/icons/modules/artwork/posters/sets/tgstation.dmi differ diff --git a/icons/modules/sculpting/sculpting.dmi b/icons/modules/artwork/sculpting.dmi similarity index 100% rename from icons/modules/sculpting/sculpting.dmi rename to icons/modules/artwork/sculpting.dmi diff --git a/icons/obj/contraband.dmi b/icons/obj/contraband.dmi deleted file mode 100644 index 83cfd111937d..000000000000 Binary files a/icons/obj/contraband.dmi and /dev/null differ diff --git a/maps/away_missions/140x140/snow_outpost.dmm b/maps/away_missions/140x140/snow_outpost.dmm index 1414055a0b70..08e3424b3cc3 100644 --- a/maps/away_missions/140x140/snow_outpost.dmm +++ b/maps/away_missions/140x140/snow_outpost.dmm @@ -1925,7 +1925,7 @@ /area/awaymission/snow_outpost/dark) "hm" = ( /obj/structure/closet/cabinet, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/carpet, /area/awaymission/snow_outpost/dark) "hn" = ( diff --git a/maps/away_missions/140x140/zoo.dmm b/maps/away_missions/140x140/zoo.dmm index c61ff79c3c38..d29742391bfd 100644 --- a/maps/away_missions/140x140/zoo.dmm +++ b/maps/away_missions/140x140/zoo.dmm @@ -2451,7 +2451,7 @@ /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hl" = ( -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/plating, /area/awaymission/zoo/pirateship) "hm" = ( diff --git a/maps/away_missions/archive/Academy.dmm b/maps/away_missions/archive/Academy.dmm index d46ab0c43a34..19cfbe49825d 100644 --- a/maps/away_missions/archive/Academy.dmm +++ b/maps/away_missions/archive/Academy.dmm @@ -1912,7 +1912,7 @@ /obj/structure/closet, /obj/item/reagent_containers/food/drinks/bottle/small/beer, /obj/item/clothing/under/color/lightpurple, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor, /area/awaymission/academy/academyaft) "hV" = ( diff --git a/maps/away_missions/archive/blackmarketpackers.dmm b/maps/away_missions/archive/blackmarketpackers.dmm index 6c3dd657f027..8bd6e7b152ba 100644 --- a/maps/away_missions/archive/blackmarketpackers.dmm +++ b/maps/away_missions/archive/blackmarketpackers.dmm @@ -2064,7 +2064,7 @@ /turf/simulated/floor/plating, /area/awaymission/BMPship3) "iG" = ( -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/plating, /area/awaymission/BMPship3) "iK" = ( diff --git a/maps/away_missions/archive/spacebattle.dmm b/maps/away_missions/archive/spacebattle.dmm index 24a663f5082d..1cfcb6179823 100644 --- a/maps/away_missions/archive/spacebattle.dmm +++ b/maps/away_missions/archive/spacebattle.dmm @@ -1039,7 +1039,7 @@ /area/awaymission/spacebattle/cruiser) "gg" = ( /obj/structure/closet/crate, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/plating, /area/awaymission/spacebattle/cruiser) "gh" = ( diff --git a/maps/endeavour/levels/deck1.dmm b/maps/endeavour/levels/deck1.dmm index c2c11f6bda08..94cc77fa5561 100644 --- a/maps/endeavour/levels/deck1.dmm +++ b/maps/endeavour/levels/deck1.dmm @@ -8265,7 +8265,7 @@ /turf/simulated/floor/tiled/dark, /area/exploration/courser_dock) "gvS" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/r_wall/prepainted/command, /area/crew_quarters/heads/hop) "gwu" = ( @@ -10301,7 +10301,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/lino, @@ -11819,7 +11819,7 @@ /turf/simulated/floor/wood, /area/endeavour/surfacebase/sauna) "jod" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/maintenance/substation/civilian) "joA" = ( @@ -16982,7 +16982,7 @@ /turf/simulated/floor/wood, /area/lawoffice) "npN" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/endeavour/hallway/d1aftmaint) "npZ" = ( @@ -28246,7 +28246,7 @@ /obj/effect/floor_decal/corner/mauve/border{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /turf/simulated/floor/tiled, diff --git a/maps/endeavour/levels/deck2.dmm b/maps/endeavour/levels/deck2.dmm index 954951cc6d6f..d3c48b311df8 100644 --- a/maps/endeavour/levels/deck2.dmm +++ b/maps/endeavour/levels/deck2.dmm @@ -3225,7 +3225,7 @@ /turf/simulated/floor/tiled, /area/endeavour/hallway/d1starboardafthall) "ces" = ( -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = 32 }, /obj/machinery/atmospherics/component/unary/vent_pump/on{ diff --git a/maps/euthenia/levels/deck2.dmm b/maps/euthenia/levels/deck2.dmm index 3df6ceb5ce68..b9b9004fb1e2 100644 --- a/maps/euthenia/levels/deck2.dmm +++ b/maps/euthenia/levels/deck2.dmm @@ -5776,7 +5776,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /obj/structure/disposalpipe/trunk, @@ -20118,7 +20118,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /turf/simulated/floor/wood, diff --git a/maps/map_levels/140x140/lavaland_dungeon.dmm b/maps/map_levels/140x140/lavaland_dungeon.dmm index 8031d2bde0c2..24bcb6b3f19b 100644 --- a/maps/map_levels/140x140/lavaland_dungeon.dmm +++ b/maps/map_levels/140x140/lavaland_dungeon.dmm @@ -77,7 +77,7 @@ /obj/effect/floor_decal/corner/yellow/border{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /turf/simulated/floor/tiled/steel_dirty, @@ -952,7 +952,7 @@ /obj/effect/floor_decal/spline/fancy{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/wood, @@ -1093,7 +1093,7 @@ /turf/simulated/floor/tiled/steel_dirty, /area/sector/surt/dungeon/facility) "VI" = ( -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /turf/simulated/floor/tiled/steel_dirty, diff --git a/maps/map_levels/140x140/talon/talon1.dmm b/maps/map_levels/140x140/talon/talon1.dmm index cff249acb7d6..d40214fb3920 100644 --- a/maps/map_levels/140x140/talon/talon1.dmm +++ b/maps/map_levels/140x140/talon/talon1.dmm @@ -2179,7 +2179,7 @@ /turf/simulated/floor/hull/airless, /area/talon/maintenance/deckone_starboard_aft_wing) "sZ" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ dir = 1; icon_state = "" }, diff --git a/maps/map_levels/140x140/talon/talon2.dmm b/maps/map_levels/140x140/talon/talon2.dmm index fc798de821d7..85f49d68a886 100644 --- a/maps/map_levels/140x140/talon/talon2.dmm +++ b/maps/map_levels/140x140/talon/talon2.dmm @@ -154,7 +154,7 @@ /turf/simulated/floor/airless, /area/talon/maintenance/decktwo_solars) "dl" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ dir = 1; icon_state = "" }, @@ -478,7 +478,7 @@ /turf/simulated/floor/plating, /area/talon/maintenance/decktwo_starboard) "gS" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ dir = 4; icon_state = "" }, @@ -1334,7 +1334,7 @@ /turf/simulated/floor/tiled/eris/cafe, /area/talon/decktwo/kitchen) "pt" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ dir = 4; icon_state = "" }, @@ -3644,7 +3644,7 @@ /turf/simulated/wall, /area/talon/decktwo/bar) "PD" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ dir = 4; icon_state = "" }, diff --git a/maps/rift/levels/rift-03-underground1.dmm b/maps/rift/levels/rift-03-underground1.dmm index f4d2732f9bb4..1f715a2f1001 100644 --- a/maps/rift/levels/rift-03-underground1.dmm +++ b/maps/rift/levels/rift-03-underground1.dmm @@ -13884,7 +13884,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 8 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /turf/simulated/floor/wood, @@ -16385,7 +16385,7 @@ /obj/effect/floor_decal/spline/plain{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /obj/structure/disposalpipe/trunk, diff --git a/maps/rift/levels/rift-04-surface1.dmm b/maps/rift/levels/rift-04-surface1.dmm index 2182b74af094..3b2ff86f9e8d 100644 --- a/maps/rift/levels/rift-04-surface1.dmm +++ b/maps/rift/levels/rift-04-surface1.dmm @@ -781,7 +781,7 @@ /turf/simulated/floor/tiled/monodark, /area/security/prison/upper) "aCk" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/wood/broken, @@ -2151,7 +2151,7 @@ "byP" = ( /obj/structure/flora/pottedplant/minitree, /obj/effect/floor_decal/corner/red/diagonal, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/tiled/white, @@ -10158,7 +10158,7 @@ /obj/effect/floor_decal/borderfloor{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /obj/effect/floor_decal/corner/blue/border{ @@ -12261,7 +12261,7 @@ /obj/structure/bed/chair/comfy/red{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/carpet/bcarpet, @@ -21307,7 +21307,7 @@ /turf/simulated/floor/carpet/bcarpet, /area/crew_quarters/game_room) "npr" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /obj/structure/bed/chair/comfy/red{ @@ -21567,7 +21567,7 @@ /turf/simulated/floor/wood, /area/lawoffice) "nyh" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/wood, @@ -32541,7 +32541,7 @@ /turf/simulated/floor/tiled/white, /area/crew_quarters/medbreak) "tDQ" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/plating, @@ -37496,7 +37496,7 @@ "wuX" = ( /obj/machinery/chemical_dispenser/catering/bar_coffee, /obj/structure/table/woodentable, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/reinforced, @@ -37637,7 +37637,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/tiled/steel, @@ -38323,7 +38323,7 @@ /turf/simulated/floor/tiled/steel, /area/quartermaster/office) "wUG" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/tiled/steel, @@ -39313,7 +39313,7 @@ /area/rift/surfacebase/outside/outside1) "xxZ" = ( /obj/structure/table/hardwoodtable, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/wood/broken, diff --git a/maps/rift/levels/rift-05-surface2.dmm b/maps/rift/levels/rift-05-surface2.dmm index 390cfccb1bbe..1dd525a90066 100644 --- a/maps/rift/levels/rift-05-surface2.dmm +++ b/maps/rift/levels/rift-05-surface2.dmm @@ -3064,7 +3064,7 @@ /obj/structure/table/bench/steel{ pixel_y = 22 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/structure/flora/pottedplant/shoot{ @@ -7120,7 +7120,7 @@ /obj/structure/table/hardwoodtable{ density = 0 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /obj/item/deck/tarot, @@ -13898,7 +13898,7 @@ /turf/simulated/floor/reinforced, /area/rnd/outpost/xenobiology/outpost_slimepens) "iMz" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted/security, /area/security/briefing_room) "iMB" = ( @@ -22580,7 +22580,7 @@ pixel_x = -2; pixel_y = -2 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /obj/machinery/camera/network/civilian{ diff --git a/maps/sectors/admin_planets_192/croatoan.dmm b/maps/sectors/admin_planets_192/croatoan.dmm index ff82180b4d45..33761393dfae 100644 --- a/maps/sectors/admin_planets_192/croatoan.dmm +++ b/maps/sectors/admin_planets_192/croatoan.dmm @@ -1514,7 +1514,7 @@ /turf/simulated/floor/reinforced, /area/admin_planet/croatoan/extreme_security_containment_facilities) "eL" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted/civilian, /area/admin_planet/croatoan/civ_hydro) "eM" = ( @@ -5755,7 +5755,7 @@ /turf/simulated/floor/tiled/white, /area/admin_planet/croatoan/civilian/dorms) "tP" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/admin_planet/croatoan/civ_kitchen) "tQ" = ( @@ -10412,7 +10412,7 @@ /turf/simulated/floor/reinforced, /area/admin_planet/croatoan/high_sec_science_containment_cells) "KX" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/dungeon, /area/admin_planet/croatoan/civ_bar_public) "KY" = ( @@ -10599,7 +10599,7 @@ /turf/simulated/floor/concrete/tile/outdoors, /area/admin_planet/croatoan/mountain_plains) "LA" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/admin_planet/croatoan/civ_bar_public) "LB" = ( @@ -14589,7 +14589,7 @@ /turf/simulated/floor/reinforced, /area/admin_planet/croatoan/high_sec_science_entrance) "YN" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/admin_planet/croatoan/civilian/dorms) "YO" = ( @@ -14904,7 +14904,7 @@ /area/admin_planet/croatoan/sec_hos_office) "ZY" = ( /obj/effect/floor_decal/corner/grey/diagonal, -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted/civilian, /area/admin_planet/croatoan/civ_kitchen) "ZZ" = ( diff --git a/maps/sectors/tradeport_192/levels/tradeport_192.dmm b/maps/sectors/tradeport_192/levels/tradeport_192.dmm index 21833a245c4f..71902655b932 100644 --- a/maps/sectors/tradeport_192/levels/tradeport_192.dmm +++ b/maps/sectors/tradeport_192/levels/tradeport_192.dmm @@ -480,7 +480,7 @@ dir = 8 }, /obj/effect/floor_decal/steeldecal/steel_decals4, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /turf/simulated/floor/tiled/old_tile/gray, @@ -494,7 +494,7 @@ /obj/machinery/atmospherics/component/unary/vent_pump/on{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/tiled/neutral, @@ -1545,7 +1545,7 @@ /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/general) "fq" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /obj/machinery/atm{ @@ -1927,16 +1927,16 @@ /area/tradeport/pads) "gF" = ( /obj/structure/table/rack/shelf/steel, -/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/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/poster, +/obj/item/poster, +/obj/item/poster, +/obj/item/poster, /turf/simulated/floor/wood, /area/tradeport/cyndi) "gJ" = ( @@ -2104,7 +2104,7 @@ name = "discount cryptographic sequencer"; uses = 1 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/tiled/dark, @@ -3002,7 +3002,7 @@ dir = 4 }, /obj/structure/table/alien, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/item/paper_bin{ @@ -7380,7 +7380,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/item/reagent_containers/food/snacks/candy_corn, @@ -7398,7 +7398,7 @@ /turf/simulated/floor/tiled/red, /area/shuttle/trade_ship/general) "Ax" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ @@ -8223,7 +8223,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /turf/simulated/floor/tiled/neutral, @@ -8254,7 +8254,7 @@ "DG" = ( /obj/structure/bed/padded, /obj/item/bedsheet/hos, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled/old_tile/gray, @@ -8929,7 +8929,7 @@ /turf/simulated/floor/tiled/dark, /area/shuttle/trade_ship/cockpit) "Gd" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /obj/structure/table/standard, @@ -13985,7 +13985,7 @@ /turf/simulated/floor/tiled/old_tile/purple, /area/tradeport/spine) "Yx" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -14271,7 +14271,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, diff --git a/maps/submaps/level_specific/debrisfield_vr/mining_drones.dmm b/maps/submaps/level_specific/debrisfield_vr/mining_drones.dmm index 006b3cc94f96..c865a2f87c36 100644 --- a/maps/submaps/level_specific/debrisfield_vr/mining_drones.dmm +++ b/maps/submaps/level_specific/debrisfield_vr/mining_drones.dmm @@ -85,9 +85,8 @@ /turf/space, /area/space) "q" = ( -/obj/structure/sign/poster{ - pixel_y = 32; - poster_type = "/datum/poster/bay_50" +/obj/structure/poster{ + pixel_y = 32 }, /turf/simulated/floor/airless, /area/submap/debrisfield_vr/mining_outpost) diff --git a/maps/submaps/level_specific/virgo2/Drugden.dmm b/maps/submaps/level_specific/virgo2/Drugden.dmm index 1c2752b12a66..858370ea79a0 100644 --- a/maps/submaps/level_specific/virgo2/Drugden.dmm +++ b/maps/submaps/level_specific/virgo2/Drugden.dmm @@ -90,7 +90,7 @@ /area/submap/virgo2/Drugd) "v" = ( /obj/structure/closet/cabinet, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/carpet, /area/submap/virgo2/Drugd) "w" = ( diff --git a/maps/submaps/mountains/quarantineshuttle.dmm b/maps/submaps/mountains/quarantineshuttle.dmm index b16d831ffd3e..b6600e998253 100644 --- a/maps/submaps/mountains/quarantineshuttle.dmm +++ b/maps/submaps/mountains/quarantineshuttle.dmm @@ -683,7 +683,7 @@ }, /area/submap/cave/qShuttle) "bQ" = ( -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/shuttle/floor{ icon_state = "floor_yellow" }, diff --git a/maps/submaps/wilderness/Drugden.dmm b/maps/submaps/wilderness/Drugden.dmm index 51add2948c58..9a4a0e300597 100644 --- a/maps/submaps/wilderness/Drugden.dmm +++ b/maps/submaps/wilderness/Drugden.dmm @@ -92,7 +92,7 @@ /area/submap/Drugd) "v" = ( /obj/structure/closet/cabinet, -/obj/item/contraband/poster, +/obj/item/poster, /turf/simulated/floor/carpet, /area/submap/Drugd) "w" = ( diff --git a/maps/templates/archive/tradeship.dmm b/maps/templates/archive/tradeship.dmm index 59c46d41e94e..ed1a4ce9f4c7 100644 --- a/maps/templates/archive/tradeship.dmm +++ b/maps/templates/archive/tradeship.dmm @@ -507,7 +507,7 @@ "bq" = ( /obj/structure/bed/padded, /obj/item/bedsheet/hos, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/shuttle/floor/black, @@ -1200,7 +1200,7 @@ /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "cW" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/shuttle/floor/black, @@ -1286,11 +1286,11 @@ dir = 1 }, /obj/structure/table/steel_reinforced, -/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, /turf/simulated/shuttle/floor/black, /area/shuttle/trade) "dg" = ( diff --git a/maps/templates/shuttles/overmaps/generic/ghostship.dmm b/maps/templates/shuttles/overmaps/generic/ghostship.dmm index f5adcfaedd57..27d1147df9e6 100644 --- a/maps/templates/shuttles/overmaps/generic/ghostship.dmm +++ b/maps/templates/shuttles/overmaps/generic/ghostship.dmm @@ -714,7 +714,7 @@ /turf/simulated/floor/tiled/steel_dirty/dark, /area/ship/ghostship/hangarcontrol) "dv" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/corridor1) "dw" = ( @@ -1026,7 +1026,7 @@ /turf/simulated/floor, /area/ship/ghostship/engines2) "ei" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/hangarcontrol) "ej" = ( @@ -1301,7 +1301,7 @@ /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenance1) "eS" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenance1) "eT" = ( @@ -2637,7 +2637,7 @@ /turf/simulated/wall/rpshull, /area/ship/ghostship/secmain) "hG" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/secmain) "hH" = ( @@ -3146,7 +3146,7 @@ /turf/simulated/floor/tiled/steel_dirty/silver, /area/ship/ghostship/corridor6) "iq" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/bridge) "ir" = ( @@ -5893,7 +5893,7 @@ /turf/simulated/wall/rpshull, /area/ship/ghostship/seclobby2) "nM" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/seclobby2) "nN" = ( @@ -7322,7 +7322,7 @@ /turf/simulated/floor/flesh, /area/ship/ghostship/sm) "qI" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/captqua) "qJ" = ( @@ -8428,7 +8428,7 @@ /turf/simulated/floor/tiled/steel_dirty/dark, /area/ship/ghostship/seccells) "ty" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/seccells) "tz" = ( @@ -8448,7 +8448,7 @@ /turf/simulated/floor/tiled/steel_dirty/dark, /area/ship/ghostship/sechall) "tA" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/seclobby) "tB" = ( @@ -8872,7 +8872,7 @@ /turf/simulated/floor/reinforced, /area/ship/ghostship/starboardhangar) "uv" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/expedition) "uw" = ( @@ -9317,7 +9317,7 @@ /turf/simulated/wall/rpshull, /area/ship/ghostship/corridor2) "vD" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/corridor2) "vE" = ( @@ -9402,7 +9402,7 @@ /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenance2) "vS" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenance2) "vT" = ( @@ -9963,11 +9963,11 @@ /turf/simulated/floor/tiled/steel_dirty/silver, /area/ship/ghostship/maintenancerim) "xm" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/northairlock) "xn" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenancerim) "xo" = ( @@ -10073,7 +10073,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ghostship/southairlock) "xT" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenancerim) "xU" = ( @@ -10571,7 +10571,7 @@ /turf/simulated/floor/wood/broken, /area/ship/ghostship/cabin7) "FH" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/ghostship/medical) "FN" = ( @@ -10929,7 +10929,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/ghostship/engineeringstorage) "NF" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/rpshull, /area/ship/ghostship/maintenance1) "NW" = ( diff --git a/maps/templates/shuttles/overmaps/generic/mercenarybase.dmm b/maps/templates/shuttles/overmaps/generic/mercenarybase.dmm index 03b2879a5bda..66a39b2d5854 100644 --- a/maps/templates/shuttles/overmaps/generic/mercenarybase.dmm +++ b/maps/templates/shuttles/overmaps/generic/mercenarybase.dmm @@ -2985,7 +2985,7 @@ /turf/simulated/floor/tiled/dark, /area/mercbase/hall) "nN" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/r_wall, /area/mercbase/barracks) "nO" = ( diff --git a/maps/templates/shuttles/overmaps/generic/vespa.dmm b/maps/templates/shuttles/overmaps/generic/vespa.dmm index a41bc490c823..eaf4614559dd 100644 --- a/maps/templates/shuttles/overmaps/generic/vespa.dmm +++ b/maps/templates/shuttles/overmaps/generic/vespa.dmm @@ -665,7 +665,7 @@ /turf/simulated/floor, /area/ship/expe/maintenance1) "bT" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/rpshull, /area/ship/expe/maintenance1) "bU" = ( @@ -1044,7 +1044,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/cabin9) "dd" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/northairlock) "de" = ( @@ -1171,7 +1171,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/hangarcontrol) "dv" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/corridor1) "dw" = ( @@ -1466,7 +1466,7 @@ /turf/simulated/floor, /area/ship/expe/engines) "ei" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/hangarcontrol) "ej" = ( @@ -1692,7 +1692,7 @@ /turf/simulated/wall/rpshull, /area/ship/expe/maintenance1) "eS" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/maintenance1) "eT" = ( @@ -3063,7 +3063,7 @@ /turf/simulated/wall/rpshull, /area/ship/expe/secmain) "hG" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/secmain) "hH" = ( @@ -3576,7 +3576,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/corridor6) "iq" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/bridge) "ir" = ( @@ -6274,7 +6274,7 @@ /turf/simulated/wall/rpshull, /area/ship/expe/seclobby2) "nM" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/seclobby2) "nN" = ( @@ -7718,7 +7718,7 @@ /turf/simulated/floor, /area/ship/expe/sm) "qI" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/captqua) "qJ" = ( @@ -8865,7 +8865,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/seccells) "ty" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/seccells) "tz" = ( @@ -8885,7 +8885,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/sechall) "tA" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/seclobby) "tB" = ( @@ -9300,7 +9300,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/captqua) "uv" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/expedition) "uw" = ( @@ -9758,7 +9758,7 @@ /turf/simulated/wall/rpshull, /area/ship/expe/corridor2) "vD" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/corridor2) "vE" = ( @@ -9847,7 +9847,7 @@ /turf/simulated/wall/rpshull, /area/ship/expe/maintenance2) "vS" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/maintenance2) "vT" = ( @@ -10387,7 +10387,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/maintenancerim) "xn" = ( -/obj/structure/sign/poster/nanotrasen, +/obj/structure/poster/nanotrasen, /turf/simulated/wall/rpshull, /area/ship/expe/maintenancerim) "xo" = ( @@ -10462,7 +10462,7 @@ /turf/simulated/floor/tiled/techfloor, /area/ship/expe/southairlock) "xT" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/rpshull, /area/ship/expe/maintenancerim) "xU" = ( diff --git a/maps/tether/levels/station2.dmm b/maps/tether/levels/station2.dmm index c521bb25b04b..c704670d73c7 100644 --- a/maps/tether/levels/station2.dmm +++ b/maps/tether/levels/station2.dmm @@ -1870,7 +1870,7 @@ /area/quartermaster/office) "dU" = ( /obj/structure/undies_wardrobe, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /obj/effect/floor_decal/corner/lime{ @@ -3116,7 +3116,7 @@ /obj/machinery/door/window/northright{ dir = 2 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = 32 }, /turf/simulated/floor/tiled, @@ -7005,7 +7005,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ @@ -7388,7 +7388,7 @@ /obj/structure/cable/green{ icon_state = "4-8" }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /turf/simulated/floor/tiled, @@ -9476,7 +9476,7 @@ "ti" = ( /obj/structure/closet/wardrobe/suit, /obj/machinery/light, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /obj/effect/floor_decal/corner/lime{ @@ -12600,7 +12600,7 @@ /area/chapel/main) "zs" = ( /obj/machinery/door/window/northright, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = 32 }, /turf/simulated/floor/tiled, @@ -13286,7 +13286,7 @@ /obj/machinery/camera/network/tether{ dir = 4 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /obj/effect/floor_decal/steeldecal/steel_decals5{ @@ -16620,7 +16620,7 @@ "HI" = ( /obj/machinery/atmospherics/component/unary/vent_scrubber/on, /obj/machinery/camera/network/civilian, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = 32 }, /turf/simulated/floor/wood, @@ -17906,7 +17906,7 @@ "Kx" = ( /obj/structure/table/steel, /obj/item/material/ashtray/glass, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /obj/random/maintenance/clean, @@ -18794,7 +18794,7 @@ /obj/machinery/light{ dir = 4 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = 32 }, /obj/effect/floor_decal/steeldecal/steel_decals5{ @@ -20406,7 +20406,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals10{ dir = 10 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /turf/simulated/floor/tiled, @@ -20727,7 +20727,7 @@ /area/tether/station/visitorhallway/office) "Qg" = ( /obj/machinery/vending/giftvendor, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_x = -32 }, /turf/simulated/floor/tiled/monotile, @@ -20757,7 +20757,7 @@ /obj/structure/bed/chair/wood{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /turf/simulated/floor/wood, @@ -25409,7 +25409,7 @@ /obj/effect/floor_decal/steeldecal/steel_decals7{ dir = 1 }, -/obj/structure/sign/poster/nanotrasen{ +/obj/structure/poster/nanotrasen{ pixel_y = -32 }, /turf/simulated/floor/tiled, diff --git a/maps/tether/levels/surface1.dmm b/maps/tether/levels/surface1.dmm index 54494db409b6..7d58b0621c09 100644 --- a/maps/tether/levels/surface1.dmm +++ b/maps/tether/levels/surface1.dmm @@ -15236,7 +15236,7 @@ /obj/structure/bed/chair/wheelchair{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/plating, @@ -31057,7 +31057,7 @@ /turf/simulated/floor, /area/rnd/outpost/atmos) "qJd" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/hallway/lower/first_west) "qJp" = ( @@ -35298,7 +35298,7 @@ /obj/machinery/sleeper{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/tiled/white, diff --git a/maps/tether/levels/surface2.dmm b/maps/tether/levels/surface2.dmm index dd3aed009c4e..2b3e61569640 100644 --- a/maps/tether/levels/surface2.dmm +++ b/maps/tether/levels/surface2.dmm @@ -3755,7 +3755,7 @@ /obj/effect/floor_decal/corner/paleblue/border{ dir = 1 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /obj/effect/floor_decal/corner_steel_grid{ @@ -6084,7 +6084,7 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled/white, @@ -6715,7 +6715,7 @@ /area/tether/surfacebase/east_stairs_two) "eWt" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /turf/simulated/floor/tiled/white, @@ -11023,7 +11023,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/tiled/dark, @@ -11167,7 +11167,7 @@ /turf/simulated/floor/tiled, /area/tcommsat/computer) "iav" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled/white, @@ -11441,7 +11441,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 8 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /turf/simulated/floor/tiled, @@ -17294,7 +17294,7 @@ /area/rnd/breakroom/bathroom) "mIX" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /obj/structure/bed/chair{ @@ -27196,7 +27196,7 @@ /obj/effect/floor_decal/corner/paleblue/bordercorner2{ dir = 9 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled/white, @@ -27250,7 +27250,7 @@ /turf/simulated/floor/tiled/techmaint, /area/tcomfoyer) "umc" = ( -/obj/structure/sign/poster, +/obj/structure/poster, /turf/simulated/wall/prepainted, /area/tether/surfacebase/public_garden_two) "umZ" = ( diff --git a/maps/tether/levels/surface3.dmm b/maps/tether/levels/surface3.dmm index fb9887571216..3b7e5adda728 100644 --- a/maps/tether/levels/surface3.dmm +++ b/maps/tether/levels/surface3.dmm @@ -7811,7 +7811,7 @@ /obj/effect/floor_decal/corner/red/border{ dir = 4 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /turf/simulated/floor/tiled, @@ -10400,7 +10400,7 @@ }, /obj/effect/floor_decal/borderfloor, /obj/effect/floor_decal/corner/red/border, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled, @@ -15018,7 +15018,7 @@ /obj/effect/floor_decal/corner/red/bordercorner2{ dir = 4 }, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/structure/disposalpipe/segment{ @@ -22160,7 +22160,7 @@ /turf/simulated/wall/r_wall/prepainted, /area/tether/elevator) "nwl" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = -32 }, /obj/effect/floor_decal/borderfloorwhite{ @@ -36071,7 +36071,7 @@ /area/tether/surfacebase/cafeteria) "vyj" = ( /obj/structure/table/reinforced, -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_x = 32 }, /obj/effect/floor_decal/borderfloorwhite{ diff --git a/maps/triumph/levels/deck4.dmm b/maps/triumph/levels/deck4.dmm index 35e4d20d1c2e..fd10b31cb6c8 100644 --- a/maps/triumph/levels/deck4.dmm +++ b/maps/triumph/levels/deck4.dmm @@ -5311,7 +5311,7 @@ /turf/simulated/floor/tiled/dark, /area/hallway/primary/aft) "dBa" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = -32 }, /turf/simulated/floor/tiled/dark, @@ -28263,7 +28263,7 @@ /turf/simulated/floor/tiled/dark, /area/bridge) "tPy" = ( -/obj/structure/sign/poster{ +/obj/structure/poster{ pixel_y = 32 }, /turf/simulated/floor/carpet,