From 9cf984cea8b60cf27385bb17761052fa38cbbd5a Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sat, 22 Jan 2022 17:17:41 +0100 Subject: [PATCH] Prevent misinterpretation of deep impact altfire. --- language.version | 4 ++-- sndinfo.txt | 1 + sounds/deepimpact/impdryaltfire.ogg | Bin 0 -> 7335 bytes zscript/weapons/swwm_deepdarkimpact.zsc | 21 ++++++++++++++++++--- 4 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 sounds/deepimpact/impdryaltfire.ogg diff --git a/language.version b/language.version index 7e5085d5b..b04aac9c3 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r122 \cu(Sat 22 Jan 17:06:49 CET 2022)\c-"; -SWWM_SHORTVER="\cw1.2pre r122 \cu(2022-01-22 17:06:49)\c-"; +SWWM_MODVER="\cyDEMOLITIONIST \cw1.2pre r123 \cu(Sat 22 Jan 17:17:41 CET 2022)\c-"; +SWWM_SHORTVER="\cw1.2pre r123 \cu(2022-01-22 17:17:41)\c-"; diff --git a/sndinfo.txt b/sndinfo.txt index bfd78010d..01885b3f2 100644 --- a/sndinfo.txt +++ b/sndinfo.txt @@ -562,6 +562,7 @@ deepimpact/fire sounds/deepimpact/impfire.ogg deepimpact/charge sounds/deepimpact/impaltcharge.ogg deepimpact/altfire sounds/deepimpact/impaltfire.ogg deepimpact/dryfire sounds/deepimpact/impdryfire.ogg +deepimpact/dryaltfire sounds/deepimpact/impdryaltfire.ogg deepimpact/select sounds/deepimpact/impsel.ogg deepimpact/checkout sounds/deepimpact/impidle.ogg deepimpact/deselect sounds/deepimpact/impdown.ogg diff --git a/sounds/deepimpact/impdryaltfire.ogg b/sounds/deepimpact/impdryaltfire.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cd6475366dd80ade56c05f56486c18a355e3b1bb GIT binary patch literal 7335 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 JFWKPB005b~b@TuL literal 0 HcmV?d00001 diff --git a/zscript/weapons/swwm_deepdarkimpact.zsc b/zscript/weapons/swwm_deepdarkimpact.zsc index 0e77beb84..166f131df 100644 --- a/zscript/weapons/swwm_deepdarkimpact.zsc +++ b/zscript/weapons/swwm_deepdarkimpact.zsc @@ -46,6 +46,7 @@ Class DeepImpact : SWWMWeapon transient ui TextureID WeaponBox, AmmoBar; transient ui DynamicValueInterpolator ChargeInter; + transient int failtime; Property ClipCount : clipcount; @@ -56,8 +57,9 @@ Class DeepImpact : SWWMWeapon Screen.DrawTexture(WeaponBox,false,bx-36,by-54,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); int chg = clamp(ChargeInter?ChargeInter.GetValue():clipcount,0,100); int ct = int(((by-2)-(chg*50./100.))*hs); - Screen.DrawTexture(AmmoBar,false,bx-7,by-52,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ClipTop,ct); - Screen.DrawText(smallfont,Font.CR_FIRE,bx-35,by-12,String.Format("%3d%%",chg),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true); + bool blinking = (failtime>gametic)&&((failtime-gametic)%8>=4); + Screen.DrawTexture(AmmoBar,false,bx-7,by-52,DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ClipTop,ct,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); + Screen.DrawText(smallfont,Font.CR_FIRE,bx-35,by-12,String.Format("%3d%%",chg),DTA_VirtualWidthF,ss.x,DTA_VirtualHeightF,ss.y,DTA_KeepRatio,true,DTA_ColorOverlay,blinking?Color(128,0,0,0):Color(0,0,0,0)); } override void HudTick() @@ -247,6 +249,12 @@ Class DeepImpact : SWWMWeapon } } + action void A_DryAltFire() + { + invoker.failtime = gametic+32; + A_StartSound("deepimpact/dryaltfire",CHAN_WEAPON,CHANF_OVERLAP); + } + action void A_AltBullet() { let weap = Weapon(invoker); @@ -363,11 +371,18 @@ Class DeepImpact : SWWMWeapon XZW2 STU 3; Goto Ready; AltFire: - XZW2 A 0 A_JumpIf(invoker.ClipCount<100,"Reload"); + XZW2 A 0 A_JumpIf(invoker.ClipCount<100,"DryAltFire"); XZW2 A 0 A_BeginCharge(); XZW2 A 1 A_ChargeUp(); XZW2 V 1 A_ChargeUp(); Wait; + DryAltFire: + // the useless goddess + XZW2 A 2 A_DryAltFire(); + XZW2 Q 4; + XZW2 U 5; + XZW2 A 2; + Goto Ready; AltRelease: XZW2 V 1 A_AltBullet(); XZW2 W 1;