[edit] The patch is now an attachment [/edit]
And it seems I misunderstood how ZDoom processes frames, because A_Delay actually affects its own frame and not the previous. Works like a charm:
Code: Select all
actor CrazyImp : DoomImp replaces DoomImp
{
States
{
Spawn:
// Who says you can't have 0-tic loops!? ;)
TROO A 0 A_Look
TROO A 0 A_Delay(random(1, 3) * 10)
TROO B 0 A_Look
TROO B 0 A_Delay (random(1, 3) * 10)
loop
Melee:
Missile:
TROO EF 8 A_FaceTarget
TROO F 0 A_Delay (random(0, 5) * 5)
TROO G 6 A_TroopAttack // See DoomImpBall
TROO G 5 A_Delay (random(0, 10))
goto See
Pain:
TROO H 2 A_Delay (random(0, 4))
TROO H 2 A_Pain
TROO H 0 A_Delay (random(0, 5) * 7)
goto See
}
}
// Hey, is that per-actor slow-mo I see there?!
actor MrSpeedUp : ZombieMan replaces ZombieMan
{
States
{
See:
POSS A 1 A_Chase
POSS A 0 A_Delay(health)
POSS B 1 A_Chase
POSS B 0 A_Delay(health)
POSS C 1 A_Chase
POSS C 0 A_Delay(health)
POSS D 1 A_Chase
POSS D 0 A_Delay(health)
loop
Missile:
POSS E 1 A_FaceTarget
POSS E 0 A_Delay(health)
POSS F 1 A_PosAttack
POSS F 0 A_Delay(health)
POSS E 1 A_Delay(health)
goto See
Pain:
POSS G 1 A_Delay(health)
POSS G 1 A_Pain
POSS G 1 A_Delay(health)
goto See
}
}