anchor.diff:  
   /obj/structure/sign/poster/proc/roll_and_drop(turf/loc)
   	var/obj/item/weapon/contraband/poster/P = new(src, serial_number)
  -	P.resulting_poster = src
  -	P.loc = loc
  -	loc = P
  +	P.loc = newloc
  +	src.loc = P
  +	del(src)
   
   
   //seperated to reduce code duplication. Moved here for ease of reference and to unclutter r_wall/attackby()
   /turf/simulated/wall/proc/place_poster(var/obj/item/weapon/contraband/poster/P, var/mob/user)
  -	if(!P.resulting_poster)	return
  +
  +	if(!istype(src,/turf/simulated/wall))
  +		user << "\red You can't place this here!"
  +		return
   
   	var/stuff_on_wall = 0
   	for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff
  
positive.code: 		playsound(loc, 'sound/items/Wirecutter.ogg', 100, 1)
  		if(ruined)
  			user << "<span class='notice'>You remove the remnants of the poster.</span>"
  		else
  			user << "<span class='notice'>You carefully remove the poster from the wall.</span>"
  			roll_and_drop(user.loc)
  		del(src)
  		return
  
  
  
negative.code: 	desc = "The poster comes with its own automatic adhesive mechanism, for easy pinning to any vertical surface."
  	icon_state = "rolled_poster"
  	var/serial_number = 0
  
  
  /obj/item/weapon/contraband/poster/New(turf/loc, var/given_serial = 0)
  	if(given_serial == 0)
  		serial_number = rand(1, NUM_OF_POSTER_DESIGNS)
  	else
  		serial_number = given_serial
  	name += " - No. [serial_number]"
  	..(loc)
  
  //############################## THE ACTUAL DECALS ###########################
  
  