
Actor HolodukeSpawner: CustomInventory replaces BlurSphere 19156
{
  Scale 0.60
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_JumpIf(d3d_holoduke==1, "Holoduke")
  Dukebot:
    TNT1 A 1 A_SpawnItem("DukebotPickup")
    Stop
  Holoduke:
    TNT1 A 1 A_SpawnItem("HolodukePickup")
    Stop
  }
}

Actor HolodukePickup : CustomInventory 19157
{
  Inventory.PickupMessage "$D3D_HOLODUKE"
  Inventory.Amount 1
  Inventory.MaxAmount 1
  +INVENTORY.IGNORESKILL
  +COUNTITEM
  Scale 0.60
  states
  {
  Spawn:
	HOLO ABCD 4
	Loop
  Pickup:
	TNT1 A 0 A_JumpIfInventory("Hologram_of_Duke",100,3)
	TNT1 A 0 A_GiveInventory("HolodukeDuration", 100)
	TNT1 A 1 A_GiveInventory("Hologram_of_Duke", 100)
	Stop
	TNT1 A 1
	Fail
  }
}

Actor Hologram_of_Duke : CustomInventory
{
  Inventory.Amount 100
  Inventory.MaxAmount 100
  Inventory.Icon HOLODUKE
  +INVENTORY.INVBAR
  +INVENTORY.IGNORESKILL
  Inventory.InterHubAmount 100
  +INVENTORY.PERSISTENTPOWER
  Scale 0.60
  Tag "Hologram of Duke"
  states
  {
  Spawn:
	HOLO ABCD 4
	Loop
  Use:
	TNT1 A 0 A_JumpIfInventory("HolodukeActive",1,5)
	TNT1 A 0 { If(A_SpawnItemEX("Holoduke",10,0,10,0,0,0,0,SXF_SETMASTER)==0) {Return state("NoSpawn");} else {Return state("");} }
	TNT1 A 0 A_GiveInventory("HolodukeActive", 1)
	TNT1 A 0 A_PlaySound("misc/teleport")
	TNT1 A 1 A_SpawnItemEX("DukeTeleportFog")
	Fail
	TNT1 A 1 A_GiveInventory("HolodukeRetrieve", 1)
	Fail
  NoSpawn:
	TNT1 A 1
	Fail
  }
}

ACTOR HolodukeDuration : Ammo
{
  +IGNORESKILL
  Inventory.Amount 1
  Inventory.MaxAmount 100
}

ACTOR HolodukeActive : PuzzleItem
{  
  Inventory.InterHubAmount 0
  Inventory.MaxAmount 1    
  -INVENTORY.INVBAR  
}

ACTOR HolodukeRetrieve : Inventory
{  
  Inventory.InterHubAmount 0
  Inventory.MaxAmount 1    
}

actor Holoduke : ZHoloduke
{
  Speed 0
  Health 0x7FFFFFFF
  Radius 16
  Height 56
  Mass 0x7FFFFFFF
  scale 0.7
  renderstyle add
  Monster
  +NOCLIP
  +DROPOFF 
  +DONTMORPH
  +FLOORCLIP
  -TELESTOMP
  +NOTELESTOMP
  +LOOKALLAROUND
  +MISSILEMORE
  +MISSILEEVENMORE
  +FRIENDLY
  +NOBLOCKMONST
  +NOTELEPORT
  +NORADIUSDMG
  Species "Dukes"
  +DONTHARMSPECIES
  +NOINFIGHTSPECIES
  +DONTHARMCLASS
  -HARMFRIENDS
  -SOLID
  +THRUACTORS
  +NOBLOOD
  +NONSHOOTABLE
  +INVULNERABLE
  +NODAMAGE
  +NOPAIN
  +GHOST
  +INCOMBAT
  ThruBits 1
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 A 0 A_GiveInventory("GettingSlimed", 1)
    TNT1 A 0 A_BeginHoloduke
    Goto See
  Idle:
    DUK2 A 5
    Goto See
  See:
    DUK2 A 50 A_HoloDistract
    Loop
  }
}