//////////////////////////////////
// HERETIC DESCIPLE OF D'SPARIL //
//////////////////////////////////

ACTOR Wizard~ : wizard replaces wizard
{
-GHOST
BloodColor "Purple"
  States
  {
   Missile:
	TNT1 A 0 BRIGHT
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,1)
    WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.2,0)
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(1.0,0)
	
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,1)
    WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.2,0)
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(1.0,0)
	
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,1)
    WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.2,0)
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(1.0,0)
	
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,1)
    WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.2,0)
	TNT1 A 0 BRIGHT A_FaceTarget
	WZRD C 0 BRIGHT A_ChangeFlag(GHOST,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.4,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.6,0)
	WZRD C 1 BRIGHT A_SetTranslucent(0.8,0)
	WZRD C 1 BRIGHT A_SetTranslucent(1.0,0)
	
    WZRD D 12 BRIGHT A_WizAtk3
	goto see
  Pain:
    WZRD E 3 A_SetTranslucent(1.0,0)
	WZRD E 0 A_ChangeFlag(GHOST,0)
    WZRD E 3 A_Pain
    Goto See
  Death:
    WZRD F 6 BRIGHT A_SetTranslucent(1.0,0)
	WZRD E 0 BRIGHT A_ChangeFlag(GHOST,0)
	WZRD E 0 A_Stop
    WZRD G 6 BRIGHT A_Scream
	WZRD G 0 BRIGHT A_SpawnItem("WizardSoul")
    WZRD H 6 BRIGHT
	
	WZRD I 1 BRIGHT A_SetTranslucent(0.95,0)
	WZRD I 1 BRIGHT A_SetTranslucent(0.90,0)
	WZRD I 1 BRIGHT A_SetTranslucent(0.85,0)
	WZRD I 1 BRIGHT A_SetTranslucent(0.80,0)
	WZRD I 1 BRIGHT A_SetTranslucent(0.75,0)
	
    WZRD J 0 A_NoBlocking
	
	WZRD J 1 BRIGHT A_SetTranslucent(0.70,0)
	WZRD J 1 BRIGHT A_SetTranslucent(0.65,0)
	WZRD J 1 BRIGHT A_SetTranslucent(0.60,0)
	WZRD J 1 BRIGHT A_SetTranslucent(0.55,0)
	WZRD J 1 BRIGHT A_SetTranslucent(0.50,0)
	
	WZRD K 1 BRIGHT A_SetTranslucent(0.45,0)
	WZRD K 1 BRIGHT A_SetTranslucent(0.40,0)
	WZRD K 1 BRIGHT A_SetTranslucent(0.35,0)
	WZRD K 1 BRIGHT A_SetTranslucent(0.30,0)
	WZRD K 1 BRIGHT A_SetTranslucent(0.25,0)
	
	WZRD L 1 BRIGHT A_SetTranslucent(0.20,0)
	WZRD L 1 BRIGHT A_SetTranslucent(0.15,0)
	WZRD L 1 BRIGHT A_SetTranslucent(0.10,0)
	WZRD L 1 BRIGHT A_SetTranslucent(0.5,0)
	WZRD L 1 BRIGHT A_SetTranslucent(0.0,0)

    Stop
  }
}

ACTOR WizardSoul 
{
  +NOBLOCKMAP
  +NOGRAVITY
  Scale 0.8
  RenderStyle Add
  Alpha 1 
  States
  {
  Spawn:
	TNT1 A 0 
	TNT1 AAAAAA 1 A_SpawnItemEx("WizardSoulPart", random(-16,16),random(-16,16),0,0,0,random(5,10))
	TNT1 AAA 2 A_SpawnItemEx("WizardSoulPart", random(-16,16),random(-16,16),0,0,0,random(5,10))
  Death:
    TNT1 A -1
    Stop
  }
}


ACTOR WizardSoulpart
{
  +NOBLOCKMAP
  +NOGRAVITY
  Scale 0.15
  RenderStyle Add
  Alpha 1 
  States
  {
  Spawn:
	TNT1 A 0 
    DEFL A 5 BRIGHT
  Death:
    DEFL A 1 BRIGHT A_Fadeout
    Loop
  }
}

ACTOR WizardFX1~ : WizardFX1 replaces WizardFX1
{
  Game Heretic
  SpawnID 140
  Radius 10
  Height 6
  Speed 18
  FastSpeed 24
  Damage 3
  scale 0.2
  Projectile
  -ACTIVATEIMPACT
  -ACTIVATEPCROSS
  RenderStyle Add
  States
  {
  Spawn:
    DEFL A 4 BRIGHT A_SpawnItemEx("WizAttackTrail", Random(-7, 7), Random(-7, 7), Random(0, 9), Random(1, 3), 0, (0.1)*Random(-10, 10), Random(-20, 20), 128)
    Loop
  Death:
    TNT1 AAAAA 0 A_SpawnItemEx("WizAttackFX", 0, 0, 0, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 A 0 A_SpawnItem("DeathFlare")
    Stop
  }
}

Actor WizAttackTrail
{
  Height 0
  Radius 0
  Mass 0
  +MISSILE
  +NOBLOCKMAP
  +NOGRAVITY
  +DONTSPLASH
  RenderStyle Add
  Scale 0.035
  States
  {
  Spawn:
    DEFL A 2 Bright A_FadeOut(0.12)
    Loop
  }
}

Actor WizAttackFX
{
  Height 0
  Radius 0
  Mass 0
  +Missile
  +NoBlockMap
  +DontSplash
  +NoInteraction
  RenderStyle Add
  Scale 0.025
  States
  {
  Spawn:
  Death:
    DEFL A 2 Bright A_FadeOut(0.1)
    Loop
  }
}

ACTOR DeathFlare : Baseflare
{
   Scale 0.5
   alpha 1
   +DONTSPLASH
   States
   {
   Spawn:
	DEFL A 5 BRIGHT
   Death:
	DEFL A 1 BRIGHT A_FadeOut
	Loop
   }
}