ACTOR "Recon Patrol Vehicle" 31101
{
    //$Category DN3D Aliens //RPV
	Obituary "%o was shot down by a Pig flyer."
    Health 850
    Radius 54
    Height 60
    Mass 8500
    Speed 28
	PainChance 16
    SeeSound "Pig/Sight"
	Species "Alien"
	BloodType "DukeMechParticle"
	DamageFactor "Damage_Foot", 0.25
	DamageFactor "Damage_Pistol", 1.16
    DamageFactor "Damage_DualPistol", 1.16
	DamageFactor "Damage_BlackTail", 1.2
    DamageFactor "Damage_DualBlackTail", 1.2
	DamageFactor "Damage_DesertEagle", 1.33
    DamageFactor "Damage_Shotgun", 1.17
	DamageFactor "Damage_SuperShotgun", 1.18
	DamageFactor "Damage_ExplosiveShotgun", 1.15
    DamageFactor "Damage_ChaingunCannon", 1.20
	DamageFactor "Damage_Minigun", 1.21
	DamageFactor "Damage_LMGBullet", 1.22
    DamageFactor "Damage_Explosion", 1.5
	DamageFactor "Damage_Shock", 1.0
	DamageFactor "Damage_BigShock", 1.5
	DamageFactor "Damage_Thunder", 1.0
	DamageFactor "Damage_BigThunder", 1.5
	DamageFactor "LaserExplosion", 0.0
    DamageFactor "Damage_Shrinker", 0.0
	DamageFactor "Damage_Expander", 0.2
	DamageFactor "Damage_Laser", 1.54
	DamageFactor "Damage_Railgun", 1.82
    DamageFactor "Ice", 0.31
    DamageFactor "Fire", 0.26
	DamageFactor "Damage_Pulse", 1.52
	DamageFactor "AlienPoison", 0.0
	DamageFactor "Trip_Punch", 0.0
	DamageFactor "Damage_Step", 0.0
	Painchance "Radial", 256
	Painchance "LaserShot", 256
    Monster
	+NOTARGET
	+NORADIUSDMG
	+DONTMORPH
	+FLOAT
	+FLOATBOB
    +NOGRAVITY
    +NOBLOODDECALS
	+NOICEDEATH
	+DROPOFF
	+SPAWNFLOAT
	+DONTOVERLAP
    States
    {
    Spawn:
        RPV1 A 0
        RPV1 A 0 A_PlaySoundEx("JetPack/Active","SoundSlot7",1)
        RPV1 A 2 A_Look
        Loop
	See:
	    RPV1 A 0 
		RPV1 A 0 A_Jump(64,"See2")
		RPV1 A 0 A_ChangeFlag("FRIGHTENED",0)
        RPV1 A 0 A_PlaySoundEx("Alien/JetPack","SoundSlot7",1)
        RPV1 A 2 A_Chase
        Goto See+2
	See2:
	    RPV1 A 0 
		RPV1 A 0 A_ChangeFlag("FRIGHTENED",1)
        RPV1 A 0 A_PlaySoundEx("Alien/JetPack","SoundSlot7",1)
        RPV1 A 2 A_Chase
		RPV1 A 0 A_Jump(6,"See")
        Loop
	Missile:
        RPV1 A 1 A_FaceTarget
	    RPV1 A 1 A_Jump(128,"Missile2","Missile3","Missile4","Missile5","Missile6")
    Missile2:
        RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
		RPV1 A 4 A_FaceTarget
		RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
	    Goto See
    Missile3:
	    RPV1 A 0 ThrustThing(Angle*256/360+64,9,0,0)
        RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 A 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
		RPV1 A 4 A_FaceTarget
		RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 A 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
	    Goto See
    Missile4:
	    RPV1 A 0 ThrustThing(Angle*256/360+192,9,0,0)
        RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
		RPV1 A 4 A_FaceTarget
		RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
	    Goto See
	Missile5:
	    RPV1 A 0 A_Recoil(20) 
        RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
		RPV1 A 4 A_FaceTarget
		RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
	    Goto See
	Missile6:
	    RPV1 A 0 A_Recoil(-20) 
        RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
		RPV1 A 4 A_FaceTarget
		RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
        RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,16,Random(-3,3))
	    RPV1 A 4 A_FaceTarget
	    RPV1 A 0 A_PlayWeaponSound("Trooper/Attack")
        RPV1 F 4 Bright A_CustomMissile("AlienBullet",12,-16,Random(-3,3))
	    Goto See
	Pain:
        RPV1 A 1 A_Jump(128,8)
	    RPV1 B 5 ThrustThing(Angle*256/360+192,9,0,0)
	    RPV1 B 0 A_Chase
	    RPV1 B 5 ThrustThing(Angle*256/360+192,9,0,0)
	    RPV1 B 0 A_Chase
	    RPV1 B 5 ThrustThing(Angle*256/360+192,9,0,0)
	    RPV1 B 0 A_Chase
	    RPV1 B 0 A_Stop
        Goto See
        RPV1 C 5 ThrustThing(Angle*256/360+64,9,0,0)
	    RPV1 C 0 A_Chase
	    RPV1 C 5 ThrustThing(Angle*256/360+64,9,0,0)
	    RPV1 C 0 A_Chase
	    RPV1 C 5 ThrustThing(Angle*256/360+64,9,0,0)
	    RPV1 C 0 A_Chase
	    RPV1 C 0 A_Stop
        Goto See
	Pain.Radial:
        RPV1 A 0
        RPV1 A 0 HealThing(2)
        Goto See
	Pain.LaserShot:
	    RPV1 A 0
		RPV1 A 0 A_SpawnItemEx("PainTripLaser",0,0,5)
		RPV1 A 0 HealThing(2)
		Goto See
	Death:
	    RPV1 A 0
	    RPV1 A 1 A_Jump(255,"CrashLand1","CrashLand2")
    CrashLand1:
	    RPV1 D 0 
		RPV1 D 0 A_StopSoundEx("SoundSlot7")		
	    RPV1 D 0 ThrustThingZ(0,-20,0,0)		
	    RPV1 D 3 ThrustThing(224,Random(2,8),0,0)	
	    RPV1 E 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 EE 0 A_SpawnDebris("MetalGibs1")	
	    RPV1 E 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    RPV1 E 3 ThrustThing(192,Random(2,8),0,0)	
	    RPV1 F 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 F 3 ThrustThing(160,Random(2,8),0,0)		
	    RPV1 G 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 GG 0 A_SpawnDebris("MetalGibs2")		
	    RPV1 G 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")		
	    RPV1 G 3 ThrustThing(128,Random(2,8),0,0)	
	    RPV1 H 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 H 3 ThrustThing(96,Random(2,8),0,0)	
	    RPV1 I 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 II 0 A_SpawnDebris("MetalGibs3")	
	    RPV1 I 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 J 3 ThrustThing(64,Random(2,8),0,0)	
	    RPV1 K 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    RPV1 K 3 ThrustThing(32,Random(2,8),0,0)	
	    RPV1 D 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 DD 0 A_SpawnDebris("MetalGibs4")	
	    RPV1 D 0 ThrustThing(0,Random(2,8),0,0)	
	    RPV1 D 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    Loop
	CrashLand2:
	    RPV1 L 0 
		RPV1 L 0 A_StopSoundEx("SoundSlot7")		
	    RPV1 L 0 ThrustThingZ(0,-20,0,0)		
	    RPV1 L 3 ThrustThing(224,Random(2,8),0,0)	
	    RPV1 M 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 MM 0 A_SpawnDebris("MetalGibs1")	
	    RPV1 M 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    RPV1 M 3 ThrustThing(192,Random(2,8),0,0)	
	    RPV1 N 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 N 3 ThrustThing(160,Random(2,8),0,0)		
	    RPV1 O 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 OO 0 A_SpawnDebris("MetalGibs2")		
	    RPV1 O 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")		
	    RPV1 O 3 ThrustThing(128,Random(2,8),0,0)	
	    RPV1 P 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 P 3 ThrustThing(96,Random(2,8),0,0)	
	    RPV1 Q 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 QQ 0 A_SpawnDebris("MetalGibs3")	
	    RPV1 Q 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")			
	    RPV1 R 3 ThrustThing(64,Random(2,8),0,0)	
	    RPV1 S 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    RPV1 S 3 ThrustThing(32,Random(2,8),0,0)	
	    RPV1 L 0 A_SpawnItemEx("PigFlyerExplosion",0,0,0,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)  
	    RPV1 L 0 A_SpawnDebris("MetalGibs4")	
	    RPV1 L 0 ThrustThing(0,Random(2,8),0,0)	
	    RPV1 L 0 A_JumpIf(FloorZ-Z==0,"SpawnPigHurt")	
	    Loop
    SpawnPigHurt:
        TNT1 A 0 A_StopSoundEx("SoundSlot7")
		TNT1 A 0 A_KillMaster
		TNT1 AAAAA 0 A_SpawnDebris("MetalGibs1")		
		TNT1 AAAAA 0 A_SpawnDebris("MetalGibs2")		
		TNT1 AAAAA 0 A_SpawnDebris("MetalGibs3")		
		TNT1 AAAAA 0 A_SpawnDebris("MetalGibs4")		
		TNT1 AAAAA 0 A_SpawnDebris("MetalGibs5")				
        TNT1 A 1 A_SpawnItemEx("ExpanderExplosion",0,0,32,0,0,0,0,SXF_ABSOLUTEVELOCITY,0)
        TNT1 A 1 A_NoBlocking
		TNT1 A 1 A_SpawnItemEx("Pig Cop Hurt",0,0,0,0,0,0,0)
        Stop
    }
}
		
ACTOR PigFlyerExplosion
{
    Radius 1
    Height 1
    Speed 0
    +NOCLIP
    Projectile
	RenderStyle Add
    Scale 1.05
    States
    {
    Spawn:
	    TNT1 A 0
	    TNT1 A 0 A_PlaySound("Explosion/Sounds",3)
		TNT1 A 0 A_PlaySound("Explosion/Sounds2",11)
		TNT1 A 0 Radius_Quake(2,54,0,15,0)
		TNT1 A 0 A_Explode(32,128,0)	
		TNT1 AAAAAAAAAA 0 A_CustomMissile("ExplosionFlame",20,0,Random(0,360),2,Random(0,360))
		RPGX BCDEFGHIJKLMNOPQRSTUV 2 Bright
        Stop
    }
}