Actor "Bazooka" : Weapon
{
  Weapon.AmmoUse 10
  Weapon.AmmoGive 40
  Weapon.AmmoType "Missile"
  Weapon.SelectionOrder 5000
  Weapon.PreferredSkin "Bazooka-Marine"
  Weapon.UpSound "Bazooka/up"
  Inventory.PickupMessage "You got the M1 Bazooka!"
  Obituary "%o was blasted by %k's Bazooka."
  Decal Scorch
  Tag "Bazooka"
  +WEAPON.NOAUTOAIM
  +WEAPON.AMMO_OPTIONAL
  +INVENTORY.UNDROPPABLE
  Weapon.SisterWeapon "PoweredBazooka"
  States
  {
  Spawn:
    BZKA E -1
    Stop
  Empty:
    BZKA A 10 A_PlayWeaponSound("weapons/click")
  Ready:
    BZKA A 1 A_WeaponReady
    Loop
  Select:
	TNT1 A 0 A_Raise
    BZKA 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)
	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
  DeselectLoop:
	TNT1 A 0 A_Lower
	BZKA A 1 A_Lower
	Loop
  Fire:
    TNT1 A 0 A_JumpIfInventory("Missile",10,1)
	Goto Empty
	BZKA A 0 A_PlayWeaponSound("RPG/Fire")
    BZKA A 0 A_GunFlash
    BZKA A 0 A_AlertMonsters
	TNT1 A 0 A_FireCustomMissile("PlayerRPGRocket",0,1,8,8,0)
	BZKA BCD 4 Bright
    BZKA A 4 Offset(5,32)
    BZKA A 4 Offset(8,40) 
    BZKA A 4 Offset(12,48) 
    BZKA A 4 Offset(16,52)
    BZKA A 4 Offset(18,70)
    BZKA A 15 Offset(20,80)
    BZKA A 4 Offset(18,70) A_PlaySound("Bazooka/Load")
    BZKA A 4 Offset(16,56)
    BZKA A 4 Offset(12,48) 
    BZKA A 4 Offset(8,40) 
    BZKA A 4 Offset(5,32)
    BZKA A 4 Offset(2,24)
    Goto Ready
  }
}

Actor PoweredBazooka : Bazooka
{
  Weapon.AmmoUse 30
  //Obituary "%o was blasted by %k's Powered Bazooka."
  //Decal Scorch
  Weapon.SisterWeapon "Bazooka"
  +WEAPON.POWERED_UP
  States
  {
  Spawn:
    BZCA E -1
    Stop
  Ready:
    BZCA A 1 A_WeaponReady
    Loop
  Select:
	TNT1 A 0 A_Raise
    BZCA 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:
	TNT1 A 0 A_Lower
	BZCA A 1 A_Lower
	Loop
  Fire:
	BZCA A 0 A_PlayWeaponSound("tank/fire")
	//BZCA A 0 A_SpawnItem("PowBazookaFireSound",0,0,0,0)
    BZCA A 0 A_GunFlash
    BZCA A 0 A_AlertMonsters
	TNT1 A 0 A_FireCustomMissile("PlayerPowRPGShot",0,1,8,8,0)
	BZCA BCD 4 Bright
    BZCA A 4 Offset(5,32)
    BZCA A 4 Offset(8,40) 
    BZCA A 4 Offset(12,48) 
    BZCA A 4 Offset(16,52)
    BZCA A 4 Offset(18,70)
    BZCA A 35 Offset(20,80)
    BZCA A 0 A_PlaySound("Bazooka/Load")
    BZCA A 4 Offset(18,70)
    BZCA A 4 Offset(16,56)
    BZCA A 4 Offset(12,48) 
    BZCA A 4 Offset(8,40) 
    BZCA A 4 Offset(5,32)
    BZCA A 4 Offset(2,24)
    Goto Ready
  }
}

ACTOR PlayerRPGRocket
{
Radius 11
Height 8
Projectile
Speed 72
Damage 50
+RANDOMIZE
+DEHEXPLOSION
+SKYEXPLODE
+EXPLODEONWATER
+MTHRUSPECIES
+FORCERADIUSDMG
//+FOILINVUL
SeeSound "rpg/fly"
DeathSound "thumper/explode"
//Species "Player"
//DamageType "Explosion"
Decal RocketScorch
States
{
Spawn:
    MIS2 A 0 A_CustomMissile("RocketSmoke",Random(4,6),Random(-2,2)) 
	MIS2 AAA 0 A_CustomMissile("NewRockeParticleTrail",Random(4,6),Random(-2,2)) 
    MIS2 A 0 A_BishopMissileWeave
    MIS2 A 1 Bright A_PlaySoundEx("rpg/fly","SoundSlot7",1)
    Loop
Death:
    MIS2 A 0 A_StopSoundEx("SoundSlot7")
	TNT1 A 0 A_Explode(48,628,0)
	TNT1 A 0 A_Explode(128,400,0)
	TNT1 A 0 A_Explode(384,256,0)	
	TNT1 A 0 A_SpawnItemEx("RPGRocketKaBoom",0,0,0,0,0,0,0,128) 
	TNT1 AAAAAAAAAAAAA 0 A_CustomMissile("RPGExplode",random(20,80),random(20,-20),random(0,360),2,random(0,360))
	TNT1 A 1 A_CustomMissile("RPGBigExplosion",0,0,random(80,100),2,random(80,100))
    MISL B 4 Bright
    MISL CD 4 Bright A_SetTranslucent(0.75,1)
    Stop
    }
}

