

// *** MODIFIED BY CHEBMASTER
// I mark places modified by me with //***Che 

// 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
	Powerup.Colormap 0.0, 0.0, 0.0, 1.0,1.0,1.0
	Inventory.PickupMessage "$GOTINVUL"
	Tag "Invulnerability"
	States
	{
	Spawn:
		PINV AAABBBCCCDDD 2 Bright A_SpawnItem("GreenFlareMedium",0,20)
		Loop
	}
}




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

ACTOR LifeSphere : CustomInventory Replaces SoulSphere
{
	+COUNTITEM
	-INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "Soulsphere"
	Inventory.PickupSound None //"misc/p_pkup"
	Tag "Soulsphere"
	//$category "Powerups"
	States
	{
		Spawn:
			TNT1 A 0 A_CheckSight("Spawn2")
			SOUL AAABBBCCCDDDCCCBBB 2 Bright A_SpawnItem("BlueFlareMedium2",0,20)
			Loop
		Spawn2:
			SOUL ABCDCB 2 BRIGHT
			Goto Spawn
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 100, 200), "DoFail")
			TNT1 A 0 A_PlaySound("misc/p_pkup", CHAN_ITEM)
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			//TNT1 A 0 A_GiveInventory("SoulSphereHealth", 1)
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("LifeSphereNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!
	}
}

ACTOR LifeSphereNoCount: LifeSphere

{
	//$category "Powerups"
	Inventory.PickupSound "misc/p_pkup"
	-COUNTITEM
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 100, 200), "DoFail")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			Stop
		DoFail:
			TNT1 A 0 A_RailWait
			Fail	
	}
}

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

ACTOR EnergySphere : CustomInventory Replaces Megasphere
{
	//$category "Powerups"
	+COUNTITEM
	-INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "Megasphere"
	Inventory.PickupSound None //"misc/p_pkup"
	Tag "Megasphere"
	States
	{
		Spawn:
			TNT1 A 0 A_CheckSight("Spawn2")
			MEGA AABBCCDD 2 BRIGHT A_SpawnItem("LensFlare",0,35)
			Loop
		Spawn2:	
			MEGA AABBCCDD 2 BRIGHT
			Goto Spawn
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", 2, 200, 200, 200), "DoFail")
			TNT1 A 0 A_PlaySound("misc/p_pkup", CHAN_ITEM)
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("EnergySphereNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!
	}
}

ACTOR EnergySphereNoCount: EnergySphere
{
	//$category "Powerups"
	Inventory.PickupSound "misc/p_pkup"
	-COUNTITEM
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", 2, 200, 200, 200), "DoFail")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			Stop
		DoFail:
			TNT1 A 0 A_RailWait
			Fail	
	}
}	


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

ACTOR NightVision : CustomInventory
{
	//$category "Powerups"
	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 4
		SVIS DCBACD 2 BRIGHT
		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 Torch
	Powerup.Color 99 99 99
	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
		
	
	}
}



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

