actor SSTRocketLauncher : Rocketlauncher //replaces Rocketlauncher
{
  Game Doom
  SpawnID 29
  Weapon.SelectionOrder 2499
  Weapon.AmmoUse 1
  Weapon.AmmoGive 2
  Weapon.AmmoType "RocketAmmo"
  +WEAPON.NOAUTOFIRE
  +NOALERT
	+FORCEXYBILLBOARD
  Inventory.PickupMessage "You got the rocket launcher!"
  Weapon.preferredSkin "RLSkin"
  Weapon.ViewPitchStyle Full
  Weapon.ViewPitchOffset 15
  States
  {
  Ready:
    TNT1 A 0 A_JumpIfInventory("InstantSwitch",1, "RealReady")
	RLAN DCB 1
  RealReady:
	RLAN A 1 A_WeaponReady
	loop
	Fire:
    RLAN A 0 A_JumpIfInventory("RedTeamChecker", 1, "FireRed")
    RLAN A 0 A_JumpIfInventory("BlueTeamChecker", 1, "FireBlue")
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket2") //A_FireMissile
		RLAF A 1 //2
		RLAF BCDEF 1 //2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
	AltFire:
    RLAN A 0 A_JumpIfInventory("RedTeamChecker", 1, "AltFireRed")
    RLAN A 0 A_JumpIfInventory("BlueTeamChecker", 1, "AltFireBlue")
    TNT1 E 0 A_JumpIfInventory("RocketAmmo", 1, 1)
	Goto RealReady
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket3") //A_FireMissile
    MISG B 0 A_TakeInventory("RocketAmmo", 1)
		RLAF A 1 //2
		RLAF BCDEF 1 //2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
	Flash:
		TNT1 A 1 A_light2
		TNT1 A 3 A_SetPitch(pitch-4)
		TNT1 AAAA 1 A_SetPitch(pitch+0.25)
		TNT1 AAA 1 A_SetPitch(pitch+0.5)
		TNT1 A 1 A_SetPitch(pitch+1.5)
		TNT1 A 1
		TNT1 A 0 //ACS_ExecuteAlways(925,0, random(350,400),0,0)
		RLGG E 0 A_AlertMonsters
		TNT1 A 3 A_light1
		goto lightdone
  Deselect:
	RLAN BC 1
    TNT1 A 0 ACS_ExecuteAlways(779,0, 2,0,0)
	RLAN D 1
    TNT1 AA 0
	RLAN D 1 A_Lower
	RLAN D 0 A_Lower
    Goto DeSelect+5
  Select:
    TNT1 A 0 A_JumpIfInventory("InstantSwitch",1, "RealReady")
    TNT1 A 0 ACS_ExecuteAlways(779,0, 8,0,0)
    TNT1 A 0
    MISG B 0 A_Raise
	RLAN D 1 A_Raise
    Goto Select+3
	/*
  Fire:
    MISG B 8 A_GunFlash
    MISG B 12 A_FireMissile
    MISG B 0 A_ReFire
    Goto RealReady
  Flash:
    MISF A 3 Bright A_Light1
    MISF B 4 Bright
    MISF CD 4 Bright A_Light2
    Goto LightDone
	*/
  Spawn:
    LAUN A -1
    Stop
	
	FireRed:
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket2Red") //A_FireMissile
		RLAF A 1 BRIGHT//2
		RLAF BCDEF 1 BRIGHT//2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
	AltFireRed:
    TNT1 E 0 A_JumpIfInventory("RocketAmmo", 1, 1)
	Goto RealReady
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket3Red") //A_FireMissile
    MISG B 0 A_TakeInventory("RocketAmmo", 1)
		RLAF A 1 BRIGHT//2
		RLAF BCDEF 1 BRIGHT//2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
		
	FireBlue:
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket2Blue") //A_FireMissile
		RLAF A 1 BRIGHT//2
		RLAF BCDEF 1 BRIGHT//2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
	AltFireBlue:
    TNT1 E 0 A_JumpIfInventory("RocketAmmo", 1, 1)
	Goto RealReady
	RLAN A 1
    MISG B 0 A_GunFlash
    MISG B 0 A_FireCustomMissile ("SSTRocket3Blue") //A_FireMissile
    MISG B 0 A_TakeInventory("RocketAmmo", 1)
		RLAF A 1 BRIGHT//2
		RLAF BCDEF 1 BRIGHT//2
		RLAN DCB 2
		RLAN A 5
		RLAN A 0 A_Refire
		goto Realready
  }
}

