


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// HELL ARTIFACT


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

ACTOR InvulnerabilitySphere_  : PowerupGiver //Replaces InvulnerabilitySphere
{
	Game Doom
	SpawnID 133
	+COUNTITEM
	 +CANNOTPUSH
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	+INVENTORY.BIGPOWERUP
	Inventory.MaxAmount 0
	Powerup.Type Invulnerable
	//Powerup.Color White //InverseMap
	Powerup.Colormap 0.0, 0.0, 0.0, 1.0,1.0,1.0
	Inventory.PickupMessage "$GOTINVUL"
	Inventory.PickupSound "GETINV"
	Tag "Invulnerability"
		+FLOATbob
		+FORCEXYBILLBOARD
	FloatBobStrength 0.3
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 
		
	Stay:
		PINV AAABBBCCCDDD 2 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("InvulnerabilitySphereSUCC",0,0)
		STOP
	}
}

ACTOR InvulnerabilitySphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		PINV AAABBB 2 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}




// Soulsphere --------------------------------------------------------------

ACTOR LifeSphere : CustomInventory //Replaces SoulSphere
{
	+COUNTITEM
  +CANNOTPUSH
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTSOULSPHERE"
	Inventory.PickupSound "GETSOUL"
	Tag "Soul sphere"
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 
		
		Stay:
		TNT1 A 0 A_CheckSight("Spawn2")
		SOUL AAABBBCCCDDDCCCBBB 2 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("LifeSphereSUCC",0,0)
		STOP
		
	Spawn2:
		SOUL ABCDCB 2 BRIGHT a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Goto Stay
	Pickup:
        TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_GiveInventory("SoulSphereHealth", 1)
		TNT1 A 0 A_takeinventory("UsedStamina",800,0)
		Stop
	}
}

ACTOR LifeSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		SOUL ABCDCB 2 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

ACTOR SoulSphereHealth : Health	
{
	Inventory.Amount 100
	Inventory.MaxAmount 300
	+INVENTORY.ALWAYSPICKUP
}

// Regen Sphere --------------------------------------------------------------

actor RegenGiver : PowerupGiver
{
	Game Doom
	inventory.pickupmessage "\cA Regeneration!!."
	inventory.maxamount 0
	powerup.duration -60
	powerup.strength 10
	powerup.color red, 0.05
	powerup.type Regeneration
	+COUNTITEM
   +CANNOTPUSH
	+NOGRAVITY
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	States
	{
	Spawn:
		REGN ABCD 6 Bright 
		Loop	
	}
}

ACTOR RegenSphere : CustomInventory
{
	+COUNTITEM
	+INVENTORY.autoactivate
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTREGENSPHERE"
	Inventory.PickupSound "misc/p_pkup"
	Tag "Infernal Heart"
	  	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
  Spawn:
  	TNT1 A 0
	TNT1 A 0 
		
	Stay:
		REGN ABCD 6 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("RegenSphereSUCC",0,0)
		STOP
	  
	Pickup:
		TNT1 A 0 A_STARTSOUND("HEARTPK", 666)
		TNT1 A 0 A_GiveInventory("RegenGiver", 1)
		TNT1 A 0 ACS_NamedExecuteAlways("STAMINASPHERE",0)
		TNT1 A -1
		Stop
	}
}

ACTOR RegenSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		REGN AB 6 bright
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

// Doom Relic --------------------------------------------------------------

ACTOR Allsphere : CustomInventory
{
	+COUNTITEM
  +CANNOTPUSH
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTDOOMRELIC"
	Inventory.PickupSound "GETINV"
	Tag "Doom Relic"
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
  Spawn:
	TNT1 A 0
		TNT1 A 0 
		
	Stay:
    DWPW AAAAAAAAAAAABCDEFGHI 3 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
	Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("AllSphereSUCC",0,0)
		STOP

	Pickup:
		TNT1 A 0 A_GiveInventory("TurbosphereST", 1)
		TNT1 AA 0 A_GiveInventory("DoomsphereST", 1)
		TNT1 A 0 A_GiveInventory("SoulSphereHealth", 1)	
		TNT1 A 0 ACS_NAMEDEXECUTE("DoomguySphere",0)
		Stop
	}
}

ACTOR AllSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		DWPW BCDE 3 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

// Hourglass --------------------------------------------------------------

Actor TimeSphere : custominventory
{
  	+CountItem
	+CANNOTPUSH
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 1
	Inventory.Icon "TIMEO0"
  	Inventory.Pickupsound "Slomo_on"
  	Inventory.PickupMessage "$GOTHOURGLASS"
	 tag"Hourglass Artifact"
	SCALE 0.2
		+FLOATbob
	FloatBobStrength 0.4
	+FORCEXYBILLBOARD
  	States
  	{
  	Spawn:
		TNT1 A 0
	Stay:
		TIME ABCDEFGHIJKLMNMLKJIHGFEDCB 4 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("TimeSphereSUCC",0,0)
		STOP
		
	Pickup:
		TNT1 A 0 A_GiveInventory("TimeFreezer2", 1)
		TNT1 A -1
		Stop
  	}
}

