Hey, Lioyd here. I've found a simple way to separate the reloading sequence and the AltFire using nothing but DECORATE and a bit of QuakeC.
First, make a custom actor named IsReloading.
Code: Select all
ACTOR IsReloading : Inventory
{
Inventory.MaxAmount 1
}
Then, replace the AltFire state label(take one that will never happen with a weapon, in this case XDeath)
So, here we go.
Code: Select all
XDeath:
blah blah blah...
SPRT A 0 A_TakeInventory("IsReloading",1)
Goto Ready
Now the other part. Open up your KEYCONF lump and type this :
Code: Select all
alias reload "give isreloading"
defaultBind <key> reload
And then, go back to the DECORATE sequence and add this to the Ready state:
Code: Select all
SPRT A 0 A_JumpIfInventory("IsReloading",1,1)
Loop
SPRT A 0
Goto XDeath
And there it is ! A free slot for your alternate fire.

Jack the Ripper, Charles Manson and Adolf Hitler all drank water. You criminal scum !