actor SpellBinder : Weapon 
{
Inventory.PickupSound "weapons/lightningstarter"
Inventory.PickupMessage "You posess the SpellBinder."
weapon.ammogive1 999
weapon.ammotype1 "Spellammo"
weapon.ammotype2 "Spellammo"
weapon.ammouse1 8
weapon.ammouse2 16
weapon.selectionorder 400
Obituary "%o didn't want to be spell binded by %k."
states
{
Ready:
FIR1 A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade") 
FIR1 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife") 
FIR1 A 1 A_WeaponReady
loop
  Deselect: 
    FIR1 A 0 A_Lower
    FIR1 A 0 A_Lower
    FIR1 A 1 A_Lower
    loop
  Select:
    FIR1 A 0 A_Raise
    FIR1 A 0 A_Raise
    FIR1 A 1 A_Raise
    loop
Fire:
FIR1 B 1 A_PlaySound ("weapons/firestarter")
FIR1 BCBCBCBCBC 3
FIR1 D 8
FIR1 EF 3 A_PlayWeaponSound ("weapons/walllaunch")
FIR1 G 0 A_FireCustomMissile("FireWall",0,1,-22,0)
FIR1 G 7 A_FireCustomMissile("FireWall",0,1,22,0)
FIR1 FEA 2
FIR1 A 6
Goto Ready
AltFire:
FIR1 H 5 A_PlaySound ("weapons/lightningstarter")
FIR1 IJIJIJIJIJ 3
FIR1 D 8
FIR1 K 2
FIR1 L 2 A_PlayWeaponSound ("weapons/lightningstarter")
FIR1 MNOPQR 2 A_PlaySound ("weapons/waveidle")
FIR1 O 0 A_PlaySound ("weapons/waveidle")
FIR1 OPQR 2
FIR1 R 2 A_ReFire
FIR1 STU 3
FIR1 V 0 A_PlayWeaponSound ("weapons/waveidle")
FIR1 V 1 A_PlayWeaponSound ("weapons/wavelaunch")
FIR1 V 7 A_FireCustomMissile("Slicer",0,1,0,0)
FIR1 JIHA 2
FIR1 A 6
Goto Ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
}
}

actor Slicer
{
  spawnid 128
  obituary "%o was sliced in two by %k's SpellBinded Slicer."
  radius 4
  height 6
  speed 25
  damage (random(1000,1000))
  renderstyle Add
  alpha 0.75
  attacksound "weapon/disckill"
  PROJECTILE
  +SEEKERMISSILE
  +RIPPER
  +EXTREMEDEATH
  +LOOKALLAROUND
  +FRIENDLY
  states
  {
  Spawn:
    PROJ A 0 bright A_SeekerMissile (20,30)  
    PROJ A 2 bright A_PlaySound ("weapons/rotating")
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ B 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ C 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ D 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ E 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ F 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ G 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ H 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ A 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ B 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ C 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ D 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ E 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ F 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ G 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ H 2 bright 
    loop
  Death:
    BFE1 D 0 A_PlaySound("weapons/wavedeath")
    BFE1 D 8 Bright A_Explode
    BFE1 EF 8 bright  A_FadeOut(0.10)
    stop
  }
}

ACTOR FireWall
{
   Radius 5
   Height 5
   Speed 15
   obituary "%o was incinerated by %k's SpellBinded FireWall."
   ReactionTime 175
   Damage (random(1000,1000))
   ExplosionDamage 30
   ExplosionRadius 64
   DamageType fire
   RenderStyle ADD
   Alpha 0.67
   PROJECTILE
   DONTHURTSHOOTER
   +FRIENDLY
   +SEEKERMISSILE
   +FLOORHUGGER
   +THRUGHOST
   -NOGRAVITY
   Seesound "weapon/diasht"
   DeathSound "weapons/walldeath"   
   States
   {
   Spawn:
      NULL A 1 Bright A_SeekerMissile (10,15)
      NULL A 0 Bright 
      NULL A 0 Bright A_CustomMissile("FirePuff",0,0,0,0)
      loop
   Death:
      FTRA K 4 Bright
      FTRA L 4 Bright A_Explode
      FTRA MNO 3 Bright
      stop
   }
}

ACTOR FirePuff
{
   Radius 1
   Height 1
   Speed 0
   RENDERSTYLE ADD
   obituary "%o was incinerated by %k's firestorm spell."
   DamageType fire
   ALPHA 0.67
   PROJECTILE
   DONTHURTSHOOTER
   +FRIENDLY
   +FLOORHUGGER
   -NOGRAVITY
   States
   {
   Spawn:
      FTRA ABCDEFGHIJ 3 Bright A_Explode(4,8,0)
      stop
   }
}


ACTOR Spellammo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 300
    inventory.maxamount 300
    ammo.backpackamount 300
    ammo.backpackmaxamount 300
    +IGNORESKILL
    inventory.pickupmessage "Got Shotgun Shells!!"  
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}

