#Include MastermindChaingun.txt


actor MastermindChaingunDrop
{
Radius 0
Height 0
+THRUACTORS
 states
 {
  Spawn:
	 TRII A 0
	 TNT1 A 0 A_Jump(128, "Spawn2")
	 Goto Spawn1

  SPawn1:	
        TNT1 A 0 A_CustomMissile ("MastermindChaingunFlying", 20, 0, random (0, 179), 2, random (30, 50))
        stop
		
  SPawn2:	
        TNT1 A 0 A_CustomMissile ("MastermindChaingunFlying2", 20, 0, random (180, 359), 2, random (30, 50))
        stop		
}
}







ACTOR MastermindChaingunFlying: XDeathArm1
{
    +SKYEXPLODE
	-CLIENTSIDEONLY
    Scale 1.1
    Speed 10
	Gravity 0.4
	BounceFactor 0.6
	SeeSound "weapons/barrelpain"
	DeathSound "weapons/barrelpain"
    States
    {
    Spawn:
        TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		RMNG TUVWXYZ 3
		RMN2 A 3
		Loop
   	Death:
        TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
	    HND8 A 0
        HND8 A 0 A_SpawnItem("MastermindChaingunPickup",0,0,0,1)
        Stop
    }
}

ACTOR MastermindChaingunFlying2: MastermindChaingunFlying
{
    States
    {
    Spawn:
        TNT1 A 0 A_JumpIf(waterlevel > 1, "Death")
		RMN2 A 3
		RMNG ZYXWVTU 3
		Loop
   	Death:
        TNT1 A 0 A_SpawnItem ("Brutal_BloodSpot", 0, 1)
	    HND8 A 0
        HND8 A 0 A_SpawnItem("MastermindChaingunPickup",0,0,0,1)
        Stop
    }
}

ACTOR MastermindChaingunPickup : CustomInventory
{
 scale 1.1
 radius 24
 height 24
 +THRUACTORS +FORCEXYBILLBOARD
 Inventory.PickupSound "ROCKPKUP"
 Inventory.PickupMessage "You got the Mastermind's Chaingun!! (Slot 8)" 
 Mass 1
    States
    {

	 Spawn:
		TNT1 A 0
		RMN2 A 3
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0
	Stay:
		RMN2 A 2
		Loop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_GiveInventory("AmmoRocket", 12)
		TNT1 A 0 A_GiveInventory("AmmoCell", 40)
		TNT1 A 0 A_GiveInventory("MastermindChaingun", 1)
		Stop
	Purist:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoRocket", 12)
		TNT1 A 0 A_GiveInventory("AmmoCell", 40)
		Stop
    }
}

ACTOR RocketLauncherSpawner : CustomInventory
{
 scale 0.8
 radius 24
 height 24
 +THRUACTORS +FORCEXYBILLBOARD
 Inventory.PickupSound "ROCKPKUP"
 Inventory.PickupMessage "You got the Rocket Launcher! (Slot 5)" 
 Mass 1
    States
    {

	 Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(64, "SpawnTheChaingunInsteadUwU")
		TNT1 A 10
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 0
	Stay:
		TNT1 A 0
		TNT1 A 0 A_SpawnItem("FakeRocketLauncherSprite")
		TNT1 A 0 A_SpawnItem("FakeRL2Sprite")
		TNT1 A 2
		Loop
	Pickup:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("IsPlayingAsPurist", 1, "Purist")
		TNT1 A 0 A_GiveInventory("AmmoRocket", 2)
		TNT1 A 0 A_GiveInventory("Rocket_Launcher", 1)
		Stop
	Purist:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("AmmoRocket", 2)
	    TNT1 A 0 A_GiveInventory("ClassicRocketLauncher", 1)
		Stop
		
	 SpawnTheChaingunInsteadUwU:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx ("GrenadeLauncherSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG ,0)
		TNT1 A 1
		Stop	
    }
}