Change how reloads are timed.

This commit is contained in:
Mari the Deer 2020-06-03 10:28:50 +02:00
commit c4b200dfd6
2 changed files with 11 additions and 6 deletions

View file

@ -386,7 +386,7 @@ Class Wallbuster : SWWMWeapon
int whichspin;
transient CVar cbtmuffler, timeme;
bool timing;
int reloadtime[2];
int reloadtime[2], rnum;
transient bool cancelreload;
double srecoil;
@ -1044,6 +1044,7 @@ Class Wallbuster : SWWMWeapon
}
action void A_StartReloadTiming()
{
invoker.rnum = invoker.reloadqueue.Size();
invoker.timing = true;
invoker.reloadtime[0] = level.time;
}
@ -1053,7 +1054,7 @@ Class Wallbuster : SWWMWeapon
invoker.reloadtime[1] = level.time;
if ( !invoker.timeme ) invoker.timeme = CVar.GetCVar('swwm_cbttime',players[consoleplayer]);
if ( (player == players[consoleplayer]) && invoker.timeme.GetBool() )
Console.Printf("Total reload time: %gs",(invoker.reloadtime[1]-invoker.reloadtime[0])/35.);
Console.Printf("Reloaded %d barrels in %gs",invoker.rnum,(invoker.reloadtime[1]-invoker.reloadtime[0])/35.);
}
Default
@ -1156,7 +1157,11 @@ Class Wallbuster : SWWMWeapon
XZW2 A 0;
Goto Ready;
Reload:
XZW2 A 2 A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
XZW2 A 2
{
A_StartSound("wallbuster/meleestart",CHAN_WEAPON,CHANF_OVERLAP);
A_StartReloadTiming();
}
XZW4 DEFGHIJK 2;
XZW4 L 1 A_StartSound("wallbuster/unlock",CHAN_WEAPON,CHANF_OVERLAP);
XZW4 MNOPQ 1;
@ -1167,7 +1172,6 @@ Class Wallbuster : SWWMWeapon
Detach:
XZW4 W 0
{
A_StartReloadTiming();
invoker.cancelreload = false;
A_Overlay(-9999,"CheckCancelReload");
}
@ -1255,12 +1259,13 @@ Class Wallbuster : SWWMWeapon
XZWE GHIJKLMNOPQRST 1;
Stop;
EndReload:
XZW4 W 2 A_StopReloadTiming();
XZW4 W 2 ;
XZW8 OPQRS 2;
XZW8 T 1 A_StartSound("wallbuster/lock",CHAN_WEAPON,CHANF_OVERLAP);
XZW8 UVWXY 1;
XZW8 Z 2 A_StartSound("wallbuster/meleeend",CHAN_WEAPON,CHANF_OVERLAP);
XZW9 ABCDEF 2;
XZW2 A 0 A_StopReloadTiming();
Goto Ready;
User1:
XZW2 A 2