From 823da0615e81a4323b36676dece03bba025c40e8 Mon Sep 17 00:00:00 2001 From: Marisa the Magician Date: Fri, 12 Aug 2022 01:24:51 +0200 Subject: [PATCH] Fix swapped weapons having bDROPPED. --- language.version | 4 ++-- zscript/handler/swwm_handler_debugrender.zsc | 2 +- zscript/weapons/swwm_baseweapon.zsc | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/language.version b/language.version index e4dfdb1d1..bb1f89492 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r304 \cu(Fri 12 Aug 00:08:51 CEST 2022)\c-"; -SWWM_SHORTVER="\cw1.3pre r304 \cu(2022-08-12 00:08:51)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.3pre r305 \cu(Fri 12 Aug 01:24:51 CEST 2022)\c-"; +SWWM_SHORTVER="\cw1.3pre r305 \cu(2022-08-12 01:24:51)\c-"; diff --git a/zscript/handler/swwm_handler_debugrender.zsc b/zscript/handler/swwm_handler_debugrender.zsc index 3b9327004..007e8e975 100644 --- a/zscript/handler/swwm_handler_debugrender.zsc +++ b/zscript/handler/swwm_handler_debugrender.zsc @@ -96,7 +96,7 @@ extend Class SWWMHandler Vector2 vpos = SWWMUtility.NDCToViewport(projdata,ndc); String tag = a.player?a.player.GetUserName():a.GetTag(); if ( tag == a.GetClassName() ) SWWMUtility.BeautifyClassName(tag); - Screen.DrawText(NewSmallFont,Font.CR_RED,vpos.x-NewSmallFont.StringWidth(tag)/2,vpos.y-NewSmallFont.GetHeight()/2,tag); + Screen.DrawText(NewSmallFont,a.bDROPPED?Font.CR_DARKRED:Font.CR_RED,vpos.x-NewSmallFont.StringWidth(tag)/2,vpos.y-NewSmallFont.GetHeight()/2,tag); } private ui void DrawDebug( RenderEvent e ) diff --git a/zscript/weapons/swwm_baseweapon.zsc b/zscript/weapons/swwm_baseweapon.zsc index 0bb93a1d5..f56691fcb 100644 --- a/zscript/weapons/swwm_baseweapon.zsc +++ b/zscript/weapons/swwm_baseweapon.zsc @@ -114,6 +114,7 @@ Class SWWMWeapon : Weapon abstract { // create a dual giver let dg = SWWMDualWeaponGiver(Spawn("SWWMDualWeaponGiver",pos)); + dg.bDROPPED = false; dg.angle = angle; dg.vel = vel; dg.FloatBobPhase = FloatBobPhase; @@ -128,6 +129,7 @@ Class SWWMWeapon : Weapon abstract { // swap in-place let d = user.DropInventory(sw); + d.bDROPPED = false; d.SetOrigin(pos,false); d.angle = angle; d.vel = vel; @@ -707,6 +709,7 @@ Class SWWMDualWeaponGiver : Inventory if ( !giveme[1].CallTryPickup(toucher) ) giveme[1].Destroy(); // drop the other where we stand giveme[0].BecomePickup(); + giveme[0].bDROPPED = false; giveme[0].SetOrigin(pos,false); giveme[0].Angle = Angle; giveme[0].Vel = Vel; @@ -714,7 +717,7 @@ Class SWWMDualWeaponGiver : Inventory giveme[0].ClearCounters(); giveme[0].FloatBobPhase = FloatBobPhase; // don't forget to reattach its glow - if ( (giveme[1].PickupFlash is 'SWWMPickupFlash') && swwm_itemglows ) + if ( (giveme[0].PickupFlash is 'SWWMPickupFlash') && swwm_itemglows ) { let p = Spawn(giveme[0].PickupFlash,giveme[0].Vec3Offset(0,0,16)); p.target = giveme[0];