ACTOR Soulsphere2 : Soulsphere
{
  Inventory.MaxAmount 200
  Inventory.PickupMessage "Soulsphere!"
  Inventory.PickupSound "Soulsphere/Pickup"
  Renderstyle Add
  +FLOATBOB
  States
  {
  Spawn:
	TBSS AA 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS AAAA 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS B 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS BBBB 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS A 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS CCCC 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS A 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS DDDD 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS E 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS EEEE 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS F 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS FFFF 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS E 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS EEEE 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS D 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS DDDD 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS C 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS CCCC 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	TBSS B 0 A_SpawnItemEx("SoulFade",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
    TBSS BBBB 1 Bright A_SpawnItemEx("SoulsphereParticle",frandom(10.0,-10.0),frandom(10.0,-10.0),35+frandom(10.0,-10.0),frandom(0.6,-0.6),frandom(0.6,-0.6),frandom(1.2,0.4),frandom(0.0,360.0),SXF_CLIENTSIDE,64)
	Loop
  }
}

ACTOR SoulFade
{
  +NOGRAVITY
  +NOINTERACTION
  +NOTONAUTOMAP
  Renderstyle Add
  States
  {
  Spawn:
	TBSS C 1 A_FadeOut(0.12)
	TBSS C 0 A_SetScale(ScaleX+0.02,ScaleX)
	Loop
  }
}

ACTOR SoulsphereParticle : ItemParticle
{
	States
	{
	Spawn:
	BPRT B 0
	SetScale:
	"####" "#" 0 A_SetScale(0.1)
	Main:
	"####" "#" 0 A_JumpIf(ScaleX <= 0,"NULL")
	"####" "#" 0 A_FadeOut(frandom(0.02,0.04))
	"####" "#" 0 A_ChangeVelocity(0,0,frandom(-0.1,0.15),CVF_RELATIVE)
	"####" "#" 1 Bright A_SetScale(ScaleX-frandom(-0.01,0.02))
	Loop
	}
}