
//==============================================================================
//=============================== MISC VOXEL PARTS =============================
//==============================================================================

// These are used to make the various parts of the voxels animate properly

ACTOR BullGemA
{
	+NOINTERACTION
	
	states
	{
		Spawn:
			AMG1 A 2 Bright
			stop
	}
}
ACTOR BullGemB : BullGemA
{
	states
	{
		Spawn:
			AMG1 B 2 Bright
			stop
	}
}

ACTOR BullGemHeftyA
{
	+NOINTERACTION
	
	states
	{
		Spawn:
			AMG2 A 2 Bright
			stop
	}
}
ACTOR BullGemHeftyB : BullGemHeftyA
{
	states
	{
		Spawn:
			AMG2 B 2 Bright
			stop
	}
}
ACTOR BullGemHeftyC : BullGemHeftyA
{
	states
	{
		Spawn:
			AMG2 C 2 Bright
			stop
	}
}

ACTOR RockBundFlameA
{
	+NOINTERACTION
	RenderStyle ADD
	
	states
	{
		Spawn:
			AMPF A 2 Bright
			stop
	}
}
ACTOR RockBundFlameB : RockBundFlameA
{
	states
	{
		Spawn:
			AMPF B 2 Bright
			stop
	}
}
ACTOR RockBundFlameC : RockBundFlameA
{
	states
	{
		Spawn:
			AMPF C 2 Bright
			stop
	}
}

ACTOR RockBundHeftFlameA
{
	+NOINTERACTION
	RenderStyle ADD
	
	states
	{
		Spawn:
			AMPF D 2 Bright
			stop
	}
}
ACTOR RockBundHeftFlameB : RockBundHeftFlameA
{
	states
	{
		Spawn:
			AMPF E 2 Bright
			stop
	}
}
ACTOR RockBundHeftFlameC : RockBundHeftFlameA
{
	states
	{
		Spawn:
			AMPF F 2 Bright
			stop
	}
}

//==============================================================================
//=========================== AMMO SPAWNERS GO HERE!! ==========================
//==============================================================================


ACTOR Wandbundle : CustomInventory 
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Gold Wand Crystals"
	Inventory.PickupSound "NEWPKUP"
	
	States
	{
		Spawn:
			AMG1 A 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalGoldWandAmmo", 10);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GoldTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicGoldWandAmmo", 15);
				}
			}
			stop
	}
}

ACTOR WandBundleHefty : CustomInventory 
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Gold Wand Geode"
	Inventory.PickupSound "NEWPKUP"
	ConversationID 186
	
	States
	{
		Spawn:
			AMG2 AAABBBCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalGoldWandAmmo", 25);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GoldTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicGoldWandAmmo", 50);
				}
			}
			stop
	}
}

ACTOR Blasterbundle : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Small Claw Orbs"
	Inventory.PickupSound "NEWPKUP"
	ConversationID 179
	
	States
	{
		Spawn:
			AMB1 AAAABBBBCCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalBlasterAmmo", 25);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("BlueTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicBlasterAmmo", 30);
				}
			}
			stop
	}
}

ACTOR BlasterBundleHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Large Claw Orb"
	Inventory.PickupSound "NEWPKUP"
	ConversationID 180
	
	States
	{
		Spawn:
			AMB2 AAABBBCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalBlasterAmmo", 50);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("BlueTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicBlasterAmmo", 75);
				}
			}
			stop
	}
}

ACTOR Bulletbundle : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	RenderStyle ADD
	ALPHA 0.6
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Small Arcane Bundle"
	//Inventory.PickupSound "ARTIUP"
	Inventory.PickupSound "NEWPKUP"
	
	States
	{
		Spawn:
			AMB1 AAAA 1 Bright A_SpawnItemEx("BullGemA")
			AMB1 BBBB 1 Bright A_SpawnItemEx("BullGemB")
			AMB1 CCCC 1 Bright A_SpawnItemEx("BullGemA")
			AMB1 AAAA 1 Bright A_SpawnItemEx("BullGemB")
			AMB1 BBBB 1 Bright A_SpawnItemEx("BullGemA")
			AMB1 CCCC 1 Bright A_SpawnItemEx("BullGemB")
			Loop
		Pickup:
			/*TNT1 A 0 A_GiveInventory ("BrutalGoldWandAmmo", 5)
			TNT1 A 0 A_GiveInventory ("BrutalBlasterAmmo", 10)
			TNT1 A 0 A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")))
			TNT1 A 0 A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")))
			TNT1 A 0 ACS_NamedExecute("GoldTrap")
			TNT1 A 0 ACS_NamedExecute("BlueTrap")
			stop*/
			
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalGoldWandAmmo", 5);
					A_GiveInventory ("BrutalBlasterAmmo", 10);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GoldTrap");
					ACS_NamedExecute("BlueTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicGoldWandAmmo", 10);
					A_GiveInventory ("ClassicBlasterAmmo", 15);
				}
			}
			stop
	}
}

ACTOR BulletBundleHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	RenderStyle ADD
	ALPHA 0.6
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	//+FLOATBOB
	Inventory.PickupMessage "Large Arcane Bundle"
	//Inventory.PickupSound "ARTIUP"
	Inventory.PickupSound "NEWPKUP"
	
	States
	{
		Spawn:
			AMB2 AAAA 1 Bright A_SpawnItemEx("BullGemHeftyA")
			AMB2 BBBB 1 Bright A_SpawnItemEx("BullGemHeftyB")
			AMB2 CCCC 1 Bright A_SpawnItemEx("BullGemHeftyC")
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalGoldWandAmmo", 10);
					A_GiveInventory ("BrutalBlasterAmmo", 20);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GoldTrapB");
					ACS_NamedExecute("BlueTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicGoldWandAmmo", 20);
					A_GiveInventory ("ClassicBlasterAmmo", 30);
				}
			}
			stop
	}
}

