// Invulnerability Sphere ---------------------------------------------------

ACTOR InvulnerabilitySphere_  : PowerupGiver Replaces InvulnerabilitySphere
{
	Game Doom
	SpawnID 133
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	Inventory.MaxAmount 0
	Powerup.Type Invulnerable
	Powerup.Color White //InverseMap
	Inventory.PickupMessage "$GOTINVUL"
	States
	{
	Spawn:
		TNT1 A 0 A_CheckSight("Spawn2")
		PINV AAABBBCCCDDD 2 Bright A_SpawnItem("GreenFlareMedium",0,20)
		Loop
	Spawn2:
		PINV A 6
		goto spawn
	}
}




// Soulsphere --------------------------------------------------------------
Actor soulBlueFlareMedium2 : Flare_General
{
alpha 0.3
scale 0.25
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		LENB A 6 bright
		stop
		TNT1 A 0
		LENB B 8 bright
		stop
	}
}
ACTOR LifeSphere : CustomInventory Replaces SoulSphere
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "Soulsphere"
	renderstyle add
	Inventory.PickupSound "none"
	States
	{
	Spawn:
		TNT1 A 0 A_CheckSight("Spawn2")
		SOUL ABCDCB 6 Bright A_SpawnItem("soulBlueFlareMedium2",0,20)
		Loop
	Spawn2:
		SOUL A 4
		Goto Spawn
	Pickup:
	tnt1 a 0 A_noblocking
		TNT1 A 0 A_GiveInventory("SoulSphereHealth", 1)
		tnt1 a 0 A_quake(5,10,0,3,none)
		tnt1 a 0 A_quake(1,50,0,3,none)
		tnt1 a 0 A_playsound("misc/p_pkup",1,0.5)
		tnt1 a 0 A_playsound("Supercharge",2,1.5)
		tnt1 a 4
		TNT1 A 0 A_CustomMissile ("LifeSphereglow", 15, 0, random (0, 360), 0, random (0, 360))
		Stop
	}
}

ACTOR LifeSphereglow
{
	+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
scale 0.2
radius 0
height 0
	renderstyle add
	States
	{
	Spawn:
		POP2 ABCDEFGHIJKLMN 1
		Stop
	}
}
ACTOR energySphereglow
{
	+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
scale 0.24
radius 0
height 0
	renderstyle add
	States
	{
	Spawn:
		POP1 ABCDEFGHIJKLMN 1
		Stop
	}
}
ACTOR SoulSphereHealth : Health	
{
	Inventory.Amount 100
	Inventory.MaxAmount 200
	+INVENTORY.ALWAYSPICKUP
}

ACTOR EnergySphere : CustomInventory Replaces Megasphere
{
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	renderstyle add
	Inventory.PickupMessage "Megasphere"
	Inventory.PickupSound "none"
	States
	{
	Spawn:
		TNT1 A 0 A_CheckSight("Spawn2")
		MEGA ABCD 7 BRIGHT A_SpawnItem("LensFlare",0,35)
		Loop
	Spawn2:	
		MEGA A 12
		Goto Spawn
	Pickup:
	tnt1 a 0 A_noblocking
        
		TNT1 A 0 A_GiveInventory("BlueArmorForMegasphere", 1)
		TNT1 AA 0 A_GiveInventory("SoulsphereHealth", 1)
		tnt1 a 0 A_quake(8,10,0,3,none)
		tnt1 a 0 A_quake(1,75,0,3,none)
		tnt1 a 0 A_playsound("misc/p_pkup",1,0.85)
		tnt1 a 0 A_playsound("Supercharge",2,1.8)
		tnt1 a 4
		TNT1 A 0 A_CustomMissile ("energySphereglow", 16, 0, random (0, 360), 0, random (0, 360))
		Stop
	}
}	


// infrared -----------------------------------------------------------------

