ACTOR TomeSpawner : RandomSpawner replaces Gauntlets
{
	DropItem "SkullfireBringer" 255 3
	DropItem "FlamewaveBringer" 255 2
	DropItem "FrostbiteBringer" 255 3
	DropItem "GumpopBringer" 255 3
	DropItem "ThunderBringer" 255 2
	DropItem "ThreadcutterBringer" 255 2
	DropItem "SkypunchBringer" 255 3
	DropItem "CrowsBringer" 255 2
	DropItem "BreathBringer" 255 1
	DropItem "CorpseBringer" 255 1
	DropItem "ChillgraspBringer" 255 1
	DropItem "AnnihilationBringer" 255 1
	DropItem "MeteorfistBringer" 255 1
	DropItem "SheepshieldBringer" 255 1
	DropItem "SpiritcannonBringer" 255 2
	DropItem "DarkvoidBringer" 255 1
	DropItem "PrismBringer" 255 1
}

ACTOR TomeBringer : CustomInventory
{
	Inventory.MaxAmount 0
	Inventory.PickupSound "Tome/Pickup"
	+FLOATBOB
	+INVENTORY.AUTOACTIVATE
	+COUNTITEM
	States
	{
	Spawn:
	TNT1 A 0
	Stop
	}
}

ACTOR TomeFade
{
	+NOINTERACTION
	+NOGRAVITY
	Renderstyle Add
	States
	{
	Spawn:
	BOOK Z 1 A_FadeOut(0.25)
	BOOK Z 0 A_SetScale(ScaleX+0.05,ScaleX)
	Loop
	}
}

