From 9cd39a74f5fe6d4d71114d997bf0f48308b9a577 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Sat, 6 Aug 2022 15:35:02 +0200 Subject: [PATCH] Fix collectibles playing "fail use" sound. --- language.version | 4 ++-- zscript/handler/swwm_handler_process.zsc | 1 + zscript/kbase/swwm_kbase_priv.zsc | 2 +- zscript/kbase/swwm_kbasetab_inventory.zsc | 1 + zscript/swwm_player.zsc | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index db42826b2..957193d1f 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r265 \cu(Sat 6 Aug 15:13:22 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r265 \cu(2022-08-06 15:13:22)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r266 \cu(Sat 6 Aug 15:35:02 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r266 \cu(2022-08-06 15:35:02)\c-"; diff --git a/zscript/handler/swwm_handler_process.zsc b/zscript/handler/swwm_handler_process.zsc index 84a3ee730..9f2f77c11 100644 --- a/zscript/handler/swwm_handler_process.zsc +++ b/zscript/handler/swwm_handler_process.zsc @@ -442,6 +442,7 @@ extend Class SWWMHandler if ( (i is 'SWWMWeapon') && (players[e.Args[0]].PendingWeapon==Weapon(i).SisterWeapon) ) t.result = true; } + else if ( (i is 'Key') || (i is 'SWWMCollectible') ) t.result = true; else t.result = rslt; t.used = item; t.usedup = (!i||(i.Amount<=0)); diff --git a/zscript/kbase/swwm_kbase_priv.zsc b/zscript/kbase/swwm_kbase_priv.zsc index 52a88f19d..fbe5c97ef 100644 --- a/zscript/kbase/swwm_kbase_priv.zsc +++ b/zscript/kbase/swwm_kbase_priv.zsc @@ -194,7 +194,7 @@ extend Class DemolitionistMenu MenuSound(snd); } } - else if ( (hnd.checklist[j].used is 'SWWMCollectible') || (hnd.checklist[j].used is 'SWWMKey') ) + else if ( (hnd.checklist[j].used is 'SWWMCollectible') || (hnd.checklist[j].used is 'Key') ) MenuSound("demolitionist/handsup"); else { diff --git a/zscript/kbase/swwm_kbasetab_inventory.zsc b/zscript/kbase/swwm_kbasetab_inventory.zsc index 7a9790310..0577dd7cd 100644 --- a/zscript/kbase/swwm_kbasetab_inventory.zsc +++ b/zscript/kbase/swwm_kbasetab_inventory.zsc @@ -538,6 +538,7 @@ Class DemolitionistMenuInvItem : DemolitionistMenuListItem let t = new("MenuTransaction"); t.uid = master.GenTUID(); t.type = MenuTransaction.TT_ITEMUSE; + t.used = inv.GetClass(); t.result = false; // don't check weapons, keys or collectibles, always assume check succeeded if ( (inv is 'Weapon') || (inv is 'Key') || (inv is 'SWWMCollectible') ) t.result = true; diff --git a/zscript/swwm_player.zsc b/zscript/swwm_player.zsc index 89c2fba94..80f378910 100644 --- a/zscript/swwm_player.zsc +++ b/zscript/swwm_player.zsc @@ -3061,7 +3061,7 @@ Class Demolitionist : PlayerPawn { if ( player == players[consoleplayer] ) { - if ( !(item is 'Weapon') ) + if ( !(item is 'Weapon') && !(item is 'SWWMCollectible') ) A_StartSound("menu/noinvuse",CHAN_ITEMEXTRA); if ( item is 'PuzzleItem' ) SWWMHandler.AddOneliner("puzzfail",2,20);