actor MonsterSuit : PowerupGiver
{
  height 1
  radius 1
  inventory.pickupmessage "Monster Suit"
  inventory.maxamount 0
  powerup.type "IronFeet"
  powerup.color red 0.01
  powerup.duration 99999999999999999999999999999999999999999999999999999999999999999999
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A -1 bright
    stop
  }
}
ACTOR Koraxmagic : Weapon
{
  weapon.kickback 100
  attacksound "CentaurAttack"
   Weapon.AmmoUse 0
  
  states
  {
  Spawn:
    TNT1 A 1
    Stop
  Select:
    TNT1 A 1 A_Raise
    Loop
  Ready:
    TNT1 A 1 A_WeaponReady
    Loop
  DeSelect:
    TNT1 A 1 A_Lower
    Loop
  Fire:
	TNT1 A 0 A_Jump(129,9)
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("WraithFX1",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("WraithFX1",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("WraithFX1",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("WraithFX1",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("WraithFX1",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("WraithFX1",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	TNT1 A 0 A_Jump(130,9)
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("Demon1FX1",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	TNT1 A 0 A_Jump(110,9)
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("Demon2FX1",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	TNT1 A 0 A_Jump(150,9)
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("FireDemonMissile",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	TNT1 A 0 A_Jump(111,9)
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("CentaurFX",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("CentaurFX",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("CentaurFX",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("CentaurFX",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("CentaurFX",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("CentaurFX",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	TNT1 A 6
	TNT1 A 0 A_FireCustomMissile("SerpentFX",5,0,40,70)
	TNT1 A 0 A_FireCustomMissile("SerpentFX",-5,0,-40,70)
	TNT1 A 0 A_FireCustomMissile("SerpentFX",5,0,60,50)
	TNT1 A 0 A_FireCustomMissile("SerpentFX",-5,0,-60,50)
	TNT1 A 0 A_FireCustomMissile("SerpentFX",5,0,60,30)
	TNT1 A 0 A_FireCustomMissile("SerpentFX",-5,0,-60,30)
	TNT1 A 8
	Goto Ready
	AltFire:
      	TNT1 A 0 
      	TNT1 A 10 A_FireCustomMissile("MonsterDropper",0,1,0,1)
      	TNT1 A 8
      	Goto Ready

   } 
}
ACTOR MonsterDropper
{
   Radius 20
   Height 8
   Speed 10
   Scale 1
   +NOTARGET
   +FRIENDLY
   PROJECTILE
   +FLOORCLIP
	+DONTSPLASH
   States
   {
   Spawn:
      SBS3 ABC 4 
      Loop
   Death:
      NULL A 0
      SPS3 D 2
      SPS3 EF 2 Bright 
	NULL A 0 A_CustomMissile("MSPWNR1",0,0,0)
      SPS3 GH 2 Bright 
      NULL A -1
      Stop
   } 
}
Actor MSPWNR1
{
	Radius 20
+FRIENDLY
	States
	{
	Spawn:
		NULL A 0
		NULL A 0 A_Jump(250,2)
		NULL A 1 A_SpawnItem("FMummyLeaderGhost",1)
		Goto Death
		NULL A 0 A_Jump(250,2)
		NULL A 1 A_SpawnItem("FKnight",1)
		Goto Death
		NULL A 0 A_Jump(250,2)
		NULL A 1 A_SpawnItem("FClink",1)
		Goto Death
		NULL A 0 A_Jump(250,2)
		NULL A 1 A_SpawnItem("FSnake",1)
		Goto Death
		NULL A 0 A_Jump(250,2)
		NULL A 1 A_SpawnItem("FHereticImpLeader",1)
		Goto Death
		NULL A 0
		Goto Spawn
	Death:
		NULL A 0
		Stop
	}
}
Actor FMummyLeaderGhost : MummyLeaderGhost
{
+FRIENDLY
  renderstyle Translucent
  alpha 0.40625
  +SHADOW
  +GHOST
}
Actor FKnight : Knight
{
+FRIENDLY
  renderstyle Translucent
  alpha 0.40625
  +SHADOW
  +GHOST
}
Actor FClink : Clink
{
+FRIENDLY
  renderstyle Translucent
  alpha 0.40625
  +SHADOW
  +GHOST
}
 Actor FSnake : Snake
{
+FRIENDLY
  renderstyle Translucent
  alpha 0.40625
  +SHADOW
  +GHOST
}
Actor FHereticImpLeader : HereticImpLeader
{
+FRIENDLY
  renderstyle Translucent
  alpha 0.40625
  +SHADOW
  +GHOST
}

ACTOR Fakedeflect
{
   Health 5
   Height 35
   Radius 12
   Speed  8
   RENDERSTYLE NONE
   +NOBLOOD
   +SHOOTABLE
   +NOGRAVITY
   +REFLECTIVE
   +NOCLIP
   States
   {
   Spawn: 
      SARG AA 2 
      Stop
   Death: 
      SARG A 0
      Stop
   }
}
Actor MaulotaurHammer : weapon
{
obituary "%o was squashed by %k hammer."
  weapon.kickback 100
  +Ammo_Optional
attacksound "minotaur/attack1"
  +Alt_Ammo_Optional
  Weapon.AmmoUse 0
  states
  {
  Spawn:
    FHMR A 1
    stop
  Select:
    FHMR A 1 A_Raise
    loop
  Ready:
    FHMR A 1 A_WeaponReady
    Loop
  DeSelect:
    FHMR A 1 A_Lower
    loop
  Fire:
	FHMR A 0 A_Jump(50,13)
	FHMR ABC 6
	FHMR D 0 A_PlaySoundEx ("minotaur/attack1","Weapon")
	FHMR D 0
    	FHMR D 2 A_CustomPunch (50,0,1,"staffPuff")
	FHMR D 0 BRIGHT A_FireCustomMissile ("MinotaurFX1",-11,5,0,10)
	FHMR D 0 BRIGHT A_FireCustomMissile ("MinotaurFX1",-5,5,0,10)
	FHMR D 0 BRIGHT A_FireCustomMissile ("MinotaurFX1",0,5,0,10)
	FHMR D 0 BRIGHT A_FireCustomMissile ("MinotaurFX1",5,5,0,10)
	FHMR D 0 BRIGHT A_FireCustomMissile ("MinotaurFX1",11,5,0,10)
	FHMR E 7
	goto Ready
	FHMR ABC 6
	FHMR D 0 A_PlaySoundEx ("minotaur/attack1","Weapon")
    	FHMR D 4 A_CustomPunch (50,0,1,"staffPuff")
	FHMR D 3 BRIGHT A_FireCustomMissile ("MinotaurFX2",0,0,0,0)
	FHMR E 5
	goto ready


AltFire:
    	FHMR A 2 A_PlaySoundEx ("minotaur/attack1","Weapon")
	FHMR ABC 3 A_Recoil (-6)
    	FHMR D 2 A_CustomPunch (10,0,1,"staffPuff")
	FHMR D 2 A_Recoil (-5)
    	FHMR D 2 A_CustomPunch (15,0,1,"staffPuff")
	FHMR D 2 A_Recoil (-4)
    	FHMR D 2 A_CustomPunch (20,0,1,"staffPuff")
	FHMR D 2 A_Recoil (-3)
    	FHMR D 2 A_CustomPunch (25,0,1,"staffPuff")
	FHMR CBA 8
	goto Ready
    }
}
/// Wizard Flyer

ACTOR WizardFly : PowerupGiver
{
  inventory.Pickupmessage "You can float."
  powerup.duration 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
  powerup.type "Flight"
  inventory.maxamount 0
  +INVENTORY.AUTOACTIVATE
  states
  {
  Spawn:
    TNT1 A 3
    loop
  }
}

// Wizard Mounth

ACTOR WizardMagic : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     TNT1 A 1 A_WeaponReady
     TNT1 A 0 A_GiveInventory ("WizardFly",1)
     Loop
  DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 10 A_GiveInventory ("WizardFly",1)
     TNT1 A 4 A_PlaySoundEx ("wizard/sight","body")
     TNT1 A 10 
     TNT1 A 0 BRIGHT A_FireCustomMissile ("WizardFX1",10,0,0,7)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,7)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("WizardFX1",-10,0,0,7)
     TNT1 A 15 
     Goto Ready
  AltFire:
     TNT1 A 30 A_PlaySoundEx ("wizard/sight","body")
	 TNT1 A 1 A_JumpIfHealthLower (55,7)
	 TNT1 A 1 DamageThing(20)
     TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
	 TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
     TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
	 TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
	 TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
	 TNT1 A 10 BRIGHT A_FireCustomMissile ("WizardFX1",0,0,0,-7)
	 TNT1 A 1 A_PlaySoundEx ("wizard/active","body")
	 Goto Ready
  }
}
ACTOR ImpHand : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
weapon.ammotype "HereticAmmo"
weapon.ammouse 1
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     Ready:
TNT1 A 0 A_JumpIfInventory("RegenChecker",35,3)
TNT1 A 1 A_WeaponReady
TNT1 A 0 A_GiveInventory("RegenChecker",1)
loop
TNT1 A 0 A_TakeInventory("RegenChecker",999)
TNT1 A 0 A_GiveInventory("HereticAmmo",3)
Goto Ready  
 DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 2 A_GiveInventory ("WizardFly",1)
     TNT1 A 3 A_PlaySoundEx ("himp/attack","body")
     TNT1 A 0 A_JumpIfNoAmmo(4)
     TNT1 A 2 A_CustomPunch (2,0,1,"staffPuff")
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HereticImpBall",0,1,0,-10)
     TNT1 A 4 
     Goto Ready
     TNT1 A 2 A_CustomPunch (2,0,1,"staffPuff")
     TNT1 A 4 
     Goto Ready
AltFire:
    	TNT1 A 2 A_PlaySoundEx ("himp/attack","Weapon")
	TNT1 A 2 A_Recoil (-7)
    	TNT1 A 2 A_CustomPunch (5,0,1,"staffPuff")
	TNT1 A 2 A_Recoil (-7)
    	TNT1 A 2 A_CustomPunch (5,0,1,"staffPuff")
	TNT1 A 2 A_Recoil (-7)
    	TNT1 A 2 A_CustomPunch (5,0,1,"staffPuff")
	TNT1 A 2 A_Recoil (-7)
    	TNT1 A 2 A_CustomPunch (5,0,1,"staffPuff")
	TNT1 A 22
	goto Ready
}
}
actor HereticAmmo : Ammo
{
   +ALWAYSPICKUP
  radius 20
  height 16
  inventory.pickupmessage "Picked up a clip."
  inventory.icon "FX10A0"
  inventory.amount 1
  inventory.maxamount 500
  ammo.backpackamount 1
  ammo.backpackmaxamount 900
  states
  {
  Spawn:
    FX10 A 1
    loop
  }
}
Actor RegenChecker : Inventory
{
Inventory.Amount 1
Inventory.MaxAmount 35
}
ACTOR lichmagic : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     TNT1 A 1 A_WeaponReady
     Loop
  DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 0 A_Jump(250,4,7)
     TNT1 A 3 A_PlaySoundEx ("ironlich/attack","body")
     TNT1 A 0 BRIGHT A_FireCustomMissile ("Whirlwind",0,0,0,10)
     TNT1 A 40
     Goto Ready
     TNT1 A 3 A_PlaySoundEx ("ironlich/attack","body")
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX1",0,0,0,10)
     TNT1 A 40
     goto ready
     TNT1 A 3 A_PlaySoundEx ("ironlich/attack","body")
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX3",6,0,0,-10)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX3",3,0,0,-10)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX3",0,0,0,-10)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX3",-3,0,0,-10)
     TNT1 A 0 BRIGHT A_FireCustomMissile ("HeadFX3",-6,0,0,-10)
     TNT1 A 40
     goto ready
}
}
ACTOR KnightWeapon : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     TNT1 A 1 A_WeaponReady
     Loop
  DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 5
     TNT1 A 0 A_PlaySoundEx ("hknight/melee","body")
     TNT1 A 15 BRIGHT A_CustomPunch (15,0,1,"staffPuff")
     TNT1 A 6
     Goto Ready
AltFire:
     TNT1 A 0 A_Jump(210,5)
     TNT1 A 5
     TNT1 A 3 A_PlaySoundEx ("hknight/attack","body")
     TNT1 A 8 BRIGHT A_FireCustomMissile ("RedAxe",0,0,0,7)
     TNT1 A 7
     goto ready
     TNT1 A 5
     TNT1 A 3 A_PlaySoundEx ("hknight/attack","body")
     TNT1 A 8 BRIGHT A_FireCustomMissile ("Knightaxe",0,0,0,7)
     TNT1 A 7
     goto ready

}
}
ACTOR ClinkMelee : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     TNT1 A 1 A_WeaponReady
     Loop
  DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 5
     TNT1 A 0 A_PlaySoundEx ("clink/attack","body")
     TNT1 A 4 BRIGHT A_CustomPunch (17,0,1,"staffPuff")
     TNT1 A 7
     Goto Ready
AltFire:
     TNT1 A 10 A_PlaySoundEx ("clink/attack","body")
     TNT1 A 1 DamageThing(8)
     TNT1 A 5 BRIGHT A_Recoil (-11)
     TNT1 A 4 BRIGHT A_CustomPunch (100,0,1,"staffPuff")
     TNT1 A 1 A_PlaySoundEx ("clink/active","body")
     Goto Ready
  }
}
ACTOR GolemMagic : Weapon
{ 
  OBITUARY "%o was smitten by %k."
  HITOBITUARY "%o got too close to &k."
  weapon.kickback 100
   +Ammo_Optional
  states
  {
  Spawn:
     TNT1 A 1
     Stop
  Select:
     TNT1 A 1 A_Raise
     TNT1 A 1 A_Raise
     Loop
  Ready:
     TNT1 A 1 A_WeaponReady
     Loop
  DeSelect:
     TNT1 A 1 A_Lower
     TNT1 A 1 A_Lower
     Loop
  Fire:
     TNT1 A 5
     TNT1 A 0 A_PlaySoundEx ("mummy/attack1","body")
     TNT1 A 8 BRIGHT A_CustomPunch (10,0,1,"staffPuff")
     TNT1 A 6
     Goto Ready
AltFire:
     TNT1 A 5
     TNT1 A 3 A_PlaySoundEx ("mummy/attack2","body")
     TNT1 A 8 BRIGHT A_FireCustomMissile ("MummyFX1",0,0,0,7)
     TNT1 A 7
     goto ready

}
}
