From 7fa2727cec90f06eb65e4df013b237900a75b33c Mon Sep 17 00:00:00 2001 From: CHOMPStation2 <58959929+CHOMPStation2@users.noreply.github.com> Date: Wed, 23 Aug 2023 05:34:37 -0700 Subject: [PATCH] [MIRROR] Fixes posters on lateload maps (#6856) Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Co-authored-by: CHOMPStation2 --- .../objects/effects/decals/posters/posters.dm | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/code/game/objects/effects/decals/posters/posters.dm b/code/game/objects/effects/decals/posters/posters.dm index 4f18d66c78..1a9710a566 100644 --- a/code/game/objects/effects/decals/posters/posters.dm +++ b/code/game/objects/effects/decals/posters/posters.dm @@ -126,8 +126,25 @@ var/roll_type = /obj/item/poster var/ruined = FALSE -// This stuff needs to go in new() for the the flick() to look right while it's being placed -/obj/structure/sign/poster/New(var/newloc, var/placement_dir = null, var/obj/item/poster/P = null) +/obj/structure/sign/poster/Initialize(var/newloc, var/placement_dir = null, var/obj/item/poster/P = null) + . = ..() + + if(ispath(src.poster_decl)) + src.poster_decl = get_poster_decl(src.poster_decl, TRUE) + else if(istype(P)) + src.poster_decl = P.poster_decl + roll_type = P.type + else if(ispath(P)) + src.poster_decl = get_poster_decl(P, TRUE) + else + src.poster_decl = get_poster_decl(/decl/poster, FALSE) + while (istype(src.poster_decl, /decl/poster/lewd)) + src.poster_decl = get_poster_decl(/decl/poster, FALSE) + + name = "[initial(name)] - [poster_decl.name]" + desc = "[initial(desc)] [poster_decl.desc]" + icon_state = poster_decl.icon_state + if(placement_dir) dir = placement_dir @@ -146,27 +163,6 @@ pixel_y = 0 flick("poster_being_set", src) - return ..() - - -/obj/structure/sign/poster/Initialize(var/newloc, var/placement_dir = null, var/obj/item/poster/P = null) - if(ispath(src.poster_decl)) - src.poster_decl = get_poster_decl(src.poster_decl, TRUE) - else if(istype(P)) - src.poster_decl = P.poster_decl - roll_type = P.type - else if(ispath(P)) - src.poster_decl = get_poster_decl(P, TRUE) - else - src.poster_decl = get_poster_decl(/decl/poster, FALSE) - while (istype(src.poster_decl, /decl/poster/lewd)) - src.poster_decl = get_poster_decl(/decl/poster, FALSE) - - name = "[initial(name)] - [poster_decl.name]" - desc = "[initial(desc)] [poster_decl.desc]" - icon_state = poster_decl.icon_state - - return ..() /obj/structure/sign/poster/attackby(obj/item/weapon/W as obj, mob/user as mob) if(W.is_wirecutter())