actor RebelAttackCraft
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: RB4C
//Title: "Rebel Attack Craft"
Health 1500
Mass 500
Radius 31
Height 56
Speed 20
Monster 
Species "EliteZombies"
DamageFactor "Hell", 0.0
DamageFactor "BFGSplash", 0.5
DamageFactor "PDTBFG", 0.5
DamageFactor "PDTBFGTracer", 0.5
DamageFactor "MechStep", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "GeneralTracer", 0.0
Damagefactor "ZombieRocket", 0
DamageFactor "RST", 0.0
Damagefactor "ZGrenade", 0.0
DamageFactor "DTZPuff", 0.0
DamageFactor "ZombieDev", 0.0
Damagefactor "HTZombie", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "ZombieCannon", 0.0
Damagefactor "ZExplosiveBullets", 0.0
DamageFactor 0.75
RadiusDamageFactor 0.5
SeeSound "SpecOpsZombie/Sight"
PainSound ""
DeathSound ""
ActiveSound "SpecOpsZombie/Active"
Obituary "%o was shredded by a patroling Attack Craft from the Rebels."
Tag "\c[b1]Rebel \c[m8]Attack Craft\c-"
//+FLOAT
//+NOGRAVITY
+NOBLOOD
+NOPAIN
+MISSILEMORE
+MISSILEEVENMORE
var int user_missile;
var int user_see;
States
{
  Spawn:
	//TNT1 A 0 A_PlaySoundEx("flyer/flying","Item",1,0)
	RB4C A 4 A_Look
	Loop
  See:
    TNT1 A 0 A_JumpIf(user_see == 1,"SeeLoop")
    TNT1 A 0 A_SetUserVar("user_see",1)
	NULL A 0 ThrustThingZ(0,70,0,1)
	RB4C AAAAAAAAA 2 Bright
	TNT1 A 0 A_Changeflag(FLOAT,1)
	TNT1 A 0 A_Changeflag(NOGRAVITY,1)
	Goto SeeLoop
  SeeLoop:
	TNT1 A 0 A_PlaySoundEx("flyer/flying","Item",1,0)
	RB4C AA 2 A_Chase
	TNT1 A 0 A_Jump(16,"Evade")
	Loop
  Evade:
	TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 ThrustThing(Angle*256/360+64,14,0,0)
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 ThrustThing(Angle*256/360+192,14,0,0)
	RB4C AAAA 3 A_Chase
	TNT1 A 0 A_Stop
	Goto See
  Missile:
    TNT1 A 0 A_Jump(75,"Bombs","Rockets")
  Normal:
    RB4C AAAA 3 A_FaceTarget
	RB4C A 2 A_GiveInventory("OverseerStrafe",1)
	TNT1 A 0 A_PlaySound("sentient/fire")
    TNT1 A 0 A_CustomMissile("AttackCraftHeavyBullet",10,0,Frandom(-3,3),0)
    RB4C B 3 Bright A_GiveInventory("OverseerStrafe",1)
    TNT1 A 0 A_CPosRefire
    TNT1 A 0 A_Jump(16,"See","Evade")
	Goto Normal+4
  Rockets:
	RB4C AAAA 3 A_FaceTarget
	RB4C A 0 Bright A_CustomMissile("ZombieRocket",10,-25)
	RB4C A 4 Bright A_CustomMissile("ZombieRocket",10,25)
	RB4C A 4 A_PlaySound("rocket/drumspin")
	Goto See
  Bombs:
	TNT1 A 0 A_FaceTarget
	TNT1 A 0 ThrustThingZ(0,5,0,1)
	TNT1 A 0 A_SetUserVar("user_missile",0)
    RB4C AAAAAAAAA 2
    TNT1 A 0 Thing_Stop(0)
	TNT1 A 0 ThrustThing(angle*256/360,30,0,0)
  BombsLoop:
    TNT1 A 0 A_JumpIf(user_missile >= 6,"StopBombing")
    TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	RB4C A 0 A_CustomMissile("AttackCraftBomb",5)
    RB4C A 8
	Loop
  StopBombing:
    TNT1 A 0 Thing_Stop(0)
    RB4C A 3
	Goto See
  Death:
	TNT1 A 0 A_StopSoundEx("Item")
    TNT1 A 0 A_Gravity
    TNT1 A 0 A_ChangeVelocity(random(-15,15),0,random(5,15),CVF_REPLACE)
    RB4C A 1 A_Fall
	TNT1 A 0 A_SetUserVar("user_missile",0)
  DeathLoop:
    RB4C A 0 A_SpawnItemEx("SmokeFX3",-40,0,0,0,0,3,0,128,0)
	RB4C A 1 A_SetAngle(15 + angle)
    TNT1 A 0 A_JumpIf(user_missile >= 20,"DeathLoop2")
    TNT1 A 0 A_SetUserVar("user_missile",user_missile+1)
	Loop
  DeathLoop2:
	RB4C A 0 A_SetAngle(15 + angle)
    RB4C A 0 A_SpawnItemEx("SmokeFX3",-40,0,0,0,0,3,0,128,0)
	RB4C A 1 A_JumpIf(Velz == 0,"Crashed")
    Loop
  Crashed:
  	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("RebelPilot",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION) //|SXF_TELEFRAG Lmao
    TNT1 A 4 A_SpawnItemEx("AttackCraftExplode")
	Stop
	}
}

