Actor WoC_Undroppable : Inventory { +INVENTORY.UNDROPPABLE }

Actor WoC_Boolean : WoC_Undroppable { Inventory.MaxAmount 1 }

Actor WoC_Stat : WoC_Undroppable { Inventory.MaxAmount 0x7FFFFFFF }

Actor WoC_Skill : WoC_Undroppable { Inventory.MaxAmount 10 }

Actor NOCOUNTKILL : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("CountKill", 0)
		Stop
	}
}

Actor NODAMAGETHRUSTER : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("NoDamageThrust", 1)
		Stop
	}
}

Actor MTHRUSPECIESITEM : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	States
	{
	Use:
		TNT1 A 0 A_JumpIfInTargetInventory("FriendlyResurrect",1,"GoThrough")
		Stop
	GoThrough:
		TNT1 A 0 A_ChangeFlag("MTHRUSPECIES", 1)
		Stop
	}
}

Actor FriendlyResurrect : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	States
	{
	Use:
		TNT1 A 0 A_ChangeFlag("THRUSPECIES", 1)
		TNT1 A 0 A_ChangeFlag("DONTHARMSPECIES", 1)
		Stop
	}
}

Actor UnFriendlyResurrect : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	States
	{
	Use:
		TNT1 A 0 A_ChangeFlag("THRUSPECIES", 0)
		TNT1 A 0 A_ChangeFlag("DONTHARMSPECIES", 0)
		Stop
	}
}

Actor THRUSPECIESITEM : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ChangeFlag("THRUSPECIES", 1)
		Stop
	}
}

Actor ClearTarget : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_ClearTarget
		Stop
	}
}

Actor WoCMonsterInit : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 ACS_NamedExecuteAlways("WoC Monster Init")
		Stop
	}
}

Actor FriendlyInDisguise : WoC_Boolean {}
Actor EnemyInDisguise : WoC_Boolean {}

Actor WoC_StrengthCheck : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_GiveInventory("StrengthCheck2")
		TNT1 A 0 A_TakeInventory("StrengthCheck2")
		Stop
	}
}

Actor StrengthCheck2 : WoC_Boolean {}

Actor A_DIEITEM : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
		Use:
		TNT1 A 0 A_Die
		Stop
	}
}

Actor NIGHTMAREMODEITEM : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		//TNT1 A 0 A_ChangeFlag("NOINFIGHTING", 1)
		TNT1 A 0 A_ChangeFlag("QUICKTORETALIATE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEMORE", 1)
		TNT1 A 0 A_ChangeFlag("MISSILEEVENMORE", 1)
		Stop
	}
}

Actor USEKILLSCRIPTSITEM : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 A_ChangeFlag("USEKILLSCRIPTS", 1)
		Stop
	}
}

Actor WoC_MonActivator : CustomInventory 
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
}

Actor DONTHARMSPECIESON : WoC_MonActivator
{
	States
	{
	Pickup:
	Use:
		TNT1 A 0 A_JumpIfInventory("Constitution", 1, "Failed")
		TNT1 A 0 A_ChangeFlag("DONTHARMSPECIES", 1)
		Stop
	Failed:
		TNT1 A 0
		Stop
	}
}

Actor DONTHARMSPECIESOFF : WoC_MonActivator
{
	States
	{
	Pickup:
	Use:
		TNT1 A 0 A_JumpIfInventory("Constitution", 1, "Failed")
		TNT1 A 0 A_ChangeFlag("DONTHARMSPECIES", 0)
		Stop
	Failed:
		TNT1 A 0
		Stop
	}
}

Actor WoCMonsterInit : Custominventory
{
	Inventory.MaxAmount 0
	+Inventory.AUTOACTIVATE
	states
	{
	Use:
		TNT1 A 0 ACS_NamedExecuteAlways("WoC Monster Init")
		TNT1 A 0 A_GiveInventory("MonsterStatItem", 1)
		Stop
	}
}


Actor BossDeathBlowBuff : PowerupGiver
{
	Powerup.Type "BossDeathBlowBuff"
	Powerup.Duration 0x7fffffff
	+INVENTORY.AUTOACTIVATE
	Inventory.MaxAmount 0
}

Actor PowerBossDeathBlowBuff : PowerProtection
{
	Damagefactor "DeathBlow", 0
	Powerup.Duration 0x7fffffff
}

Actor WoC_FriendlyMon
{
	DamageFactor "PhysicalPlayer", 0
	DamageFactor "ArcanePlayer", 0
	DamageFactor "FirePlayer", 0
	DamageFactor "IcePlayer", 0
	DamageFactor "LightningPlayer", 0
	DamageFactor "PoisonPlayer", 0
	DamageFactor "HolyPlayer", 0
    DamageFactor "ShadowPlayer", 0
	Species "Player"
	RadiusDamageFactor 0.25
}