Actor CyberSoldatMK4 
{



 //-----------------------------------COMPLEX DOOM COMPATIBILITY DROPS----------------------------------------------
  
  DropItem "WeaponUpgradeBox" 88		 
  DropItem "Rocket Launcher", 150

Health 1000
Radius 24
Height 64
Mass 450
Speed 10
PainChance 50
+BOSSDEATH
MinMissileChance 88
Monster
Species "BloodyHeavy"
BloodType "DASBLUT"
seesound "CS4/See"
painsound "CSM4PA01"
deathsound "CS2/Death"
activesound "CS4/Active"
Tag "Cyber Soldier Mark 4"
+FLOORCLIP
+DONTHARMSPECIES
scale 1.0
Obituary "%o was obliterated by the Cyber Soldier Mark 4 rocket barrage"
  States
       {
	   Spawn:
	      TNT1 A 0
		  TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("STFUCheck") == 1, "STFU")
		Spawn2:  
	      PBR2 A 4 A_Look
		  Loop
		STFU:
		 TNT1 A 0
		 TNT1 A 0 ACS_NamedExecute ("STFUCS4")
		 Goto Spawn+2     
	   See:
	      PBR2 AABBCCDD 4 A_Chase
		  Loop
	   Missile:
		  PBR2 E 14 A_FaceTarget
		  TNT1 A 0 A_JumpIfTargetInLos ("CloseQuarters", 0, JLOSF_DEADNOJUMP, 475)
		  TNT1 A 0 A_JumpIfTargetInLos ("LongRange", 0, JLOSF_DEADNOJUMP | JLOSF_CLOSENOJUMP, 0, 940)
		  TNT1 A 0 A_Jump (100, "SwirlBurst")
		  TNT1 A 0 A_PlaySound ("RLF")
		  TNT1 A 0 A_CustomMissile ("CS4MiniRocket", 32, 15)
		  TNT1 A 0 A_CustomMissile ("CS4MiniRocket", 32, -15)
		  PBR2 F 4 BRIGHT A_FaceTarget
		  PBR2 E 4 A_Playsound ("RLRLD")
		 Goto See
	   SwirlBurst:
		  PBR2 E 2 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2), CMF_OFFSETPITCH, random (0,3))
		 Goto See
		CloseQuarters:
		  PBR2 E 5 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 9 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 7 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 7 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 5 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 E 5 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-15,15), CMF_OFFSETPITCH, random (0,3))
		 Goto See
		LongRange:
		  PBR2 E 15 A_FaceTarget
		  TNT1 A 0 A_Jump (75, "CoverfireCombo")
		  TNT1 A 0 A_PlaySound ("RLF")
		  TNT1 A 0 A_CustomMissile ("CS4FastClusterRocket", 32, 15)
		  TNT1 A 0 A_CustomMissile ("CS4FastClusterRocket", 32, -15)
		  PBR2 F 4 BRIGHT A_FaceTarget
		  PBR2 E 4 A_Playsound ("RLRLD")
		 Goto See
		CoverfireCombo:
		  PBR2 E 14 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2))
		  PBR2 E 4 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSHURRIC", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4SwirlRocket", 32, -15, random (-2,2))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4SwirlRocket", 32, 15, random (-2,2))
		  PBR2 E 14 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("RLF")
		  TNT1 A 0 A_CustomMissile ("CS4FastClusterRocket", 32, 15)
		  TNT1 A 0 A_CustomMissile ("CS4FastClusterRocket", 32, -15)
		  PBR2 F 4 BRIGHT A_FaceTarget
		  PBR2 E 4 A_Playsound ("RLRLD")
		  PBR2 E 5 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-5,5))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-5,5))
		  PBR2 E 9 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-5,5))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-5,5))
		  PBR2 E 7 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-5,5))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-5,5))
		  PBR2 E 7 A_FaceTarget
		  TNT1 A 0 A_PlaySound ("DSJAVMIS", CHAN_Weapon)
		  TNT1 A 0 A_CustomMissile ("CS4MicroSwirlRocket", 32, -15, random (-5,5))
		  PBR2 F 1 BRIGHT A_CustomMissile ("CS4MicroSwirlRocket", 32, 15, random (-5,5))
		  PBR2 E 5 A_FaceTarget
		  PBR2 E 4 A_Playsound ("RLRLD")
		 Goto See 
	   Pain:
	      PBR2 G 4
		  PBR2 G 4 A_Pain
		  Goto See
	   Death:
	      PBRD H 6 A_Scream
		  PBRD I 5 A_NoBlocking
		  PBRD J 5
		  PBRD K 5
		  PBRD L 5
		  PBRD M 5
		  PBRD N 5
		  PBRD O 5
		  PBRD P 5
		  PBRD Q -1
		  Stop
	   Raise:
	      TNT1 A 0 
		  TNT1 A 0 A_SpawnItemEx ("NanoResEffect", 0, 0, 15, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	      PBR2 PONML 5
		 Goto See  
		  }	   
}








	Actor CS4MicroSwirlRocket  
		{
			projectile
			+MISSILE
			+BLOODSPLATTER
			Species "BloodyHeavy"
			+DONTHARMSPECIES
			radius 1
			height 2
			//missiletype "CSMiniMissileTrail"
			//missileheight 8
			scale 0.75
			speed 15
			damage (7)
			Obituary "%o is now a rocket-man!"
			states
			{
				Spawn:
				TNT1 A 0 A_Weave (1.8, 1.8, 2.0, 3.0)
				TNT1 A 0 A_SpawnItemEx("LittleRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,frandom(-0.5,0.5), frandom(-0.5,0.5),frandom(0.3,0.5),0,SXF_NOCHECKPOSITION) 
				RMIS A 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),69, 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 CS4FastClusterRocket  
	{
	projectile
	+MISSILE
	+BLOODSPLATTER
	Translation "128:151=96:111", "123:127=96:111", "64:79=96:111"
	Species "BloodyHeavy"
	+DONTHARMSPECIES
	radius 3
	height 3
	missiletype "CSMiniMissileTrail"
	missileheight 8
	scale 0.82
	speed 32
	damage (6)
	Obituary "%o is now a rocket-man!"
	states
		{
		Spawn:
		TNT1 A 0 A_SpawnItemEx("BiggerRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",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((8),50, 0 ,0,40)
		TNT1 AAAA 0 A_CustomMissile ("GrenadeCluster", 0, 0, random (-360,360), CMF_OFFSETPITCH | CMF_AIMDIRECTION, random (15, 24))
		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 CS4MiniRocket
	{
projectile
+MISSILE
+BLOODSPLATTER
Species "BloodyHeavy"
+DONTHARMSPECIES
radius 3
height 3
missiletype "CSMiniMissileTrail"
missileheight 8
scale 0.45
speed 25
damage (25)
Obituary "%o is now a rocket-man!"
states
		{
		Spawn:
		TNT1 A 0 A_SpawnItemEx("LittleRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
		TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION) 
		MISL A 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((15),90, 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 CS4SwirlRocket  
		{
			projectile
			+MISSILE
			+BLOODSPLATTER
			Species "BloodyHeavy"
			+DONTHARMSPECIES
			radius 1
			height 2
			//missiletype "CSMiniMissileTrail"
			//missileheight 8
			scale 0.65
			speed 22
			damage (10)
			Obituary "%o is now a rocket-man!"
			states
			{
				Spawn:
				TNT1 A 0 A_Weave (2.8, 2.8, 2.0, 2.0)
				TNT1 A 0 A_SpawnItemEx("LesserRocketTrail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
				TNT1 A 0 A_SpawnItemEx("CSMiniMissileTrail",0,0,0,frandom(-0.5,0.5), frandom(-0.5,0.5),frandom(0.3,0.5),0,SXF_NOCHECKPOSITION) 
				ZTRP A 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((20),69, 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
			}
		}
