//Damagetype SolidifyDamage{Obituary "No obits yet :(" Noarmor}

//This is done so that most death pits ignore armor
DamageType Drowning{NoArmor}
DamageType Slime{NoArmor}
DamageType Fire{NoArmor}
DamageType Falling{NoArmor}
DamageType Ice{NoArmor}
DamageType Spiney{NoArmor}
DamageType Crush{NoArmor}
DamageType Beam{NoArmor}
DamageType PressBall{NoArmor}
DamageType BurnWave{NoArmor}
DamageType Massacre{NoArmor}


actor CBM_ArtiTeleport_P : ArtiTeleport
{
inventory.amount 1
inventory.maxamount 0
//+INVENTORY.QUIET
+INVENTORY.AUTOACTIVATE
-INVENTORY.INVBAR
//-INVENTORY.PICKUPFLASH
-COUNTITEM
-FLOATBOB
Inventory.PickupSound "weapon/RaThorSinistarX"//GNT/ExitUse
Inventory.PickupMessage "Chaos Rune Device"
Tag "Chaos Rune Device"
scale 2.0
states
{
Spawn:
ATLP C 0
ATLP C 1
wait
}
}

Actor CBM_TargetMarker : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("CBM_TargetTracer",0,0,32,Cos(pitch),0,sin(-pitch),0,SXF_MULTIPLYSPEED)
TNT1 A 0 A_JumpIfInventory("TargetAimPointActive",1,"Timer")
TNT1 A 0 A_GiveInventory("TargetAimPointActive", 1)
TNT1 A 0 A_SpawnItemEx("CBM_TargetAimPointWatcher")
stop
Timer:
TNT1 A 0 A_GiveInventory("TargetAimPointActive", 1)
stop
}
}

Actor CBM_TargetMarker2 : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("CBM_TargetTracer2",0,0,32,Cos(pitch),0,sin(-pitch),0,SXF_MULTIPLYSPEED)
TNT1 A 0 A_JumpIfInventory("TargetAimPointActive",1,"Timer")
TNT1 A 0 A_GiveInventory("TargetAimPointActive",1)
TNT1 A 0 A_SpawnItemEx("CBM_TargetAimPointWatcher")
stop
Timer:
TNT1 A 0 A_GiveInventory("TargetAimPointActive", 1)
stop
}
}

Actor CBM_TargetTracer : TargetTracer//Found in "baseweapon.txt"
{
+SERVERSIDEONLY
+DONTREFLECT
Radius 6
Height 2
Speed 4000//1000
States
{
Death:
TNT1 A 0 
TNT1 A 1 A_SpawnItemEx("CBM_TargetAimPoint",0,0,0)
stop
}
}
Actor CBM_TargetTracer2 : CBM_TargetTracer
{
+THRUACTORS
}
/*
Actor CBM_TargetAimPoint : TargetAimPoint
{
+SERVERSIDEONLY
//RenderStyle Normal
}*/
actor CBM_TargetAimPoint : BasicWatcher
{
//+SERVERSIDEONLY//Can't be serverside, otherwise the clientside warper doesn't warp to it
States
{
Spawn:
TNT1 A 0
TNT1 A 0 Thing_Remove(CallACS("core_gettarget") + PLN_TARGETPOINT_OFFSET)
TNT1 A 0 Thing_ChangeTID(0, CallACS("core_gettarget") + PLN_TARGETPOINT_OFFSET)
ERO3 YYYYYYYYYYYYYYYYY 1 
Stop
}
}

actor CBM_TargetAimPointWarper_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("CBM_TargetAimPointWarper",0,0,0,0,0,0,0,1)
stop
}
}

actor CBM_TargetAimPointWatcher : BasicWatcher
{
+SERVERSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_GiveToTarget("CBM_TargetAimPointWarper_P",1)
SpawnLoop: 
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("TargetAimPointActive",1,"SpawnLoop")
stop
}
}

actor CBM_TargetAimPointWarper : TargetAimPointWarper
{
Height 2
Radius 2
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteWithResult("core_drawhookshot",CallACS("core_gettarget"),64,0)
TNT1 A 0 ACS_NamedExecuteWithResult("core_aimpointwarper",0)
goto Shield
}
}
actor CBM_TargetAimPointWarperFX : TargetAimPointWarperFX{}



