ACTOR DesiccationRod : DoomWeapon
{
  Scale 0.8
  Weapon.AmmoType1 "DustMana"
  Weapon.AmmoType2 "DustMana"
  Weapon.AmmoUse1 20
  Weapon.UpSound "BFlan/Draw"
  Inventory.PickupSound "BFlan/Draw"
  Inventory.PickupMessage "You got Bloody Flandre's Desiccation Rod!"
  Weapon.PreferredSkin "Fist-Marine"
  Obituary "%o was phlebotomized by %k's Desiccation Rod."
  Tag "Bloody Flandre's Desiccation Rod"
  +FLOATBOB
  +WEAPON.NOALERT
  States
  {
  Ready:
	SRO0 ABCDE 1 Bright
	TNT1 A 3
	SRO0 FGHIJKL 1 Bright
  Ready2:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	SROD A 1 Bright A_WeaponReady
	Loop
  Deselect:
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	TNT1 A 0 A_Lower
	SROD A 1 Bright A_Lower
	Goto Deselect+1
  Select: 
	TNT1 A 0 A_Raise
	Wait
  Fire:
	SROD BCD 1 Bright
	TNT1 A 2
  Fire2:
	TNT1 A 0 A_PlaySound("BFlan/Swing")
	SROD EF 2 Bright
	TNT1 A 0 A_CustomPunch(random(12,20)*5,0,CPF_USEAMMO|CPF_PULLIN,"RodWallHit",128)
	SROD GHIJ 2 Bright
	TNT1 A 5
	TNT1 A 0 A_JumpIfNoAmmo("Done")
	TNT1 A 0 A_Refire("Fire3")
	Goto Done
  Fire3:
	TNT1 A 0 A_PlaySound("BFlan/Swing")
	SROD KL 2 Bright
	TNT1 A 0 A_CustomPunch(random(7,12)*5,0,CPF_USEAMMO|CPF_PULLIN,"RodWallHit",128)
	SROD MNOP 2 Bright
	TNT1 A 5
	TNT1 A 0 A_JumpIfNoAmmo("Done")
	TNT1 A 0 A_Refire("Fire2")
	Goto Done
  Done:
	SROD DCB 2 Bright
	Goto Ready2
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready2
  GrenadeToss:
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	SROD BCD 2 Bright
	TNT1 A 3
	HGRN ABC 1
	HGRN D 2
	HGRN EFG 1
	HGRN HI 2
	TNT1 A 15 A_PlayWeaponSound("weapons/hgrenadepin")
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1)
	HGNE A 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	HGRN J 1
	HGRN KLM 2
	HGRN NO 1
	TNT1 A 6
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0
	SROD DCB 2 Bright
	Goto Ready2
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready2
  MineToss:
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	SROD BCD 2 Bright
	TNT1 A 8
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1		
	TNT1 A 0 A_TakeInventory("MineAmmo",1)	  
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0)
	MINE HI 1
	MINE JK 2
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Land Mine",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0
	TNT1 A 5
	SROD DCB 2 Bright
	Goto Ready2
  Spawn:
	SROP A 20 Bright
	TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,36)
	SROP BCD 4 Bright
	Loop
  }
}

ACTOR RodWallHit : BulletPuff
{
+NOGRAVITY
+PUFFGETSOWNER
+PUFFONACTORS
+EXTREMEDEATH
DamageType "Melee"
AttackSound "Rod/Hit"
SeeSound "BFlan/Slash"
RenderStyle Add
Alpha 0.8
Scale 0.8
States
{
Spawn:
Melee:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("RedParticleSpawner",0,0,0,0,0,0,0,128)
	TNT1 A 0 A_Jump(128,"Alt")
	FX57 ABCDEFGHIJ 1 Bright A_FadeOut(0.08)
	Stop
Alt:
	FX58 ABCDEFGHIJ 1 Bright A_FadeOut(0.08)
	Stop	
XDeath:
	TNT1 F 0 
	FAXE F 3 A_GiveToTarget("DesiccationHealth")
	FAXE GHIJK 3
	Stop
    }
}

ACTOR DesiccationHealth : NewMaxHealthBonus
{
Inventory.Amount 25
}