ACTOR NailAmmo : Ammo Replaces Clip
{
  Game Doom
  Inventory.PickupMessage "clip"
  Inventory.Amount 10
  Inventory.MaxAmount 200
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 200
  Inventory.Icon "CLIPA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR LavaNailAmmo : Ammo
{
  Game Doom
  Inventory.PickupMessage "clip"
  Inventory.Amount 10
  Inventory.MaxAmount 200
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 200
  Inventory.Icon "LAVNA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR ShellAmmo : Ammo Replaces Shell
{
  Game Doom
  Inventory.PickupMessage "shell"
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 100
  Inventory.Icon "SHELA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR ExplosiveAmmo : Ammo Replaces RocketAmmo
{
  Game Doom
  Inventory.PickupMessage "rocket"
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 100
  Inventory.Icon "ROCKA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR MultiExplosiveAmmo : Ammo
{
  Game Doom
  Inventory.PickupMessage "rocket"
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 100
  Inventory.Icon "MROKA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR CellAmmo : Ammo Replaces Cell
{
  Game Doom
  Inventory.PickupMessage "cell"
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 100
  Inventory.Icon "CELLA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR PlasmaAmmo : Ammo
{
  Game Doom
  Inventory.PickupMessage "plasma"
  Inventory.Amount 10
  Inventory.MaxAmount 100
  Ammo.BackpackAmount 0
  Ammo.BackpackMaxAmount 100
  Inventory.Icon "PLSMA0"
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR ShellPickup : Shellammo
{
  Inventory.PickupMessage "You get 5 shells"
  Inventory.PickupSound AMMO
  Inventory.Amount 5
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR CellPickup : Cellammo
{
  Inventory.PickupMessage "You get 5 Cells"
  Inventory.PickupSound AMMO
  Inventory.Amount 5
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR RocketPickup : ExplosiveAmmo
{
  Inventory.PickupMessage "You get 2 Rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 2
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

ACTOR MultiRocketPickup : MultiExplosiveAmmo
{
  Inventory.PickupMessage "You get 2 Multi-Rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 2
  States
  {
  Spawn:
    BPAK A -1
    Stop
  }
}

actor DoubleDrop : CustomInventory
{
  inventory.pickupmessage "You got the small supplies satchel"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Cellammo", 6)
    TNT1 A 0 A_GiveInventory ("NailAmmo", 10)
    TNT1 A 0 A_GiveInventory ("LavaNailAmmo", 5)
    TNT1 A 0 A_GiveInventory ("ExplosiveAmmo", 2)
    TNT1 A 0 A_GiveInventory ("Shellammo", 5)
    TNT1 A 0 A_GiveInventory ("stimpack", 1)
    stop
  }
}

actor Suplies : CustomInventory replaces BackPack
{
  inventory.pickupmessage "You got the big supplies satchel"
  Scale 1.5
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Cellammo", 50)
    TNT1 A 0 A_GiveInventory ("NailAmmo", 100)
    TNT1 A 0 A_GiveInventory ("LavaNailAmmo", 100)
    TNT1 A 0 A_GiveInventory ("ExplosiveAmmo", 50)
    TNT1 A 0 A_GiveInventory ("Shellammo", 50)
    TNT1 A 0 A_GiveInventory ("medikit", 1)
    TNT1 A 0 A_GiveInventory ("ArmorShard", 25)
    stop
  }
}

actor SSGRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Double-Barreled Shotgun"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Double-Barrel Shotgun", 1)
    stop
  }
}

actor NGRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Nailgun"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Nailgun", 1)
    stop
  }
}

actor SNGRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Super Nailgun"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("SuperNailgun", 1)
    stop
  }
}

actor GLRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Grenade Launcher"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Grenade Launcher", 1)
    stop
  }
}

actor PLRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Proximity Launcher"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Proximity Launcher", 1)
    stop
  }
}

actor RLRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Rocket Launcher"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Rocket Launcher", 1)
    stop
  }
}

actor LCRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the Laser Cannon"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("Laser Cannon", 1)
    stop
  }
}

actor TBRetrieve : CustomInventory
{
  inventory.pickupmessage "You got the ThunderBolt"
  inventory.pickupsound AMMO
  states
  {
  Spawn:
    BPAK A -1
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory ("ThunderBolt", 1)
    stop
  }
}

