From b4f81fa4e3884bf45d66febbdad43ddf5a144e03 Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 2 Apr 2022 12:09:45 +0200 Subject: [PATCH] Fix extended hitboxes breaking dual-weapon givers. --- language.def_base | 2 +- language.version | 4 ++-- zscript/items/swwm_baseitem.zsc | 2 +- zscript/menu/swwm_credits.zsc | 2 +- zscript/utility/swwm_utility.zsc | 5 +++++ zscript/weapons/swwm_baseweapon.zsc | 8 ++++++++ 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/language.def_base b/language.def_base index 07c2f86f6..3257316ea 100644 --- a/language.def_base +++ b/language.def_base @@ -1066,7 +1066,7 @@ SWWM_FANART = "Art: "; SWWM_NFANART = "27"; SWWM_FANART1 = "S20TBL.jpg;Substance20 (@S20_TBL)"; SWWM_FANART2 = "CaptainJ.png;Captain J (@Jho7835)"; -SWWM_FANART3 = "RedeadITA.png;Redead-ITA"; +SWWM_FANART3 = "RedeadITA.png;Redead-ITA (@RedeadITA)"; SWWM_FANART4 = "Shivers.png;Sgt. Shivers (@Sgt_Shivers_)"; SWWM_FANART5 = "Shivers2.png;Sgt. Shivers (@Sgt_Shivers_)"; SWWM_FANART6 = "Endie.jpg;Moa Dixøn / Endie (@MoaDixon)"; diff --git a/language.version b/language.version index 9f8c3b1cf..e702c5c3e 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r10 \cu(Thu 31 Mar 21:45:18 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r10 \cu(2022-03-31 21:45:18)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r11 \cu(Sat 2 Apr 12:09:45 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r11 \cu(2022-04-02 12:09:45)\c-"; diff --git a/zscript/items/swwm_baseitem.zsc b/zscript/items/swwm_baseitem.zsc index b815d318e..a8bee4292 100644 --- a/zscript/items/swwm_baseitem.zsc +++ b/zscript/items/swwm_baseitem.zsc @@ -66,7 +66,7 @@ Class SWWMExtendedItemHitbox : Actor } override void Touch( Actor toucher ) { - if ( !master || !master.bSPECIAL || !swwm_extendedpickup ) + if ( !master || !master.bSPECIAL || Inventory(master).Owner || !swwm_extendedpickup ) return; master.Touch(toucher); } diff --git a/zscript/menu/swwm_credits.zsc b/zscript/menu/swwm_credits.zsc index ace2e3834..2969a0323 100644 --- a/zscript/menu/swwm_credits.zsc +++ b/zscript/menu/swwm_credits.zsc @@ -175,7 +175,7 @@ Class SWWMCreditsMenu : GenericMenu cvoice.Push(new("SWWMCreditsEntry").Init("Vyolette","$T_DEMOLITIONIST")); cfanart.Push(new("SWWMCreditsEntry").Init("Substance20 (@S20TBL)")); cfanart.Push(new("SWWMCreditsEntry").Init("Captain J (@Jho7835)")); - cfanart.Push(new("SWWMCreditsEntry").Init("Redead-ITA")); + cfanart.Push(new("SWWMCreditsEntry").Init("Redead-ITA (@RedeadITA)")); cfanart.Push(new("SWWMCreditsEntry").Init("Sgt. Shivers (@Sgt_Shivers_)")); cfanart.Push(new("SWWMCreditsEntry").Init("Moa Dixøn / Endie (@MoaDixon)")); cfanart.Push(new("SWWMCreditsEntry").Init("Monsoon-Soft (@MonsoonSoft)")); diff --git a/zscript/utility/swwm_utility.zsc b/zscript/utility/swwm_utility.zsc index e0e59486a..5504facdc 100644 --- a/zscript/utility/swwm_utility.zsc +++ b/zscript/utility/swwm_utility.zsc @@ -2114,6 +2114,11 @@ Class SWWMUtility // pistol spawn, pretty simple static Class PickSWWMSlot2() { + // as they are dual-wieldable, there should be a 50% chance for spares to also appear if needed + if ( Random[Replacements](0,1) && !CheckNeedsItem('ExplodiumGun') && CheckNeedsItem('ExplodiumGun',true) ) + return 'ExplodiumGun'; + if ( Random[Replacements](0,1) && !CheckNeedsItem('PlasmaBlast') && CheckNeedsItem('PlasmaBlast',true) ) + return 'PlasmaBlast'; return PickPair('ExplodiumGun','PlasmaBlast'); } // shotgun spawn diff --git a/zscript/weapons/swwm_baseweapon.zsc b/zscript/weapons/swwm_baseweapon.zsc index 279db0d12..f40508aba 100644 --- a/zscript/weapons/swwm_baseweapon.zsc +++ b/zscript/weapons/swwm_baseweapon.zsc @@ -493,6 +493,14 @@ Class SWWMDualWeaponGiver : Inventory FloatBobStrength 0.25; } + override void BeginPlay() + { + Super.BeginPlay(); + if ( !swwm_extendedpickup ) return; + let box = Spawn("SWWMExtendedItemHitbox",pos); + box.master = self; + } + override void Touch( Actor toucher ) { // show prompt to swap weapon, and prevent normal pickup