Actor TerHeavyRocketLauncher : GenericHumanScum
  {
   Monster
   Health 245
   Radius 15
   Height 56
   Mass 400
   Species "Reva"
+DONTHARMSPECIES
   Speed 11
   BloodType "DASBLUT"
   PainChance 110
   +NODROPOFF	
   MaxDropOffHeight 69
   Monster
   Scale 1.0
   SeeSound "MountainMerc/See"
   PainSound "MountainMerc/Pain"
   DeathSound "MountainMerc/Death"
   ActiveSound "MountainMerc/Active"
   Tag "Heavy Rocket Launcher Terrorist"	
   Obituary "%o was blown up to kingdom come by the Heavy Rocket Launcher Terro... Desert Freedom Fighter"
   States
        {
         Spawn:
			  TNT1 A 0
			  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
			  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult ("VanJumpCheck") == 1, "VanJump")
			  TNT1 A 0 A_SetScale (scaleX+frandom(-0.02, 0.02), scaleY+frandom(-0.08,0.08))
		      TNT1 A 0 A_SpawnItemEx ("HumanTrails", 0, 0, 0)
		 Spawn2:
		      TRRO T 4 A_Look
			Loop
		STFU:
     TNT1 A 0
	 TNT1 A 0 ACS_NamedExecute ("STFUMountainMerc")
	 Goto Spawn+2
	 VanJump:
	 TNT1 A 0
	 TNT1 A 0  NODELAY ACS_NamedExecuteAlways ("VanillaHeights")
	Goto Spawn+3
	      See:
		    "####" A random(1,5)
			TNT1 A 0 A_Jump (70, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
			TNT1 A 0 A_Jump (180, "MissileCheck")	
	      SeeLoop:
			  TNT1 A 0 A_CheckSight ("CheckReload")
		      TNT1 A 0 A_Jump (199, "DodgeLeft", "DodgeRight", "DodgeLeftF", "DodgeLeftB", "DodgeRightF", "DodgeRightB")
		      TRRO AABBCCDD 3 A_Chase
			 Loop
		    CheckReload:
				TNT1 A 0
				TNT1 A 0 A_Jump (195, "CheckReload2")
				Goto SeeLoop+1
			CheckReload2:
				TNT1 A 0
				TNT1 A 0 A_JumpIfInventory ("RocketShotCounter", 1, "Reload")
				Goto SeeLoop+1	
	  DodgeLeft:
        TNT1 A 0 A_FaceTarget
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		TNT1 A 0 A_Jump (50, "DodgeRight")
		Goto SeeLoop+1
	DodgeLeftF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (-8,-3))
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
    DodgeLeftB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil (random (3,8))
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+192, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRight:
	    TNT1 A 0 A_FaceTarget
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightF:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (-8,-3)) 
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
	DodgeRightB:
	    TNT1 A 0 A_FaceTarget
	    TNT1 A 0 ThrustThingZ (0, 15, 0, 0)
	    TNT1 A 0 A_Recoil ( random (3,8)) 
	    TRRO AABBCCDD 2 ThrustThing(angle*256/360+64, 1, 0, 0)
		TNT1 A 0 A_Jump (228, "MissileCheck")
		Goto SeeLoop+1
  MissileCheck:
    TNT1 A 0 A_JumpIfTargetInLos ("Missile", 30, JLOSF_DEADNOJUMP)
	Goto SeeLoop		 
		  Missile:
			  TNT1 A 0
			  TNT1 A 0 A_JumpIfInventory ("RocketShotCounter", 1, "Reload")
			  TNT1 A 0 A_Jump (188, 2)
			  TNT1 A 0 A_PlaySound ("ALBASHAH", CHAN_VOICE)
			  TNT1 A 0 A_Jump (185, "Incendiary")
			  TRRO E 30 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RLSHOT2", 0)
			  TRRO F 4 Bright A_CustomMissile ("TerSeekerMissile", 42, 9, random (-2,2))
			  TNT1 A 0 A_GiveInventory ("RocketShotCounter", 1)
			  TNT1 A 0 A_JumpIfCloser (560, "MovingToCover")	
			 Goto ReloadStand
		 Incendiary:
		      TRRO E 35 A_FaceTarget
			  TNT1 A 0 A_Playsound ("RLSHOT4", 0)
			  TRRO F 4 Bright A_CustomMissile ("TerIncRocket", 42, 9, random (-2,2))
			  TNT1 A 0 A_GiveInventory ("RocketShotCounter", 1)
			  TNT1 A 0 A_JumpIfCloser (560, "MovingToCover")	
			 Goto ReloadStand
		  MovingToCover:
			  TNT1 A 0
			  TNT1 A 0 A_Changeflag ("FRIGHTENED", true)
		  MovingToCoverLoop:		
			  TRRO ABCD 2 A_Chase ("","")
			  TNT1 A 0 A_CheckSight ("Reload")
			  TNT1 A 0 A_GiveInventory ("MovingCounter", 1)
			  TNT1 A 0 A_JumpIfInventory ("MovingCounter", 10, "Reload")	
			 Loop
		 Reload:
			  TRRO D 24 A_PlaySound ("RPGRRE")
			  TRRO T 38	A_PlaySound ("RPGLIN") 
			  TRRO E 12
			  TNT1 A 0 A_TakeInventory ("RocketShotCounter", 1)
			  TNT1 A 0 A_TakeInventory ("MovingCounter", 10)
			  TNT1 A 0 A_Changeflag ("FRIGHTENED", false) 
			 Goto SeeLoop+1
		ReloadStand:
		      TRRO D 24 A_PlaySound ("RPGRRE")
			  TRRO T 38	A_PlaySound ("RPGLIN")
			  TRRO E 12 A_TakeInventory ("RocketShotCounter", 1) 
			 Goto MissileCheck  
		   Pain:
		      TRRO H 6 A_Pain
			  Goto SeeLoop
		   Death:
		      TNT1 I 0
			  TRRO J 7 A_Noblocking
			  TRRO K 6 A_Scream
			  TRRO L 4 A_Playsound ("FallingBodyGear", CHAN_BODY)
			  TRRO M -1
			 Stop	  
		   XDeath:
			TNT1 A 0
			TNT1 A 0 A_SpawnItemEx ("VgavnonahCore", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			TRRO N 1 A_XScream
			TRRO O 3 A_NoBlocking
			PGIB BCD 2
			PGIB E -1
		  Stop
		  Raise:
			TNT1 A 0 
			TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
			TRRO MLKJI 5
		   Goto See	
		  
		
		}
}





	Actor TerSeekerMissile
      {
 Projectile
 +BLOODSPLATTER
 Radius 8
 Height 8
 +SEEKERMISSILE
 Scale 0.63
 Speed 12
 Damage (8)
       States
	        {
			 Spawn:
              TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_SpawnItemEx("AverageRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
			  TNT1 A 0 A_Playsound ("rockfly",7,1.0,true)
              ZMIS A 1 Bright A_SeekerMissile (6, 8, 0, 0, 1) 
               loop
            Death:
             TNT1 A 0
             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((30),69, 0, 0,40)
             TNT1 AAAAA 0 A_CustomMissile ("CSMiniMissileExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 AAAA 0 A_CustomMissile ("CSMiniMissileBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
             TNT1 A 1 Radius_Quake (2,4,0,7,0)
			 TNT1 A 0 A_StopSound (7)
             TNT1 A 20
               stop
			}
}




	Actor TerIncRocket
			 {
		projectile
		+MISSILE
		+BLOODSPLATTER
		+DONTHARMSPECIES
		Species "Reva"
		radius 3
		height 3
		missiletype "CSMiniMissileTrail"
		missileheight 8
		scale 0.52
		speed 15
		damage (20)
		Obituary "%o is now a rocket-man!"
		states
			{
			Spawn:
				TNT1 A 0 A_SpawnItemEx("ReichRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				TNT1 A 0 A_SpawnItemEx("AverageRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				CYR0 B 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((10),75, 0 ,0,60)
					TNT1 AAAAA 0 A_CustomMissile ("HandGrenadeExplosionFlame", 0, 0, random (0, 360), 2, random (0, 360))
					TNT1 A 0 A_SpawnItemEx ("MollyExplosion", 10, 0, 2, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 AAA 0 A_SpawnItemEx ("SparxBurst", random( 5,10), random( 5,10), random( 5,10), 0, 0, 0, 0, SXF_NOCHECKPOSITION)
					TNT1 AAAAAA 0 A_CustomMissile ("LittleExplosionFlameCloud", random (1,6), random (-5,5), random (0, 360), 2, random (0, 360))
					TNT1 AAAAAAAA 0 A_CustomMissile ("TerRocketFlame", 0, 0, random (-360,360), CMF_OFFSETPITCH | CMF_AIMDIRECTION, random (5, 69))  
					TNT1 AAAA 0 A_CustomMissile ("HandGrenadeBoomSmoke", 0, 0, random (0, 360), 2, random (0, 360))
					TNT1 A 0 A_SpawnItemEx("HandGrenadeShockwave",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 TerRocketFlame
			{
				//Projectile
				DamageType Fire
				//Damage (1)
				Radius 1
				Species "Reva"
				Height 1
				RenderStyle Add
				Gravity 1.0
				//+Ripper
				-NOGRAVITY
				+NOBLOCKMAP
				+NOTELEPORT
				+DONTHARMSPECIES
				+NODAMAGETHRUST
				+DONTSPLASH
				+FLOORCLIP
				BounceCount 69
				BounceFactor 0
			    +THRUACTORS
				//+DOOMBOUNCE
				Reactiontime 20
				Speed 2
				States
				  {
				 Spawn:
					 TNT1 A 0	
					 TNT1 A 0 A_Playsound ("FIRESML", 6, 1.0, true)
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175))  	
					 FLME A 1 BRIGHT A_SetScale(0.3)
					 FLME A 1 BRIGHT A_SetScale(0.4)
					 FLME B 1 BRIGHT A_SetScale(0.5)
					 FLME B 1 BRIGHT A_SetScale(0.6)
					 FLME C 1 BRIGHT A_SetScale(0.7)
					 FLME C 1 BRIGHT A_SetScale(0.8)
					 FLME D 1 BRIGHT A_SetScale(0.9)
					 FLME D 1 BRIGHT A_SetScale(1.0)
					 TNT1 A 0 A_Explode((3), 76, 0)
					 TNT1 A 0 A_Jump (100, 1)  	
					 TNT1 A 0 A_SetScale (-1.0, 1.0)
					 TNT1 A 0 A_Jump (185, "Spawn3", "Spawn4", "Spawn5", "Spawn6", "Spawn7", "Spawn8")
				 Spawn2:
					 TNT1 A 0  
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(10, 15), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME ABCDEFGHIJKLMN 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop
				 Spawn3:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME BCDEFGHIJKLMNA 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop
				Spawn4:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME CDEFGHIJKLMNAB 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop
			    Spawn5:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME DEFGHIJKLMNABC 1 Bright
					 TNT1 A 0 A_CountDown	
					 Loop
				Spawn6:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME EFGHIJKLMNABCD 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop
				Spawn7:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME FGHIJKLMNABCDE 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop
				Spawn8:
					 TNT1 A 0
					 TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_OFFSETPITCH, random (75, 175))
					 TNT1 A 0 A_Explode((5), 76, 0) 
					 FLME GHIJKLMNABCDEF 1 Bright
					 TNT1 A 0 A_CountDown
					 Loop 	
				Death:
					TNT1 A 0 A_CustomMissile ("FlameSmoke", random(5, 10), 0, random (0, 360), CMF_AIMOFFSET, random (75, 175)) 	 
					FLME ABCDEFGHIJ 2 BRIGHT A_Explode((2), 16, 0)
					FLME K 1 BRIGHT A_SetScale(0.8)
					FLME K 1 BRIGHT A_FadeOut(0.2)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME L 1 BRIGHT A_SetScale(0.4)
					FLME L 1 BRIGHT  A_FadeOut(0.3)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME M 1 BRIGHT  A_SetScale(0.2)
					FLME M 1 BRIGHT  A_FadeOut(0.4)
					TNT1 A 0 A_Explode((2), 8, 0)	
					FLME N 1 BRIGHT  A_SetScale(0.1)
					FLME N 1 BRIGHT  A_FadeOut(0.5)
					TNT1 A 0 A_StopSound (6)
					Stop
					 }
			}
		  
			