Actor RebelPilot
{
//Creator: High Councilor
//Origin: Nexus Infinity
//Sprite: RBPL
//Title: "Rebel Pilot"
Monster
Health 250
Radius 20
Height 56
Speed 6
Mass 100
PainChance 100
Species "EliteZombies"
DamageFactor "Hell", 0.0
DamageFactor "SoapOpera", 0.0
DamageFactor "GeneralTracer", 0.0
Damagefactor "ZombieRocket", 0
DamageFactor "RST", 0.0
Damagefactor "ZGrenade", 0.0
DamageFactor "DTZPuff", 0.0
DamageFactor "ZombieDev", 0.0
Damagefactor "HTZombie", 0.0
DamageFactor "MiniRocket", 0.0
DamageFactor "ZombieCannon", 0.0
Damagefactor "ZExplosiveBullets", 0.0
MaxStepHeight 32
MaxDropOffHeight 32
DropItem "HealthFlask", 35
DropItem "ArmorCharge", 35
DropItem "AmmoPack", 35
DropItem "HandGrenadeAmmo", 150, 1
DropItem "MineAmmo", 125, 1
DropItem "Assault Shotgun", 256, 1
DropItem "ShieldSphere", 64, 1
SeeSound "SpecOpsZombie/Sight"
ActiveSound "SpecOpsZombie/Active"
PainSound "SpecOpsZombie/Pain"
DeathSound "SpecOpsZombie/Death"
AttackSound "AShotgun/Fire"
Obituary "%o was owned by a Attack Craft Pilot."
Tag "\c[b1]Rebel \c[R5]Pilot\c-"
Decal BulletChip
-COUNTKILL
+FLOORCLIP
+MISSILEMORE
+MISSILEEVENMORE
+QUICKTORETALIATE
+DONTHARMSPECIES
+NODROPOFF
States
{
  Spawn:
	RBPL A 10 A_Look
	Loop
  See:
	RBPL A 0 A_JumpIfTargetInLOS("Strafing")
	RBPL AABB 2 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	RBPL CCDD 2 A_Chase
	TNT1 A 0 A_SpawnItem("FootStep",0,0,0,0)
	Loop
  Strafing:
	RBPL A 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	RBPL AABB 3 A_GiveInventory("HEMCommandoStrafing",1)
	RBPL C 0 A_SpawnItem("FootStep",0,0,0,0)
	TNT1 A 0 A_Chase("","Missile",CHF_DONTMOVE)
	RBPL CCDD 3 A_GiveInventory("HEMCommandoStrafing",1)
	Goto See
  Missile:
	RBPL E 0 A_Jump(45,"FragGrenade")
	RBPL EE 5 A_GiveInventory("HEMCommandoStrafing",1)
	TNT1 A 0 A_GiveInventory("HEMCommandoStrafing",1)
	TNT1 A 0 A_SpawnItemEx("ShellCasing",-8,7,30,4,0,(0.1)*Random(30,40),Random(-80,-90),128)
	TNT1 AAAA 0 A_CustomMissile("MonsterTracer2",Random(28,34),0,Random(6,-6),0)
	RBPL F 4 Bright A_CustomBulletAttack(22.5,0,5,Random(1,4)*3,"ZBulletPuff")
	TNT1 A 0 A_Jump(40,"Pause")
	TNT1 A 0 A_CPosRefire
	RBPL EE 4 A_GiveInventory("HEMCommandoStrafing",1)
	Goto Missile+3
  Pause:
	RBPL EEEE 5 A_GiveInventory("HEMCommandoStrafing",1)
	Goto See
  FragGrenade:
	RBPL E 1 A_JumpIfCloser(1000,1)
	Goto Missile
	RBPL E 0 A_JumpIfCloser(280,"Missile")
	RBPL E 6 A_GiveInventory("HEMCommandoStrafing",1)
	RBPL EEE 4 A_GiveInventory("HEMCommandoStrafing",1)
	TNT1 A 0 A_GiveInventory("HEMCommandoStrafing",1)
	RBPL E 6 A_CustomMissile("ZGrenade",32,0,0,2,10)
	RBPL E 1
	Goto See
  Pain:
	TNT1 A 0
	TNT1 A 0 A_JumpIfHealthLower((ACS_NamedExecuteWithResult("Hem_SpawnHealth")*0.25),"PainShield")
	TNT1 A 0 A_Jump(96,"NoPainShield")
  PainShield:
	TNT1 A 0 A_GiveInventory("ZombieShieldSphere",1)
  NoPainShield:
	RBPL G 3 A_GiveInventory("HEMCommandoStrafing",1)
	RBPL G 3 A_Pain
	Goto See
  Death:
    RBPL H 5 A_Scream
    RBPL I 5 A_Fall
    RBPL J 5 A_SpawnItem("BodyCrash",0,0,0,0)
    RBPL KLM 5
    RBPL N -1
	Stop
/*
  XDeath:
	ASGZ A 0 A_PlaySound("gibbage/xsplat")
	ASGZ O 3 A_SpawnItemEx("GibbedGenerator",0,0,0,0,0,0,0,128,0)
	ASGZ P 3 A_XScream
	ASGZ Q 3 A_Fall
	ASGZ RSTUV 3
	ASGZ W -1
	Stop
*/
	}
}