//Firebreath
ACTOR FirebreathBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTFIREBREATH"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK K 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("FirebreathTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("FirebreathTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",300)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,300)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR FirebreathTome : Ammo
{
	Inventory.PickupMessage "$GOTFIREBREATH"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	+INVENTORY.UNDROPPABLE
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK K 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Skullfire
ACTOR SkullfireBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTSKULLFIRE"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK A 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("SkullfireTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("SkullfireTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",500)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,500)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR SkullfireTome : Ammo
{
	Inventory.PickupMessage "$GOTSKULLFIRE"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK A 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Flamewave
ACTOR FlamewaveBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTFLAMEWAVE"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK M 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("FlamewaveTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("FlamewaveTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",1500)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,1500)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR FlamewaveTome : Ammo
{
	Inventory.PickupMessage "$GOTFLAMEWAVE"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK M 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Frostbite
ACTOR FrostbiteBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTFROSTBITE"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK B 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("FrostbiteTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("FrostbiteTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",600)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,600)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR FrostbiteTome : Ammo
{
	Inventory.PickupMessage "$GOTFROSTBITE"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK B 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Chillgrasp
ACTOR ChillgraspBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTCHILLGRASP"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK N 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("ChillgraspTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("ChillgraspTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",4000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,4000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR ChillgraspTome : Ammo
{
	Inventory.PickupMessage "$GOTCHILLGRASP"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK N 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Gumpop
ACTOR GumpopBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTGUMPOP"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleGreen",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK C 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("GumpopTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("GumpopTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",400)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,400)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR GumpopTome : Ammo
{
	Inventory.PickupMessage "$GOTGUMPOP"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleGreen",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK C 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Thunderstruck
ACTOR ThunderBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTTHUNDERSTRUCK"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleYellow",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK D 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("ThunderTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("ThunderTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",875)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,875)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR ThunderTome : Ammo
{
	Inventory.PickupMessage "$GOTTHUNDERSTRUCK"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleYellow",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK D 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Threadcutter
ACTOR ThreadcutterBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTTHREADCUTTER"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleKnives",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK E 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("ThreadcutterTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("ThreadcutterTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",750)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,750)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR ThreadcutterTome : Ammo
{
	Inventory.PickupMessage "$GOTTHREADCUTTER"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleKnives",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK E 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Skypunch
ACTOR SkypunchBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTSKYPUNCH"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK F 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("SkypunchTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("SkypunchTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_GiveInventory("Dosh",750)
	Stop
	}
}

ACTOR SkypunchTome : Ammo
{
	Inventory.PickupMessage "$GOTSKYPUNCH"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK F 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Crows
ACTOR CrowsBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTCROWS"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleRed",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK G 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("CrowsTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("CrowsTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",1000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,1000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR CrowsTome : Ammo
{
	Inventory.PickupMessage "$GOTCROWS"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleRed",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK G 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Scourgebreath
ACTOR BreathBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTSCOURGE"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleRed",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK H 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("BreathTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("BreathTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",2000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,2000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR BreathTome : Ammo
{
	Inventory.PickupMessage "$GOTSCOURGE"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK H 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Corpseblast
ACTOR CorpseBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTCORPSEBLAST"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK I 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("CorpseTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("CorpseTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",1000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,1000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR CorpseTome : Ammo
{
	Inventory.PickupMessage "$GOTCORPSEBLAST"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK I 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Annihilation
ACTOR AnnihilationBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTANNIHILATION"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK J 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("AnnihilationTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("AnnihilationTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",4000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,4000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR AnnihilationTome : Ammo
{
	Inventory.PickupMessage "$GOTANNIHILATION"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK J 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Meteorfist
ACTOR MeteorfistBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTMETEORFIST"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK L 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("MeteorfistTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("MeteorfistTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",3750)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,3750)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR MeteorfistTome : Ammo
{
	Inventory.PickupMessage "$GOTMETEORFIST"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK L 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Sheepshield
ACTOR SheepshieldBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTSHEEPSHIELD"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleWhite",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK O 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("SheepshieldTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("SheepshieldTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",5000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,5000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR SheepshieldTome : Ammo
{
	Inventory.PickupMessage "$GOTSHEEPSHIELD"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleWhite",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK O 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

//Spiritcannon
ACTOR SpiritcannonBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTSPIRITCANNON"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleLightBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK P 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("SpiritcannonTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("SpiritcannonTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",1200)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,1200)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR SpiritcannonTome : Ammo
{
	Inventory.PickupMessage "$GOTSPIRITCANNON"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticleLightBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK P 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

ACTOR DarkvoidBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTDARKVOID"
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK Q 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	Pickup:
	TNT1 A 0 A_JumpIfInventory("DarkvoidTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("DarkvoidTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",5000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,5000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR DarkvoidTome : Ammo
{
	Inventory.PickupMessage "$GOTDARKVOID"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	States
	{
	Spawn:
	TNT1 A 0 NoDelay A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	BOOK Q 1 Bright A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	Loop
	}
}

ACTOR PrismBringer : TomeBringer
{
	Inventory.PickupMessage "$GOTPRISM"
	States
	{
	Spawn:
	//TNT1 A 0 NoDelay A_JumpIf(CallACS("ParticleChoke"), "Main")
	TNT1 A 0 A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_Jump(256,"Blue","Cyan","Green","Yellow","Orange","Red","Purple") //Yes I missed lime, whatever.
	Goto Main
	Blue:
	TNT1 A 0 A_SpawnItemEx("TomeParticleBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Cyan:
	TNT1 A 0 A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Green:
	TNT1 A 0 A_SpawnItemEx("TomeParticleGreen",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Yellow:
	TNT1 A 0 A_SpawnItemEx("TomeParticleYellow",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Orange:
	TNT1 A 0 A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Red:
	TNT1 A 0 A_SpawnItemEx("TomeParticleRed",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Purple:
	TNT1 A 0 A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Main:
	BOOK R 1 Bright
	Goto Spawn
	Pickup:
	TNT1 A 0 A_JumpIfInventory("PrismTome",1,"Dosh")
	TNT1 A 0 A_GiveInventory("PrismTome",1)
	Stop
	Dosh:
	TNT1 A 0 A_JumpIfInventory("Dosh",0,"Nope")
	TNT1 A 0 A_JumpIf(CallACS("MoneyShareCheck"),2)
	TNT1 A 0 A_GiveToTarget("Dosh",10000)
	Stop
	TNT1 A 0 ACS_NamedExecuteAlways("MoneySharing",0,10000)
	Stop
	Nope:
	TNT1 A 0
	Fail
	}
}

ACTOR PrismTome : Ammo
{
	Inventory.PickupMessage "$GOTPRISM"
	Inventory.Amount 1
	Inventory.MaxAmount 1
	Ammo.BackpackAmount 0
	Ammo.BackpackMaxAmount 1
	Inventory.PickupSound "Tome/Pickup"
	Inventory.MaxAmount 1
	+FLOATBOB
	+INVENTORY.UNDROPPABLE
	States
	{
	Spawn:
	//TNT1 A 0 NoDelay A_JumpIf(CallACS("ParticleChoke"), "Main")
	TNT1 A 0 A_SpawnItemEx("TomeFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE)
	TNT1 A 0 A_Jump(256,"Blue","Cyan","Green","Yellow","Orange","Red","Purple") //Yes I missed lime, whatever.
	Goto Main
	Blue:
	TNT1 A 0 A_SpawnItemEx("TomeParticleBlue",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Cyan:
	TNT1 A 0 A_SpawnItemEx("TomeParticleCyan",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Green:
	TNT1 A 0 A_SpawnItemEx("TomeParticleGreen",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Yellow:
	TNT1 A 0 A_SpawnItemEx("TomeParticleYellow",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Orange:
	TNT1 A 0 A_SpawnItemEx("TomeParticleOrange",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Red:
	TNT1 A 0 A_SpawnItemEx("TomeParticleRed",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Purple:
	TNT1 A 0 A_SpawnItemEx("TomeParticlePurple",frandom(15.0,-15.0),frandom(15.0,-15.0),30+frandom(15.0,-15.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Goto Main
	Main:
	BOOK R 1 Bright
	Goto Spawn
	}
}