From c4b200dfd6b7ca4c47fb48fbecf727190b16999d Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Wed, 3 Jun 2020 10:28:50 +0200 Subject: [PATCH] Change how reloads are timed. --- language.version | 2 +- zscript/swwm_cbt.zsc | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/language.version b/language.version index 9e9809d99..4762bdbfd 100644 --- a/language.version +++ b/language.version @@ -1,2 +1,2 @@ [default] -SWWM_MODVER="\cxSWWM GZ\c- r287 (Wed 3 Jun 10:24:03 CEST 2020)"; +SWWM_MODVER="\cxSWWM GZ\c- r288 (Wed 3 Jun 10:28:50 CEST 2020)"; diff --git a/zscript/swwm_cbt.zsc b/zscript/swwm_cbt.zsc index 6a5e2ec49..55d191149 100644 --- a/zscript/swwm_cbt.zsc +++ b/zscript/swwm_cbt.zsc @@ -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