Shotgunnery mod v1.85 (latest update: 7/10/23)
Forum rules
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
The Projects forums are only for projects. If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.
Got a cool project idea but nothing else? Put it in the project ideas thread instead!
Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.
Please read the full rules for more details.
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.3
I'm tempted to revert that yeah, yeah. And on the list of things for me to tackle in a bit, for some reason fast fire isn't going into the inventory bar when the "carry powerups" setting is on, and I need to do something to get the incendiary shell's fire crackle noise playing in Heretic it seems.
EDIT: and latest updates:
* Fixed incendiary shell's projectile lacking a compatibility entry in SNDINFO.
* Fixed fast fire powerup failing to pick up properly when "carry powerups" setting is on.
* Nerfed value of shell boxes from 20 down to 16.
* In exchange, bumped up max shell capacities from 50/100 to 80/160.
* Tweaked sprites for shell boxes slightly.
* Per request, went ahead and set it so slugs can gib again.
EDIT: and latest updates:
* Fixed incendiary shell's projectile lacking a compatibility entry in SNDINFO.
* Fixed fast fire powerup failing to pick up properly when "carry powerups" setting is on.
* Nerfed value of shell boxes from 20 down to 16.
* In exchange, bumped up max shell capacities from 50/100 to 80/160.
* Tweaked sprites for shell boxes slightly.
* Per request, went ahead and set it so slugs can gib again.
-
-
- Posts: 16891
- Joined: Tue Oct 02, 2012 2:20 am
- Location: An ancient Escape Shuttle(No longer active here anymore)
Re: Shotgunnery mod v1.35
This is very clever! IRL Shotgun shell variants are indeed vast and it's nice that we can use more than plain ol' buckshot shells in doom. Also i like the accuracy on Akimbo SSG each time you fire barrel after barrel!
More shell variants would be awesome too. Like making Rainbow of Shells!
More shell variants would be awesome too. Like making Rainbow of Shells!
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.35
Thanks! I was certainly tempted to add even more shell options, though right now it's pretty much at the point where there's an ammo type for basically every main vanilla weapon available, and slotting more into the spawns might be difficult. On the other hand, both bouncy rubber slugs and tazer slugs would still be very tempting to add, if I could think of good places to put them. Possibly as alternatives for what regular slugs and incendiary shells spawn respectively...Captain J wrote:This is very clever! IRL Shotgun shell variants are indeed vast and it's nice that we can use more than plain ol' buckshot shells in doom. Also i like the accuracy on Akimbo SSG each time you fire barrel after barrel!
More shell variants would be awesome too. Like making Rainbow of Shells!
-
- Posts: 34
- Joined: Sat Dec 04, 2021 11:18 am
- Location: Making weird noises.
Re: Shotgunnery mod v1.35
Very good work, it really breathes some new life into the single gun concept. Found no bugs, though I do have a single suggestion: change the firing sound for the plasma shells. The SSG's mighty boom might be powerful, but it's just not the same as the BFG's firing/crashing sound. The flash and impact sounds can stay the same.
That's it, this mod is weirdly enough very good for slaughterish maps. It's not particularly overpowered and I nearly died on Anomaly Report's map 15, which I do normally struggle to get through without dying at least once or twice.
That's it, this mod is weirdly enough very good for slaughterish maps. It's not particularly overpowered and I nearly died on Anomaly Report's map 15, which I do normally struggle to get through without dying at least once or twice.
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.35
I was tempted to edit together some sounds to fit the variant shells a bit, yeah. Possibly starting with the basic gunshot sounds, then mixing in something fitting from one of the energy weapons, if the result blends together decently...
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.5
And now with 1.4 I finally have indeed implemented some different sounds. Explosive shells get a firing sound that blends the relevant gunshot sounds together with the grenade launcher firing sound from Strife. Incendiary shells meanwhile make use of two fiery weapon sounds, Flamestrike and Bloodscourge from Hexen, mixed and tweaked a bit to have a bit more consistent sound when meshed in with the gunshot effect. Plasma shells for now make some fairly basic usage of sounds edited together incorporating the BFG plasma ball impact.
On top of that, I added a third option to the powerup options to randomize what spawns in place of berserk packs and chainsaws. By default, chainsaw spawns yield fast-fire while berserk spawns yield guns akimbo. With the new option enabled, both pick either one at random. Best used for Chex Quest since you don't seem to encounter berserk packs in there, also useful for episode one of Doom.
And also incorporated some proper gloved punching sprites, again edited from Angled Doom. Bit more consistent that way. Since you're depicted swapping shotguns fairly quickly (and editing that brass knuckle ring thingy onto any visible left hand in the shotgun sprites would be a bigger pain in the ass), they've also been edited so that the primary fire punches lack the brass knuckles, as the altfire jabs already did.
EDIT: And worked on another update afterward:
* Added an option that allows the quick-melee function to also block projectiles if you time the swings right. Won't block bullets, and trying to use it on a rocket is a Bad Idea, but does have some utility if enabled.
* Added an option that sets it so that dual shotguns will fire all four barrels one altfire, if they're all loaded. Comes at cost of increased spread and recoil, regular altfire can still occur with this setting on if you have less than four barrels loaded.
* Fixed dual shotguns with explosive slugs still using generic shotgun sound effects instead of the custom sound for explosive slugs.
* Updated readme.
On top of that, I added a third option to the powerup options to randomize what spawns in place of berserk packs and chainsaws. By default, chainsaw spawns yield fast-fire while berserk spawns yield guns akimbo. With the new option enabled, both pick either one at random. Best used for Chex Quest since you don't seem to encounter berserk packs in there, also useful for episode one of Doom.
And also incorporated some proper gloved punching sprites, again edited from Angled Doom. Bit more consistent that way. Since you're depicted swapping shotguns fairly quickly (and editing that brass knuckle ring thingy onto any visible left hand in the shotgun sprites would be a bigger pain in the ass), they've also been edited so that the primary fire punches lack the brass knuckles, as the altfire jabs already did.
EDIT: And worked on another update afterward:
* Added an option that allows the quick-melee function to also block projectiles if you time the swings right. Won't block bullets, and trying to use it on a rocket is a Bad Idea, but does have some utility if enabled.
* Added an option that sets it so that dual shotguns will fire all four barrels one altfire, if they're all loaded. Comes at cost of increased spread and recoil, regular altfire can still occur with this setting on if you have less than four barrels loaded.
* Fixed dual shotguns with explosive slugs still using generic shotgun sound effects instead of the custom sound for explosive slugs.
* Updated readme.
-
- Posts: 13
- Joined: Mon May 30, 2022 12:21 am
- Graphics Processor: Not Listed
Re: Shotgunnery mod v1.5
Its possible have smooth doom animation or not in future updates?
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.5
Might be doable, though I'd have to be mindful of the animations where offsets are used to position things, to make sure it doesn't end up looking janky.ArchVain12 wrote:Its possible have smooth doom animation or not in future updates?
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.6
For now though, messed with a big bundle of updates:
* Overhauled how reloading and loaded chambers are handled, making the shotguns significantly less fragile and less vulnerable to ending up in a state that might leave you unable to select a weapon.
* Also fixed the issue where co-op always forces the player to respawn with fists equipped.
* Set it so that you can cancel out of a reload into quick-melee if you hit the zoom command early enough. Also means the shotguns will be able to force a reload if you've somehow put them in a state where they're both ready but also empty.
* Converted the weapon name script into part of the custom ZScript HUD. This fixes some issues where the displayed weapon name could potentially fail to trigger.
* Shifted around the damage of incendiary shell projectiles to favor a bit more direct hit damage and slightly less burn damage, also adds a tweak to how its velocity changes on hitting monsters, allowing it to burn a beaten zone into a crowd of enemies instead of settling at the very edge of the group after initial impact.
* Overhauled how reloading and loaded chambers are handled, making the shotguns significantly less fragile and less vulnerable to ending up in a state that might leave you unable to select a weapon.
* Also fixed the issue where co-op always forces the player to respawn with fists equipped.
* Set it so that you can cancel out of a reload into quick-melee if you hit the zoom command early enough. Also means the shotguns will be able to force a reload if you've somehow put them in a state where they're both ready but also empty.
* Converted the weapon name script into part of the custom ZScript HUD. This fixes some issues where the displayed weapon name could potentially fail to trigger.
* Shifted around the damage of incendiary shell projectiles to favor a bit more direct hit damage and slightly less burn damage, also adds a tweak to how its velocity changes on hitting monsters, allowing it to burn a beaten zone into a crowd of enemies instead of settling at the very edge of the group after initial impact.
Spoiler: tangent about all the weird shit I ran into and what I did to fix them
-
- Posts: 152
- Joined: Fri May 06, 2022 9:39 pm
- Location: Germany
Re: Shotgunnery mod v1.6
Nice mod. I mean: Sometimes less is more
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.6
Thanks, heh. I find myself tempted to see what other lil touches I can add to improve things and add to gameplay, and while Demonsteel-esque flairs like dashing or a combo mechanic tempt me a lil bit, I can't think of many additional ideas that would actually pair well with the core idea of "shoot, reload, pace yourself and you'll be able to handle anything" that I've found dominates gameplay with this mod.lulle wrote:Nice mod. I mean: Sometimes less is more
Sounds and sprites are definitely something I'm tempted to add more work towards, stuff to give a consistent appearance across the games it's compatible with and ensure I don't have to risk any problems that might ensue from having vanilla sprites and sounds stashed away for IWAD-compatibility stuff, but part of why I ended up getting so involved in this instead of another project I have on the backburner is being that mod needs a lot more in the way of complex sprite editing before I feel up to release it, especially weapon sprites which are the bane of my existence if I have to do them myself.
-
- Posts: 34
- Joined: Sat Dec 04, 2021 11:18 am
- Location: Making weird noises.
Re: Shotgunnery mod v1.6
Something that crossed my mind the other day, would you say adding a temporary "ultra shotgun" to go with invulnerability spheres could fit the mod's gameplay? You could just use Eriance's SSG sprites for that, I think. The mod's not exactly hurting for anything else but who knows, maybe it could play a little into making is a smidge Demonsteele-y.
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.6
Hmm, maybe? Not sure what it'd do behavior-wise. One other small idea that came up, which admittedly would be less Demonsteele and more High Noon Drifter, would be to see about implementing some sort of slow-motion effect, possibly bound to a meter rather than a powerup (one that fills based off damage same way HND refills the Dead Man's Holster meter maybe?).GoalDude-00 wrote:Something that crossed my mind the other day, would you say adding a temporary "ultra shotgun" to go with invulnerability spheres could fit the mod's gameplay? You could just use Eriance's SSG sprites for that, I think. The mod's not exactly hurting for anything else but who knows, maybe it could play a little into making is a smidge Demonsteele-y.
Issue with that admittedly would be I'd want to bind yet another key, presumably a user-state key. Also that'd raise the issue of whether to keep the fast-fire powerup as it is or replace it with something that either unlocks the slow-motion ability or adds a bonus to its meter, or what...
-
- Posts: 73
- Joined: Mon Apr 19, 2021 12:58 pm
Re: Shotgunnery mod v1.7
It's been a while, but I made a couple little updates to the mod lately, and hashed out some possible plans for further additions. For now it's just some simple stuff adding to effects. Slug impacts now have a short-range quake effect when they hit, similar to other hard-hitting effects in the mod. Likewise, when you've got a damage boost from gun akimbo (since right now it also effectively doubles as berserk and still grants a melee damage bonus), using quick-melee will also have a similar impact. No such effect on boosted fists yet, though I could maybe...
Plasma shells also got a slight tweak to how their damage works. Basically just shifted part of their damage over from the actual hitscan effect to a short-range AoE, set to not harm the user (unlike explosive slugs and incendiary shell effects), and also (for now) still affecting bosses like incendiary shells currently do. End result is the same average damage per plasma pellet, but min and max damage is both nudged closer to the average a bit.
One thing I'm tempted to do is change the fast-fire powerup into some sort of adrenaline powerup. Basically set it so it grants a movement speed boost as well as its current rate of fire effect, and additionally switch it up so the melee damage bonus is assigned to it instead of to guns akimbo.
One thing this does tempt me to ponder is the possibility of an adrenaline mechanic instead of a limited powerup. This would require dabbling in a bit more scripting to basically set it so you have a specific ammo that drains steadily over time, requires a certain minimum level to activate, etc. The big question there is, should this be implemented as a powerup that stays in inventory to toggle on or off as needed, or should it be assigned to yet another keybind? Since altifre, reload, and zoom are all already assigned uses as it is, this would require setting aside yet more keys for the player to juggle unless I stuck with using the inventory hotbar. That said, if I did go full potat and set aside a separate keybind to toggle an adrenaline mechanic on and off, I could also do the same for toggling dual shotguns on and off.
The other thing to ponder, if I were to do that though, is whether to have such a mechanic recharge over time, or rig a way to make it check for damage or kills...for the latter, a very easy way to do this without any monster overrides for the hitscan ammo types would just be to have the XDeath states call A_GiveToTarget to give the firing player a given amount of adrenaline relative to how much damage being doled out. But since the flechette and incendiary shells are non-standard projectiles, that would'nt cut it for them. I'm guessing I'd have to look at how High Noon Drifter implements its method of checking for monster kills to refill its Dead Man's Holster meter, seems like the most logical since it also scales by the victim's HP.
Plasma shells also got a slight tweak to how their damage works. Basically just shifted part of their damage over from the actual hitscan effect to a short-range AoE, set to not harm the user (unlike explosive slugs and incendiary shell effects), and also (for now) still affecting bosses like incendiary shells currently do. End result is the same average damage per plasma pellet, but min and max damage is both nudged closer to the average a bit.
One thing I'm tempted to do is change the fast-fire powerup into some sort of adrenaline powerup. Basically set it so it grants a movement speed boost as well as its current rate of fire effect, and additionally switch it up so the melee damage bonus is assigned to it instead of to guns akimbo.
One thing this does tempt me to ponder is the possibility of an adrenaline mechanic instead of a limited powerup. This would require dabbling in a bit more scripting to basically set it so you have a specific ammo that drains steadily over time, requires a certain minimum level to activate, etc. The big question there is, should this be implemented as a powerup that stays in inventory to toggle on or off as needed, or should it be assigned to yet another keybind? Since altifre, reload, and zoom are all already assigned uses as it is, this would require setting aside yet more keys for the player to juggle unless I stuck with using the inventory hotbar. That said, if I did go full potat and set aside a separate keybind to toggle an adrenaline mechanic on and off, I could also do the same for toggling dual shotguns on and off.
The other thing to ponder, if I were to do that though, is whether to have such a mechanic recharge over time, or rig a way to make it check for damage or kills...for the latter, a very easy way to do this without any monster overrides for the hitscan ammo types would just be to have the XDeath states call A_GiveToTarget to give the firing player a given amount of adrenaline relative to how much damage being doled out. But since the flechette and incendiary shells are non-standard projectiles, that would'nt cut it for them. I'm guessing I'd have to look at how High Noon Drifter implements its method of checking for monster kills to refill its Dead Man's Holster meter, seems like the most logical since it also scales by the victim's HP.
-
- Posts: 1288
- Joined: Fri Nov 07, 2008 3:29 pm
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
- Location: Maryland, USA, but probably also in someone's mod somewhere
Re: Shotgunnery mod v1.7
ZScript would be required for this, but it's pretty simple. What I did in High Noon Drifter was give a number of tokens to the killer based on the enemy's spawn health in a WorldThingDied event, like so:Chaosvolt wrote:The other thing to ponder, if I were to do that though, is whether to have such a mechanic recharge over time, or rig a way to make it check for damage or kills...for the latter, a very easy way to do this without any monster overrides for the hitscan ammo types would just be to have the XDeath states call A_GiveToTarget to give the firing player a given amount of adrenaline relative to how much damage being doled out. But since the flechette and incendiary shells are non-standard projectiles, that would'nt cut it for them. I'm guessing I'd have to look at how High Noon Drifter implements its method of checking for monster kills to refill its Dead Man's Holster meter, seems like the most logical since it also scales by the victim's HP.
Code: Select all
override void WorldThingDied(WorldEvent e)
{
let victim = e.thing;
let killer = e.thing.target;
if(victim.bISMONSTER == FALSE) { return; }
if(victim.bFRIENDLY == TRUE) { return; }
if((killer is "PlayerPawn") && killer.CountInv("AttainedSpaghettiAbility"))
{
// Only run if the killer is a player, he knows how to spaghetti, and can't currently spaghetti.
if(victim.DamageTypeReceived == "QuickDraw")
{
// If the monster was killed by quick draw, do nothing.
// Prevents cheaty scenarios like quickdrawing a boss for an instant fill.
return;
}
// Give the monster's starting health as charge weight.
if (killer.CountInv("SpaghettiCharged1") == 0) { killer.GiveInventory("SpaghettiCharge1", victim.GetSpawnHealth()); }
if (killer.CountInv("SpaghettiCharged1") == 1) { killer.GiveInventory("SpaghettiCharge2", victim.GetSpawnHealth()); }
if (killer.CountInv("SpaghettiCharged2") == 1) { killer.GiveInventory("SpaghettiCharge3", victim.GetSpawnHealth()); }
if(killer.CountInv("SpaghettiCharge1") >= 4000 && killer.CountInv("SpaghettiCharged1") == 0)
{
killer.GiveInventory("SpaghettiCharged1",1);
killer.GiveInventory("SpaghettiPickupEffect",1); // Simulates a holster pickup.
}
... // ditto for spaghetti charges 2 and 3