anchor.diff:  			if(icon_state == "water")
   				if(ismob(O) && O.density) return 0
   				if(istype(O, /obj/projectile) && O.icon_state == "iceball")
  -					ice()
  +					if(prob(20))
  +						for(var/turf/water/w in range(prob(10) ? 2 : 1,O))
  +							w.ice()
  +						walk(O,0)
  +						O.loc = null
  +					else
  +						ice()
  +						O:damage -= round(O:damage / 10)
  +					if(O:damage <= 0)
  +						walk(O,0)
  +						O.loc = null
   			else if(icon_state == "ice")
   				if(istype(O, /obj/projectile) && O.icon_state == "fireball")
   					water()
  
positive.code: 
  				if(isice)
  					spawn()
  						var/time = rand(30,60)
  						while(time > 0 && icon_state == "water")
  							time--
  							sleep(10)
  
negative.code: 				icon_state = "ice"
  				if(!isice)
  					spawn()
  						var/time = rand(40,120)
  						while(time > 0 && icon_state == "ice")
  							time--
  							sleep(10)
  