ACTOR TimeSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	SCALE 0.2
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TIME ABC 4 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}


Actor TimeFreezer2 : PowerupGiver
{
	Powerup.Type "TimeFreezer"
	Powerup.Color InverseMap
	Powerup.Duration -40
  +AUTOACTIVATE
  +INVENTORY.FANCYPICKUPSOUND
  States
  {
  Spawn:
    MEGA ABCD 4 bright
    Loop
  }
}

ACTOR PowerTimeFreezer2 : PowerTimeFreezer
{
  Powerup.Duration 2
}


// Vampire Mask --------------------------------------------------------------

Actor VampireSphere : PowerupGiver
{
  +CountItem
   +CANNOTPUSH
  +Inventory.AlwaysPickup
  +Inventory.AutoActivate
  Inventory.MaxAmount 1
  Powerup.Type PowerDrain
  Powerup.Duration -100
  Powerup.Color RedMap
  Inventory.PickupMessage "\ca VAMPIRE's MASK! \cs Inflict damage to heal yourself"
  tag"Vampire's mask"
  	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
  States
  {
  Spawn:
  TNT1 A 0 
  TNT1 A 0 
  
  Stay:
    MTRR BBBBBBBBBCDC 3 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("VampireSphereSUCC",0,0)
		STOP
  }
}

ACTOR VampireSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		 MTRR B 12 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

////////// MEGA

ACTOR EnergySphere : CustomInventory 
{
	+COUNTITEM
  +CANNOTPUSH
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "Megasphere!"
	Inventory.PickupSound "megasph"
	Tag "Megasphere"
		+FLOATbob
	FloatBobStrength 0.4
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
	TNT1 A 0
		TNT1 A 0 
		Stay:
		TNT1 A 0 A_CheckSight("Spawn2")
		MEGA AABBCCDD 2 BRIGHT a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("EnergySphereSUCC",0,0)
		STOP
		
	Spawn2:	
		MEGA AABBCCDD 2 BRIGHT a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Goto Spawn
	Pickup:
        TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 1 ACS_NamedExecuteAlways("GIVEROCKSKIN",0)
		TNT1 AA 0 A_GiveInventory("SoulsphereHealth", 1)
		TNT1 A 0 A_takeinventory("UsedStamina",2000,0)
		Stop
	}
}

ACTOR EnergySphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		 MEGA ABCD 3 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

//////////// BLUR