actor SSTRocket : Rocket replaces Rocket
{
  Game Doom
  SpawnID 127
  Radius 11
  Height 8
  Speed 20
  Damage 20
  Projectile
  +RANDOMIZE
  +DEHEXPLOSION
  -ROCKETTRAIL
  SeeSound "weapons/rocklf"
  DeathSound "weapons/rocklxNEW"
  Obituary "$OB_MPROCKET" // "%o rode %k's rocket."
  damagetype "Rocket"
  States
  {
  Spawn:
  	MISL A 0
  	NULL A 0 A_SpawnItemEx ("RocketSource", 0,0,0, 0,0,0, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(1,2)*0.2,0, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(1,2)*0.2, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(-2,-1)*0.2,0, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(-2,-1)*0.2, 0, 160) 
	
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(0,1)*0.2,0, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(0,1)*0.2, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(-1,0)*0.2,0, 0, 160) 
    MISL A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(-1,0)*0.2, 0, 160) 
    SAWG A 0 A_PlaySoundEx ("rocket/fly", soundslot6, 1)
  Spawn2:
    MISL A 1 bright
	NULL A 0 A_CustomMissile("ShortRocketSmokeTrail1", random(0,4), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(0,4), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) //A_CustomMissile("RocketSmokeTrail1", 0, 0, 0, 2, pitch)
    MISL A 1 bright
	NULL A 0 A_CustomMissile("ShortRocketSmokeTrail1", 0, random(0,4), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(0,4), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    MISL A 1 bright
	NULL A 0 A_CustomMissile("ShortRocketSmokeTrail1", random(-4,0), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(-4,0), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    MISL A 1 bright
	NULL A 0 A_CustomMissile("ShortRocketSmokeTrail1", 0, random(-4,0), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(-4,0), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    loop
  Death:
	MISL B 0 A_StopsoundEx(soundslot6)
    MISL B 1 bright A_Explode
	NULL A 0 A_SpawnItemEx ("PowEffectSpawner", 0, 0, 0, 0, 0, 0, 0, 160) 
    NULL A 0 A_SpawnItemEx ("RocketEcho", 0,0,0, 0,0,0, 0, 160)
    MISL B 6 bright A_SpawnItemEx("rocketflare", 0,0,0, 0,0,0, 0, 160)
    MISL C 5 bright
    MISL D 3 bright
    stop
  }
}

actor SSTRocket2 : SSTRocket
{
  Speed 28
}

actor SSTRocket3 : SSTRocket2
{
  -NOTELEPORT
  -TELESTOMP
  //+NOTELEFRAG
}

ACTOR RocketSmokeTrail1
{
   Radius 4
   Height 2
   PROJECTILE
   //+NOCLIP
   //-NOGRAVITY
   //gravity 0.5
   Scale 1.0//.3
   Speed 1//0
   RENDERSTYLE Translucent//ADD//
   ALPHA 0.13//0.17
   States
   {
   Spawn:
    PUF2 A 0
    PUF2 A 0 Thing_ChangeTID (0, 1330) 
    TNT1 A 1// two A's before models were used
	PUF2 CDEFGHIJKLM 1 BRIGHT
	PUF2 NOPQ 2 BRIGHT //A_FadeOut(0.01)
	PUF2 RSTUVWX 3 BRIGHT A_FadeOut(0.01)
	PUF2 YZ 4 BRIGHT A_FadeOut(0.01)
	PUF3 ABC 4 BRIGHT A_FadeOut(0.01)
	/*
      PUF2 CDEFGHIJKLMNOPQRRS 1
      PUF2 STTUUVVWWXXY 1 //A_FadeOut(0.01)
      PUF2 YZZ 1 A_FadeOut(0.01)
      PUF3 AAABBBCCC 2 A_FadeOut(0.01)
	*/
      Stop
   }
}

ACTOR ShortRocketSmokeTrail1 : RocketSmokeTrail1
{
}

ACTOR RocketSmokeTrail2
{
   Radius 1
   Height 1
   PROJECTILE
   +NOCLIP
	+FORCEXYBILLBOARD
   Scale 1.25//.35
   Speed 0
   RENDERSTYLE ADD
   ALPHA 0.075//15
   States
   {
   Spawn:
    PUF2 A 0
    PUF2 A 0 Thing_ChangeTID (0, 1330) 
    TNT1 A 1
      PUF2 CDEFGHIJK 2
      PUF2 LMNOPQRRSSTT 2
      //PUF2 Q 0 A_Stop
      PUF2 UUVVWWX 2 A_FadeOut(0.01)
      PUF2 XYYZZ 2 //A_FadeOut(0.01)
      PUF3 ABC 6
      Stop
   }
}

ACTOR RocketSmokeTrail3
{
   Radius 1
   Height 1
   PROJECTILE
   +NOCLIP
	+FORCEXYBILLBOARD
   Scale 1.5//.4
   Speed 0
   RENDERSTYLE ADD
   ALPHA 0.07
   States
   {
   Spawn:
    PUF2 A 0
    PUF2 A 0 Thing_ChangeTID (0, 1330) 
    TNT1 A 1
      PUF2 CDEFGH 2 A_FadeOut(0.01)
      PUF2 IJKLMNOPQRRSSTT 2
      //PUF2 Q 0 A_Stop
      PUF2 UUVVWWX 2
      PUF2 XYYZZ 2
      PUF3 AABBCC 6
      Stop
   }
}

actor SSTRocket2Red : SSTRocket2
{
+thrughost
  States
  {
  Spawn:
  	RMIS A 0
  	NULL A 0 A_SpawnItemEx ("RocketSource", 0,0,0, 0,0,0, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(1,2)*0.2,0, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(1,2)*0.2, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(-2,-1)*0.2,0, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(-2,-1)*0.2, 0, 160) 
	
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(0,1)*0.2,0, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(0,1)*0.2, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(-1,0)*0.2,0, 0, 160) 
    RMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(-1,0)*0.2, 0, 160) 
    SAWG A 0 A_PlaySoundEx ("rocket/fly", soundslot6, 1)
  Spawn2:
    RMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", random(0,4), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(0,4), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) //A_CustomMissile("RocketSmokeTrail1", 0, 0, 0, 2, pitch)
    RMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", 0, random(0,4), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(0,4), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    RMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", random(-4,0), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(-4,0), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    RMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", 0, random(-4,0), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(-4,0), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    loop
  Death:
	RMIS B 0 A_StopsoundEx(soundslot6)
    MISL B 1 bright A_Explode
	NULL A 0 A_SpawnItemEx ("PowEffectSpawner", 0, 0, 0, 0, 0, 0, 0, 160) 
    NULL A 0 A_SpawnItemEx ("rocketEcho", 0,0,0, 0,0,0, 0, 160)
    MISL B 6 bright A_SpawnItemEx("rocketflare", 0,0,0, 0,0,0, 0, 160)
    MISL C 5 bright
    MISL D 3 bright
    stop
  }
}
actor SSTRocket3Red : SSTRocket2Red
{
  -NOTELEPORT
  -TELESTOMP
  //+NOTELEFRAG
}


