
ACTOR DukeArmorBonus : BasicArmorBonus replaces ArmorBonus 19164
{
  Inventory.PickupMessage "$D3D_ARMORB"
  Inventory.Icon "ARM1A0"
  Armor.SavePercent 33.335
  Armor.SaveAmount 1
  Armor.MaxSaveAmount 200
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  scale 0.5
  States
  {
  Spawn:
    DARB AAA 5 BRIGHT
    Loop
  }
}

Actor DukeArmor : BasicArmorPickup 19165
{
  Radius 20
  Height 16
  Inventory.Pickupmessage "$D3D_ARMOR"
  Inventory.Icon "ARMUA0"
  Armor.Savepercent 50.0
  Armor.Saveamount 100
  Inventory.PickupSound "duke/kick"
  States
  {
  Spawn:
    ARMU A -1
    loop
  }
}

Actor DukeArmorPlus : BasicArmorPickup replaces BlueArmor 19166
{
  Radius 20
  Height 16
  Inventory.Pickupmessage "$D3D_ARMORPLUS"
  Inventory.Icon "ARMRA0"
  Armor.Savepercent 50.0
  Armor.Saveamount 200
  Inventory.PickupSound "duke/kick"
  States
  {
  Spawn:
    ARMR A -1
    loop
  }
}

Actor DukeMorphArmor : DukeArmorBonus
{
  -COUNTITEM
  Armor.Savepercent 50.0
}

ACTOR "Icon of Invulnerability" : ZCustomInventory replaces InvulnerabilitySphere 19167
{
  Inventory.PickupMessage "$D3D_INVUL"
  Inventory.MaxAmount 1
  Inventory.Amount 1  
  Inventory.PickupSound "misc/atomic"
  +INVENTORY.ALWAYSPICKUP
  +COUNTITEM
  scale 1.0
  States
  {
  Spawn:
    INVD ABCDEFG 3
    loop
  Pickup:
    SHTP A 0 A_GiveInventory("InvulnerableDukePower",1)
    SHTP A 0 A_D3DPlayDukeSound("duke/getsome")
    SHTP A 0 A_PlaySound("misc/doubleduke",6)
    TNT1 A 1
    Stop
  }
}

ACTOR InvulnerableDukePower : PowerupGiver
{
  Powerup.Type "Invulnerable"
  Powerup.Duration 1050
  Powerup.Color GoldMap
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  -INVENTORY.INVBAR
  +INVENTORY.QUIET
}

actor "Map Scanner" : CustomInventory replaces Allmap 19168
{
  +COUNTITEM
  +INVENTORY.FANCYPICKUPSOUND
  +INVENTORY.ALWAYSPICKUP
  Inventory.MaxAmount 1
  Inventory.Amount 1  
  Inventory.PickupMessage "$D3D_MAPSCAN"
  Scale 0.7
  states
  {
  Spawn:
    MMAP ABCDCB 6 Bright
    Loop
  Pickup:
    TNT1 A 1 A_GiveInventory("Allmap")
    TNT1 A 0 A_GiveInventory("DoomScanner")
    stop
  }
}

actor DoomScanner : PowerupGiver
{
  powerup.type "Scanner"
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  -INVENTORY.INVBAR
}

actor DukeBackpack : ZCustomInventoryBackpack Replaces Backpack 19169
{
  Inventory.PickupMessage "$D3D_BACKPACK"
  Inventory.Amount 1
  Scale 0.70
  Inventory.PickupSound "misc/Backpack"
  +INVENTORY.FANCYPICKUPSOUND
  +INVENTORY.AUTOACTIVATE
  +INVENTORY.ALWAYSPICKUP
  +COUNTITEM
  states
  {
  Spawn:
	BPK2 A -1
	Stop
  Use:
 	TNT1 A 0 A_D3DGiveBackpack("Backpack")
	TNT1 A 1
	Stop
  }
}

actor GreenArmorSpawner : RandomSpawner Replaces GreenArmor 19170
{
  DropItem "DukeArmor", 256, 128
  DropItem "JetPackPickup", 256, 128
}