diff --git a/TEXTURES.RLAmmo b/TEXTURES.RLAmmo new file mode 100644 index 0000000000..76fe9b20d6 --- /dev/null +++ b/TEXTURES.RLAmmo @@ -0,0 +1,213 @@ +// Texture definitions generated by SLADE3 +// on Fri Jan 13 21:08:00 2023 + +Sprite "2L01A0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R102E0", 0, 0 + Patch "R102F0", 0, 0 +} + +Sprite "2L01B0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R102E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L01C0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R101E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L01D0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R101D0", 0, 0 + Patch "R101E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L01E0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R101C0", 0, 0 + Patch "R101D0", 0, 0 + Patch "R101E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L01F0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R101B0", 0, 0 + Patch "R101C0", 0, 0 + Patch "R101D0", 0, 0 + Patch "R101E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L01G0", 427, 426 +{ + Offset 52, 141 + Patch "R101A0", 0, 0 + Patch "R101B0", 0, 0 + Patch "R101C0", 0, 0 + Patch "R101D0", 0, 0 + Patch "R101E0", 0, 0 + Patch "R101F0", 0, 0 +} + +Sprite "2L02B0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R102E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L02C0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R103E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L02D0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R103D0", 0, 0 + Patch "R103E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L02E0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R103C0", 0, 0 + Patch "R103D0", 0, 0 + Patch "R103E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L02F0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R103B0", 0, 0 + Patch "R103C0", 0, 0 + Patch "R103D0", 0, 0 + Patch "R103E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L02G0", 427, 426 +{ + Offset 52, 141 + Patch "R103A0", 0, 0 + Patch "R103B0", 0, 0 + Patch "R103C0", 0, 0 + Patch "R103D0", 0, 0 + Patch "R103E0", 0, 0 + Patch "R103F0", 0, 0 +} + +Sprite "2L03B0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R102E0", 0, 0 + Patch "R104F0", 0, 0 +} + +Sprite "2L03C0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R102D0", 0, 0 + Patch "R104E0", 0, 0 + Patch "R104F0", 0, 0 +} + +Sprite "2L03D0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R102C0", 0, 2 + Patch "R104D0", 0, 0 + Patch "R104E0", 0, 0 + Patch "R104F0", 0, 0 +} + +Sprite "2L03E0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R102B0", 0, 0 + Patch "R104C0", 0, 0 + Patch "R104D0", 0, 0 + Patch "R104E0", 0, 0 + Patch "R104F0", 0, 0 +} + +Sprite "2L03F0", 427, 426 +{ + Offset 52, 141 + Patch "R102A0", 0, 0 + Patch "R104B0", 0, 0 + Patch "R104C0", 0, 0 + Patch "R104D0", 0, 0 + Patch "R104E0", 0, 0 + Patch "R104F0", 0, 0 +} + +Sprite "2L03G0", 427, 426 +{ + Offset 52, 141 + Patch "R104A0", 0, 0 + Patch "R104B0", 0, 0 + Patch "R104C0", 0, 0 + Patch "R104D0", 0, 0 + Patch "R104E0", 0, 0 + Patch "R104F0", 0, 0 +} + +// End of texture definitions diff --git a/actors/Weapons/Slot5/ROCKETLAUNCHER.dec b/actors/Weapons/Slot5/ROCKETLAUNCHER.dec index a06bc45894..7919e9b7f5 100644 --- a/actors/Weapons/Slot5/ROCKETLAUNCHER.dec +++ b/actors/Weapons/Slot5/ROCKETLAUNCHER.dec @@ -31,7 +31,11 @@ Actor RL_ScopeMode: Inventory {inventory.maxamount 1 } Actor RL_CoolDown: Inventory {inventory.maxamount 26 } - +Actor RL_ScopeAltFire:Inventory +{ +inventory.amount 0 +inventory.maxamount 1 +} Actor AltFireRocketCounter : Inventory { @@ -353,6 +357,7 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher if (PB_GetCurrentRocketMode() == "Laser" && CountInv("RocketLauncherUnloaded") == 1) {A_SetWeaponSprite("RL13");} } Ready3: + TNT1 A 0 A_JumpIfInventory("Zoomed",1,"Ready2") TNT1 A 0 { A_SetRoll(0); if (PB_GetCurrentRocketMode() == "Homing") {PB_HandleCrosshair(79);} @@ -399,13 +404,16 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Deselect: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "PlaceBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "PlaceFlameBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "PlaceIceBarrel") TNT1 A 0 { A_TakeInventory("Zoomed"); A_TakeInventory("HasExplosiveWeapon"); A_TakeInventory("RL_Cooldown", 26); A_ZoomFactor(1.0); } - TNT1 A 0 A_JumpIfInventory("GotMeatShield", 1, "GrabEnemy") + RL04 ABCD 0 RL14 ABCD 0 RL15 ABCD 0 @@ -428,6 +436,14 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Select: TNT1 A 0 + + TNT1 A 0 A_TakeInventory("HasBarrel",1) + TNT1 A 0 A_TakeInventory("HasIceBarrel",1) + TNT1 A 0 A_TakeInventory("HasFlameBarrel",1) + TNT1 A 0 A_TakeInventory("GrabbedBarrel",1) + TNT1 A 0 A_TakeInventory("GrabbedIceBarrel",1) + TNT1 A 0 A_TakeInventory("GrabbedFlameBarrel",1) + Goto SelectFirstPersonLegs SelectContinue: TNT1 A 0 @@ -452,6 +468,10 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Goto Ready3 WeaponSpecial: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "IdleBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "IdleFlameBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "IdleIceBarrel") + TNT1 A 0 A_JumpIfInventory("Zoomed",1,"CantSpecial") TNT1 A 0 { A_GiveInventory("CantWeaponSpecial" ,1 ); A_Giveinventory("PB_LockScreenTilt",1); @@ -529,8 +549,31 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher RL09 EE 1 RL98 EE 1 Goto Ready3 + + CantSpecial: + TNT1 A 0 { + if(CountInv("RL_ScopeAltFire") <= 0) { + A_Print("Alt Fire mode on"); + A_SetInventory("RL_ScopeAltFire",1); + A_TakeInventory("GoWeaponSpecialAbility", 1); + return state("Ready3"); + } + else { + A_Print("Alt Fire mode off"); + A_SetInventory("RL_ScopeAltFire",0); + A_TakeInventory("GoWeaponSpecialAbility", 1); + return state("Ready3"); + } + return state(2); + } + TNT1 AAA 0 + TNT1 A 0 A_TakeInventory("GoWeaponSpecialAbility", 1) + Goto Ready3 Fire: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "ThrowBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "ThrowFlameBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "ThrowIceBarrel") TNT1 A 0 A_JumpIfInventory("Zoomed", 1 , "Scope_Fire") TNT1 A 0 { A_WeaponOffset(0,32); @@ -805,6 +848,7 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Goto LockOn_Scan3 Scoped_LockOn_Overlay: + TNT1 A 0 A_JumpIf(PB_GetCurrentRocketMode() != "Homing",3) TNT1 A 1 { A_FireBullets(0,0,1,0,"LockOnPuff_Painted_1", FBF_NORANDOMPUFFZ); @@ -826,7 +870,8 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher } TNT1 A 0 A_Jumpif(CountInv("Zoomed") != 0,"Scoped_LockOn_Overlay") Stop - + TNT1 AAA 1 + STOP Ready2: TNT1 A 0 { @@ -873,6 +918,7 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Scope: + TNT1 A 0 A_JumpIf(PB_GetCurrentRocketMode() == "Homing","LockOn") TNT1 A 0 { A_WeaponOffset(0,32); A_SetRoll(0); @@ -904,11 +950,6 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher TNT1 A 0 { A_Overlay(71, "Scoped_LockOn_Overlay"); A_Overlay(66, "Scope_AmmoOverlay6"); - A_Overlay(65, "Scope_AmmoOverlay5"); - A_Overlay(64, "Scope_AmmoOverlay4"); - A_Overlay(63, "Scope_AmmoOverlay3"); - A_Overlay(62, "Scope_AmmoOverlay2"); - A_Overlay(61, "Scope_AmmoOverlay1"); } Goto Ready2 ZoomOut: @@ -933,119 +974,32 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Scope_AmmoOverlay6: - R101 A 0 - R103 A 0 - R104 A 0 - R102 A 1 BRIGHT { - if(CountInv("RocketRounds") >= 6 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(66, "R101"); + TNT1 a 0 A_JumpIf(CountInv("RocketRounds") < 1, "Scope_AmmoOverlay5") + 2L01 BCDEFG 0 + 2L02 BCDEFG 0 + 2L03 BCDEFG 0 + 2L01 "#" 1 BRIGHT { + if(PB_GetCurrentRocketMode() == "Standard") { + PB_SetPRCounter(66, "RocketRounds", "2L01", true); } - if(CountInv("RocketRounds") >= 6 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(66, "R103"); + if(PB_GetCurrentRocketMode() == "Homing") { + PB_SetPRCounter(66, "RocketRounds", "2L02", true); } - if(CountInv("RocketRounds") >= 6 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(66, "R104"); + if(PB_GetCurrentRocketMode() == "Laser") { + PB_SetPRCounter(66, "RocketRounds", "2L03", true); } } - TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) + "####" "#" 0 A_JumpIf(CountInv("Zoomed") == 0, 1) Loop - TNT1 A 0 + TNT1 A 1 Stop Scope_AmmoOverlay5: - R101 B 0 - R103 B 0 - R104 B 0 - R102 B 1 BRIGHT { - if(CountInv("RocketRounds") >= 5 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(65, "R101"); - } - if(CountInv("RocketRounds") >= 5 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(65, "R103"); - } - if(CountInv("RocketRounds") >= 5 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(65, "R104"); - } - } - TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) - Loop - TNT1 A 0 - Stop - Scope_AmmoOverlay4: - R101 C 0 - R103 C 0 - R104 C 0 - R102 C 1 BRIGHT { - if(CountInv("RocketRounds") >= 4 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(64, "R101"); - } - if(CountInv("RocketRounds") >= 4 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(64, "R103"); - } - if(CountInv("RocketRounds") >= 4 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(64, "R104"); - } - } - TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) - Loop - TNT1 A 0 - Stop - Scope_AmmoOverlay3: - R101 D 0 - R103 D 0 - R104 D 0 - R102 D 1 BRIGHT { - if(CountInv("RocketRounds") >= 3 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(63, "R101"); - } - if(CountInv("RocketRounds") >= 3 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(63, "R103"); - } - if(CountInv("RocketRounds") >= 3 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(63, "R104"); - } - } - TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) - Loop - TNT1 A 0 - Stop - Scope_AmmoOverlay2: - R101 E 0 - R103 E 0 - R104 E 0 - R102 E 1 BRIGHT { - if(CountInv("RocketRounds") >= 2 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(62, "R101"); - } - if(CountInv("RocketRounds") >= 2 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(62, "R103"); - } - if(CountInv("RocketRounds") >= 2 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(62, "R104"); - } - } + 2L01 A 1 BRIGHT TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) Loop - TNT1 A 0 - Stop - Scope_AmmoOverlay1: - R101 F 0 - R103 F 0 - R104 F 0 - R102 F 1 BRIGHT { - if(CountInv("RocketRounds") >= 1 && PB_GetCurrentRocketMode() == "Standard") { - A_SetOverlaySprite(61, "R101"); - } - if(CountInv("RocketRounds") >= 1 && PB_GetCurrentRocketMode() == "Homing") { - A_SetOverlaySprite(61, "R103"); - } - if(CountInv("RocketRounds") >= 1 && PB_GetCurrentRocketMode() == "Laser") { - A_SetOverlaySprite(61, "R104"); - } - } - TNT1 A 0 A_JumpIf(CountInv("Zoomed") == 0, 1) - Loop - TNT1 A 0 + TNT1 A 1 Stop + Scope_Fire: TNT1 A 0 A_JumpIf(CountInv("RL_CoolDown") != 0, "Ready2") @@ -1058,11 +1012,12 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher TNT1 A 0 A_JumpIfInventory("RocketRounds",1,1) Goto Reload Scope_LockOn_Check: + TNT1 A 0 A_JumpIfInventory("RL_ScopeAltFire",1,"LoadRocket_Double") + TNT1 A 0 A_JumpIf(PB_GetCurrentRocketMode() != "Homing",2) TNT1 A 0 A_JumpIf(CountInv("RocketLauncher_LockOnTargets") > 0, "Scope_Firing_Single") Goto Ready2 Scope_Firing_Single: - - + TNT1 A 0 RL88 H 1 BRIGHT { A_StartSound("0SRFIRE"); A_AlertMonsters; @@ -1106,6 +1061,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Stop Altfire: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "PlaceBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "PlaceFlameBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "PlaceIceBarrel") TNT1 A 0 A_JumpIfInventory("RL_ScopeMode",1,"Scope") TNT1 A 0 { @@ -1140,6 +1098,7 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher TNT1 A 0 A_JumpIfInventory("RocketRounds",2,"LoadRocket_Double") Goto Reload LoadRocket_Double: + LoadRocket_DoubleSP: TNT1 A 0 { A_StartSound("REVCYC", CHAN_AUTO, CHANF_OVERLAP); A_StartSound("weapons/rocket/innercycle", CHAN_AUTO, CHANF_OVERLAP); @@ -1461,6 +1420,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Reload: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "IdleBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "IdleFlameBarrel") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "IdleIceBarrel") TNT1 A 0 A_JumpIfInventory("RocketRounds",6,"Ready3") TNT1 A 0 A_JumpIfInventory("RocketAmmo",1,1) Goto Ready3 @@ -1734,6 +1696,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Stop FlashPunching: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "FlashBarrelPunching") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "FlashBarrelPunching") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "FlashBarrelPunching") TNT1 A 0 RL83 ABCDEFGHIJKLMN 0 @@ -1745,6 +1710,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Stop FlashKicking: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "FlashBarrelKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "FlashBarrelKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "FlashBarrelKicking") TNT1 A 0 RL83 ABCDEFGHIJKLMN 0 @@ -1756,6 +1724,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Goto Ready3 FlashAirKicking: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "FlashBarrelAirKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "FlashBarrelAirKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "FlashBarrelAirKicking") RL83 ABCDEFGHIJKLMN 0 RL84 ABCDEFGHIJKLMN 0 RL40 ABCDEFGGGGHIJKLMN 1 { @@ -1765,6 +1736,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Goto Ready3 FlashSlideKicking: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "FlashBarrelSlideKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "FlashBarrelSlideKicking") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "FlashBarrelSlideKicking") RL85 ABCDEFGHIJKLMNOPQRSTU 0 RL86 ABCDEFGHIJKLMNOPQRSTU 0 @@ -1776,6 +1750,9 @@ ACTOR PB_RocketLauncher : PB_Weapon// replaces RocketLauncher Goto Ready3 FlashSlideKickingStop: + TNT1 A 0 A_JumpIfInventory ("GrabbedBarrel", 1, "FlashBarrelSlideKickingStop") + TNT1 A 0 A_JumpIfInventory ("GrabbedFlameBarrel", 1, "FlashBarrelSlideKickingStop") + TNT1 A 0 A_JumpIfInventory ("GrabbedIceBarrel", 1, "FlashBarrelSlideKickingStop") RL41 OPQRSTU 1 { if (PB_GetCurrentRocketMode() == "Homing") {A_SetWeaponSprite("RL85");} if (PB_GetCurrentRocketMode() == "Laser") {A_SetWeaponSprite("RL86");}