actor SSTRocket2Blue : SSTRocket2
{
  States
  {
  Spawn:
  	BMIS A 0
  	NULL A 0 A_SpawnItemEx ("RocketSource", 0,0,0, 0,0,0, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(1,2)*0.2,0, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(1,2)*0.2, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,random(-2,-1)*0.2,0, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail3", 0,0,0, 0,0,random(-2,-1)*0.2, 0, 160) 
	
	//BMIS A 0 A_SetPitch(momz)
	
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(0,1)*0.2,0, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(0,1)*0.2, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,random(-1,0)*0.2,0, 0, 160) 
    BMIS A 1 bright
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,0, 0, 160) 
	NULL A 0 A_SpawnItemEx ("RocketSmokeTrail2", 0,0,0, 0,0,random(-1,0)*0.2, 0, 160) 
    SAWG A 0 A_PlaySoundEx ("rocket/fly", soundslot6, 1)
  Spawn2:
    BMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", random(0,4), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(0,4), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) //A_CustomMissile("RocketSmokeTrail1", 0, 0, 0, 2, pitch)
    BMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", 0, random(0,4), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(0,4), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    BMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", random(-4,0), 0, 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, random(-4,0), 0, 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    BMIS A 1 bright
	NULL A 0 A_CustomMissile("RocketSmokeTrail1", 0, random(-4,0), 0, 2, momz*2)//A_SpawnItemEx ("RocketSmokeTrail1", 0, 0, random(-4,0), 2, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE|SXF_TRANSFERPITCH) 
    loop
  Death:
	BMIS B 0 A_StopsoundEx(soundslot6)
    MISL B 1 bright A_Explode
	NULL A 0 A_SpawnItemEx ("PowEffectSpawner", 0, 0, 0, 0, 0, 0, 0, 160) 
    NULL A 0 A_SpawnItemEx ("rocketEcho", 0,0,0, 0,0,0, 0, 160)
    MISL B 6 bright A_SpawnItemEx("rocketflare", 0,0,0, 0,0,0, 0, 160)
    MISL C 5 bright
    MISL D 3 bright
    stop
  }
}
actor SSTRocket3Blue : SSTRocket2Blue
{
  -NOTELEPORT
  -TELESTOMP
  //+NOTELEFRAG
}

