/// decorate/armor.txt by Kaapeli47

/// Armor ///

ACTOR IDMBlueArmor : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Blue Armor!"
  Inventory.PickupSound "misc/armpkup"
  Inventory.Icon "ARM2A0"
  Inventory.RespawnTics 2100
  Armor.SavePercent 66.6667
  Armor.SaveAmount 300
  DamageFactor "Bullet", 0.25
  DamageFactor "Nail", 0.25
  DamageFactor "Punch", 0.25
  DamageFactor "Saw", 0.25
  DamageFactor "Mace", 0.25
  +SUPERARMOR
  States
  {
  Spawn:
    ARM2 A 6
    ARM2 B 6 Bright
	Loop
  }
}

ACTOR IDMRedArmor : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Red armor!"
  Inventory.PickupSound "misc/armpkup"
  Inventory.Icon "ARM3A0"
  Inventory.RespawnTics 2100
  Armor.SavePercent 66.6667
  Armor.SaveAmount 300
  DamageFactor "Rocket", 0.25
  DamageFactor "Grenade", 0.25
  DamageFactor "Hellstorm", 0.25
  +SUPERARMOR
  States
  {
  Spawn:
    ARM3 A 6
    ARM3 B 6 Bright
    Loop
  }
}

ACTOR PurpleArmor : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupSound "misc/powarmor"
  Inventory.PickupMessage "Purple Armor!"
  Inventory.Icon "ARM5A0"
  Inventory.RespawnTics 2100
  Armor.SavePercent 66.6667
  Armor.SaveAmount 300
  DamageFactor "Plasma", 0.25
  DamageFactor "HitPlasma", 0.25
  DamageFactor "Pulse", 0.25
  DamageFactor "Blaster", 0.25
  DamageFactor "Railgun", 0.25
  DamageFactor "BFG", 0.25
  DamageFactor "BFGSpray", 0.25
  DamageFactor "BFG10k", 0.25
  +SUPERARMOR
  States
  {
  Spawn:
    ARM5 A -1 Bright
    Stop
  }
}

Actor SuperArmor : BasicArmorPickup
{
  Radius 20
  Height 16
  Armor.SavePercent 66.6667
  Armor.SaveAmount 300
  Inventory.Icon "ARMXA0"
  Inventory.PickupMessage "SUPER ARMOR!"
  Inventory.PickupSound "misc/suparmor"
  Inventory.RespawnTics 2100
  DamageFactor "Normal", 0.2
  +SUPERARMOR
  States
  {
  Spawn:
    ARMX AB 3 Bright
    Loop
  }
}

ACTOR RageArmor : BasicArmorPickup
{
  Armor.SavePercent 0
  Armor.SaveAmount 666
  Inventory.Icon "BLARA1"
}


ACTOR IDMYellowArmor : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Yellow armor!"
  Inventory.PickupSound "misc/armpkup"
  Inventory.Icon "ARMYA0"
  Inventory.RespawnTics 1050
  Armor.SavePercent 66.6667
  Armor.SaveAmount 200
  DamageFactor "Normal", 0.6
  +BASEARMOR
  States
  {
  Spawn:
    ARMY A 6
    ARMY B 6 Bright
    Loop
  }
}


