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: 			rain()
  				if(rain) return
  				rain = new (src)
  
  				spawn(rand(1,150))
  					rain.icon = 'water_drop.dmi'
  					rain.icon_state = pick(icon_states(rain.icon))
  					rain.pixel_x = rand(-12,12)
  					rain.pixel_y = rand(-13,14)
  			clear()
  				if(rain)
  					rain.loc = null
  					rain = null
  
  	floor
  		icon_state="brick"
  		density=0
  