actor RingManMonoRoaderAssist
{
Obituary "$OB_MONOROADER"
MONSTER
+LOOKALLAROUND
+JUMPDOWN
+DROPOFF
+ALWAYSFAST
+MTHRUSPECIES
-SHOOTABLE
-SOLID
+LOOKALLAROUND
Health  26
Speed 15
Radius 24
Height 26
Scale 2.5
DamageType "Roader"

States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_GiveInventory("LimitFlag", 1, AAPTR_MASTER)
MNRD C 0 A_SpawnItemEx("AssistTimerMaster")
MNRD A 0 A_JumpIfInventory("AssistTimer", EA_TIMER, "Death")
MNRD A 0 A_ReArrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_TARGET)
MNRD A 1 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
MNRD A 0 A_ReArrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_NULL)
MNRD A 8 A_LookEx(LOF_NOSOUNDCHECK)
goto Spawn+4

See:
MNRD AAABBBEEEFFFCCCDDD 1 A_Chase("Melee")
TNT1 A 0 A_JumpIfInventory("AssistTimer", EA_TIMER, "Death")
TNT1 A 0 A_ReArrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_TARGET)
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0)==0,"Death")
TNT1 A 0 A_ReArrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_NULL)
loop

Melee:
MNRD A 0 A_Stop
TNT1 A 0 A_ReArrangePointers(AAPTR_MASTER, AAPTR_DEFAULT, AAPTR_TARGET)
MNRD C 0 A_Explode(13, 56, 0, 0, 56)
TNT1 A 0 A_ReArrangePointers(AAPTR_TRACER, AAPTR_DEFAULT, AAPTR_NULL)
MNRD C 1 A_PlaySoundEx("weapon/turbodrive", "Weapon")
MNRD CCDDCCDDCCDD 1 A_SetAngle(angle + 45)
MNRD CCDDCCDDCCDD 1 A_SetAngle(angle + 45)
TNT1 A 0 A_JumpIfInventory("AssistTimer", EA_TIMER, "Death")
Goto See

Death:
TNT1 A 0 A_SpawnItemEx("GenericAssistDeath", 0, 0, height/2)
TNT1 A 0 A_TakeInventory("LimitFlag", 1, 0, AAPTR_MASTER)
stop
}
}

actor MonoRoaderSummon : GenericAssistCapsule
{
-NOGRAVITY
+BOUNCEONWALLS
damage (0)
Speed 4

States
{

Assist:
TNT1 A 0 A_RearrangePointers(AAPTR_DEFAULT, AAPTR_TARGET)
TNT1 A 0 A_SpawnItemEx("RingManMonoRoaderAssist", 0, 0, 0, 0, 0, 0, 0, SXF_TRANSFERPOINTERS)
goto Death+2

}
}

actor RoaderNoKnocks : PowerUp
{
	powerup.duration 50
}