diff --git a/SNDINFO.majestic b/SNDINFO.majestic index 20874c2..ac7c33a 100644 --- a/SNDINFO.majestic +++ b/SNDINFO.majestic @@ -1,8 +1,8 @@ -Majestic/Fire "Sounds/MajesticFire.ogg" -Majestic/MagOut "Sounds/MajesticMagOut.wav" -Majestic/MagIn "Sounds/MajesticMagIn.wav" -Majestic/Eject "Sounds/MajesticMagEject.wav" -Majestic/Charge "Sounds/MajesticCharge.ogg" -Majestic/Hammer "Sounds/MajesticHammer.wav" -Majestic/BatteryOut "Sounds/MajesticBatteryOut.ogg" -Majestic/BatteryIn "Sounds/MajesticBatteryIn.wav" \ No newline at end of file +Majestic/Fire "Sounds/Majestic/MajesticFire.ogg" +Majestic/MagOut "Sounds/Majestic/MajesticMagOut.wav" +Majestic/MagIn "Sounds/Majestic/MajesticMagIn.wav" +Majestic/Eject "Sounds/Majestic/MajesticMagEject.wav" +Majestic/Charge "Sounds/Majestic/MajesticCharge.ogg" +Majestic/Hammer "Sounds/Majestic/MajesticHammer.wav" +Majestic/BatteryOut "Sounds/Majestic/MajesticBatteryOut.ogg" +Majestic/BatteryIn "Sounds/Majestic/MajesticBatteryIn.wav" \ No newline at end of file diff --git a/TEXTURES.majestic b/TEXTURES.majestic index 0cd2aad..3bd0aba 100644 --- a/TEXTURES.majestic +++ b/TEXTURES.majestic @@ -1,5 +1,5 @@ // Texture definitions generated by SLADE3 -// on Sun Jul 4 03:06:28 2021 +// on Tue Jul 18 07:52:17 2023 Sprite "MJMGA0", 15, 10 { @@ -78,7 +78,7 @@ Sprite "MJCGA0", 89, 119 XScale 1.200 YScale 1.400 Offset -165, -128 - Patch "MJSTCGA0", 0, 0 + Patch "MJCGA0", 0, 0 } Sprite "MJCGB0", 89, 119 @@ -86,7 +86,7 @@ Sprite "MJCGB0", 89, 119 XScale 1.200 YScale 1.400 Offset -165, -128 - Patch "MJSTCGB0", 0, 0 + Patch "MJCGB0", 0, 0 } Sprite "MJCGC0", 89, 119 @@ -94,7 +94,7 @@ Sprite "MJCGC0", 89, 119 XScale 1.200 YScale 1.400 Offset -165, -128 - Patch "MJSTCGC0", 0, 0 + Patch "MJCGC0", 0, 0 } Sprite "MJCGD0", 89, 119 @@ -102,7 +102,7 @@ Sprite "MJCGD0", 89, 119 XScale 1.200 YScale 1.400 Offset -165, -128 - Patch "MJSTCGD0", 0, 0 + Patch "MJCGD0", 0, 0 } Sprite "MJCGE0", 110, 156 @@ -110,7 +110,23 @@ Sprite "MJCGE0", 110, 156 XScale 1.200 YScale 1.400 Offset -144, -91 - Patch "MJSTCGE0", 0, 0 + Patch "MJCFA0", 0, 0 +} + +Sprite "MJCGF0", 89, 119 +{ + XScale 1.100 + YScale 1.400 + Offset -149, -131 + Patch "MJCGA0", 0, 0 +} + +Sprite "MJCGG0", 89, 119 +{ + XScale 1.200 + YScale 1.400 + Offset -165, -128 + Patch "MJCGA0", 0, 0 } Sprite "MJ2GA0", 89, 119 @@ -118,7 +134,7 @@ Sprite "MJ2GA0", 89, 119 XScale 1.200 YScale 1.400 Offset -130, -128 - Patch "MJSTCGA0", 0, 0 + Patch "MJCGA0", 0, 0 { FlipX } @@ -129,7 +145,7 @@ Sprite "MJ2GB0", 89, 119 XScale 1.200 YScale 1.400 Offset -130, -128 - Patch "MJSTCGB0", 0, 0 + Patch "MJCGB0", 0, 0 { FlipX } @@ -140,7 +156,7 @@ Sprite "MJ2GC0", 89, 119 XScale 1.200 YScale 1.400 Offset -130, -128 - Patch "MJSTCGC0", 0, 0 + Patch "MJCGC0", 0, 0 { FlipX } @@ -151,7 +167,7 @@ Sprite "MJ2GD0", 89, 119 XScale 1.200 YScale 1.400 Offset -130, -128 - Patch "MJSTCGD0", 0, 0 + Patch "MJCGD0", 0, 0 { FlipX } @@ -162,7 +178,29 @@ Sprite "MJ2GE0", 110, 156 XScale 1.200 YScale 1.400 Offset -130, -91 - Patch "MJSTCGE0", 0, 0 + Patch "MJCFA0", 0, 0 + { + FlipX + } +} + +Sprite "MJ2GF0", 89, 119 +{ + XScale 1.100 + YScale 1.400 + Offset -114, -131 + Patch "MJCGA0", 0, 0 + { + FlipX + } +} + +Sprite "MJ2GG0", 89, 119 +{ + XScale 1.200 + YScale 1.400 + Offset -130, -128 + Patch "MJCGA0", 0, 0 { FlipX } diff --git a/patches/Majestic/MJSTCGE0.png b/patches/Majestic/MJCFA0.png similarity index 100% rename from patches/Majestic/MJSTCGE0.png rename to patches/Majestic/MJCFA0.png diff --git a/patches/Majestic/MJSTCGA0.png b/patches/Majestic/MJCGA0.png similarity index 100% rename from patches/Majestic/MJSTCGA0.png rename to patches/Majestic/MJCGA0.png diff --git a/patches/Majestic/MJSTCGB0.png b/patches/Majestic/MJCGB0.png similarity index 100% rename from patches/Majestic/MJSTCGB0.png rename to patches/Majestic/MJCGB0.png diff --git a/patches/Majestic/MJSTCGC0.png b/patches/Majestic/MJCGC0.png similarity index 100% rename from patches/Majestic/MJSTCGC0.png rename to patches/Majestic/MJCGC0.png diff --git a/patches/Majestic/MJSTCGD0.png b/patches/Majestic/MJCGD0.png similarity index 100% rename from patches/Majestic/MJSTCGD0.png rename to patches/Majestic/MJCGD0.png diff --git a/zscript/accensus/weapons/Majestic/majestic.zs b/zscript/accensus/weapons/Majestic/majestic.zs index 2e92bff..c7fc06e 100644 --- a/zscript/accensus/weapons/Majestic/majestic.zs +++ b/zscript/accensus/weapons/Majestic/majestic.zs @@ -225,6 +225,13 @@ class HDMajestic : HDHandgun } } + action void A_CheckMajesticHand() + { + bool right = !invoker.wronghand; + right = right && Wads.CheckNumForName("id", 0) != -1 || !right && Wads.CheckNumForName("id", 0) == -1; + player.GetPSprite(PSP_WEAPON).sprite = GetSpriteIndex(right ? "MJCGA0" : "MJ2GA0"); + } + const MaxCharge = 60; const Tiers = 3; private int Charge; @@ -254,6 +261,7 @@ class HDMajestic : HDHandgun Ready: MJCG # 1 { + A_CheckMajesticHand(); A_WeaponReady(WRF_NOFIRE | (invoker.Charge == 0 ? WRF_ALL : 0)); if (PressingFire() && invoker.WeaponStatus[MJProp_Mag] > 0 || invoker.Charge > 0 && player.GetPSprite(PSP_WEAPON).frame == 1) @@ -311,10 +319,12 @@ class HDMajestic : HDHandgun } Goto ReadyEnd; Select0: - MJCG A 1 A_CheckMajesticFrame(); + MJCG A 0 A_CheckMajesticHand(); + #### A 1 A_CheckMajesticFrame(); Goto Select0Small; Deselect0: - MJCG A 1 + MJCG A 0 A_CheckMajesticHand(); + #### A 1 { invoker.MustCancel = false; A_CheckMajesticFrame(); @@ -326,15 +336,15 @@ class HDMajestic : HDHandgun Goto Ready; Fire: - MJCG B 1; - MJCG A 1 + #### B 1; + #### A 1 { HDPlayerPawn(self).gunbraced = false; } - MJCF A 1 Bright A_FireMajestic(false); - MJCF B 1; - MJCF C 1; - MJCG A 2 A_CheckMajesticFrame(); + #### E 1 Bright A_FireMajestic(false); + #### F 1; + #### G 1; + #### A 2 A_CheckMajesticFrame(); Goto Ready; Reload: @@ -449,6 +459,71 @@ class HDMajestic : HDHandgun #### # 1 Offset(2, 38); #### # 1 Offset(1, 34); Goto Nope; + + + Firemode: + SwapPistols: + #### A 0 A_SwapHandguns(); + #### A 0 A_JumpIf(player.GetPSprite(PSP_WEAPON).sprite == GetSpriteIndex("MJCGA0"), "SwapPistols2"); + SwapPistols1: + TNT1 A 0 A_Overlay(1026, "lowerleft"); + TNT1 A 0 A_Overlay(1025, "raiseright"); + TNT1 A 5; + MJCG A 0; + Goto Nope; + SwapPistols2: + TNT1 A 0 A_Overlay(1026, "lowerright"); + TNT1 A 0 A_Overlay(1025, "raiseleft"); + TNT1 A 5; + MJ2G A 0; + Goto Nope; + LowerLeft: + MJCG # 0 A_WeaponBusy(true); + #### # 1 Offset(-6, 38); + #### # 1 Offset(-12, 48); + #### # 1 Offset(-20, 60); + #### # 1 Offset(-34, 76); + #### # 1 Offset(-50, 86); + stop; + LowerRight: + MJ2G # 0 A_WeaponBusy(true); + #### # 1 Offset(6, 38); + #### # 1 Offset(12, 48); + #### # 1 Offset(20, 60); + #### # 1 Offset(34, 76); + #### # 1 Offset(50, 86); + Stop; + RaiseLeft: + MJCG # 0 A_WeaponBusy(false); + #### # 1 Offset(-50, 86); + #### # 1 Offset(-34, 76); + #### # 1 Offset(-20, 60); + #### # 1 Offset(-12, 48); + #### # 1 Offset(-6, 38); + Stop; + RaiseRight: + MJ2G # 0 A_WeaponBusy(false); + #### # 1 Offset(50, 86); + #### # 1 Offset(34, 76); + #### # 1 Offset(20, 60); + #### # 1 Offset(12, 48); + #### # 1 Offset(6, 38); + Stop; + WhyAreYouSmiling: + #### A 0 A_WeaponBusy(true); + #### # 1 Offset(0, 48); + #### # 1 Offset(0, 60); + #### # 1 Offset(0, 76); + TNT1 A 7; + TNT1 A 0 + { + invoker.wronghand = !invoker.wronghand; + A_CheckMajesticHand(); + } + #### # 1 Offset(0, 76); + #### # 1 Offset(0, 60); + #### # 1 Offset(0, 48); + Goto Nope; } }