From 6a6c26f307c640862a697a2d9451a6bf4f51129f Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Mon, 27 Nov 2023 15:44:23 +0100 Subject: [PATCH] Reset weapon pickup voicelines only when inventory is wiped. --- language.version | 4 ++-- zscript/handler/swwm_handler_playerevents.zsc | 23 ++----------------- zscript/player/swwm_player_inventory.zsc | 2 ++ zscript/swwm_thinkers_player.zsc | 22 ++++++++++++++++++ zscript/utility/swwm_utility_item.zsc | 3 +++ 5 files changed, 31 insertions(+), 23 deletions(-) diff --git a/language.version b/language.version index 4f040a727..f03eb2f7b 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1024 \cu(Sun 26 Nov 20:45:51 CET 2023)\c-"; -SWWM_SHORTVER="\cw1.3pre r1024 \cu(2023-11-26 20:45:51)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r1025 \cu(Mon 27 Nov 15:44:23 CET 2023)\c-"; +SWWM_SHORTVER="\cw1.3pre r1025 \cu(2023-11-27 15:44:23)\c-"; diff --git a/zscript/handler/swwm_handler_playerevents.zsc b/zscript/handler/swwm_handler_playerevents.zsc index 12ab6b9ab..b6ef06db3 100644 --- a/zscript/handler/swwm_handler_playerevents.zsc +++ b/zscript/handler/swwm_handler_playerevents.zsc @@ -100,27 +100,8 @@ extend Class SWWMHandler s.GotWeapon(Weapon(i).GetClass()); } } - else if ( (s.lastcluster != level.cluster) || !(level.clusterflags&LevelLocals.CLUSTER_HUB) || (level.info.flags2&LEVEL2_RESETINVENTORY && !e.IsReturn) ) - { - // clear the "weapon got" lists for weapons we don't have anymore (unless we're in a hub) - // so the obtain lines play again - for ( int i=0; i WeaponFromInflictor( Actor inflictor, Name damagetype ) { Class which = myplayer.ReadyWeapon?myplayer.ReadyWeapon.GetClass():null; diff --git a/zscript/utility/swwm_utility_item.zsc b/zscript/utility/swwm_utility_item.zsc index 435828e5b..a082ab9c9 100644 --- a/zscript/utility/swwm_utility_item.zsc +++ b/zscript/utility/swwm_utility_item.zsc @@ -31,6 +31,9 @@ extend Class SWWMUtility p.mo.GiveDefaultInventory(); p.mo.BringUpWeapon(); p.health = p.mo.Health = p.mo.SpawnHealth(); + // weapon pickup line stuff + SWWMStats s = SWWMStats.Find(p); + if ( s ) s.CleanGotWeapons(); } // sets all carried ammo back to zero