Actor USNHovercraftGunner
  {
  Health 420
  Radius 25
  Height 56
  Mass 400
  Speed 1
  Species "USNHoverCraft"
  PainChance 69
  Translation "192:207=96:111", "168:175=5:8"
  MinMissileChance 30
  BloodType "MetalSurface"
  Monster
  Obituary "%o got the freshly delivered democracy by the USN Hovercraft Gunner" 
  Seesound "USNHovercraft/See"
  Activesound "USNHovercraft/Active"
  PainSound ""
  Tag "USN Hovercraft Gunner"
  DeathSound "BIGBOOM"
  +FLOAT
  +NOICEDEATH
  +NOBLOODDECALS
  +NOGRAVITY
       States
	        {
			Spawn:
			   TNT1 A 0
			   TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
			Spawn2:    
			   UHVR A 3 A_Look
			  Loop
				STFU:
			 TNT1 A 0
			 TNT1 A 0 ACS_NamedExecute ("STFUUSNHovercraft")
			 Goto Spawn2	  
			 See: 
			   TNT1 A 0 A_StopSound (1)
			   TNT1 A 0 A_PlaySound ("HOVIDLE1", 6, 1.0, true) 
			   UHVR A 1 A_Chase
			   UHVR A 1 A_Recoil (-1)
			   UHVR A 1 A_Chase ("", "")
			   UHVR A 1 A_Recoil (-2)
			   UHVR A 1 A_Chase
			   UHVR A 1 A_Recoil (-3)
			   UHVR A 1 A_Chase ("", "")
			   UHVR A 1 A_Recoil (-2)
			   TNT1 A 0 A_Jump (15, "UpAndDown")
			   UHVR A 1 A_Chase
			   UHVR A 1 A_Recoil (-1)
			  Loop
			UpAndDown:
			   UHVR A 1 A_Jump (50, 3) 
			   UHVR A 1 ThrustThingZ (0, 15, 0, 0)
			   TNT1 A 0 A_Jump (256, "See")
 			   UHVR A 1 ThrustThingZ (0, 15, 1, 0)
			  Goto See
			  Missile:
			   TNT1 A 0 A_StopSound (1)
			   TNT1 A 0 A_TakeInventory ("ArtCoolDown", 1)
			   TNT1 A 0 A_TakeInventory ("ShotCounter", 50)
			   UHVR A 3 A_FaceTarget
			   TNT1 A 0 A_JumpIfTargetInLos ("CloseQuarters", 0, JLOSF_DEADNOJUMP, 650)
			   TNT1 A 0 A_JumpIfTargetInLos ("LongRange", 0, JLOSF_CLOSENOJUMP | JLOSF_DEADNOJUMP, 0, 1200)
			  MissileMid:
			    TNT1 A 0
				TNT1 A 0 A_Jump (256, "MidRockets", "Bursts")
 			  Goto See
			  MidRockets:
			    UHVR A 12 A_FaceTarget
				TNT1 A 0 A_JumpIfInTargetLos ("RocketsEvade", 4, JLOSF_DEADNOJUMP)
				UHVR A 7 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USHROFIR")
				UHVR C 4 BRIGHT A_CustomMissile ("USNHovercraftRocket", 10, 30)
				UHVR A 12 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USHROFIR")
				UHVR D 4 BRIGHT A_CustomMissile ("USNHovercraftRocket", 10, -30)
			   Goto See
			  RocketsEvade:
			    TNT1 A 0
				TNT1 A 0 ThrustThing(angle*256/360+192, 4, 0, 0) //left
				UHVR A 4 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USHROFIR")
				UHVR D 4 BRIGHT A_CustomMissile ("USNHovercraftRocket", 10, -30)
				TNT1 A 0 ThrustThing(angle*256/360+64, 4, 0, 0)  //right
				UHVR A 12 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USHROFIR")
				UHVR C 4 BRIGHT A_CustomMissile ("USNHovercraftRocket", 10, 30)
			   Goto See
			  Bursts:
			    UHVR A 14 A_FaceTarget
			  BurstLoop:
			    TNT1 A 0 A_PlaySound ("MSTRFIRE", 1)
				TNT1 A 0 A_PlaySound ("MNGFF", 6, 0.5, 0)
				TNT1 A 0 A_CustomMissile ("USNHoverTracer",11,25,random (-1,1))
				TNT1 A 0 A_CustomMissile ("USNHoverTracer",11,-25,random (-1,1))
				UHVR B 1 BRIGHT A_FaceTarget
				TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
				TNT1 A 0 A_JumpIfInventory ("ShotCounter", 50, "See")
				UHVR A 1 A_FaceTarget
				TNT1 A 0 A_MonsterRefire (40, "See")
				Loop
			 LongRange:
			    UHVR A 18 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USHROFIR")
				TNT1 A 0 A_CustomMissile ("USNHovercraftRocket", 10, 30)
				TNT1 A 0 A_CustomMissile ("USNHovercraftRocket", 10, -30)
				UHVR B 2 BRIGHT A_FaceTarget
			   Goto See
			 CloseQuarters:
			    UHVR A 9 A_FaceTarget
				TNT1 A 0 A_JumpIfInventory ("ArtCoolDown", 1, 2)
				TNT1 A 0 A_Jump (150, "RollingThunder")
			  ShortBurst:
			    UHVR A 14 A_FaceTarget
			  ShortBurstLoop:	
			    TNT1 A 0 A_PlaySound ("MSTRFIRE", 1)
				TNT1 A 0 A_PlaySound ("MNGFF", 6, 0.5, 0)
				TNT1 A 0 A_CustomMissile ("USNHoverTracer",11,25,random (-1,1))
				TNT1 A 0 A_CustomMissile ("USNHoverTracer",11,-25,random (-1,1))
				UHVR B 1 BRIGHT A_FaceTarget
				TNT1 A 0 A_GiveInventory ("ShotCounter", 1)
				TNT1 A 0 A_JumpIfInventory ("ShotCounter", 15, "See")
				UHVR A 1 A_FaceTarget
				TNT1 A 0 A_MonsterRefire (40, "See")
				Loop
			  RollingThunder:
			    TNT1 A 0 A_Stop
			    TNT1 A 0 ThrustThingZ (0, random (15,28), 0, 0)
			    UHVR A 14 A_FaceTarget
				TNT1 A 0 A_PlaySound ("USNHovercraft/Bombing", CHAN_VOICE)
				UHVR AAAA 1 A_Recoil (random (-3,-2))
				TNT1 A 0 A_FaceTarget
				UHVR A 5 A_CustomMissile ("AerialBomb", 0, 0)
				TNT1 A 0 A_FaceTarget
				UHVR AAAAA 1 A_Recoil (random (-3,-2)) 
				TNT1 A 0 A_FaceTarget
				UHVR AAAA 1 A_Recoil (random (-2,-1))
				TNT1 A 0 A_FaceTarget
				UHVR A 5 A_CustomMissile ("AerialBomb", 0, 0)
				TNT1 A 0 A_FaceTarget
				UHVR AAA 1 A_Recoil (random (-2,-1))
				TNT1 A 0 A_FaceTarget
				UHVR A 5 A_CustomMissile ("AerialBomb", 0, 0)
				TNT1 A 0 A_FaceTarget
				UHVR AAAA 1 A_Recoil (random (-2,-1))
				TNT1 A 0 A_FaceTarget
				UHVR A 5 A_CustomMissile ("AerialBomb", 0, 0)
				TNT1 A 0 A_FaceTarget
				TNT1 A 0 A_GiveInventory ("ArtCoolDown", 4)
			   Goto See 	
			 Pain:
			   TNT1 A 0 A_StopSound (1)
			   TNT1 A 0 A_PlaySound ("HOVIDLE1", 6, 1.0, true) 
			   UHVR A 3
			   UHVR A 3 A_Pain
			  Goto See
			 Death:
			   TNT1 A 0 A_StopSound (1)
			   TNT1 A 0 A_StopSound (6)	  
			   //TNT1 A 0 A_SpawnItemEx ("HoverCraftPlasmaExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 0 A_SpawnItemEx ("BigTinCanExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
		       TNT1 AAAA 0 A_CustomMissile ("CrapMetal", random (-4,4), random (-4,4), random (-360,360), CMF_OffSetPitch | CMF_AIMDIRECTION, random (30,90)) 
			   TNT1 A 1 A_NoBlocking
			   TNT1 A 0 A_SpawnItemEx ("TinCanExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 1 A_Scream
			   TNT1 A 0 A_SpawnItemEx ("TinCanExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 4 A_SpawnItemEx ("TinCanExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 4 A_SpawnItemEx ("LittleTinCanExplosion", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			   TNT1 A 6
			  Stop 
			}


  }
  
  
  
  
			actor USNHovercraftRocket  
			{
			projectile
			+MISSILE
			+BLOODSPLATTER
			Species "USNHovercraft"
			+DONTHARMSPECIES
			radius 3
			height 3
			missiletype "CSMiniMissileTrail"
			missileheight 8
			scale 0.87
			speed 25
			damage (20)
			Obituary "%o is now a rocket-man!"
			states
				{
				Spawn:
				TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				MIZL I 1 Bright A_Playsound ("rockfly",7,1.0,true)
				loop
				Death:
				TNT1 A 0
				TNT1 A 0 A_PlaySound("misc/boom",0)
				TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
				TNT1 A 0 A_Explode((24),75, 0 ,0,40)
				TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
				TNT1 AAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
				TNT1 A 0 A_SpawnItemEx("CSMiniMissileShockwave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				TNT1 A 1 Radius_Quake (2,4,0,7,0)
				TNT1 A 0 A_StopSound (7)
				TNT1 A 20
				stop
				}
			}
  
  
  
  
  
		Actor USNHoverTracer  
		   {
			Damage (5)
			Projectile
			+FORCEXYBILLBOARD
			+SKYEXPLODE
			+DONTSPLASH
			+BLOODSPLATTER 
			 +NOEXTREMEDEATH
			radius 2
			height 2
		   speed 30
		   renderstyle Add
		   alpha 0.9
		   scale .15
		 States
			 {
			  Spawn:
				TNT1 A 0
				TNT1 A 0 NoDelay ACS_NamedExecuteAlways("PotentialProjectileHider", 0,0,0)
			  Spawn2:	
				TRAC A 1 Bright A_PlaySound ("Bullet/Fly", 0, 1.0, true)
				Loop
			  Crash:	
			  Death:
				TNT1 A 0
				TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ProjectileIsDead", 0,0,0) 
				TNT1 A 0 A_Playsound ("Bullet/Impact")
				TNT1 A 0 A_Jump (100, "D2")
				TNT1 A 0 A_SpawnItemEx ("NailSparks", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				FX57 CDEFGHI 1 A_Playsound ("Bullet/Impact")
				Stop
			  D2:
			    TNT1 A 0 A_SpawnItemEx ("NailSparks", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				FX58 CDEFGHI 1 A_Playsound ("Bullet/Impact")
				Stop
			  XDeath:
				TNT1 A 0
				TNT1 A 0 A_SpawnItemEx ("NailSparks", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
				TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ProjectileIsDead", 0,0,0)
				TNT1 A 1
				Stop	
			 }
		   }
		   
		   
		   
		   
		   
		   
		   Actor AerialBomb
		   {
		 projectile
		+MISSILE
		-NOGRAVITY
		+BLOODSPLATTER
		gravity 0.5
		radius 5
		height 5
		SeeSound "DROPBOMB"
		speed 4
		scale 1.0
		damage (10)
		Obituary "%o was blown up back into the stone age"
		states
			{
			 Spawn:
				 ABMB A 3 
				Loop
			 Death:
				 TNT1 A 0
				 TNT1 A 0 A_StopSound (CHAN_VOICE)
				 TNT1 A 0 A_PlaySound("misc/boom",5)
				 TNT1 A 0 A_PlaySound("misc/distanceboom",6,1.0,0,0)
				 TNT1 A 0 A_Explode((60),125, 0 ,0,60)
				 TNT1 AAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
				 TNT1 A 0 A_SpawnItemEx("GroundExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION) 
				 TNT1 AAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
				 TNT1 A 0 A_SpawnItemEx("CSMiniMissileShockwave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				 TNT1 A 1 Radius_Quake (2,4,0,7,0)
				 TNT1 A 20
		stop
				}		
		}		
					