[0.10.6] Gun Bonsai -- everything-compatible weapon upgrading

Projects that alter game functions but do not include new maps belong here.
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.
User avatar
Carrotear
Posts: 155
Joined: Thu Sep 03, 2015 10:45 pm
Preferred Pronouns: No Preference
Graphics Processor: Intel (Modern GZDoom)

Re: [0.8.2] Gun Bonsai -- everything-compatible weapon upgra

Post by Carrotear »

Holy crap I'm in love with this.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.2] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

mamaluigisbagel wrote:Well that didn't take too long. Had this crash with Hellrider after blowing myself up, having owned the weapon juggler player ability. (will also note weapons were NOT swapping instantly after obtaining that upgrade)
The crash is fixed for the next version (and was actually more general than Hellrider; you could reproduce it reliably in vanilla too). Unfortunately I don't think I can fix Juggler not working; the way it works is by short-circuiting the A_Lower/A_Raise process used to move the old weapon offscreen and the new weapon onscreen, but Hellrider doesn't use that process! Instead each weapon holstering/drawing process is individually animated for that specific weapon. It might be possible to skip some of that, e.g. by using SetStateLabel to smash the weapon straight from Select to ReadyLoop, but that would be fragile and would probably break a bunch of other mods.
User avatar
mamaluigisbagel
Posts: 521
Joined: Wed Jul 09, 2014 7:25 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

Re: [0.8.2] Gun Bonsai -- everything-compatible weapon upgra

Post by mamaluigisbagel »

Ah, I see. I mean with an ability like Juggler, I expected it to not work or have problems with MANY mods, so its not too big a surprise. (in fact thats why I play so many different mods with this to see what works and what doesn't, and to report anything I find to try and help)
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Release 0.8.3

Post by ToxicFrog »

0.8.3 is released! Grab it here or from the OP.

This fixes the Juggler crash and updates the Scavenge and Dark Harvest upgrades to base their caps on the player's MaxHealth rather than a hardcoded value of 100. ("Max armour" turns out to be a tricky thing to define, so for now both of them are based on max health). It also reworks the Thorns upgrade; it now has a limited range and its effectiveness drops off with distance, although at close ranges it is significantly more powerful than it used to be.
User avatar
openroadracer
Posts: 496
Joined: Mon Sep 23, 2019 1:03 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 7 Professional 64-bit SP1
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Doomworld Forums

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by openroadracer »

Minor suggestion for the GitHub README.MD file: Could you please include full descriptions of what the upgrades "Elemental Beam", "Elemental Blast" and "Elemental Wave" do?
User avatar
mamaluigisbagel
Posts: 521
Joined: Wed Jul 09, 2014 7:25 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by mamaluigisbagel »

Just to add, my brother has been playing this mod as well, and his biggest gripe has been the swiftness upgrade being too overpowered. If you use berserk, you just need to kill one enemy and then you can destroy every enemy in the room without any resistance. Any idea if anything can be done with this? (aside from not selecting that upgrade)
Willytor
Posts: 30
Joined: Fri Jul 16, 2021 2:02 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by Willytor »

just a heads up i think it might be a good idea to update the description on the forums to make it clearer you need both pk3s i know it says it on the github but i assumed everything there would be ctrl c trl v from the forum page. maybe write it in big bold red letters so idiots like me dont get confused in the future :)
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