ACTOR ShellSpawner : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Ethereal Bolts"
	Inventory.PickupSound "NEWPKUP2"
	
	States
	{
		Spawn:
			AMC1 A 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalCrossbowAmmo", 3);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GreenTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicCrossbowAmmo", 4);
				}
			}
			stop
	}
}

ACTOR ShellSpawnerHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Quiver of Ethereal Bolts"
	Inventory.PickupSound "NEWPKUP2"
	
	States
	{
		Spawn:
			AMC2 AAABBBCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalCrossbowAmmo", 12);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("GreenTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicCrossbowAmmo", 16);
				}
			}
			stop
	}
}

ACTOR CellSpawner : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Hellstaff Rune"
	Inventory.PickupSound "NEWPKUP3"
	
	States
	{
		Spawn:
			AMS1 AAAAABBBB 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalSkullRodAmmo", 10);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("RedTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicSkullRodAmmo", 15);
				}
			}
			stop
	}
}

ACTOR CellSpawnerHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Large Hellstaff Rune"
	Inventory.PickupSound "NEWPKUP3"
	
	States
	{
		Spawn:
			AMS2 AAAAABBBB 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalSkullRodAmmo", 30);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("RedTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicSkullRodAmmo", 35);
				}
			}
			stop
	}
}

ACTOR PhoenixOrbSpawner : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Phoenix Orb"
	Inventory.PickupSound "NEWPKUP4"
	
	States
	{
		Spawn:
			AMP1 AAABBBCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalPhoenixRodAmmo", 3);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("YellowTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicPhoenixRodAmmo", 5);
				}
			}
			stop
	}
}

ACTOR PhoenixOrbSpawnerHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	+DONTSPLASH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Divine Phoenix Orb"
	Inventory.PickupSound "NEWPKUP4"
	
	States
	{
		Spawn:
			AMP2 AAABBBCCC 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalPhoenixRodAmmo", 10);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("YellowTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicPhoenixRodAmmo", 15);
				}
			}
			stop
	}
}

ACTOR MaceBallSpawner : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Shrapnel Orb"
	Inventory.PickupSound "NEWPKUP5"
	
	States
	{
		Spawn:
			AMM1 A 1 Bright
			Loop
		Pickup:	
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalMaceAmmo", 10);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("OrangeTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicMaceAmmo", 15);
				}
			}
			stop
	}
}

ACTOR MaceBallSpawnerHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Large Shrapnel Orb"
	Inventory.PickupSound "NEWPKUP5"
	
	States
	{
		Spawn:
			AMM2 A 1 Bright
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalMaceAmmo", 50);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("OrangeTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicMaceAmmo", 50);
				}
			}
			stop
	}
}

ACTOR RocketSpawner : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Explosive Bundle"
	Inventory.PickupSound "NEWPKUP5"
	
	States
	{
		Spawn:
			AMO1 YYYY 1 Bright A_SpawnItemEx("RockBundFlameA", 0, 0, 25)
			AMO1 YYYY 1 Bright A_SpawnItemEx("RockBundFlameB", 0, 0, 25)
			AMO1 YYYY 1 Bright A_SpawnItemEx("RockBundFlameC", 0, 0, 25)
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (10 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalPhoenixRodAmmo", 3);
					A_GiveInventory ("BrutalMaceAmmo", 5);
					A_GiveInventory ("Mana", (1 * GetCvar("ManaModifier")));
					ACS_NamedExecute("YellowTrap");
					ACS_NamedExecute("OrangeTrap");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicPhoenixRodAmmo", 5);
					A_GiveInventory ("ClassicMaceAmmo", 10);
				}
			}
			stop
	}
}

ACTOR RocketSpawnerHefty : CustomInventory
{
	+VULNERABLE
	+CANNOTPUSH
	DamageFactor "Firemace", 0
	DamageFactor "Phoenix", 0
	DamageFactor "Bomb", 0
	DamageFactor "Pod", 0
	DamageFactor "Fire", 0
	DamageFactor "Kick",0
	Inventory.PickupMessage "Large Explosive Bundle"
	Inventory.PickupSound "NEWPKUP5"
	
	States
	{
		Spawn:
			AMO1 ZZZZ 1 Bright A_SpawnItemEx("RockBundHeftFlameA", 0, 0, 18)
			AMO1 ZZZZ 1 Bright A_SpawnItemEx("RockBundHeftFlameB", 0, 0, 18)
			AMO1 ZZZZ 1 Bright A_SpawnItemEx("RockBundHeftFlameC", 0, 0, 18)
			Loop
		Pickup:
			TNT1 A 0 
			{
				A_GiveInventory ("Experience", (50 * GetCvar("ExpModifier")));
				
				If (CheckClass("BrutalCorvus",AAPTR_PLAYER1))
				{
					A_GiveInventory ("BrutalPhoenixRodAmmo", 10);
					A_GiveInventory ("BrutalMaceAmmo", 10);
					A_GiveInventory ("Mana", (2 * GetCvar("ManaModifier")));
					ACS_NamedExecute("YellowTrapB");
					ACS_NamedExecute("OrangeTrapB");
				}
				Else If (CheckClass("Corvette",AAPTR_PLAYER1))
				{
					A_GiveInventory ("ClassicPhoenixRodAmmo", 15);
					A_GiveInventory ("ClassicMaceAmmo", 25);
				}
			}
			stop
	}
}