ACTOR BerserkPack : CustomInventory Replaces Berserk
{
	//$category "Powerups"
	Game Doom
    Scale 1.2
	SpawnID 134
	+COUNTITEM
	+INVENTORY.ALWAYSPICKUP
	Inventory.PickupMessage "$GOTBERSERK"
	Inventory.PickupSound "misc/p_pkup"
    Inventory.PickupSound "BERSPKUP"
	+Inventory.NEVERRESPAWN
	Tag "Berserk Pack"
	States
	{
	Spawn:
		MEDK C 0
		MEDK C 0 A_SpawnItemEx("EvidenceCheckerbERSERk", 0, 0, 0, 0, 0, 0, 0, SXF_NOCHECKPOSITION)
	Spawn1:	
		TNT1 A 0 A_CheckSight("Spawn2")	
		MEDK C 2 A_SpawnItem("RedFlareVerySmall",0,10)
		Loop
	Spawn2:
		MEDK C 14
		Goto Spawn1
	Pickup:
		TNT1 A 0 A_GiveInventory("PowerStrength")
		TNT1 A 0 HealThing(100, 0)
		//TNT1 A 0 ACS_NamedExecuteAlways("GetBerserkEffect")
		//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:
     PINS AABBCCDDCCBB 2 Bright A_SpawnItem("RedFlare", 0, 24)
     Loop
  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 DemonStrengthRune : BerserkPack
//***Che: evicted to FBD_DemonRuneMix.txt



ACTOR RadSuits : CustomInventory Replaces Radsuit
{
  //$category "Powerups"
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding 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
{
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding Suit"
  Powerup.Type "Mask"
  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
  
  Inventory.PickupMessage "$GOTSUIT" // "Radiation Shielding Suit"
  Powerup.Type "IronFeet"
  States
  {
  Spawn:
    SUIT A 10
	SUIT A 10 BRIGHT
	Loop
  }
}
		
//A randomizer for Demon Runes

//***Che: evicted to FBD_DemonRuneMix.txt


actor NightVisionSpawner : RandomSpawner  Replaces InfraRed
{
    //$category "Powerups"
	DropItem "DemonRuneMix"
    //DropItem "NIghtvision" //***Che away withthe useles thing!
	DropItem "QQuadDamage"
	//DropItem "BuzzSawAmmoBox"
	DropItem "Flamethrower2"
	DropItem "SuperBlurSphere"
	Tag "Nightvision/Demon Rune/Flamethrower"
}


//***Che
// from [BETA7] Q - Quake stuff for Doom, Heretic and Hexen by Dark-Assassin	
// https://zandronum.com/forum/viewtopic.php?f=58&t=7996&start=20
// Note their download links expired, you can't download it anymore.

Actor QQuadDamage : CustomInventory 17684
{
	//$category "Powerups"
	Inventory.PickupMessage "$QUAD_DAMAGE"
	Inventory.PickupSound "quaddamage/pickup"
	+INVENTORY.ALWAYSPICKUP
	+COUNTITEM
	Height 28
	Radius 16
	Scale 0.5
	+BRIGHT
	States {
		Spawn:
			QDMG AABBCCDDEEFFGGHH 2 A_SpawnItem("BlueFlareMedium2",0,30)
			Loop
		Pickup:
			TNT1 A 0 ACS_NamedTerminate("QPowerQuadDamage")
			TNT1 A 0 ACS_NamedExecute("QPowerQuadDamage")
			TNT1 A 0 A_TakeInventory("QPowerQuadDamage",999)
			TNT1 A 0 A_GiveInventory("QPowerQuadDamage",1)
			Stop
	}
}

ACTOR QQuadDamageDrop: QQuadDamage {
	-COUNTITEM
}

Actor QPowerQuadDamage : PowerDamage
{
	
	//***Che: expiration managed by server-side ACS
	Powerup.Duration 252000 //1050
	
	Powerup.Color 0, 64, 255, 0.1
	
	DamageFactor "normal", 4
	DamageFactor "Desintegrate", 3
	DamageFactor "Shotgun", 4
	DamageFactor "Railgun", 3
	DamageFactor "SSG", 3
	DamageFactor "Fire", 4
	DamageFactor "Ice", 4
	DamageFactor "Slime", 4
	DamageFactor "Electric", 4
	DamageFactor "Shrapnel", 4
	DamageFactor "Cut", 4
	
	DamageFactor "Cutless", 4
	DamageFactor "Blast", 4
	DamageFactor "SuperPlasma", 4
	DamageFactor "Plasma", 4
	DamageFactor "Plasma2", 4
	DamageFactor "Saw", 4
	DamageFactor "ExplosiveImpact", 4
	DamageFactor "Explosive", 4
	DamageFactor "PussyGrab", 4
	DamageFactor "QuadBlast", 4
	DamageFactor "RevenantHitStomach", 4
	DamageFactor "Explosives", 4
	DamageFactor "BFG10k", 3
	DamageFactor "SniperBullet", 4
	DamageFactor "Bullet792", 4
	DamageFactor "Fatality", 4
	DamageFactor "Kick", 4
	DamageFactor "LowKick", 4
	DamageFactor "Minigun", 4
	DamageFactor "Slide", 4
}













/*
	Initially developed for Chebskies-EDAY to replace the glitching demon rune mix,
		then got added to Chebskies-EDAY maps as an useful secret powerup,
		and now the mod depends on it.
*/
ACTOR Gigasphere: CustomInventory 17493 
{
	//$category "Powerups"
	+COUNTITEM
	scale 1.0
	radius 16
	height 16
	+INVENTORY.BIGPOWERUP
	+THRUGHOST
	damage 0
	Mass 1
	//Inventory.PickupMessage "You got the Purple Haxx Sphere!"
	Inventory.PickupMessage "$PURPLEHAXX" // gigasphere
    //Inventory.PickupSound "misc/bryed3d_magic_wand_hit"
	//Inventory.PickupSound "misc/bryed3d_blood_flows_in_my_viens"		
	//Inventory.PickupSound "misc/p_pkup"
	Inventory.PickupSound None // "KYKROW1"		
	
	// violet
	Translation "128:143=[214,137,239]:[85,45,106]", "13:15=[77,40,96]:[85,45,106]", "144:151=[214,137,239]:[85,45,106]", "152:159=[214,137,239]:[85,45,106]", "0:0=[0,0,0]:[255,255,255]", "236:239=[85,45,106]:[85,45,106]", "9:9=[67,35,84]:[85,45,106]"
    States
    {
		Spawn:
			MEGA X 1
		Live:	
			MEGA AABBCCDD 2 BRIGHT A_SpawnItem("BlueFlare22",0,35)
			Loop
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", 3, 225, 200, 200), "DoFail") // red armor
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 A 0 A_PlaySound("KYKROW1", CHAN_ITEM)
			TNT1 A 0 A_GiveInventory("PowerStrength", 1)
			TNT1 A 0 A_GiveInventory("FBD_Regen", 1)
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			//TNT1 A 0 A_GiveInventory("HaxxSphereArmor", 1)
			//TNT1 A 0 A_GiveInventory("HaxxSphereHealth", 1)
			Stop
		Cancels:
			TNT1 A 0
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("GigasphereNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!
    }	
}


ACTOR GigasphereNoCount: Gigasphere
{
	-COUNTITEM
	Inventory.PickupSound "KYKROW1"	
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", 3, 225, 200, 200), "DoFail") // red armor
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 A 0 A_GiveInventory("PowerStrength", 1)
			TNT1 A 0 A_GiveInventory("FBD_Regen", 1)
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			Stop
		DoFail:
			TNT1 A 0 A_RailWait
			Fail	
	}
}

/*
ACTOR HaxxSphereHealth : Health	
{
	Inventory.Amount 133
	Inventory.MaxAmount 300
	+INVENTORY.ALWAYSPICKUP
}

Actor HaxxSphereArmor : BasicArmorBonus
{
	Game Doom
	Armor.Savepercent 50.1
	Armor.Saveamount 133
	Armor.Maxsaveamount 300
	+INVENTORY.ALWAYSPICKUP
	States	{
		Spawn:
			TNT1 A 50
			Stop
	}
}
*/




ACTOR DemonRuneBaronPickable: CustomInventory 17720
{
	//$category "Powerups"
	scale 1.0
	radius 16
	height 16
	+COUNTITEM
	+INVENTORY.BIGPOWERUP
	+THRUGHOST
	damage 0
	Mass 1
	Inventory.PickupMessage "You got the Demon Sphere!"
	Inventory.PickupSound None //"KYKROW1"
    States
    {
		Spawn:
			DMRU A 0 NODELAY A_JumpIf(1 == CallACS("DemonRuneCheck_I"), "QuadInstead")
			//TNT1 A 0 ACS_NamedExecuteAlways("DemonRuneCheck")
			//TNT1 A 4
			TNT1 A 4
		Live:	
			DMRU AABBCCDD 2 Bright A_SpawnItem("RedFlareMedium",0,20)
			Loop
		Pickup:
			TNT1 A 1
			//TNT1 A 0 A_JumpIfInventory("IsAlreadyMorphed", 1, "DoFail") // check this inside the ACS instead
			//TNT1 A 0 A_GiveInventory("DemonRuneBaron", 1)
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_EnterVehicle", 6), "DoFail") // 6 = baron
			TNT1 A 0 A_PlaySound("KYKROW1", CHAN_ITEM)
			TNT1 A 1 A_RailWait // without this, pickup fails to register and we have an endlessly reusable rune
			Stop
		QuadInstead:
			TNT1 A 0 A_SpawnItemEx("QQuadDamage", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION  | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid)
			TNT1 A 1
			Stop
		Cancels:
			TNT1 A 0
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("DemonRuneBaronNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!
    }
}

ACTOR DemonRuneBaronNoCount: DemonRuneBaronPickable
{
	-COUNTITEM
	Inventory.PickupSound "KYKROW1"
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_EnterVehicle", 6), "DoFail") // 6 = baron
			TNT1 A 1 A_RailWait
			Stop
		DoFail:
			TNT1 A 1 A_RailWait
			Fail	
	}	
}


ACTOR DemonRuneRevenantPickable: CustomInventory 17721
{
	//$category "Powerups"
	scale 1.0
	radius 16
	height 16
	+COUNTITEM
	+INVENTORY.BIGPOWERUP
	+THRUGHOST
	damage 0
	Mass 1
	Inventory.PickupMessage "You got the Demon Sphere!"
	Inventory.PickupSound None //"KYKROW2"
	
	// DMRU yellow
	Translation "168:191=[251,241,117]:[64,31,0]", "236:239=[232,0,0]:[107,33,33]", "16:47=[201,147,97]:[72,51,19]", "208:223=[255,251,191]:[189,115,2]", "48:79=[251,160,60]:[81,43,0]", "128:151=[251,255,98]:[108,75,32]", "64:79=[120,107,35]:[107,33,33]", "128:143=[255,248,98]:[108,78,32]", "13:15=[107,33,33]:[107,33,33]", "255:255=[108,32,32]:[108,32,32]"
	
	
    States
    {
		Spawn:
			DMRU A 0 NODELAY A_JumpIf(1 == CallACS("DemonRuneCheck_I"), "QuadInstead")
			//TNT1 A 0 ACS_NamedExecuteAlways("DemonRuneCheck")
			//TNT1 A 4
			TNT1 A 4
		Live:	
			DMRU AABBCCDD 2 Bright A_SpawnItem("YellowFlareMedium",0,20)
			Loop
		Pickup:
			TNT1 A 1
			//TNT1 A 0 A_JumpIfInventory("IsAlreadyMorphed", 1, "DoFail")
			//TNT1 A 0 A_GiveInventory("DemonRuneRevenant", 1)
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_EnterVehicle", 7), "DoFail") // 7 = revenant
			TNT1 A 0 A_PlaySound("KYKROW2", CHAN_ITEM)
			TNT1 A 1 A_RailWait
			Stop
		QuadInstead:
			TNT1 A 0 A_SpawnItemEx("QQuadDamage", 0,0,0, 0,0,0, 0,SXF_NOCHECKPOSITION  | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid)
			TNT1 A 1
			Stop
		Cancels:
			TNT1 A 0
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("DemonRuneRevenantNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!		
    }
}


ACTOR DemonRuneRevenantNoCount: DemonRuneRevenantPickable
{
	-COUNTITEM
	Inventory.PickupSound "KYKROW2"
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_EnterVehicle", 7), "DoFail") // 7 = revenant
			TNT1 A 1 A_RailWait
			Stop
		DoFail:
			TNT1 A 1 A_RailWait
			Fail	
	}	
}




ACTOR LifeSphereLesser : LifeSphere 17560
{
	//$category "Powerups"
	Translation "192:207=16:42", "240:247=43:47", "0:0=191:191" // pink
	//Translation "192:195=224:227", "196:199=112:118", "200:207=119:125", "240:247=125:127", "0:0=127:127" // green
	Inventory.PickupMessage "$SOULSPHERE_PINK"
	Inventory.PickupSound "misc/bryed3d_whoa_whiny"
	Tag "$SOULSPHERE_PINK"
	States
	{
		Spawn:
			TNT1 A 0 A_CheckSight("Spawn2")
			SOUL AAABBBCCCDDDCCCBBB 2 Bright A_SpawnItem("GreenFlareMedium",0,20)
			Loop
		Spawn2:
			SOUL ABCDCB 2 BRIGHT
			Goto Spawn
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 75, 150), "DoFail")
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			//TNT1 A 0 A_GiveInventory("WeaksauseSoulSphereHealth", 1)
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("LifeSphereLesserNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!				
	}
}

ACTOR LifeSphereLesserNoCount: LifeSphereLesser 17600 {
	-COUNTITEM
	Inventory.PickupSound "misc/bryed3d_whoa_whiny"
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 75, 150), "DoFail")
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 1 A_RailWait
			Stop
		DoFail:
			TNT1 A 1 A_RailWait
			Fail	
	}		
}

