anchor.diff:  
   /obj/effect/dummy/chameleon/proc/activate(mob/M, saved_appearance, obj/item/device/chameleon/C)
   	appearance = saved_appearance
  +	if(istype(M.buckled, /obj/vehicle))
  +		var/obj/vehicle/V = M.buckled
  +		V.riding_datum.force_dismount(M)
   	M.loc = src
   	master = C
   	master.active_dummy = src
  
positive.code: 		playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
  		qdel(active_dummy)
  		active_dummy = null
  		to_chat(usr, "<span class='notice'>You deactivate \the [src].</span>")
  		new /obj/effect/temp_visual/emp/pulse(get_turf(src))
  	else
  		playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6)
  		var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc)
  		C.activate(usr, saved_appearance, src)
  		to_chat(usr, "<span class='notice'>You activate \the [src].</span>")
  		new /obj/effect/temp_visual/emp/pulse(get_turf(src))
  	usr.cancel_camera()
  
  /obj/item/device/chameleon/proc/disrupt(delete_dummy = 1)
  	if(active_dummy)
  
negative.code: 	..()
  	disrupt()
  
  /obj/item/device/chameleon/attack_self(mob/user)
  	toggle(user)
  
  /obj/item/device/chameleon/afterattack(atom/target, mob/user , proximity)
  	if(!proximity)
  