ACTOR AcidWorm : Weapon 30394
{
//$Category Weapons/HEM
//$Title "Acid Worm"
//$Sprite WAWRA0
+WEAPON.NOALERT
+WEAPON.AMMO_OPTIONAL
Weapon.SelectionOrder 6500
Weapon.AmmoUse1 1
Weapon.AmmoUse2 0
Weapon.AmmoGive1 5
Weapon.AmmoGive2 0
Weapon.AmmoType1 "AcidAmmo"
//Weapon.AmmoType2 "AcidAmmo"
Inventory.PickupMessage "Acid Worm"
Obituary "%o was dissolved in acid by %k's Acid Worm."
Tag "Acid Worm"
States
	{
   Spawn:
		WAWR A -1
		Loop
	Ready:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("SuperShot",1,"SuperShot")
	ReadyLoop:
		AWRM ABCD 4 A_weaponReady
		Loop
	Ready2:
		AWRM KLMN 4 A_WeaponReady
		Loop
	Select:
		AWRM A 1 A_Raise
		Loop
	Deselect:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
	DeselectLoop:
		AWRM A 1 A_Lower
		Loop
	Fire:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("SuperShot",1,"Fire2")
		TNT1 A 0 A_JumpIfInventory("AcidAmmo",1,"FireDo")
		AWRM A 1
		GoTo Ready
	FireDo:
		TNT1 A 0
		TNT1 A 0 A_AlertMonsters
		AWRM E 2 Bright A_PlaySound("weapons/gorfi1")
		AWRM F 3 Bright 
		TNT1 A 0 A_FireCustomMissile("PlayerAcid",random(-5,5),1,0,0)
		AWRM GH 2 Bright
		AWRM A 1
		TNT1 A 0 A_Refire
		Goto Ready
	Fire2:
		TNT1 A 0
		TNT1 A 0 A_AlertMonsters
		AWRM O 1 Bright A_PlaySound("weapons/gorfi2")
		TNT1 A 0 A_TakeInventory("SuperShot",1)
		AWRM OOO 1 Bright A_FireCustomMissile("AWormLaser",0,0,0,0)
		TNT1 A 0 A_TakeInventory("AcidAmmo",50,TIF_NOTAKEINFINITE)
		TNT1 AAAAAAAAAAAAAA 0 A_FireCustomMissile("PlayerAcid",random(-20,20),0,0,0)
		AWRM PPPPQQ 1 Bright A_FireCustomMissile("AWormLaser",0,0,0,0)
		AWRM R 2 Bright
		AWRM A 1
		TNT1 A 0
		Goto Ready
	SuperShot:
		AWRM A 5
		AWRM I 1 A_PlaySound("weapons/gorsuc")
		AWRM IJK 4
		GoTo Ready2
	Altfire:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("SuperShotCounter",2,"SuperShotReady")
		TNT1 A 0 A_JumpIfInventory("SuperShot",1,"Ready2")
		AWRM A 3 A_JumpIfInventory("PartialKakuhou",1,"Reload")
		TNT1 A 0 A_Print("Not Enough Kakuhou")
		GoTo Ready
	Reload:
		AWRM A 3
		TNT1 A 0 A_JumpIfInventory("AcidAmmo",150,"SuperCount")
		TNT1 A 0 A_GiveInventory("AcidAmmo",80)
		TNT1 A 0 A_TakeInventory("PartialKakuhou",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_GiveInventory("SuperShotCounter",1)
		GoTo Ready
	SuperCount:
		AWRM A 3
		TNT1 A 0 A_JumpIfInventory("SuperShotCounter",1,"SuperShotReady")
		TNT1 A 0 A_TakeInventory("PartialKakuhou",1,TIF_NOTAKEINFINITE)
		GoTo SuperShotReady
	SuperShotReady:
		AWRM A 3
		TNT1 A 0 A_GiveInventory("SuperShot",1)
		TNT1 A 0 A_TakeInventory("SuperShotCounter",1)
		GoTo Ready
	}
}

Actor AWormLaser : CacoLichLaser
{
Damage (12*random(1,8))
Species ""
Species "Player"
}

Actor PlayerAcid : HeterodoxAcid
{
Reactiontime 525
Damage (24*random(1,4))
+SEEKERMISSILE
+FORCERADIUSDMG
Species ""
Species "Player"
States
	{
	Spawn:
		ANFB A 1 Bright A_SpawnItemEx("HeteracidTrail",0,0,RANDOM(-3,3),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)	
		TNT1 A 0 Bright A_Weave(0,4,0,1)
		TNT1 A 0 Bright A_SeekerMissile(10,20,SMF_LOOK)
		TNT1 A 0 Bright A_CountDown
		Loop
	Crash:
	Death:
	XDeath:
		TNT1 A 0 Bright
		TNT1 AAA 0 Bright A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		TNT1 AAAA 0 Bright A_CustomMissile("Kaboom7",0,0,random(0,360),2,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX4",0,0,random(0,360),2,random(0,360))
	    TNT1 A 0 A_RadiusGive("AcidDamage",100,RGF_MONSTERS,1)
		TNT1 A 0 Bright A_Explode(38,120,0)
		ANFB CDE 3 Bright
		Stop
	}
}

Actor AcidDamage : CustomInventory
{
 +INVENTORY.ALWAYSPICKUP
 States
  {
   PickUp:
	"####" "#" 0 A_JumpIfInventory("MeltCount",1,2)
	"####" "#" 0 ACS_NAMEDEXECUTEALWAYS("Melt")
	"####" "#" 0 A_GiveInventory("MeltCount",3)
	Stop
   PickUp.No:
    "####" "#" 0
	Stop
  }
}

ACTOR AcidAmmo : Ammo
{
Inventory.Amount 5
Inventory.MaxAmount 150
Ammo.BackpackAmount 5
Ammo.BackpackMaxAmount 300
Inventory.PickupMessage "Acid Pouch."
Inventory.Icon INAMA0
States
	{
	Spawn:
		ACMM ABCB 5 Bright
		Loop
	}
}

ACTOR AcidAmmoBundle : AcidAmmo
{
Inventory.Amount 50
Inventory.PickupMessage "Acid Sack."
States
	{
	Spawn:
		ACMM DEFE 5 Bright
		Loop
	}
}

Actor SuperShot : Inventory {Inventory.MaxAmount 1}
Actor SuperShotCounter : Inventory {Inventory.MaxAmount 1}