ACTOR Cyberassault 28124
{ 
  Health 1800
  Radius 24
  Height 64
  Mass 1000
  Speed 10
  PainChance 65
  Monster
  Scale 1.1
  Species "Nobles"
  Obituary "%o was assualted by a Cyberassault unit."
  SeeSound "Cyberassault/Sight" 
  PainSound "Cyberassault/Pain"
  DeathSound "Cyberassault/Death"
  ActiveSound "Cyberassault/Active"
  DamageFactor "NobleComet", 0.0
  DropItem "BossLifeEssence" 200 25
  DropItem "BossArmorBonusMax" 200 1
  DropItem "NewCellPack" 128
  DropItem "BulletBox" 128 200
  DropItem "CFMinigun" 200
  DropItem "CFRailgun" 150
  DropItem "GrenadeLauncher" 100
  Tag "$NECybAssault"
  +MISSILEMORE
  +MISSILEEVENMORE
  +DONTHURTSPECIES
  +QUICKTORETALIATE
  +NOTARGET
  +DONTHURTSPECIES
  States 
  { 
  Spawn: 
	TNT1 A 0 NoDelay ACS_NamedExecuteAlways("ModifyMonster",0,1)
	Goto Idle
  Idle:
    CYAS A 7 A_Look
	CYAS A 7 A_Look
    Loop 
  See:
    CYAS AABB 3 A_Chase
    TNT1 A 0 A_Playsound("monster/bruwlk")
    CYAS CCDD 3 A_Chase
    TNT1 A 0 A_Playsound("monster/bruwlk")
    Loop
  Missile:
	TNT1 A 0 A_JumpIfCloser(300,"Grenadier")
    TNT1 A 0 A_Jump(128,"Railgun","Rockets","HomingRockets","BFG15K")
	TNT1 A 0 A_Jump(64,"BFG10K","RailgunV2")
  Normal:
    TNT1 A 0 A_PlaySound("weapons/mgunspinstart")
    CYAS G 8 A_FaceTarget
	TNT1 A 0 A_PlaySoundEx("weapons/mgunspin","Voice")
	TNT1 A 0 A_CustomMissile("MonsterTracer",Random(40,44),0,Random(5,-5),0)
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 13, 36, 30, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySoundEx("weapons/minigunfire","Weapon")
    CYAS H 2 Bright A_CustomBulletAttack(22.5,0,1,random(2,5)*3,"CyNoblePuff")
    CYAS S 1 A_FaceTarget
	TNT1 A 0 A_CustomMissile("MonsterTracer",Random(40,44),0,Random(5,-5),0)
    TNT1 A 0 A_SpawnItemEx("RifleCasing", 13, 36, 32, Random(2, 6), 0, Random(1, 3), Random(-80, -90), 128)
	TNT1 A 0 A_PlaySoundEx("weapons/minigunfire","Weapon")
    CYAS I 2 Bright A_CustomBulletAttack(22.5,0,1,random(2,5)*3,"CyNoblePuff")
    CYAS S 1 A_FaceTarget
	TNT1 A 0 A_Jump(20,"Pause")
	TNT1 A 0 A_StopSoundEx("Voice")
    TNT1 A 0 A_CPosRefire
    Goto Normal+3
  Pause:
	CYAS S 8
	TNT1 A 0 A_Jump(128,"Missile")
	Goto See
  Railgun:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
    CYAS EE 8 A_FaceTarget
	CYAS E 2 A_FaceTarget
	CYAS E 1
	TNT1 A 0 A_PlaySound("railgunner/chargedshot")
	TNT1 A 0 A_CustomMissile("RailgunImpact",35,20)
	CYAS F 5 Bright A_CustomRailgun(Random(41, 61),20, "Red", None, 1, 1, 0, "BruiserRailPuff")
	CYAS EE 8 A_FaceTarget
	CYAS E 2 A_FaceTarget
	CYAS E 1
	TNT1 A 0 A_PlaySound("railgunner/chargedshot")
	TNT1 A 0 A_CustomMissile("RailgunImpact",35,20)
	CYAS F 5 Bright A_CustomRailgun(Random(41, 61),20, "Red", None, 1, 1, 0, "BruiserRailPuff")
    CYAS E 20
	TNT1 A 0 A_Jump(164,"Rockets","HomingRockets","BFG15K","BFG10K")
	Goto See
  Grenadier:
	CYAS E 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	CYAS F 7 Bright A_CustomMissile("PaladinGrenade",35,20,Random(4,-4))
	CYAS E 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	CYAS F 7 Bright A_CustomMissile("PaladinGrenade",35,20,Random(4,-4))
	CYAS E 8 A_FaceTarget
	TNT1 A 0 A_PlaySound("Weapons/GrenadeFire")
	CYAS F 7 Bright A_CustomMissile("PaladinGrenade",35,20,Random(4,-4))
	CYAS E 8 A_FaceTarget		
	Goto See		
  Rockets:
    CYAS E 8 A_FaceTarget 
	CYAS F 8 Bright A_CustomMissile("CyNobleRocket",35,20,0,0)
    CYAS E 8 A_FaceTarget
	CYAS F 8 Bright A_CustomMissile("CyNobleRocket",35,20,0,0)
	CYAS E 8 A_FaceTarget
	CYAS F 8 Bright A_CustomMissile("CyNobleRocket",35,20,0,0)
    CYAS E 8
	TNT1 A 0 A_Jump(128,"HomingRockets","BFG15K","BFG10K")
    Goto See
  HomingRockets:
    CYAS E 8 A_FaceTarget 
	CYAS F 8 Bright A_CustomMissile("BruiserMissile",35,20,0,0)
    CYAS E 8 A_FaceTarget
	CYAS F 8 Bright A_CustomMissile("BruiserMissile",35,20,0,0)
	CYAS E 8 A_FaceTarget
	CYAS F 8 Bright A_CustomMissile("BruiserMissile",35,20,0,0)
    CYAS E 8
	TNT1 A 0 A_Jump(128,"BFG15K","BFG10K")
    Goto See
   BFG15K:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
    CYAS E 18 A_FaceTarget
	CYAS E 6 A_FaceTarget
	CYAS F 4 Bright A_CustomMissile("Cybruiser15K",35,20,Random(4,-4))
	CYAS E 4 A_FaceTarget
	CYAS F 4 Bright A_CustomMissile("Cybruiser15K",35,20,Random(4,-4))
	CYAS E 4 A_FaceTarget
	CYAS F 4 Bright A_CustomMissile("Cybruiser15K",35,20,Random(4,-4))
	CYAS E 4 A_FaceTarget
	CYAS F 4 Bright A_CustomMissile("Cybruiser15K",35,20,Random(4,-4))
	CYAS E 4 A_FaceTarget
	CYAS F 4 Bright A_CustomMissile("Cybruiser15K",35,20,Random(4,-4))
	CYAS E 20 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	TNT1 A 0 A_Jump(128,"BFG10K","RailgunV2","HomingRockets")
	Goto See	 
   BFG10K:
	TNT1 A 0 A_PlaySound("weapons/charge15k")
    CYAS E 18 A_FaceTarget
	CYAS E 6 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("weapons/bfg15kfire")
	CYAS F 4 Bright A_CustomMissile("Cy10K",35,20,Random(4,-4))
	CYAS E 6 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("weapons/bfg15kfire")
	CYAS F 4 Bright A_CustomMissile("Cy10K",35,20,Random(4,-4))
	CYAS E 6 A_FaceTarget
	TNT1 A 0 Bright A_PlaySound("weapons/bfg15kfire")
	CYAS F 4 Bright A_CustomMissile("Cy10K",35,20,Random(4,-4))
	CYAS E 20 A_PlaySound("weapons/bfg15kcooldown",CHAN_AUTO)
	TNT1 A 0 A_Jump(128,"RailgunV2")
	Goto See
   EFG:
	   TNT1 A 0 A_ChangeFlag("NOPAIN",1)
       TNT1 A 0 A_PlaySound("Cyberassault/Rage")
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   CYAS E 2 A_FaceTarget
	   TNT1 A 0 A_PlaySound("star/fire")
	   CYAS F 2 Bright A_CustomMissile("CybAssaultEFG",35,20,0,0)
	   TNT1 A 0 Radius_Quake(4,3,0,1,0)
	   CYAS FF 2 Bright A_FaceTarget
	   CYAS E 20
	   TNT1 A 0 A_ChangeFlag("NOPAIN",0)
	   Goto See
   RailgunV2:
	TNT1 A 0 A_PlaySound("weapons/rgcharge")
    CYAS EE 10 A_FaceTarget
	CYAS E 2 A_FaceTarget
	CYAS E 1
	TNT1 A 0 A_PlaySound("railgunner/chargedshot")
	CYAS F 5 Bright A_CustomMissile("CydestroyerRail",35,20,0,0)
    CYAS E 20
	Goto See
  Pain: 
    TNT1 A 0 A_Jump(87,"MissilePain")
    CYAS J 4 A_Pain
    Goto See
  MissilePain:
    CYAS J 4 A_Pain
	TNT1 A 0 A_Jump(30,"EFG")
    Goto Missile	
  Death: 
    CYAS K 20 A_Scream
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	CYAS KKKK 2 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	CYAS LLLL 2 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	CYAS MMMNNN 2 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))	
	CYAS OOOPPP 2 Bright A_CustomMissile("Kaboom17", Random(10,50), 0, random(0,360), 2, random(0,360))
	TNT1 AA 0 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2", 0, 0, random(0,360), 2, random(0,360))
    BRUS Q 4 Bright A_NoBlocking
    BRUS R 3 Bright 
	BRUS S 3
    BRUS T -1 A_KillMaster
    Stop
  Raise:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("VileHealEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
	BRUS TSRQPO 4
	CYAS NMLK 4
	Goto See
    } 
}

ACTOR CybAssaultEFG : EFGFusionNuke
{
Damagetype "NobleComet"
Species "Nobles"
Obituary "%o ate Cyberassault's Rocket."
States
	{
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_JumpIfInventory("Tic",1,"End")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		TNT1 A 0 Bright A_SpawnItemEx("EFGFusionNukeFX",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_CustomMissile("CybEFGFusionNukeExplode",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
		Stop
	End:
		TNT1 A 1 Bright
		Stop
	}
}

Actor CybEFGFusionNukeExplode : EFGFusionNukeExplode
{
Damagetype "NobleComet"
Species "Nobles"
Obituary "%o ate Cyberassault's Rocket."
}