ACTOR SuperBlurSphere : CustomInventory //Replaces BlurSphere
{
  +COUNTITEM
   +CANNOTPUSH
  +VISIBILITYPULSE
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  RenderStyle Translucent
  Inventory.PickupMessage "$GOTINVIS" // "Partial Invisibility"
  Inventory.PickupSound "GETBLUR"
  tag"Blur Sphere"
  	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
  States
  {
  Spawn:
	TNT1 A 0
		TNT1 A 0 
		
		Stay:
     PINS AABBCCDDCCBB 2 Bright a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("BlurSphereSUCC",0,0)
		STOP
		
  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 BlurSphereSUCC 
{
	+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		 PINS AABB 3 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

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

ACTOR BerserkPack : CustomInventory
{
	Game Doom
    Scale 1.2
	SpawnID 134
	+COUNTITEM
	+invbar
	+canpass
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 1
	Inventory.PickupMessage "$GOTBERSERK"
    Inventory.PickupSound "HARMRPK"
	iNVENTORY.ICON "RSYRE0"
	+Inventory.NEVERRESPAWN
	Tag "Berserk Pack"
	SCALE 0.2
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		MEDK C 0
		TNT1 A 0
		TNT1 A 0 
		MEDK C 0 A_SpawnItemEx("EvidenceCheckerbERSERk", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	Stay:
	MEDK C -1
	stop

	Use:
		TNT1 A 0 A_Giveinventory("battledrugtoken",1)
		TNT1 A 0 A_Giveinventory("REDdrug",1)		
		TNT1 A 0 A_takeinventory("UsedStamina",600,0)
		TNT1 A 0 A_GiveInventory("PowerStrength2")
		TNT1 A 0 A_Giveinventory("PermanentBerserk",1)
		TNT1 A 0 A_GiveInventory("BerserkResist")
		TNT1 A 0 HealThing(100, 300)
		TNT1 A 0 ACS_namedexecute("BERSERKRAGE")										  
		TNT1 A 20
		TNT1 A 0 A_Print ("\cR Rip and Tear!")
		Stop
	}
}

ACTOR DemonStrengthRune : CustomInventory
{
	Game Doom
    Scale 0.5
	SpawnID 134
	+COUNTITEM
  +CANNOTPUSH
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTRUNE"
	Inventory.PickupSound "misc/p_pkup"
	tag"Carnage Rune"
		+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 
		
		Stay:
		DPRF AABBCCBB 2 BRIGHT a_jumpifinventory("ArtifactRemover",1,"SuCC")
		Loop
		
	SuCC:
		TNT1 A 0 a_spawnitem("RuneSUCC",0,0)
		STOP
		
	Pickup:
		TNT1 A 0 A_takeinventory("UsedStamina",200,0)
		TNT1 A 0 A_GiveInventory("BerserkTimer", 100)
		TNT1 A 0 A_GiveInventory("PowerStrength2", 1)
		TNT1 A 0 ACS_NamedExecute("StrengthTimer",0)
		TNT1 A 0 HealThing(30, 300)
		TNT1 A 20
		TNT1 A 0 A_Print ("$GOTRUNE")
		TNT1 A 0 A_jumpifinventory("SSG",1,"Pickup2")
		Stop
		
		Pickup2:
		TNT1 A 0 A_GiveInventory("SSGCharge", 10)
		TNT1 A 0 A_Giveinventory("SSGDurability",50)
		STOP
	}
}

ACTOR RuneSUCC 
{
	+FLOATbob
	 Scale 0.5
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		 DPRF AABBCC 2 BRIGHT
	SuCC:
		"####" "#" 2 BRIGHT A_SETSCALE(0.8, 0.8)
		"####" "#" 2 BRIGHT A_SETSCALE(0.7, 0.7)
		"####" "#" 2 BRIGHT A_SETSCALE(0.6, 0.6)
		"####" "#" 2 BRIGHT A_SETSCALE(0.5, 0.5)
		STOP
	}
}

ACTOR SummonRune : CustomInventory
{
	Game Doom
    Scale 0.8
	SpawnID 134
	+COUNTITEM
  +CANNOTPUSH
	+nogravity
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTRUNE"
	Inventory.PickupSound "misc/p_pkup"
	tag"Powerful Carnage Rune"
		+FLOATbob
	FloatBobStrength 0.3
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 
		
		Stay:
		DPRF AABBCCBB 2 A_SpawnItem("RedFlareSmall",0,20)
		Loop
	Pickup:
		TNT1 A 0 A_takeinventory("UsedStamina",1000,0)
		TNT1 A 0 A_GiveInventory("PowerStrength2", 1)
		TNT1 A 0 A_GiveInventory("SoulSphereHealth", 2)
		TNT1 A 0 A_Giveinventory("PermanentBerserk",1)
		TNT1 A 20
		TNT1 A 0 A_Print ("Demonic powers flows through your body.")
		TNT1 A 0 A_jumpifinventory("SSG",1,"Pickup2")
		Stop
		
		Pickup2:
		TNT1 A 0 A_GiveInventory("SSGCharge", 10)
		TNT1 A 0 A_Giveinventory("SSGDurability",150)
		STOP
	}
}

//// DEMONIC RAGE SHARD

ACTOR ShardDamage : PowerDamage {Damagefactor "normal", 1.5}
ACTOR ShardResist : PowerProtection {DamageFactor "Normal", 0.5}

ACTOR ShardResistPower : PowerupGiver
{
  Inventory.PickupMessage "Damageresist"
  Powerup.Type "ShardResist"
  Powerup.Duration 37
  Powerup.Color RED, 0.05
  +INVENTORY.AUTOACTIVATE
  States
  {
  Spawn:
    MEGA ABCD 4 Bright
    Loop
  }}
  
  ACTOR ShardDamagePower : PowerupGiver
{
  Inventory.PickupMessage "Damagedealt"
  Powerup.Type "ShardDamage"
  Powerup.Duration 37
  Powerup.Color red, 0.05
  +INVENTORY.AUTOACTIVATE
  States
  {
  Spawn:
    MEGA ABCD 4 Bright
    Loop
  }}

Actor ArmorGem : custominventory
{
	Radius 20
	Height 16
	scale 0.3
	Inventory.Amount 1
	Inventory.maxamount 100
	Inventory.interhubamount 100
	Inventory.Icon "ARGEK0"
	Inventory.PickupMessage "$GOTGEM"
    Inventory.PickupSound "ARGEPK"
	tag"Hell Gem"
	+INVBAR
	+THRUGHOST
	+GHOST
	+THRUACTORS
	-COUNTITEM
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		ARGE ABCFCFCFDECFCFCF 5 BRIGHT
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		Goto Spawn2
	Spawn2:
		ARGE ABCGFGCFCGFDECFGCFGCFG 5 BRIGHT
		Loop
		
	Use:
		TNT1 A 0 a_jumpifinventory("demonshardactive",1,5)
		TNT1 A 0 a_log("demonic energy courses through your body...")
		TNT1 A 0 A_startsound("RSHARD2",240)
		TNT1 A 0 A_startsound("RSHARD1",241,CHANF_LOOPING,0.5)
		TNT1 A 0 ACS_NamedExecute("DemonShardBuff",0)
		FAIL
		TNT1 A 0
		fail
	}
}

