ACTOR ScrollFloorToken : Inventory { Inventory.Amount 1 Inventory.MaxAmount 1 }
ACTOR ScrollActiveToken : Inventory { Inventory.MaxAmount 1 }

ACTOR ScrollOfTerror : SignetOfNecromancy
{
Inventory.Icon "SOT8A0"
Inventory.PickupSound "scrollofterror/pickup"
Inventory.PickupMessage "You got a Scroll Of Terror"
Tag "Scroll Of Terror - Spawn a boss from the Terror tier and receive godlike rewards"
Scale 0.6
States
{
  Spawn:
	TNT1 A 1 A_TakeInventory("ScrollFloorToken",1)
	TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("NexusNoFloat") == 0,2)
	TNT1 A 0 A_ChangeFlag(FLOATBOB,0)
	TNT1 A 0 A_SpawnItemEx("ScrollFloorEffect",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION)
  SpawnLoop:
	TNT1 A 0 A_CustomMissile("PurplePowerLineSpawner2",0,0,Random(0,-360),2,Random(0,360))
	SOT7 A 12 Bright A_CustomMissile("VoidSparkleSpawner2",0,0,Random(0,-360),2,Random(0,360))
	TNT1 A 0 A_CustomMissile("PurplePowerLineSpawner2",0,0,Random(0,-360),2,Random(0,360))
	SOT7 B 12 Bright A_CustomMissile("VoidSparkleSpawner2",0,0,Random(0,-360),2,Random(0,360))
	TNT1 A 0 A_CustomMissile("PurplePowerLineSpawner2",0,0,Random(0,-360),2,Random(0,360))
	SOT7 C 12 Bright A_CustomMissile("VoidSparkleSpawner2",0,0,Random(0,-360),2,Random(0,360))
	TNT1 A 0 A_CustomMissile("PurplePowerLineSpawner2",0,0,Random(0,-360),2,Random(0,360))
	SOT7 D 12 Bright A_CustomMissile("VoidSparkleSpawner2",0,0,Random(0,-360),2,Random(0,360))
	TNT1 A 0 A_CustomMissile("PurplePowerLineSpawner2",0,0,Random(0,-360),2,Random(0,360))
	SOT7 E 12 Bright A_CustomMissile("VoidSparkleSpawner2",0,0,Random(0,-360),2,Random(0,360))
	Loop
  Pickup:
	TNT1 A 0
	TNT1 A 1 A_GiveInventory("ScrollFloorToken",1,AAPTR_DEFAULT)
	Stop
	}
}

ACTOR ScrollFloorEffect : SignetFloorEffect
{
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("scrollofterror/ambient",7,1.0,TRUE)
  Warp:
    NADA ABCDEFGH 2 Bright A_Warp(AAPTR_MASTER,0,0,0,0,WARPF_ABSOLUTEANGLE|WARPF_INTERPOLATE)
	TNT1 A 0 A_JumpIfInventory("ScrollFloorToken",1,"Fade",AAPTR_MASTER)
	Loop
  Fade:
    NADA A 1 Bright A_StopSound(7)
	//TNT1 A 0 A_SpawnItem("ScrollFloorExplode")
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	TNT1 A 0 A_SetScale(Scalex+0.1,Scaley+0.1)
	NADA A 1 Bright A_Fadeout(0.08,0)
	Stop
	}
}

ACTOR ScrollFloorExplode : PurpleDBFGBoltExpImpact
{
DamageType "NONE"
States
{
  Spawn:
    TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	//TNT1 A 0 A_Explode(512,256,0,1)
	TNT1 A 0 A_SpawnItemEx("PurpleDBFGBoltExpStruckGlowX",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("PurpleDBFGBoltExpStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 A 0 A_SpawnItemEx("PurpleDBFGBoltExpImpactFlareSpawner",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("PurpleDBFGBoltExpSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),0,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("PurpleDBFGBoltExpChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("PurpleDBFGBoltExpChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,0,0)
	Stop
}
}