Fix extended hitboxes breaking dual-weapon givers.

This commit is contained in:
Mari the Deer 2022-04-02 12:09:45 +02:00
commit b4f81fa4e3
6 changed files with 18 additions and 5 deletions

View file

@ -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)";

View file

@ -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-";

View file

@ -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);
}

View file

@ -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)"));

View file

@ -2114,6 +2114,11 @@ Class SWWMUtility
// pistol spawn, pretty simple
static Class<Weapon> 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

View file

@ -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