ACTOR ShellBoxSmall : Shellammo replaces Shell
{
  Inventory.PickupMessage "You got the shells"
  Inventory.PickupSound AMMO
  Inventory.Amount 20
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

actor NailBoxSpawner : RandomSpawner replaces Clip
{
    +FIXMAPTHINGPOS
    DropItem "NailBoxSmall", 255, 6
    DropItem "LavaNailBoxSmall", 255, 1
}

ACTOR NailBoxSmall : nailammo
{
  Inventory.PickupMessage "You got the nails"
  Inventory.PickupSound AMMO
  Inventory.Amount 25
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR LavaNailBoxSmall : lavanailammo
{
  Inventory.PickupMessage "You got the lava nails"
  Inventory.PickupSound AMMO
  Inventory.Amount 25
  States
  {
  Spawn:
    SBOX ADBCBD 6 BRIGHT
    Loop
  }
}

ACTOR ExplosivesSmall : Explosiveammo
{
  Inventory.PickupMessage "You got the rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 5
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR MultiExplosivesSmall : MultiExplosiveammo
{
  Inventory.PickupMessage "You got the Multi-rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 5
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

actor ExplosiveSmallSpawner : RandomSpawner replaces RocketAmmo
{
    +FIXMAPTHINGPOS
    DropItem "ExplosivesSmall", 255, 8
    DropItem "MultiExplosivesSmall", 255, 1
}

ACTOR CellPackSmall : Cellammo
{
  Inventory.PickupMessage "You got the cells"
  Inventory.PickupSound AMMO
  Inventory.Amount 6
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR PlasmaPackSmall : plasmaammo
{
  Inventory.PickupMessage "You got the plasma"
  Inventory.PickupSound AMMO
  Inventory.Amount 6
  States
  {
  Spawn:
    SBOX AB 4
    Loop
  }
}

actor CellSmallSpawner : RandomSpawner replaces cell
{
    +FIXMAPTHINGPOS
    DropItem "CellpackSmall", 255, 9
    DropItem "plasmapackSmall", 255, 1
}

ACTOR ShellBoxLarge : Shellammo replaces ShellBox
{
  Inventory.PickupMessage "You got the shells"
  Inventory.PickupSound AMMO
  Inventory.Amount 40
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

actor LargeNailBoxSpawner : RandomSpawner replaces ClipBox
{
    +FIXMAPTHINGPOS
    DropItem "NailBoxLarge", 255, 6
    DropItem "LavaNailBoxLarge", 255, 1
}

ACTOR NailBoxLarge : nailammo
{
  Inventory.PickupMessage "You got the nails"
  Inventory.PickupSound AMMO
  Inventory.Amount 50
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR LavaNailBoxLarge : lavanailammo
{
  Inventory.PickupMessage "You got the lava nails"
  Inventory.PickupSound AMMO
  Inventory.Amount 50
  States
  {
  Spawn:
    SBOX ADBCBD 6 BRIGHT
    Loop
  }
}

ACTOR ExplosivesLarge : Explosiveammo
{
  Inventory.PickupMessage "You got the rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 10
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR MultiExplosivesLarge : MultiExplosiveammo
{
  Inventory.PickupMessage "You got the Multi-rockets"
  Inventory.PickupSound AMMO
  Inventory.Amount 10
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

actor ExplosiveLargeSpawner : RandomSpawner replaces RocketBox
{
    +FIXMAPTHINGPOS
    DropItem "ExplosivesLarge", 255, 8
    DropItem "MultiExplosivesLarge", 255, 1
}

ACTOR CellPackLarge : Cellammo
{
  Inventory.PickupMessage "You got the cells"
  Inventory.PickupSound AMMO
  Inventory.Amount 12
  States
  {
  Spawn:
    SBOX A -1
    Stop
  }
}

ACTOR PlasmaPackLarge : Plasmaammo
{
  Inventory.PickupMessage "You got the plasma"
  Inventory.PickupSound AMMO
  Inventory.Amount 12
  States
  {
  Spawn:
    SBOX AB 4
    Loop
  }
}

actor CellLargeSpawner : RandomSpawner replaces cellpack
{
    +FIXMAPTHINGPOS
    DropItem "CellPackLarge", 255, 9
    DropItem "PlasmaPackLarge", 255, 1
}

ACTOR Armor1 : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "You got Armor"
  Inventory.Icon "ARM1A0"
  Inventory.PickupSound "Pickup/Armor"
  Armor.SavePercent 30
  Armor.SaveAmount 100
  States
  {
  Spawn:
    ARM2 A 6
    Loop
  }
}

ACTOR Armor2 : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "You got Armor"
  Inventory.Icon "ARM2A0"
  Inventory.PickupSound "Pickup/Armor"
  Armor.SavePercent 60
  Armor.SaveAmount 200
  States
  {
  Spawn:
    ARM2 A 6
    Loop
  }
}

ACTOR Armor3 : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "You got Armor"
  Inventory.Icon "ARM3A0"
  Inventory.PickupSound "Pickup/Armor"
  Armor.SavePercent 80
  Armor.SaveAmount 200
  States
  {
  Spawn:
    ARM2 A 6
    Loop
  }
}

actor Armor1Spawner : RandomSpawner replaces GreenArmor
{
    DropItem "Armor1"
    DropItem "Armor1"
    DropItem "Armor1"
    DropItem "Armor2"
}

actor Armor2Spawner : RandomSpawner replaces BlueArmor
{
    DropItem "Armor2"
    DropItem "Armor2"
    DropItem "Armor2"
    DropItem "Armor3"
}

actor MegaHealth : Health
{
  inventory.pickupmessage "You receive 100 health"
  inventory.pickupsound "Pickup/MHealth"
  +COUNTITEM
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.Amount 100
  Inventory.MaxAmount 250
  states
  {
  Spawn:
    HEAL ABCDCB 6
    Loop
  }
}

actor MegaSpawner : RandomSpawner replaces SoulSphere
{
    DropItem "MegaHealth"
}

ACTOR ExplosiveBox replaces ExplosiveBarrel
{
  Health 1
  Radius 10
  Height 30
  +SOLID
  +SHOOTABLE
  +NOBLOOD
  +ACTIVATEMCROSS
  +DONTGIB
  +NOICEDEATH
  +OLDRADIUSDMG
  DeathSound "explode"
  Obituary "%o had a really bad idea"
  States
  {
  Spawn:
    BAR1 AB 6
    Loop
  Death:
    BAR1 B 8 Bright
    TNT1 A 2
    TNT1 A 0 A_Scream
    TNT1 A 0 A_SpawnItemEx("SpawnExplosion",0,0,30)
    TNT1 A 0 Bright A_Explode
    TNT1 AAA 1 Bright A_SpawnItemEx("EXPparticles",0,0,40)
    TNT1 A 4 A_NoBlocking
    TNT1 A 1050 Bright A_BarrelDestroy
    TNT1 A 5 A_Respawn
    Wait
  }
}

ACTOR ProtectionPentagram : PowerupGiver replaces InvulnerabilitySphere
{
  +COUNTITEM
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  +INVENTORY.FANCYPICKUPSOUND
  Inventory.MaxAmount 0
  inventory.pickupsound "INVULN"
  Powerup.Type "Invulnerable"
  Powerup.Color Yellow, 0.3
  Inventory.PickupMessage "You got the pentagram of protection"
  States
  {
  Spawn:
    PINV A 6 Bright
    Loop
  }
}

actor QPowerQuadDamage : PowerDamage
{
damagefactor "normal", 4
damagefactor "rocketdamage", 4
damagefactor "grenade", 4
damagefactor "hammer", 4
damagefactor "BFGSplash", 4
damagefactor "ZombieBasher", 4
damagefactor "Disintegrate", 4
damagefactor "Nails", 4
inventory.icon "MEGAA0"
}

ACTOR QuadDamage : PowerupGiver replaces Berserk
{
  +COUNTITEM
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  +INVENTORY.FANCYPICKUPSOUND
  Inventory.MaxAmount 0
  inventory.pickupsound "QUAD"
  Powerup.Type "QPowerQuadDamage"
  Powerup.Color Blue, 0.3
  Inventory.PickupMessage "You got the Quad Damage"
  States
  {
  Spawn:
    PINV A 6 Bright
    Loop
  }
}

ACTOR PowerRingInvis : PowerShadow
{
  Powerup.Duration -30
}

ACTOR InvisibilityRing : PowerupGiver replaces BlurSphere
{
  +COUNTITEM
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +INVENTORY.BIGPOWERUP
  +INVENTORY.FANCYPICKUPSOUND
  Inventory.MaxAmount 0
  inventory.pickupsound "INVIS"
  Powerup.Type "PowerRingInvis"
  Powerup.Color gray, 0.3
  Inventory.PickupMessage "You got the Ring of Shadows"
  States
  {
  Spawn:
    PINV A 6 Bright
    Loop
  }
}

actor 15Health : Health
{
  Inventory.Amount 15
  inventory.pickupmessage "You receive 15 health"
  inventory.pickupsound "MedikitP"
  states
  {
  Spawn:
    HEAL A 6
    Loop
  }
}

actor 15Spawner : RandomSpawner replaces Stimpack
{
    DropItem "15health"
}

actor 25Health : Health
{
  Inventory.Amount 25
  inventory.pickupmessage "You receive 25 health"
  inventory.pickupsound "MedikitP"
  states
  {
  Spawn:
    HEAL ABCDCB 6
    Loop
  }
}

actor 25Spawner : RandomSpawner replaces Medikit
{
    DropItem "25health"
}

ACTOR PowerAntiSlime : PowerIronFeet
{
  Powerup.Duration -30
}

ACTOR BioSuit : PowerupGiver replaces radsuit
{
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  inventory.pickupsound "RADS"
  Inventory.PickupMessage "You got the BioSuit"
  Powerup.Type "PowerAntiSlime"
  States
  {
  Spawn:
    SUIT A -1
    Stop
  }
}

ACTOR Empathy : PowerupGiver
{
  Height 46
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 0
  inventory.pickupsound "RADS"
  Inventory.PickupMessage "You got the Empathy Shield"
  Powerup.Type "PowerAntiSlime"
  States
  {
  Spawn:
    SUIT A -1
    Stop
  }
}

ACTOR ArmorShard : BasicArmorBonus replaces ArmorBonus
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Armor shard"
  Inventory.Icon "ARM1A0"
  Inventory.PickupSound "SHARD"
  Armor.SavePercent 33.335
  Armor.SaveAmount 2
  Armor.MaxSaveAmount 200
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    BON2 A 1
    Loop
  }
}

ACTOR QStimpack : Health replaces healthbonus
{
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  Inventory.Amount 2
  Inventory.PickupSound "BONUS"
  Inventory.MaxAmount 250
  Inventory.PickupMessage "Stimpack"
  States
  {
  Spawn:
    BON1 A 1
    Loop
  }
}

actor RuneofEarth : CustomInventory
{
  Inventory.PickupMessage "You got the Rune of Earth Magic"
  Inventory.PickupSound "RUNE"
  +COUNTITEM
  states
  {
  Spawn:
    SOUL A -1 BRIGHT
    stop
  Pickup:
    TNT1 A 0 A_GiveInventory("HealthBonus", 250)
    TNT1 A 0 A_GiveInventory("Armor3", 1)
    stop
  }
}

ACTOR BlackRuneChecker : Ammo
{
	Inventory.MaxAmount 1
}

actor RuneofBlack : CustomInventory
{
  Inventory.PickupMessage "You got the Rune of Black Magic"
  Inventory.PickupSound "RUNE"
  +COUNTITEM
  states
  {
  Spawn:
    SOUL A -1 BRIGHT
    stop
  Pickup:
    TNT1 A 0 HealThing(100)
    TNT1 A 0 A_GiveInventory("BlackRuneChecker")
    stop
  }
}

ACTOR HellRuneChecker : Ammo
{
	Inventory.MaxAmount 1
}

actor RuneofHell : CustomInventory
{
  Inventory.PickupMessage "You got the Rune of Hell Magic"
  Inventory.PickupSound "RUNE"
  +COUNTITEM
  states
  {
  Spawn:
    SOUL A -1 BRIGHT
    stop
  Pickup:
    TNT1 A 0 HealThing(100)
    TNT1 A 0 A_GiveInventory("HellRuneChecker")
    stop
  }
}

ACTOR RuneofElder : UpgradeStamina
{
   Inventory.Amount 50
   Inventory.MaxAmount 50
   Inventory.PickupSound "RUNE"
   Inventory.PickupMessage "You got the Rune of Elder Magic"
   +COUNTITEM
   states
   {
   Spawn:
      SOUL A 1 BRIGHT
      loop
   }
}

actor RuneSpawner : RandomSpawner replaces Megasphere
{
    DropItem "RuneOfEarth", 255, 4
    DropItem "RuneOfBlack", 255, 3
    DropItem "RuneOfHell", 255, 2
    DropItem "RuneOfElder", 255, 1
}

actor Horn : CustomInventory replaces allmap
{
  Inventory.PickupMessage "Horn of Conjuring!"
  Inventory.PickupSound "HORN"
  +COUNTITEM
  states
  {
  Spawn:
    HORN A -1 BRIGHT
    stop
  Pickup:
    TNT1 A 0 A_SpawnItemEx("TELEparticles",50,0,35)
    TNT1 A 0 A_Playsound("Misc/teleport")
    TNT1 A 0 A_SpawnItemEx("FriendSpawner",50)
    stop
  }
}

actor FriendSpawner : RandomSpawner
{
    +FIXMAPTHINGPOS
    DropItem "CHUD"
    DropItem "Paladin"
    DropItem "Hellimp"
    DropItem "Shoggoth"
}