/*
ACTOR WeaksauseSoulSphereHealth : Health	
{
	Inventory.Amount 75
	Inventory.MaxAmount 150
	+INVENTORY.ALWAYSPICKUP
}
*/

ACTOR LifeSphereGreater : LifeSphere 17561
{
	Translation "192:207=160:167", "240:247=186:191", "0:0=47:47"
	Inventory.PickupMessage "$SOULSPHERE_GOLD"
	Inventory.PickupSound "misc/bryed3d_magic_wand_hit2"
	Tag "$SOULSPHERE_GOLD"
	States
	{
		Spawn:
			TNT1 A 0 A_CheckSight("Spawn2")
			SOUL AAABBBCCCDDDCCCBBB 2 Bright A_SpawnItem("YellowFlareMedium",0,20)
			Loop
		Spawn2:
			SOUL ABCDCB 2 BRIGHT
			Goto Spawn
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 125, 299), "DoFail")
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			//TNT1 A 0 A_GiveInventory("GoldSoulSphereHealth", 1)
			//TNT1 A 0 A_GiveInventory("GoldSoulSphereArmor", 1)
			Stop
		DoFail:
			TNT1 A 0 A_Print("$NOPICKUP_COUNTITEM") //"Tag! This item cannot be picked up but was accounted towards items progression."
			TNT1 A 0 A_PlaySound("misc/i_pkup", CHAN_ITEM)
			TNT1 A 0 A_SpawnItemEx ("LifeSphereGreaterNoCount",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION | SXF_TRANSFERAMBUSHFLAG |  SXF_TRANSFERPOINTERS | SXF_TRANSFERSPECIAL | SXF_CLEARCALLERSPECIAL | SXF_CLEARCALLERTID  ,0, tid) 
			Stop // not "fail". We actually succeed at being picked up!				
	}
}