I'm seeing a weird issue with 0.8.3 where sometimes armour pickups dropped by Scavenge Steel don't do anything when picked up. But not always! If anyone else is seeing this, please let me know if you see any pattern to it.
openroadracer wrote:Minor suggestion for the GitHub README.MD file: Could you please include full descriptions of what the upgrades "Elemental Beam", "Elemental Blast" and "Elemental Wave" do?
Done.
mamaluigisbagel wrote:Just to add, my brother has been playing this mod as well, and his biggest gripe has been the swiftness upgrade being too overpowered. If you use berserk, you just need to kill one enemy and then you can destroy every enemy in the room without any resistance. Any idea if anything can be done with this? (aside from not selecting that upgrade)
This is something I've thought about on occasion but never really sat down and fiddled with. Off the top of my head, simple things that would make it less powerful:
- reduce the amount of time you get for each kill
- add a cap to it or some kind of diminishing returns
More complicated things:
- Do something involving A_SetTics() (maybe???) so that it slows down enemies around you for a while without completely freezing them, possibly with the effect getting more pronounced as you make more kills
Willytor wrote:just a heads up i think it might be a good idea to update the description on the forums to make it clearer you need both pk3s i know it says it on the github but i assumed everything there would be ctrl c trl v from the forum page. maybe write it in big bold red letters so idiots like me dont get confused in the future :)
I've added another note in bold red next to the download link.
User avatar
Brohnesorge
Posts: 493
Joined: Sat Oct 08, 2016 9:10 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Win10
Graphics Processor: nVidia with Vulkan support

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by Brohnesorge »

So setting the health/armor bonus to use another mod's instead of Gun Bonsai's seems to "fix" the armor bonus problem from Scavenge Steel. But everything else is now working great and I appreciate how quickly you fix things.

Why yes, I am softening you up before reporting another bug. This time with Elemental Wave. I had just taken Elemental Wave, punched something and it crashed. Ignore me using the wrong command

User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

The elemental synthesis upgrades are not particularly well tested and it does not surprise me that there's still some bugs lurking in there. I suspect this one is a cousin to Chain Lightning's "gibbing something at the wrong time erases it from existence after the mod chooses it as a target but before it finishes manipulating it". It should be easier to fix, though -- Chain Lightning is probably the most complicated upgrade in the entire mod.

