//Attempts to fix a bug
actor GutsmanPicklemanAssist
{
PROJECTILE
-NOGRAVITY
+NOEXPLODEFLOOR
+LOOKALLAROUND
+RIPPER
+SEEKERMISSILE
+BOUNCEONCEILINGS
+DONTREFLECT

speed 0
damage (0)
height 22
radius 16

scale 2.5
reactiontime 13

States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PICK C 0 A_GiveInventory("LimitFlag", 1, AAPTR_TARGET)
PICK C 0 A_GiveInventory("ProjectileCode", 1)
Looking:
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
PICK C 3 A_SeekerMissile(0, 0, SMF_LOOK, 256)
See:
PICK C 0 A_Countdown
PICK C 1 A_FaceTracer(0, 0)
PICK C 1 A_Jump(256, "ShootLow", "ShootMid", "ShootHigh")
ShootLow:
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 20, 0, 6, 0, SXF_TRANSFERPOINTERS)
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 20, 0, 6, 0, SXF_TRANSFERPOINTERS)
goto Looking

ShootMid:
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 24, 0, 8, 0, SXF_TRANSFERPOINTERS)
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 24, 0, 8, 0, SXF_TRANSFERPOINTERS)
goto Looking

ShootHigh:
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 21, 0, 10, 0, SXF_TRANSFERPOINTERS)
PICK CA 4 A_FaceTracer(0, 0)
PICK B 6 A_SpawnItemEx("PickleAxe", 8, 0, 20, 21, 0, 10, 0, SXF_TRANSFERPOINTERS)
goto Looking


Death:
PICK C 0 A_TakeInventory("LimitFlag", 1, 0, AAPTR_TARGET)
PICK C 0 A_SpawnItemEx("GenericAssistDeath", 0, 0, height/2)
Stop
}
}

actor PickleAxe
{
Obituary "$OB_PICKLE"
PROJECTILE
-NOGRAVITY
speed 10
damage (9)

height 11
radius 6

Scale 2.5

States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode", 1)
PICK FGHI 3
goto Spawn+2

Death:
PICK F 0 A_SpawnItemEx("GenericAssistDeath", 0, 0, height/2)
stop
}
}


actor PicklemanTeleport
{
Translation "192:192=8:8", "198:198=217:217"
+MISSILE
+THRUACTORS
+NOGRAVITY
+NOINTERACTION
Scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TFOG A 1 A_JumpIfInventory("LimitFlag", 1, "Death2", AAPTR_TARGET)
loopit:
TFOG A 1 A_CheckFloor("Death")
loop

Death:
//spawn capsule
TNT1 A 0 A_Stop
TFOG C 4 A_SpawnItemEx("GutsmanPicklemanAssist", 0, 0, 16, 0, 0, 0, 0, SXF_TRANSFERPOINTERS|SXF_TRANSFERTRANSLATION)
stop
Death2:
TNT1 A 0 A_GiveInventory("EnemyAssist", 1, AAPTR_TARGET)
stop
}
}

actor PicklemanTeleportStart : AssistTPStart
{
States
{
Death:
TNT1 A 0 A_SpawnItemEx("PicklemanTeleport", 0, 0, 0, 0, 0, -16)
stop
}
}