ACTOR LifeSphereGreaterNoCount: LifeSphereGreater 17601 {
	-COUNTITEM
	Inventory.PickupSound "misc/bryed3d_magic_wand_hit2"
	States
	{
		Pickup:
			TNT1 A 0 A_JumpIf(!CallAcs("FBD_GrabArmor", -1, 0, 125, 299), "DoFail")
			TNT1 A 0 ACS_NamedExecuteWithResult("CancelToxicDOT")
			TNT1 AAAAAAAAAAAAA 0 A_CustomMissile ("ShinnySmoke", 0, 0, random (0, 360), 2, random (0, 360))
			TNT1 A 1 A_RailWait
			Stop
		DoFail:
			TNT1 A 1 A_RailWait
			Fail	
	}	
}

/*
ACTOR GoldSoulSphereHealth : Health	
{
	Inventory.Amount 75
	Inventory.MaxAmount 200
	+INVENTORY.ALWAYSPICKUP
}

Actor GoldSoulSphereArmor : BasicArmorBonus
{
	Game Doom
	Armor.Savepercent 50.1
	Armor.Saveamount 75
	Armor.Maxsaveamount 150
	+INVENTORY.ALWAYSPICKUP
	States	{
		Spawn:
			TNT1 A 50
			Stop
	}
}
*/