actor PAPSpellBinder : Weapon 
{
Inventory.PickupSound "weapons/lightningstarter"
Inventory.PickupMessage "You posess the SpellBinder."
weapon.ammogive1 999
weapon.ammotype1 "PAPSpellammo"
weapon.ammotype2 "PAPSpellammo"
weapon.ammouse1 8
weapon.ammouse2 16
weapon.selectionorder 400
Obituary "%o didn't want to be spell binded by %k."
states
{
Ready:
FIR1 A 0 A_JumpIfInventory("thrownade",1,"ThrowGrenade") 
FIR1 A 0 A_JumpIfInventory("Kinfeammo",1,"UseKnife") 
FIR1 A 1 A_WeaponReady
loop
  Deselect: 
    FIR1 A 0 A_Lower
    FIR1 A 0 A_Lower
    FIR1 A 1 A_Lower
    loop
  Select:
    FIR1 A 0 A_Raise
    FIR1 A 0 A_Raise
    FIR1 A 1 A_Raise
    loop
Fire:
FIR1 B 1 A_PlaySound ("weapons/firestarter")
FIR1 BCBCBCBCBC 3
FIR1 D 8
FIR1 EF 3 A_PlayWeaponSound ("weapons/walllaunch")
FIR1 G 0 A_FireCustomMissile("PAPFireWall",0,1,-22,0)
FIR1 G 7 A_FireCustomMissile("PAPFireWall",0,1,22,0)
FIR1 FEA 2
FIR1 A 6
Goto Ready
AltFire:
FIR1 H 5 A_PlaySound ("weapons/lightningstarter")
FIR1 IJIJIJIJIJ 3
FIR1 D 8
FIR1 K 2
FIR1 L 2 A_PlayWeaponSound ("weapons/lightningstarter")
FIR1 MNOPQR 2 A_PlaySound ("weapons/waveidle")
FIR1 O 0 A_PlaySound ("weapons/waveidle")
FIR1 OPQR 2
FIR1 R 2 A_ReFire
FIR1 STU 3
FIR1 V 0 A_PlayWeaponSound ("weapons/waveidle")
FIR1 V 1 A_PlayWeaponSound ("weapons/wavelaunch")
FIR1 V 7 A_FireCustomMissile("PAPSlicer",0,1,0,0)
FIR1 JIHA 2
FIR1 A 6
Goto Ready
  ThrowGrenade:
     HNDG BCD 1
     HNDG E 1 A_PlaySound("weapons/grenadepin")
     HNDG FGHH 1
     HNDG I 1 A_PlaySound("weapons/grenadethr") 
     HNDG J 0 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
     HNDG J 0 A_PlaySound("weapons/grenadethr")
     HNDG JKLMNOPQ 1
     HNDG Q 0 A_TakeInventory("thrownade")
     Goto Ready
  Useknife:
     KNFG A 0 A_jumpifinventory("Machete",1,"UseMachete")
     KNFG ABC 2
	 KNFG C 0 A_CustomPunch (110,1,0,"KnifePuff")
	 KNFG DEF 2
	 KNFG F 0 A_TakeInventory("Kinfeammo")
	 goto ready
  UseMachete:
     MHT4 ABC 2
	 MHT4 C 0 A_CustomPunch (450,1,0,"Machetepuff")
	 MHT4 DEFG 2
	 MHT4 G 0 A_TakeInventory("Kinfeammo")
	 goto ready
}
}

actor PAPSlicer
{
  spawnid 128
  obituary "%o was sliced in two by %k's SpellBinded Slicer."
  radius 4
  height 6
  speed 50
  damage (random(2000,2000))
  renderstyle Add
  alpha 0.75
  attacksound "weapon/disckill"
  PROJECTILE
  +SEEKERMISSILE
  +RIPPER
  +EXTREMEDEATH
  +LOOKALLAROUND
  +FRIENDLY
  states
  {
  Spawn:
    PROJ A 0 bright A_SeekerMissile (20,30)  
    PROJ A 2 bright A_PlaySound ("weapons/rotating")
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ B 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ C 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ D 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ E 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ F 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ G 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ H 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ A 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ B 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ C 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)
    PROJ D 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ E 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ F 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ G 2 bright 
    PROJ A 0 bright A_SeekerMissile (20,30)    
    PROJ H 2 bright 
    loop
  Death:
    BFE1 D 0 A_PlaySound("weapons/wavedeath")
    BFE1 D 8 Bright A_Explode
    BFE1 EF 8 bright  A_FadeOut(0.10)
    stop
  }
}

ACTOR PAPFireWall
{
   Radius 5
   Height 5
   Speed 15
   obituary "%o was incinerated by %k's SpellBinded FireWall."
   ReactionTime 175
   Damage (random(2000,2000))
   ExplosionDamage 60
   ExplosionRadius 128
   DamageType fire
   RenderStyle ADD
   Alpha 0.67
   PROJECTILE
   DONTHURTSHOOTER
   +FRIENDLY
   +SEEKERMISSILE
   +FLOORHUGGER
   +THRUGHOST
   -NOGRAVITY
   Seesound "weapon/diasht"
   DeathSound "weapons/walldeath"   
   States
   {
   Spawn:
      NULL A 1 Bright A_SeekerMissile (10,15)
      NULL A 0 Bright 
      NULL A 0 Bright A_CustomMissile("PAPFirePuff",0,0,0,0)
      loop
   Death:
      FTRA K 4 Bright
      FTRA L 4 Bright A_Explode
      FTRA MNO 3 Bright
      stop
   }
}

ACTOR PAPFirePuff
{
   Radius 1
   Height 1
   Speed 0
   RENDERSTYLE ADD
   obituary "%o was incinerated by %k's firestorm spell."
   DamageType fire
   ALPHA 0.67
   PROJECTILE
   DONTHURTSHOOTER
   +FRIENDLY
   +FLOORHUGGER
   -NOGRAVITY
   States
   {
   Spawn:
      FTRA ABCDEFGHIJ 3 Bright A_Explode(4,8,0)
      stop
   }
}


ACTOR PAPSpellammo : Ammo
{
    inventory.icon "CLIPA0"
    inventory.amount 660
    inventory.maxamount 660
    ammo.backpackamount 660
    ammo.backpackmaxamount 660
    +IGNORESKILL
    inventory.pickupmessage "Got Shotgun Shells!!"  
    States
    {
    Spawn:
      CLIP A -1
      Stop
    }
}