ACTOR NightVision : CustomInventory Replaces InfraRed
{
	Game Doom
	SpawnID 138
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "You got the Infrared Vision Googles."
	States
	{
	Spawn:
		TNT1 A 0 A_CheckSight("Spawn2")
		SVIS E 7
		SVIS D 3 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS C 2 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS BAB 1 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS C 2 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS D 3 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		Loop
	Spawn2:
		SVIS E 6
		Goto Spawn
		
	Pickup:
		TNT1 A 1
		TNT1 A 0 A_GiveInventory("HasInfrared", 1)
		TNT1 A 0 A_GiveInventory("NightVisionGiver", 1)
     TNT1 A 0 A_GiveInventory("HasInfraRed", 1)
	 TNT1 A 0 ACS_ExecuteAlways(398, 0, 0, 0, 0)
	 TNT1 A 1
		Stop
		
	}
}


ACTOR NightVisionGiver : PowerupGiver
{
	Game Doom
	SpawnID 138
	+COUNTITEM
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	Powerup.Type LightAmp
	Inventory.PickupMessage "$GOTVISOR"
	//Powerup.Colormap 0.0, 0.0, 0.0, 1.0,0.5,0.5
	Powerup.Duration 4200
	States
	{
	Spawn:
		SVIS E 7
		SVIS D 3 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS C 2 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS BAB 1 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS C 2 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		SVIS D 3 Bright A_SpawnItem("RedFlareVerySmall",0,10)
		Loop
		
	
	}
}

Actor HasInfrared : Inventory
{
inventory.maxamount 1
}

// Berserk ------------------------------------------------------------------


Actor BersRedFlareVerySmall : Flare_General
{
scale 0.1
alpha 0.2
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		LENR A 8 bright
		stop
		TNT1 A 0
		LENR B 16 bright
		stop
	}
}
ACTOR Berserl1 : CustomInventory Replaces Berserk
{
	Game Doom
    Scale 1.2
	SpawnID 134
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTBERSERK"
	Inventory.PickupSound "misc/p_pkup"
    Inventory.PickupSound "BERSPKUP"
	States
	{
	Spawn:
		TNT1 A 0 A_CheckSight("Spawn2")
		BERS A 8 A_SpawnItem("BersRedFlareVerySmall",0,10)
		Loop
	Spawn2:
		BERS A 16
		Goto Spawn
	Pickup:
		TNT1 A 0 A_GiveInventory("PowerStrength")
		TNT1 A 0 HealThing(100, 0)
		TNT1 A 0 A_SelectWeapon("Melee_Attacks")
		TNT1 A 20
		TNT1 A 0 A_Print ("Press Reload (R) to alternate execution modes")
		Stop
	}
}

ACTOR SuperBlurSphere : CustomInventory //Replaces BlurSphere
{
  +COUNTITEM
  +VISIBILITYPULSE
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  RenderStyle Translucent
  Inventory.PickupMessage "$GOTINVIS" // "Partial Invisibility"
  States
  {
  Spawn:
	 TNT1 A 0 A_CheckSight("Spawn2")
     PINS AABBCCDDCCBB 2 Bright A_SpawnItem("RedFlare", 0, 24)
     Loop
  Spawn2:
	 PINS A 6
	 goto spawn
  Pickup:
	 TNT1 A 1
     TNT1 A 0 A_GiveInventory("IsInvisible", 1)
	 TNT1 A 0 A_GiveInventory("Blursphere", 1)
	 TNT1 A 0 ACS_ExecuteAlways(397, 0, 0, 0, 0)
	 TNT1 A 1
	 Stop
  }
}

Actor RuneFlare : Flare_General
{
scale 0.15
states
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		LENR A 16 bright
		stop
		TNT1 A 0
		LENR B 22 bright
		stop
	}
}
ACTOR DemonStrengthRune : Berserl1
{
	Game Doom
    Scale 0.2
	SpawnID 134
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "You got the Demon Strength Rune. RIP AND TEAR!"
	Inventory.PickupSound "misc/p_pkup"
	States
	{
	Spawn:
		tnt1 a 0 A_SpawnItem("RuneFlare",0,20)
		DPRF AABBCCBB 2
		Loop
	Pickup:
		TNT1 A 0 A_GiveInventory("PowerStrength")
		TNT1 A 0 HealThing(10, 0)
		TNT1 A 20
		TNT1 A 0 A_Print ("You got the Demon Strength Rune. RIP AND TEAR!")
		Stop
	}
}