// Complements --------------------------------------------------------------

ACTOR RageSphere : PowerupGiver
{
  +COUNTITEM
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  Inventory.MaxAmount 0
  Powerup.Duration -60
  Powerup.Color 255, 153, 0, 0.125
  Inventory.PickupMessage "Double fire rate!"
  Powerup.Type "PowerDoubleFiringSpeed"
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
  TNT1 A 0
TNT1 A 0 

Stay:
    BLDS ABCDCB 6 Bright
    Loop
  }
}

Actor PowerQuadDamageST : PowerDamage
{
Damagefactor "Normal", 4
}

Actor DoomsphereST : PowerupGiver
{
  +CountItem
  +NoGravity
  +Inventory.AlwaysPickup
  +Inventory.AutoActivate
  Inventory.MaxAmount 1
  Powerup.Type QuadDamageST
  Powerup.Color goldMap
  Powerup.Duration -30
  Inventory.PickupMessage "DOOMSPHERE!"
   tag"Doom Relic"
   +FORCEXYBILLBOARD
  States
  {
  Spawn:
  TNT1 A 0
  TNT1 A 0 
  
  Stay:
    DOOM A 10 Bright
    DOOM B 15 Bright
    DOOM C 8 Bright
    DOOM D 6 Bright
    Loop
  }
}

ACTOR PowerDoubleDamage : PowerDamage
{
	Damagefactor "normal", 2
}

ACTOR DoubleSphere : PowerupGiver
{
	+COUNTITEM
	+NOGRAVITY
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
	Powerup.Type DoubleDamage
	Powerup.Color RedMap
	Powerup.Duration -30
	Inventory.PickupMessage "Double Damage!"
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
	TNT1 A 0
	TNT1 A 0 
	
	Stay:
		DDMG ABCB 6 Bright
		Loop
	}
}

Actor PowerTurboST : PowerSpeed
{
  Inventory.Icon "TURBA1"
}

Actor TurbosphereST : PowerupGiver
{
  +CountItem
  +NoGravity
    +INVENTORY.AUTOACTIVATE
  +Inventory.AlwaysPickup
  Inventory.MaxAmount 1
  Inventory.Icon TURBA1
  Powerup.Type TurboST
  Powerup.Duration -30
  Inventory.PickupMessage "Turbosphere!"
  States
  {
  Spawn:
  	TNT1 A 0
	TNT1 A 0 
		
	Stay:
    TURB ABCD 3 Bright
    Loop
  }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ARTIFICIAL

////////////////////// RAD SUITS

ACTOR RadSuits : CustomInventory Replaces Radsuit
{
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding Suit"
  tag"HEV Suit"
  States
  {
  Spawn:
    SUIT A 10
	SUIT A 10 BRIGHT
	Loop
  Pickup:
		TNT1 A 0
		TNT1 A 0 A_GiveInventory("Radsuit3", 1)
		TNT1 A 0 A_GiveInventory("Radsuit2", 1)
		Stop	
  }
}

ACTOR RadSuit2 : PowerupGiver
{
radius 50
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding Suit"
  Powerup.Type "Mask"
  tag""
  Powerup.Duration -60
  States
  {
  Spawn:
    SUIT A 10
	SUIT A 10 BRIGHT
	Loop
  }
}



ACTOR RadSuit3 : PowerupGiver
{
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  Powerup.Duration -60
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding Suit"
  Powerup.Type "IronFeet"
  States
  {
  Spawn:
    SUIT A 10
	SUIT A 10 BRIGHT
	Loop
  }
}

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

ACTOR NightVision : CustomInventory
{
	Game Doom
	SpawnID 138
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "You got the Infrared Vision Googles."
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 
		
		Stay:
		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 4
		SVIS DCBACD 2 BRIGHT
		Goto stay
		
	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 Torch
	Inventory.PickupMessage "$GOTVISOR"
	//Powerup.Colormap 0.0, 0.0, 0.0, 1.0,0.5,0.5
	Powerup.Duration -60
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		TNT1 A 0
		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 NightVisionSpawner : RandomSpawner  //Replaces InfraRed
{
    DropItem "Infrared2"
	DropItem "Infrared2"
	DropItem "SentryBox"
	DropItem "EnemySentry"
}