Actor RocketSlag // stolen from Beautiful Doom!!!!!!!!!!!11111
{
	renderstyle add
projectile
+DOOMBOUNCE
speed 11
-nogravity
+ROCKETTRAIL
+PAINLESS
+BLOODLESSIMPACT
+BOUNCEONACTORS
	+FORCEXYBILLBOARD
height 1
radius 1
gravity 0.7
BounceFactor 0.5
	scale 0.4
	States
	{
	Spawn:
    	P2FF A 0
    	P2FF A 0 Thing_ChangeTID (0, 1330)
		P2FF A 0 A_JumpIf(waterlevel > 1, "WaterDeath")
		P2FF A 1 BRIGHT A_Jump(2,"Death")
		Loop
	Death:
		P2FF A 1 BRIGHT A_FadeOut(0.04)
		Loop
	WaterDeath:
	TNT1 A 0 A_Playsound("flesh/fry",CHAN_5)
  	TNT1 AAAAA 1 A_SpawnItemEx ("UnderwaterSteam", 0,0,random(0,16), random(-1,1),random(-3,3),random(0,2), 0, 160, 64)  
    TNT1 A 0
	Stop
	}
}

Actor BarrelSlag : RocketSlag
{
speed 16//12
BounceFactor 0.6
	renderstyle add
	scale 0.9
	-ROCKETTRAIL
	States
	{
	Spawn:
    	PUF2 A 0
    	PUF2 A 0 Thing_ChangeTID (0, 1330)
		PUF2 A 0 A_Jump(96,"Death", "Death2")
	Sex:
		P2FF A 0 A_JumpIf(waterlevel > 1, "WaterDeath")
		P2FF AA 0 BRIGHT A_SpawnItemEx("slagtrail2", 0, 0, 0, random(-1,1)*0.15, random(-1,1)*0.15, random(-1,1)*0.15, 0, 160)
		P2FF A 1 BRIGHT A_SpawnItemEx("slagtrail", 0, 0, 0, random(-1,1)*0.15, random(-1,1)*0.15, random(-1,1)*0.15, 0, 160)
		PUF2 A 0 A_Jump(1,"Death")
		loop
	Death:
		P2FF A 1 BRIGHT A_FadeOut(0.04)
		P2FF A 0 A_JumpIf(waterlevel > 1, "WaterDeath")
		Loop
	Death2:
		P2FF A 0 BRIGHT
		Stop
	}
}
ACTOR slagtrail
{
	+NOTELEPORT
	+FORCEXYBILLBOARD
   Radius 1
   Height 1
   Speed 0
   Damage 0
   PROJECTILE
   RENDERSTYLE ADD
   ALPHA 0.23
   Scale 0.08
   States
   {
   Spawn:
    	SMKG A 0
    	SMKG A 0 Thing_ChangeTID (0, 1330) 
      SMKG A 0 A_Jump(128, "Spawn2", "Spawn3", "Death2")
      SMKG AABBCCDDEEFFGGHHIIJJKK 3 BRIGHT A_Fadeout(0.01)
      Stop
   Spawn2:
      SMKG ABCDEFGHIJK 3 BRIGHT A_Fadeout(0.02)
      Stop
   Spawn3:
      SMKG ABCDEFGHIJKKKKKKKKKKKK 3 BRIGHT A_Fadeout(0.01)
      Stop
	Death2:
		P2FF A 0 BRIGHT
		Stop
   }
}
ACTOR slagtrail2 : slagtrail
{
   //RENDERSTYLE Translucent
   ALPHA 0.22
   Scale 0.16//4
   States
   {
   Spawn:
    	SMKG A 0
    	SMKG A 0 Thing_ChangeTID (0, 1330) 
      SMKG A 0 A_Jump(128, "Spawn2", "Spawn3", "Death2")
      SMKG AABBCCDDEE 4 BRIGHT A_Fadeout(0.01)
	  SMKG FFGGHHIIJJKK 4 A_Fadeout(0.01)
      Stop
   Spawn2:
      SMKG ABCDE 4 BRIGHT A_Fadeout(0.02)
      SMKG FGHIJK 4 A_Fadeout(0.02)
      Stop
   Spawn3:
      SMKG ABCDEFGHIJ 4 BRIGHT A_Fadeout(0.01)
      SMKG KKKKKKKKKKKK 4 A_Fadeout(0.01)
      Stop
	Death2:
		P2FF A 0 BRIGHT
		Stop
   }
}

ACTOR RocketSource
{
  +NOBLOCKMAP
  +NOTELEPORT
  +NOGRAVITY
  +NOCLIP
  RENDERSTYLE NONE
  States
  {
  Spawn:
    NULL A 0
      //NULL AAA 0 Bright A_CustomMissile("PowEffect2",0,0,random(-180,180),2,random(-90,90))
	  NULL AA 0 Bright A_CustomMissile("PowEffect2",0,0,random(-180,180),2,random(-90,90))
      CFCF R 1 Bright
      NULL AA 0 Bright A_CustomMissile("PowEffect2",0,0,random(-180,180),2,random(-90,90))
      CFCF S 1 Bright
      NULL A 0 Bright A_CustomMissile("PowEffect",0,0,random(-180,180),2,random(-90,90))
      //CFCF TUVWXYZ 3 Bright
      Stop
   }
}