ACTOR BulletArmor : CustomInventory 
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Bullet Armor!"
  Inventory.PickupSound ""
  Inventory.RespawnTics 1050
  +BASEARMOR
  States
  {
  Spawn:
    ARMB A -1 Bright
    Stop
  Pickup:
    TNT1 A 0 A_JumpIfArmorType("BulletArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("FragArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("TechArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMYellowArmor","Ammo",200)
	TNT1 A 0 A_JumpIfArmorType("IDMBlueArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMRedArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("PurpleArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("SuperArmor","Ammo",200)
	TNT1 A 0 A_PlaySound("misc/ammarmor",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("BulletArmorProtection")
    TNT1 A 0 A_GiveInventory("IDMClip", 200)
    TNT1 A 0 A_GiveInventory("IDMShell", 20)
	Stop
  Ammo:
	TNT1 A 0 A_PlaySound("misc/ammpkup",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("IDMClip", 200)
    TNT1 A 0 A_GiveInventory("IDMShell", 20)
    Stop
  }
}

ACTOR BulletArmorProtection : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupMessage ""
  Inventory.PickupSound "misc/armpkup"
  Inventory.Icon "ARMBA0"
  Armor.SavePercent 66.6667
  Armor.SaveAmount 200
  DamageFactor "Bullet", 0.4
  DamageFactor "Nail", 0.4
  DamageFactor "Punch", 0.4
  DamageFactor "Saw", 0.4
  DamageFactor "Mace", 0.4
  States
  {
  Spawn:
    TNT1 A 0
    Stop
  }
}

ACTOR FragArmor : CustomInventory 
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Frag Armor!"
  Inventory.PickupSound ""
  Inventory.RespawnTics 1050
  +BASEARMOR
  States
  {
  Spawn:
    ARMA A -1 Bright
    Stop
  Pickup:
    TNT1 A 0 A_JumpIfArmorType("BulletArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("FragArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("TechArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMYellowArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMBlueArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMRedArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("PurpleArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("SuperArmor","Ammo",200)
	TNT1 A 0 A_PlaySound("misc/ammarmor",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("FragArmorProtection")
    TNT1 A 0 A_GiveInventory("IDMRocketAmmo",15)
	Stop
  Ammo:
	TNT1 A 0 A_PlaySound("misc/ammpkup",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("IDMRocketAmmo",15)
    Stop
  }
}

ACTOR FragArmorProtection : BasicArmorPickup
{ 
  Radius 20
  Height 16
  Inventory.PickupMessage ""
  Inventory.PickupSound "misc/armpkup"
  Inventory.Icon "ARMAA0"
  Armor.SavePercent 66.6667
  Armor.SaveAmount 200
  DamageFactor "Rocket", 0.4
  DamageFactor "Grenade", 0.4
  DamageFactor "Hellstorm", 0.4
  States
  {
  Spawn:
    TNT1 A 0
    Stop
  }
}

ACTOR TechArmor : CustomInventory 
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Tech Armor!"
  Inventory.PickupSound ""
  Inventory.RespawnTics 1050
  +BASEARMOR
  States
  {
  Spawn:
    ARM4 A -1 Bright
    Stop
  Pickup:
    TNT1 A 0 A_JumpIfArmorType("BulletArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("FragArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("TechArmorProtection","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMYellowArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMBlueArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("IDMRedArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("PurpleArmor","Ammo",200)
    TNT1 A 0 A_JumpIfArmorType("SuperArmor","Ammo",200)
	TNT1 A 0 A_PlaySound("misc/powarmor",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("TechArmorProtection")
    TNT1 A 0 A_GiveInventory("IDMCell",100)
	Stop
  Ammo:
	TNT1 A 0 A_PlaySound("misc/ammpkup",CHAN_ITEM)
    TNT1 A 0 A_GiveInventory("IDMCell",100)
    Stop
  }
}

ACTOR TechArmorProtection : BasicArmorPickup
{
  Radius 20
  Height 16
  Inventory.PickupSound "misc/powarmor"
  Inventory.PickupMessage ""
  Inventory.Icon "ARM4A0"
  Armor.SavePercent 66.6667
  Armor.SaveAmount 200
  DamageFactor "Plasma", 0.4
  DamageFactor "HitPlasma", 0.4
  DamageFactor "Pulse", 0.4
  DamageFactor "Blaster", 0.4
  DamageFactor "Railgun", 0.4
  DamageFactor "BFG", 0.4
  DamageFactor "BFGSpray", 0.4
  DamageFactor "BFG10k", 0.4
  States
  {
  Spawn:
    ARM4 A -1 Bright
    Stop
  }
}

ACTOR IDMArmorBonusPickup : CustomInventory replaces ArmorBonus
{
  Radius 20
  Height 16
  Inventory.PickupMessage "Armor bonus."
  Inventory.PickupSound "misc/bhapkup"
  Inventory.RespawnTics 2100
  +BASEARMOR
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
  States
  {
  Spawn:
    BON2 ABCDDCB 6
    Loop
  Pickup:
	TNT1 A 0 A_JumpIfArmorType("RedArmorForMegaSphere","Heavyarmorbonus")
	TNT1 A 0 A_JumpIfArmorType("IDMRedArmor","Heavyarmorbonus")
	TNT1 A 0 A_JumpIfArmorType("PurpleArmor","Heavyarmorbonus")
	TNT1 A 0 A_JumpIfArmorType("RageArmor","NoArmorBonus")
	TNT1 A 0 A_GiveInventory("IDMArmorBonus",1)
	Stop
  Heavyarmorbonus:
	TNT1 A 0 A_GiveInventory("IDMHeavyArmorBonus",1)
	Stop
  SuperArmorBonus:
	TNT1 A 0 A_GiveInventory("IDMSuperArmorBonus",1)
	Stop
  NoArmorBonus:
	TNT1 A 0
	Stop
  }
}

ACTOR IDMArmorbonus : BasicArmorBonus
{ 
  Inventory.Icon "ARM1A0"
  Armor.SavePercent 66.6667
  Armor.SaveAmount 2
  Armor.MaxSaveAmount 300
  Armor.MaxBonus 2
  +COUNTITEM
  +INVENTORY.ALWAYSPICKUP
}

ACTOR IDMHeavyArmorbonus : IDMArmorBonus
{ 
  Inventory.Icon "ARM1A0"
  Armor.SaveAmount 3
  Armor.MaxSaveAmount 300
}

ACTOR IDMSuperArmorbonus : IDMArmorBonus
{ 
  Inventory.Icon "ARM1A0"
  Armor.SaveAmount 5
  Armor.MaxSaveAmount 600
}

ACTOR PlayerStartingArmor : BasicArmorPickup
{
  Inventory.Icon "ARM1A0"
  Armor.SavePercent 66.6667
  Armor.SaveAmount 100
}