anchor.diff:  	for(var/V in ammo_copy_vars)
   		if(AC.vars[V])
   			chameleon_ammo_vars[V] = AC.vars[V]
  -			if(chambered.vars[V])
  +			if(chambered && chambered.vars[V])
   				chambered.vars[V] = AC.vars[V]
   	if(passthrough)
   		var/obj/item/projectile/P = AC.BB
  
positive.code: 	var/list/ammo_copy_vars
  	var/list/gun_copy_vars
  	var/badmin_mode = FALSE
  
  /obj/item/weapon/gun/energy/laser/chameleon/New()
  	..()
  
negative.code: 	chameleon_ammo_vars = list()
  	chameleon_gun_vars = list()
  	chameleon_projectile_vars = list()
  	if(chambered)
  		for(var/v in ammo_copy_vars)
  			if(v in blacklisted_vars)	//Just in case admins go crazy.
  				continue
  			chambered.vars[v] = initial(chambered.vars[v])
  	for(var/v in gun_copy_vars)
  		if(v in blacklisted_vars)
  			continue
  		vars[v] = initial(vars[v])
  	if(chambered.BB)
  		qdel(chambered.BB)
  	chambered.newshot()
  
  /obj/item/weapon/gun/energy/laser/chameleon/proc/set_chameleon_ammo(obj/item/ammo_casing/AC, passthrough = TRUE, reset = FALSE)
  	if(!istype(AC))
  