anchor.diff:  			usr << infomsg("Shoot with Inflamari to heat up.")
   
   		Attacked(obj/projectile/p)
  -			if(!isBusy && p.owner && p.icon_state == "fireball" && isplayer(p.owner))
  -
  -				var/c = pool
  -
  -				c = c - ((c >> 1) & 0x5555)
  -				c = (c & 0x3333) + ((c >> 2) & 0x3333)
  -				c = ((c + (c >> 4) & 0x0F0F) * 0x0101) >> 8
  +			if(!isBusy && p.owner && isplayer(p.owner))
  +
  +				var/c = countBits(pool)
   
   				if(c  < 1) return
   
  +				var/list/projs = list()
  +
  +				projs["aqua"]     = 1
  +				projs["quake"]    = 2
  +				projs["chaotica"] = 3
  +				projs["gum"]      = 4
  +				projs["iceball"]  = 5
  +				projs["blood"]    = 6
  +
   				var/potion
  +				var/quality = 1
  +
  +				if(p.icon_state in projs)
  +					var/f = countBits(flags) - 1
  +					quality = f - 1
  +					f = abs(projs[p.icon_state] - f)
  +
  +					if(f == 0)     quality++
  +					else if(f > 2) quality--
  +
  +					quality = max(1, quality)
   
   				if(c >= 4)
   
  
positive.code: 								p.owner.Death_Check(p.owner)
  
  				setColor("#090")
  				pool = 0
  
  			..()
  
  
negative.code: 		Process(mob/Player/p, obj/items/ingredients/i)
  			if(isBusy) return
  
  			pool  |= 2 ** ((i.id - 1) * 3 + i.form)
  			flags |= 2 ** (i.id - 1)
  			flags |= 2 ** (i.form + 4)
  
  			if(worldData.potions && ("[pool]" in worldData.potions))
  				var/potion = worldData.potions["[pool]"]
  