In other news, I have the various leech upgrades now working properly consistently -- I think -- including for mods that have nonstandard max health values and mods that let you upgrade your max health over time. (Armour is still just using max health as a proxy because figuring out "max armour" is a nasty problem, but I figure that'll be good enough 99% of the time). That will be in 0.8.4, which will release sometime Not Today, because it is late. In the meantime I recommend following Brohnesorge's example and flipping the "use builtin actors for scavenge drops" setting to OFF as long as you're on 0.8.3.

In happier news, while trying to debug this I also figured out how to get Swiftness to not stop the music, so that's also going into 0.8.4, along with probably some rebalancing of it.
User avatar
Major Cooke
Posts: 8193
Joined: Sun Jan 28, 2007 3:55 pm
Preferred Pronouns: He/Him
Location: QZDoom Maintenance Team

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by Major Cooke »

While I would love to see if this mod works well with the upcoming Doom Eternal 4 Doom mod I'm working on, I can already tell there's going to be one massive incompatibility with this: the akimbo weapon system. Is there a parsed document that I can create which the mod reads for blacklisting certain weapons/items in general?

Long story short, the upgrades in DE4D are going to be purely classes, not inventory items, that are maintained by a static event handler. So if there's any clashes, I'd like to take care of them sooner than later when people report these issues.

They're just classes for the sake of optimizing and having finer control (and also stopping death exits from taking player inventory because building upgrades is going to take a long time and having that all just taken away is a kick in the teeth).
DarkkOne
Posts: 272
Joined: Mon Jun 06, 2016 11:26 pm
Preferred Pronouns: No Preference
Operating System Version (Optional): Widnows 11
Graphics Processor: nVidia with Vulkan support

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by DarkkOne »

Regarding the "swiftness" thing, diminishing returns seems like a great idea.
Starman the Blaziken
Posts: 280
Joined: Thu Mar 07, 2019 9:40 pm
Graphics Processor: ATI/AMD (Modern GZDoom)
Location: United States, MI

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by Starman the Blaziken »

I probably would actually like to suggest while on top of the Swiftness, maybe a sound effect that plays while slowing down time with Swiftness would be kind of nice since it can get unfittingly dead quiet while under said effect.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by ToxicFrog »

Major Cooke wrote:While I would love to see if this mod works well with the upcoming Doom Eternal 4 Doom mod I'm working on, I can already tell there's going to be one massive incompatibility with this: the akimbo weapon system. Is there a parsed document that I can create which the mod reads for blacklisting certain weapons/items in general?

Long story short, the upgrades in DE4D are going to be purely classes, not inventory items, that are maintained by a static event handler. So if there's any clashes, I'd like to take care of them sooner than later when people report these issues.

They're just classes for the sake of optimizing and having finer control (and also stopping death exits from taking player inventory because building upgrades is going to take a long time and having that all just taken away is a kick in the teeth).
What specific compatibility concerns do you have? How does the akimbo weapon system work in DE4D?

The way Bonsai works is, all the upgrades are non-actor classes; they're matched up with weapons by actor pointer and secondarily by actor type (so they can be reassigned to a new weapon of the same type if the old vanishes, e.g. if the player drops it), but don't directly modify the weapons at all. They're all carried around in a single inventory item (TFLV_PerPlayerStats) that also holds the ModifyDamage handlers and some other bookkeeping stuff. Effects trigger on damage dealt/received or on kill and are triggered by ModifyDamage or by WorldThingDamaged events captured by a StaticEventHandler.

The main issues I've seen with other mods that have upgrade systems is when the upgrade is a different actor type than the base item -- e.g. DRLA's assembles or Ashes Afterglow's upgraded weapons are different actors, so they lose all the upgrades the original had. But it sounds like that's not how DE4D handles things.

All that said, I think your idea of having an lump that other mods can provide that carries compatibility information is a great one -- Bonsai doesn't currently support anything like that but it would be a good idea, both as a way for other mods to non-intrusively add compatibility tweaks and as a way for Bonsai itself to easily contain a list of such tweaks for other mods. I don't think that'll make it into 0.8.4, but it's on my TODO list now.

Off the top of my head, features it should probably have include:
- disable all upgrades for a given weapon
- disable specific upgrades for a given weapon
- treat a list of different weapons as equivalent
- force a weapon to be treated as melee/hitscan/projectile, bypassing the normal detection mechanism
- globally disable certain upgrades if a given mod is detected (e.g. Juggler is incompatible with Hellrider, so just turn it off entirely if Hellrider is loaded)

I'm also looking forward to playing DE4D! I didn't really like Doom Eternal but my complaints were mostly about the level design, not the gun mechanics.
DarkkOne wrote:Regarding the "swiftness" thing, diminishing returns seems like a great idea.
Yeah, at the moment each kill grants you 2 seconds of timestop (which is actually more like 1 second of stop and 1 second of slow-motion due to the way it works), which stacks infinitely so as long as it takes you less than two seconds to kill something it can stack to unreasonable amounts.
Starman the Blaziken wrote:I probably would actually like to suggest while on top of the Swiftness, maybe a sound effect that plays while slowing down time with Swiftness would be kind of nice since it can get unfittingly dead quiet while under said effect.
0.8.4 fixes the "all sound stops" issue. I might also want a sound effect at some point but I think the need for one will be much diminished.
Apteral10
Posts: 106
Joined: Sat Jan 20, 2018 1:14 pm

Re: [0.8.3] Gun Bonsai -- everything-compatible weapon upgra

Post by Apteral10 »

So far... I have completed back to saturn X in ultra violence (no fast monsters and coop monsters). It was relatively easy. There definitely were dicey moments because of LegenDoom giving me an unnecessary surprises every now and then. I also completed all maps before the O of destruction. Even that has been quite easy. This mod IS compatible with Colourfull Hell but... It's not a good time and because LegenDoom and CH somehow collide (mostly LegenDoom cancelling CH). Well, you can't run both of them.

Really good mod but I kind of need to let people know that the melee upgrades can make the game... A BIT too easy. Dark Harvest combined with shock inscription, shield and little bit of damage. LET'S just say that it is QUITE op. Dark Harvest for now is able to buff your health and armor up to 999 which honestly is a bit ridiculous. I went to do some rocket jumping because of it.

Return to “Gameplay Mods”