Yeah alright, somehow I got really fantastically stupid and put an frandom on the pitch.
The next problem i'm running into is that unloading and reloading the Unmaker's chamber is causing a Very Fatal Error, and I can't quite work out why this is happening.
Code: Select all
unload:
"####" A 1 {
if(!invoker.weaponstatus[ENUMS_UMKR_CHAMBERLOADED])
{
SetWeaponState("nope");
}
}
"####" AAAA 4 Offset(0,-10);
"####" A 0 A_PlaySound("Weapons/Unmaker/Squish",CHAN_WEAPON,1.0);
"####" A 1 offset(0,-33);
"####" A 1 offset(0,-34);
"####" A 1 offset(0,-37);
"####" A 2 offset(0,-39);
"####" A 0 A_PlaySound("Weapons/Unmaker/Squish",CHAN_WEAPON,1.0);
"####" A 4;
"####" A 0 A_PlaySound("Weapons/Boltfwd",CHAN_WEAPON,1.0);
"####" A 2;
"####" A 0 A_PlaySound("Weapons/libchamber2a",CHAN_WEAPON,1.0);
unloadmag:
"####" A 10{
if(invoker.weaponstatus[ENUMS_UMKR_CHAMBERLOADED]==0)
{
SetWeaponState("nope");
}
}
"####" A 0 A_Log("DumpLiquidFragTime");
"####" A 0 DumpLiquidFrag();
"####" A 8;
"####" A 0 {
if(invoker.weaponstatus[ENUMS_UMKR_CHAMBERLOADED]==0)
{
SetWeaponState("nope");
}
int inmag = invoker.weaponstatus[ENUMS_UMKR_CRYSTALFRAG]/200;
invoker.weaponstatus[ENUMS_UMKR_CHAMBERLOADED] = 0;
if(
!PressingUnload()&&!PressingReload()
){
A_Log("UnloadCheck2");
A_JumpIfInventory("HDFragChamber",0,"null");
HDMagAmmo.SpawnMag(self,"HDFragChamber",inmag);
A_SetTics(1);
A_Log("UnloadCheck3");
}else{
HDMagAmmo.GiveMag(self,"HDFragChamber",inmag);
A_PlaySound("weapons/pocket",CHAN_WEAPON);
}
}
magout:
"####" A 0{
A_Log("Magout");
if(
!countinv("HDFragChamber")
)setweaponstate("reloadend");
} //fallthrough to loadmag
loadmag:
"####" A 12{
A_Log("Loadmag");
let zmag=HDFragChamber(findinventory("HDFragChamber"));
if(!zmag){setweaponstate("reloadend");return;}
A_PlaySound("weapons/pocket",CHAN_WEAPON);
A_SetTics(10);
}
"####" A 8 A_Playsound("Weapons/libchamber2a",CHAN_WEAPON,1.0);
"####" A 2;
"####" A 0 A_PlaySound("Weapons/boltfwd",CHAN_WEAPON,1.0);
"####" A 4;
"####" A 0 A_PlaySound("Weapons/Unmaker/Squish",CHAN_WEAPON,1.0);
"####" A 2 offset(0,39);
"####" A 1 offset(0,37);
"####" A 1 offset(0,34);
"####" A 1 offset(0,33);
"####" A 0 A_PlaySound("Weapons/Unmaker/Squish",CHAN_WEAPON,1.0);
"####" A 0 {
let zmag=HDFragChamber(findinventory("HDFragChamber"));
if(!zmag){setweaponstate("reloadend");return;}
invoker.weaponstatus[ENUMS_UMKR_CRYSTALFRAG]=zmag.TakeMag(true) * 200;
}
"####" AAAA 4 Offset(0,10);
"####" A 0 A_Log("TimeToReloadend");
"####" A 4 A_WeaponBusy();
"####" A 0 SetWeaponState("reloadend");
reloadend:
"####" A 0 SetWeaponState("nope");