anchor.diff:  	icon_state = "cutout_basic"
   	w_class = 4
   	burn_state = FLAMMABLE
  -	var/list/possible_appearances = list("Assistant", "Clown", "Mime", "Traitor", "Nuke Op", "Cultist", "Clockwork Cultist", "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer", \
  -	"Ash Walker", "Deathsquad Officer", "Ian") //Possible restyles for the cutout; add an entry in change_appearance() if you add to here
  +	// Possible restyles for the cutout;
  +	// add an entry in change_appearance() if you add to here
  +	var/list/possible_appearances = list("Assistant", "Clown", "Mime",
  +		"Traitor", "Nuke Op", "Cultist", "Clockwork Cultist",
  +		"Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer",
  +		"Ash Walker", "Deathsquad Officer", "Ian", "Slaughter Demon",
  +		"Laughter Demon")
   	var/pushed_over = FALSE //If the cutout is pushed over and has to be righted
   	var/deceptive = FALSE //If the cutout actually appears as what it portray and not a discolored version
  +
  +	var/lastattacker = null
   
   /obj/item/cardboard_cutout/attack_hand(mob/living/user)
   	if(user.a_intent == "help" || pushed_over)
   		return ..()
   	user.visible_message("<span class='warning'>[user] pushes over [src]!</span>", "<span class='danger'>You push over [src]!</span>")
   	playsound(src, 'sound/weapons/Genhit.ogg', 50, 1)
  +	push_over()
  +
  +/obj/item/cardboard_cutout/proc/push_over()
   	name = initial(name)
   	desc = "[initial(desc)] It's been pushed over."
  +	icon = initial(icon)
   	icon_state = "cutout_pushed_over"
   	color = initial(color)
  +	alpha = initial(alpha)
   	pushed_over = TRUE
   
   /obj/item/cardboard_cutout/attack_self(mob/living/user)
  
positive.code: 			name = "Ian"
  			desc = "A cardboard cutout of the HoP's beloved corgi."
  			icon_state = "cutout_ian"
  	return 1
  
  /obj/item/cardboard_cutout/adaptive //Purchased by Syndicate agents, these cutouts are indistinguishable from normal cutouts but aren't discolored when their appearance is changed
  	deceptive = TRUE
  
negative.code: 		return
  	user << "<span class='notice'>You right [src].</span>"
  	desc = initial(desc)
  	icon = initial(icon)
  	icon_state = initial(icon_state) //This resets a cutout to its blank state - this is intentional to allow for resetting
  	pushed_over = FALSE
  
  /obj/item/cardboard_cutout/attackby(obj/item/I, mob/living/user, params)
  	if(istype(I, /obj/item/toy/crayon))
  		change_appearance(I, user)
  		return
  	// Why yes, this does closely resemble mob and object attack code.
  	if(I.flags & NOBLUDGEON)
  		return
  	if(!I.force)
  		playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), 1, -1)
  	else if(I.hitsound)
  		playsound(loc, I.hitsound, get_clamped_volume(), 1, -1)
  
  	user.changeNext_move(CLICK_CD_MELEE)
  	user.do_attack_animation(src)
  
  	if(I.force)
  		user.visible_message("<span class='danger'>[user] has hit \
  			[src] with [I]!</span>", "<span class='danger'>You hit [src] \
  			with [I]!</span>")
  
  		if(prob(I.force))
  			push_over()
  
  /obj/item/cardboard_cutout/bullet_act(obj/item/projectile/P)
  	visible_message("<span class='danger'>[src] has been hit by [P]!</span>")
  	playsound(src, 'sound/weapons/slice.ogg', 50, 1)
  	if(prob(P.damage))
  		push_over()
  
  /obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user)
  	if(!crayon || !user)
  