     actor Enchanter : GenericHumanScum 
{
  scale 1.0
  obituary "%o was enchanted by enchanter."
  health 120
  radius 15
  height 54
  mass 100
  speed 12
  Species "Spectre"
  +DOHARMSPECIES
  painchance 185
  SeeSound "Wazard/see"
  PainSound "Wazard/pain"
  DeathSound "Wazard/Death"
  ActiveSound "Wazard/Active" 
  MONSTER
  states
  {
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_SetScale (scaleX+frandom(-0.02, 0.02), scaleY+frandom(-0.08,0.08))
  Spawn2:
    ENCH A 10 A_Look
    loop
  See:
	 TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeRightF")
	 TNT1 A 0 A_Jump (180, "MissileCheck")		
  SeeLoop:
	TNT1 A 0
	TNT1 A 0 A_JumpIfCloser (290, "Electro")
	TNT1 A 0 A_StopSound (CHAN_WEAPON)
	TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeRightF")
    ENCH AABBCCDD 3 A_Chase
    loop
  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    ENCH AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		TNT1 A 0 A_Jump (50, "DodgeRight")
		Goto SeeLoop+1
	DodgeLeftF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    ENCH AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    ENCH AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3)) 
	    ENCH AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 1, JLOSF_DEADNOJUMP)
	Goto SeeLoop		
  Missile:
	TNT1 A 0
	TNT1 A 0 A_JumpIfCloser (290, "Electro")
	ENCH E 8 A_FaceTarget
	TNT1 A 0 A_CustomMissile ("WazardBall", 40, 9, -1)
	TNT1 A 0 A_CustomMissile ("WazardBall", 40, -9, 1)
	ENCH F 3 BRIGHT
	Goto SeeLoop
  Electro: 	
	ENCH E 8 A_FaceTarget
  ElectroLoop:
	TNT1 A 0
	TNT1 A 0 A_PlaySound ("BZZZ", Chan_Weapon)
	//TNT1 A 0 A_CustomRailgun((1), 9,"None","None",RGF_SILENT|RGF_FULLBRIGHT,0,3,"None",Random(3,6),Random(2,4),120,0.1,0,0,"ElectricArc")
	TNT1 A 0 A_CustomRailgun((1), -9,"None","None",RGF_SILENT|RGF_FULLBRIGHT,0,2,"DONTBLEEDFUCKER",Random(2,4),Random(2,4),300,0.1,0,0,"MagicElectricArc", 12)
	TNT1 A 0 A_CustomRailgun((1), 9,"None","None",RGF_SILENT|RGF_FULLBRIGHT,0,3,"DONTBLEEDFUCKER",Random(3,6),Random(2,4),300,0.1,0,0,"MagicElectricArc", 12)
	//TNT1 A 0 A_RadiusGive ("Tased", 120, RGF_PLAYERS)
	//TNT1 A 0 A_CustomMissile ("ShockContent", 32, 0) 
	ENCH F 1 BRIGHT A_FaceTarget
	TNT1 A 0 A_JumpIfTargetInLos ("SeeLoop" ,1, JLOSF_CLOSENOJUMP, 0, 300)
	TNT1 A 0 A_CposRefire
	TNT1 A 0
	Loop
  Pain:
	TNT1 A 0
	TNT1 A 0 A_StopSound (CHAN_WEAPON)
    ENCH G 3
    ENCH G 3 A_Pain
    goto SeeLoop
  Death:
	TNT1 A 0
	TNT1 A 0 A_StopSound (CHAN_WEAPON)
    ENCH H 5 A_Scream
    ENCH I 5
    ENCH J 5 A_NoBlocking
    ENCH K 5
	ENCH L 4
	ENCH M -1
    stop
  XDeath:
    TNT1 A 0
	TNT1 A 0 A_StopSound (1)
    TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
    PGIB A 5
    PGIB B 5 A_XScream
    PGIB C 3 A_NoBlocking
    PGIB D 2
    PGIB E -1
    Stop
  Idle:
    ENCH AA 4 A_Wander
    ENCH A 0 A_Look
    ENCH BB 4 A_Wander
    ENCH A 0 A_Look
    ENCH CC 4 A_Wander
    ENCH A 0 A_Look
    ENCH DD 4 A_Wander
    ENCH A 0 A_Look
    loop
  }
}




	



	Actor MagicElectricArc
		{
		 +NOINTERACTION
		 +THRUACTORS
		 +DONTSPLASH
		 +CLIENTSIDEONLY
		 +BLOODLESSIMPACT
		 -BLOODSPLATTER
		 Renderstyle Add
		 Alpha 0.3
		 Scale 0.055
		 States
			 {
			  Spawn:
				 TNT1 A 0
				 //TNT1 A 0 A_SpawnItemEx ("LightningFlare", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)	
				 PWLI ABC 1 BRIGHT 
			  Stop	 
			 }
		}
		
	
	
	Actor WazardBall
      {
	      Radius 6
          Height 8
		  Speed 10
		  Scale 0.45
		  FastSpeed 20
		  Damage (10)
		  Projectile
		  +RANDOMIZE
		  RenderStyle Add
		  SeeSound ""
		  DeathSound "JETPEX"
		  States
		  {
		  Spawn:
		    TNT1 A 0 
			TNT1 A 0 A_Weave (3,3,2.5,1)
			PWFX A 1 Bright  A_SpawnItemEx ("LittleWazardFlare", 0, 0, 0, 0, 0, 0)
			TNT1 A 0 A_Weave (3,3,2.5,1)
			PWFX B 1 Bright  A_SpawnItemEx ("LittleWazardFlare", 0, 0, 0, 0, 0, 0)
 			Loop
		  Death:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("WazardFlare", 0, 0, 0, 0, 0, 0)
			PEXP ABCDEFGH 1 Bright
			Stop
			  }
           }
	

		 Actor LittleWazardFlare
      {
	   +NOINTERACTION
	   +NOBLOCKMAP
	   +CLIENTSIDEONLY
	   Scale 0.3
	   Alpha 0.69
	   RenderStyle Add
	   +BRIGHT
	        States
			   {
			    Spawn:
				  CLBB J 2 BRIGHT A_FadeOut (0.04)
	             Stop
				}
	  
	  }