Actor LegendaryRune2 : LegendaryRune
{
  Inventory.PickupMessage "Legendary Rune: Double Damage and Drain"
  States
  {
  Spawn:
	TNT1 A 0 NoDelay A_JumpIf(ACS_NamedExecuteWithResult("TrueHardMode") == 1, "Remove")
	TNT1 A 0 A_PlaySound("Pickups/Legruneidle",7,1.0,1)
    TNT1 A 0 A_SpawnItemEx("YellowSparkleSpawner")
	LGRN AAA 10 Bright A_SpawnItemEx("LegendaryRuneFlameSpawner",0,0,-20)
    Loop
  Pickup:
	TNT1 A 0 A_JumpIfInventory("RuneArmorResetCooldown",1,"Nope")
	TNT1 A 0 A_JumpIfInventory("TrueLegendaryRuneItem2",1,"Nope")
	TNT1 A 0 A_JumpIfInventory("TrueLegendaryRuneItem",1,"Enhance")
	TNT1 A 0 A_JumpIfInventory("LegendaryRuneToken",1,"Nope")
	TNT1 A 0 A_PlaySound("LegendaryRune/Pickup",6)
	TNT1 A 0 A_GiveInventory("LegendaryRuneDoubleDamage",1)
	TNT1 A 0 A_GiveInventory("LegendaryRuneDrain",1)
	TNT1 A 0 A_GiveInventory("LegendaryRuneToken",1)
	TNT1 A 1 A_StopSound(7)
	Stop
  Enhance:
	TNT1 A 0 A_JumpIfInventory("LegendaryRuneUpgradeToken",1,"Nope")
	TNT1 A 0 A_JumpIfInventory("VitalityRuneUpgradeToken",1,"Enhance2")
	TNT1 A 0 A_JumpIfInventory("AgilityRuneUpgradeToken",1,"Enhance3")
	TNT1 A 0 A_PlaySound("LegendaryRune/Pickup",6)
	TNT1 A 0 A_GiveInventory("LegendaryRuneUpgradeToken",1)
	TNT1 A 0 A_Print("\c[z3]Acquire the last two runes to further upgrade the True Legendary Rune!")
	TNT1 A 1 A_StopSound(7)
	Stop
  Enhance2:
	TNT1 A 0 A_JumpIfInventory("AgilityRuneUpgradeToken",1,"Done")
	TNT1 A 0 A_PlaySound("LegendaryRune/Pickup",6)
	TNT1 A 0 A_GiveInventory("LegendaryRuneUpgradeToken",1)
	TNT1 A 0 A_Print("\c[z3]Acquire the last rune to further upgrade the True Legendary Rune!")
	TNT1 A 1 A_StopSound(7)
	Stop
  Enhance3:
	TNT1 A 0 A_JumpIfInventory("VitalityRuneUpgradeToken",1,"Done")
	TNT1 A 0 A_PlaySound("LegendaryRune/Pickup",6)
	TNT1 A 0 A_GiveInventory("LegendaryRuneUpgradeToken",1)
	TNT1 A 0 A_Print("\c[z3]Acquire the last rune to further upgrade the True Legendary Rune!")
	TNT1 A 1 A_StopSound(7)
	Stop
  Done:
	TNT1 A 0 A_PlaySound("LegendaryRune/Pickup",6)
	TNT1 A 0 A_GiveInventory("LegendaryRuneUpgradeToken",1)
	TNT1 A 0 A_GiveInventory("TrueLegendaryRuneUpgradeToken",1)
	TNT1 A 0 A_Print("\c[z3]Acquire another True Legendary Rune!")
	TNT1 A 1 A_StopSound(7)
	Stop
  Remove:
	TNT1 A 0
	Stop
	}
}

Actor LegendaryRuneDoubleDamage : PowerDamage
{
  +INVENTORY.HUBPOWER
  +INVENTORY.PERSISTENTPOWER
  +NOTIMEFREEZE
  DamageFactor "Normal", 1.5
  DamageFactor "PlayerDTRG", 1.2
  DamageFactor "Legendary", 1.25
  DamageFactor "LegendaryGuru", 1.02
  DamageFactor "LegendaryGuruPlayer", 1.02
  DamageFactor "PlayerNemesisPlasma", 1.15
  DamageFactor "PlayerDevBall", 1.15
  DamageFactor "PlayerDevBall2", 1.15
  DamageFactor "PDTBFG", 1.15
  DamageFactor "PlayerDevTracer", 1.15
  DamageFactor "PlayerPyro", 1.1
  DamageFactor "PlayerBHole", 1.1
  DamageFactor "DiscoBFG", 1.25
  Powerup.Duration 0x7FFFFFFF
}

Actor LegendaryRuneDrain : PowerDrain
{
  +INVENTORY.HUBPOWER
  +INVENTORY.PERSISTENTPOWER
  +NOTIMEFREEZE
  Powerup.Strength 0.4
  Powerup.Duration 0x7FFFFFFF
}

Actor GenericLegRuneToken : Inventory { Inventory.MaxAmount 1 +INVENTORY.HUBPOWER +INVENTORY.PERSISTENTPOWER }

Actor LegendaryRuneToken : LegendaryRuneItem { }
Actor LegendaryRuneUpgradeToken : GenericLegRuneToken { }