anchor.diff:  		luck = 5
   		ignoreItem = TRUE
   
  -obj/items/weather
  +obj/items/magic_stone
   	var/tmp/inUse = FALSE
   	var/effect
   
   	icon = 'trophies.dmi'
   
  -	acid
  -		name = "acid stone"
  -		effect = "acid"
  -		icon_state = "Emerald"
  -
  -	snow
  -		name = "snow stone"
  -		effect = "snow"
  -		icon_state = "Sapphire2"
  -
  -	rain
  -		name = "rain stone"
  -		effect = "rain"
  -		icon_state = "Sapphire"
  -
  -	sun
  -		name = "sun stone"
  -		effect = "sun"
  -		icon_state = "Topaz"
  +	weather
  +		acid
  +			name = "acid stone"
  +			effect = "acid"
  +			icon_state = "Emerald"
  +
  +			effect()
  +				weather.acid()
  +
  +		snow
  +			name = "snow stone"
  +			effect = "snow"
  +			icon_state = "Sapphire2"
  +
  +			effect()
  +				weather.snow()
  +
  +		rain
  +			name = "rain stone"
  +			effect = "rain"
  +			icon_state = "Sapphire"
  +
  +			effect()
  +				weather.rain()
  +
  +		sun
  +			name = "sun stone"
  +			effect = "sun"
  +			icon_state = "Topaz"
  +
  +			effect()
  +				weather.clear()
  +
  +	summoning
  +		random
  +			effect()
  +				var/random_type = pick(/RandomEvent/TheEvilSnowman, /RandomEvent/WillytheWhisp)
  +				var/RandomEvent/event = locate(random_type) in events
  +				event.start()
  +
  +		snowman
  +			effect()
  +				var/RandomEvent/TheEvilSnowman/event = locate() in events
  +				event.start()
  +		willy
  +			effect()
  +				var/RandomEvent/WillytheWhisp/event = locate() in events
  +				event.start()
   
   	Click()
   		if(src in usr)
  -			effect(usr, effect)
  +			circle(usr)
   		else
   			..()
   
  -	proc/effect(mob/Player/p, weather_effect)
  +	proc/effect()
  +	proc/circle(mob/Player/p)
   
   		if(!(p.loc && (istype(p.loc.loc, /area/outside) || istype(p.loc.loc, /area/newareas/outside))))
   			p << errormsg("You can only use this outside.")
  
positive.code: 
  		hearers(p) << infomsg("[p.name] holds their [name] up in the air")
  
  		var/obj/items/weather/source = src
  		src=null
  		spawn()
  			var/tmploc = p.loc
  
negative.code: 		inUse = TRUE
  
  		var/obj/o = new(usr.loc)
  		o.name = "magic circle"
  		o.icon='Circle_magic.dmi'
  		o.pixel_x = -65
  		o.pixel_y = -64
  