anchor.diff:  							else if(diag == 2)
   								dirs = list(NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
   								diag = 0
  -							var/tmp_d = dir
   							for(var/d in dirs)
  -								dir = d
  -								castproj(icon_state = "sword", name = "flying sword", cd = 0, lag = 1)
  -							dir = tmp_d
  +								castproj(icon_state = "sword", name = "flying sword", cd = 0, lag = 1,Dir=d)
   
   					Attacked(obj/projectile/p)
   						if(icon_state == "shield" || p.icon_state == "blood")
  
positive.code: 
  							if(prob(80))
  								var/list/dirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
  								var/tmp_d = dir
  								for(var/d in dirs)
  									dir = d
  									castproj(icon_state = "fireball", damage = Dmg + rand(-4,8), name = "fire ball", cd = 0, lag = 1)
  								dir = tmp_d
  								sleep(AttackDelay)
  
  					Attacked(obj/projectile/p)
  
negative.code: 
  							var/r = rand(3,8)
  							var/list/dirs = list(NORTH, SOUTH, EAST, WEST, NORTHEAST, NORTHWEST, SOUTHEAST, SOUTHWEST)
  
  							for(var/i = 1 to r)
  								var/d = pick(dirs)
  								dirs -= d
  								castproj(Type = /obj/projectile/Grav, icon_state = "grav", name = "Gravitate", cd = 0, lag = 1, Dir=d)
  							sleep(AttackDelay)
  
  					Attacked(obj/projectile/p)
  