ACTOR RPGExplode
{
Radius 2
Height 2
Speed 32
Damage 0
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+MTHRUSPECIES
+MISSILE
+FORCEXYBILLBOARD
+NOBLOOD
+NOBLOODDECALS
+BLOODLESSIMPACT
RenderStyle Add
DamageType Fire
Decal MummyScorch
Scale 0.5
Alpha 1.0
Gravity 0
States
{
   Spawn:
	FIR3 ABDEFGHIJKL 1 Bright A_CustomMissile("Kaboom",6,0,0,2,random(0,10))
	Stop
   Death:
	FIR3 AA 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128) 
	Stop
	}
}

Actor RPGBigExplosion : Explosion
{
    Scale 1.8
    States
    {
    Spawn:
	    TNT1 A 0
		TNT1 A 0 Radius_Quake(6,28,0,32,0)
	    TNT1 AAA 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128)
		TNT1 DDEEFFGGHHIIJJ 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		TNT1 K 0 A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 KKKLLL 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		TNT1 M 0 A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 MMMMNNN 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		TNT1 OPQ 2 Bright A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 O 0 A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 OOO 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		TNT1 P 0 A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 PPP 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		TNT1 Q 0 A_CustomMissile("SmokeFX3",32,0,random(80,100),2,random(80,100))
		TNT1 QQQ 1 Bright A_CustomMissile("Kaboom",random(20,80),random(20,-20),random(0,360),2,random(0,360))
		Goto Death
	Death:
		TNT1 A 0
	    Stop
  }
}

Actor PlayerPowRPGShot
{
Radius 11
Height 8
Speed 150
Damage 250
Projectile
-RANDOMIZE
-NOGRAVITY
+EXTREMEDEATH
+MTHRUSPECIES
+FORCERADIUSDMG
+NODAMAGETHRUST
+FOILINVUL
DeathSound "artillery/explode"
Gravity 0.05
//Species "Player"
//DamageType "Explosion"
States
{
  Spawn:
    CSHO A 0 A_PlaySound ("artillery/fly",CHAN_BODY,1.0,1)
	CSHO AAAAA 1 bright A_SpawnItemEx("SmokeFX4",0,0,0,0,0,1,0,128,0)
    Loop
  Death:
    TNT1 B 0 A_NoGravity
    TNT1 A 0 A_PlaySoundEx("blanksnd","Body",0)
	TNT1 A 0 A_Explode(128,628,0)
	TNT1 A 0 A_Explode(156,400,0)
	TNT1 A 0 A_Explode(512,256)
	TNT1 A 0 A_SpawnItemEx("TankShootKaBoom",0,0,0,0,0,0,0,128) 
	TNT1 AAAAAAAAAAAAA 0 A_CustomMissile("RPGBigExplosion",random(20,80),random(20,-20),random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("ZooShockWave",0,0,0,0,0,0,0,128) 
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 1 A_CustomMissile("RPGBigExplosion",0,0,random(80,100),2,random(80,100))
    Stop
  }
}

Actor PlayerTankShootCopy
{
Speed 150
Damage 250
Projectile
-RANDOMIZE
-NOGRAVITY
+EXTREMEDEATH
+MTHRUSPECIES
+FORCERADIUSDMG
+NODAMAGETHRUST
DeathSound "artillery/explode"
Gravity 0.05
States
{
  Spawn:
    CSHO A 0 A_PlaySound ("artillery/fly",CHAN_BODY,1.0,1)
	CSHO AAAAA 1 bright A_SpawnItemEx("SmokeFX4",0,0,0,0,0,1,0,128,0)
    Loop
  Death:
    TNT1 B 0 A_NoGravity
    TNT1 A 0 A_PlaySoundEx("blanksnd","Body",0)
	TNT1 A 0 A_Explode(128,628,0)
	TNT1 A 0 A_Explode(156,400,0)
	TNT1 A 0 A_Explode(512,256)
	TNT1 A 0 A_SpawnItemEx("TankShootKaBoom",0,0,0,0,0,0,0,128) 
	TNT1 AAAAAAAAAAAAA 0 A_CustomMissile("Explode",random(20,80),random(20,-20),random(0,360),2,random(0,360))
	TNT1 A 0 A_SpawnItemEx("ZooShockWave",0,0,0,0,0,0,0,128) 
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,128)
	TNT1 A 1 A_CustomMissile("RPGBigExplosion",0,0,random(80,100),2,random(80,100))
    Stop
  }
}

Actor ZooShockWave
{
Speed 0
Scale 1
Radius 1
Height 1
Damage 0
Renderstyle Add
PROJECTILE
+NOBLOCKMAP
+NOTELEPORT
+DONTSPLASH
+NOGRAVITY
+MISSILE
+FORCEXYBILLBOARD
+CLIENTSIDEONLY
+NOINTERACTION
+NOCLIP
Alpha 0.9
Scale 1.0
Speed 0
States
{
Spawn:
BSW0 A 0
BSW0 A 0 A_SpawnItemEx("ZookShockWaveFlash")
BSW0 AAAAAAAAAAA 1 Bright A_FadeOut(0.1)
Stop
}
}

Actor ZookShockWaveFlash
{
Scale 2.0
Alpha 1.0
Renderstyle Add
+NOTELEPORT
+NOCLIP
+FLOORCLIP
+NOGRAVITY
+FORCEXYBILLBOARD
+NOINTERACTION
+CLIENTSIDEONLY
States
{
Spawn:
BFS8 A 3 Bright
EndLoop:
BFS8 A 1 A_FadeOut (0.2)
Loop
}
}

Actor PowBazookaFireSound : FootStep
{
  States
  {
  Spawn:
	TNT1 A 0 
	TNT1 A 0 A_PlaySoundEx("tank/fire","Voice")
    Stop
  }
}