Actor AttackCraftHeavyBullet
{
  Radius 8
  Height 8
  Speed 80
  Damage 5
  Projectile
  Alpha 0.8
  SeeSound "war/chaingun"
  RenderStyle Add
  Species "EliteZombies"
  Damagetype "GeneralTracer"
  +STRIFEDAMAGE
  +BLOODSPLATTER
  +RANDOMIZE
  +BRIGHT
  States
  {
  Spawn:
	WMHB AB 2 Bright
	Loop
  Death:
	TNT1 A 0 A_CustomMissile("Kaboom9",0,0,random(0,360),2,random(0,360))
	WMHB C 6 Bright A_RadiusThrust(2000,16,RTF_NOIMPACTDAMAGE)
	WMHB D 4 Bright A_Explode(3,32)
	Stop
	}
}

Actor AttackCraftBomb
{
  Projectile
  Speed 0
  DamageType "ZombieRocket"
  Gravity 0.25
  Damage 25
  Scale 1
  SeeSound "rocket/fire"
  DeathSound "weapons/rocklx"
  -NOGRAVITY
  +MTHRUSPECIES
  States
  {	
  Spawn:
	SKYZ A 5 Bright
	Loop
  Death:
    TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,128) 
    TNT1 AAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),2,random(0,360))
	TNT1 AAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(0,360))
    TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,32)
    TNT1 A 0 A_Explode(130,300,0,0,280)
    TNT1 A 1 A_SpawnItem("RocketEx")
	Stop
	}
}

Actor AttackCraftExplode : PlantedProxExplode
{
  Species "EliteZombies"
  Damagetype "ZombieRocket"
  States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Die
	Goto Death
  Death:
	TNT1 A 0 A_Stop
	TNT1 A 0 A_PlaySound("Weapons/RockLX")
	TNT1 A 0 A_NoGravity
	TNT1 A 0 A_ChangeFlag(OLDRADIUSDMG,1)
	TNT1 A 0 A_Explode(100,50,1,0,10)
	TNT1 A 0 Radius_Quake(2,24,0,15,0)
	TNT1 A 0 A_PlaySound("weapons/mineexplode",CHAN_BODY)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAA 0 A_CustomMissile("Kaboom3",0,0,random(0,360),2,random(20,160))
	TNT1 AAAA 0 A_CustomMissile("SmokeFX2",0,0,random(0,360),2,random(20,160))
	TNT1 AAAA 0 A_SpawnItemEx("Debris",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE)
	TNT1 A 0 A_ChangeFlag(OLDRADIUSDMG,0)
	TNT1 A 1 A_SpawnItem("RocketEx")
	TNT1 A 0 A_Explode(150,162,1,0,10)
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("Explosion",CHAN_WEAPON)
	TNT1 A 0 A_PlaySound("FAREXPL",CHAN_VOICE)
	TNT1 A 0 A_SpawnItemEx("PlantedProxExplodeEffect",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 AAAAAAA 1 A_SpawnItemEx("RocketEx",0,0,0,Random(4,-4),Random(4,-4),Random(4,8),0,SXF_CLIENTSIDE,0)
	TNT1 A 40
	Stop
	}
}