Following on from my last query re: custom explosions, how the heck do you override EXPLOSION2's default action EXPLOSION_FRAMES (20 by default)? I have two alternate explosions, SMOKEBLAST1 (16 frames) and SMOKEBLAST2 (33 frames) but they will both play 20 frames when spawned.
action EXPLOSION_FRAMES 0 20 1 1 4
action ASMOKEBLAST1 3743 16 1 1 8 // 3743 tiles from original EXPLOSION2 (1890) = 5633
action ASMOKEBLAST2 3763 33 1 1 4
actor EXPLOSION2 1 EXPLOSION_FRAMES
{
ife extrasaved 1
ifaction EXPLOSION_FRAMES
{ action ASMOKEBLAST1 cstat 0 }
else
ife extrasaved 2
ifaction EXPLOSION_FRAMES
{ action ASMOKEBLAST2 cstat 0 }
else
{ ifactioncount 20
killit
}
}
enda
I have also tried placing a CACTOR command, but this just froze the actions on their first frame when spawned;
{
ife extrasaved 1
ifaction EXPLOSION_FRAMES
{
cactor SMOKEBLAST1
action ASMOKEBLAST1 cstat 0 }
And I tried placing the following in EVENT_EGS;
case EXPLOSION2 // Alternate explosions
{
ifn sprite[].owner -1 // owner being the SEENINE sprite that spawned the EXPLOSION2 actor
getav[sprite[].owner].extrasaved extrasaved
ife extrasaved 1
{
ifactioncount 16
killit
}
else
ife extrasaved 2
{
ifactioncount 33
killit
}
else nullop
}
break
But that doesn't seem to do anything either...