[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
Alfred Don
Posts: 44
Joined: Mon Aug 01, 2022 11:52 am

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by Alfred Don »

I love this mod!
Gourry
Posts: 117
Joined: Tue Dec 05, 2017 4:25 pm
Graphics Processor: nVidia (Modern GZDoom)

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by Gourry »

It looks like you can't use revivification and hallucinogens on the same weapon. I got a vm abort from the poison side of the upgrades.
For some reason; it was fine in the earlier levels of sunlust but not in the later levels

edit: just tested again with hallucinogens upgrade and by itself still makes the vm abort.

vm abort: https://imgur.com/a/iAYnAyr
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

r&r wrote: Thu Apr 06, 2023 6:27 pmand heres Castlevania: Simon's Destiny shield issue Issue
What version of Gun Bonsai is this? 0.10.1 should have fixed this crash.
kinker31 wrote: Mon Jun 26, 2023 10:17 pmRan into an issue with The Adventures of Square, mostly that it crashes the game because of invalid rotation sprites for one of the enemies.
This is fixed in version 0.10.2, and the fix should also fix some load-time warnings that have been around for a while.
NamelessGuy wrote: Sun Apr 30, 2023 9:00 pmExperiencing pretty frequent aborts because of hallucinogens upgrade

Edit: oh, I also would like to suggest clearing the target of revived minion after it appears/disappears as they could be focused on an enemy that is beyond their reach and they become almost useless. Happened to me many times
Gourry wrote: Thu Jul 13, 2023 7:08 pmedit: just tested again with hallucinogens upgrade and by itself still makes the vm abort.
These both look like pretty straightforward fixes, slated for the next release.
mamaluigisbagel wrote: Wed Jun 28, 2023 11:19 amI found a bug with High Noon Drifter where damage and kills with the Heki bow do not increase your weapon's XP.
DoomThing445 wrote: Sun May 21, 2023 5:25 amSo I've found that Gun Bonai isn't compatible with calculating damage given to Triple M's monsters- Triple M is a monster pack that's universal- in the same way as Gun Bonsai- that spawns Minecraft monsters throughout the map instead of them already being there on map load.
And I can investigate both of these.
Ron_Dallas wrote: Thu Jun 29, 2023 1:30 pmHeh, with Dwelling Sin is an interesting gameplay. Gun Bonsai update only "hands", not a weapon - so all weapons have same effect)
And I make no promises about this, it looks complicated!
AliciaPendragon wrote: Mon Jun 26, 2023 10:42 pmGreat mod though noticied a bug with DRLA

Any modpacks or demonic artifacts I have on a gun upon leveling it up tend to dissapear, as in they get removed. Any idea whats causing it?
I can't reproduce this, and I have no idea what could be causing it -- leveling up a weapon in GB doesn't actually change the weapon itself, GB has a separate bookkeeping object which keeps track of which upgrades you have on which weapons, and applies the effects of those upgrades when things happen. Is there a specific weapon it happens with, or a specific sequence of actions that triggers this?

If anything I'd expect to see the opposite behaviour, where installing modpacks or creating an assembly causes the weapon to lose its GB upgrades.
Nukedude01 wrote: Fri Jun 09, 2023 3:43 pmIs it possible to have accuracy upgrades for shotgun-type weapons?
Sadly, no -- accuracy is part of the actor code, not the actor properties, so I can't really futz with it at runtime. I have a whole file of "cool upgrade ideas" that I haven't implemented because I can't see any way to do them without actor replacement, which is incompatible with GB's compatibility goals.
Bodhisattva wrote: Tue Jun 27, 2023 2:27 pmI have a little suggestion though. It would be nice to have an option that makes it so that a weapon being upgraded loses all of its previous upgrades and lets you level it up again, but with new random upgrades. Kinda like an automatic respec on each level-up.
Huh, that's an interesting idea. Set max_upgrades_per_level to 1 and it effectively randomizes the weapon every level; >1 gives you a full respec. I think that would probably be not too hard to implement?
Dan_The_Noob wrote: Tue Jun 27, 2023 3:45 pm I would like an option to get 1 level per map cleared.
That too probably wouldn't be too hard -- probably easiest to implement it as "on entering a new level for the first time, the XP for each weapon is set to exactly the amount needed to gain the next level-up" and then you set the XP from damage multiplier to 0.

Now I'm wondering, though, if it would work better as a level floor -- like, on entering a new level, all your weapons instantly level up to (number of cleared levels) if they were at a lower level. So weapons you pick up later in the runthrough would get automatically "caught up" and weapons that are already gaining at least one level/map wouldn't be affected. That would be trickier -- I don't think there's a "how many maps have you cleared" counter, so I'd have to keep track in GB -- but still doable.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

mamaluigisbagel wrote: Wed Jun 28, 2023 11:19 am I found a bug with High Noon Drifter where damage and kills with the Heki bow do not increase your weapon's XP.
Looks like this is a bug in High Noon Drifter -- arrows have special damage code that uses A_DamageSelf() rather than something like DamageMobj(), so any damage inflicted with the bow is treated as self-damage, not attributed to the player.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

DoomThing445 wrote: Sun May 21, 2023 5:25 am So I've found that Gun Bonai isn't compatible with calculating damage given to Triple M's monsters- Triple M is a monster pack that's universal- in the same way as Gun Bonsai- that spawns Minecraft monsters throughout the map instead of them already being there on map load.
And I looked into this, and Triple M completely replaces the default gzDoom damage handling behaviour for its monsters, to the point that the WorldThingDamaged event never fires at all for minecraft enemies. There's not much I can do in this case -- GB relies on WorldThingDamaged (and a bunch of other world/actor events) to do its thing, and if a mod re-implements core functionality in a way that bypasses them it has no way of telling what's going on.
User avatar
mamaluigisbagel
Posts: 524
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.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by mamaluigisbagel »

ToxicFrog wrote: Sat Jul 15, 2023 1:37 pm Looks like this is a bug in High Noon Drifter -- arrows have special damage code that uses A_DamageSelf() rather than something like DamageMobj(), so any damage inflicted with the bow is treated as self-damage, not attributed to the player.
Really? That sounds bizarre to me why it'd be like that, but I'm no modder. Every other weapon works fine, so I guess you could just avoid using the Bow. It took me forever to find one anyway :P
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

mamaluigisbagel wrote: Sat Jul 15, 2023 2:23 pm Really? That sounds bizarre to me why it'd be like that, but I'm no modder. Every other weapon works fine, so I guess you could just avoid using the Bow. It took me forever to find one anyway :P
A_DamageSelf() is a lot easier to use than DamageMobj(), so it might just be that. It'd be an easy fix, but it doesn't look like Terminus Est is working on the mod anymore?
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

mamaluigisbagel wrote: Sat Jul 15, 2023 2:23 pm Really? That sounds bizarre to me why it'd be like that, but I'm no modder. Every other weapon works fine, so I guess you could just avoid using the Bow. It took me forever to find one anyway :P
When you have a moment, could you test out the attached compatibility shim? Load it after both GB and HND.
You do not have the required permissions to view the files attached to this post.
User avatar
AliciaPendragon
Posts: 193
Joined: Wed Jun 07, 2023 8:46 am
Preferred Pronouns: She/Her
Operating System Version (Optional): Windows 10
Location: Gensokyo

Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading

Post by AliciaPendragon »

ToxicFrog wrote: Sat Jul 15, 2023 1:16 pm
r&r wrote: Thu Apr 06, 2023 6:27 pmand heres Castlevania: Simon's Destiny shield issue Issue
What version of Gun Bonsai is this? 0.10.1 should have fixed this crash.
kinker31 wrote: Mon Jun 26, 2023 10:17 pmRan into an issue with The Adventures of Square, mostly that it crashes the game because of invalid rotation sprites for one of the enemies.
This is fixed in version 0.10.2, and the fix should also fix some load-time warnings that have been around for a while.
NamelessGuy wrote: Sun Apr 30, 2023 9:00 pmExperiencing pretty frequent aborts because of hallucinogens upgrade

Edit: oh, I also would like to suggest clearing the target of revived minion after it appears/disappears as they could be focused on an enemy that is beyond their reach and they become almost useless. Happened to me many times
Gourry wrote: Thu Jul 13, 2023 7:08 pmedit: just tested again with hallucinogens upgrade and by itself still makes the vm abort.
These both look like pretty straightforward fixes, slated for the next release.
mamaluigisbagel wrote: Wed Jun 28, 2023 11:19 amI found a bug with High Noon Drifter where damage and kills with the Heki bow do not increase your weapon's XP.
DoomThing445 wrote: Sun May 21, 2023 5:25 amSo I've found that Gun Bonai isn't compatible with calculating damage given to Triple M's monsters- Triple M is a monster pack that's universal- in the same way as Gun Bonsai- that spawns Minecraft monsters throughout the map instead of them already being there on map load.
And I can investigate both of these.
Ron_Dallas wrote: Thu Jun 29, 2023 1:30 pmHeh, with Dwelling Sin is an interesting gameplay. Gun Bonsai update only "hands", not a weapon - so all weapons have same effect)
And I make no promises about this, it looks complicated!
AliciaPendragon wrote: Mon Jun 26, 2023 10:42 pmGreat mod though noticied a bug with DRLA

Any modpacks or demonic artifacts I have on a gun upon leveling it up tend to dissapear, as in they get removed. Any idea whats causing it?
I can't reproduce this, and I have no idea what could be causing it -- leveling up a weapon in GB doesn't actually change the weapon itself, GB has a separate bookkeeping object which keeps track of which upgrades you have on which weapons, and applies the effects of those upgrades when things happen. Is there a specific weapon it happens with, or a specific sequence of actions that triggers this?

If anything I'd expect to see the opposite behaviour, where installing modpacks or creating an assembly causes the weapon to lose its GB upgrades.
Nukedude01 wrote: Fri Jun 09, 2023 3:43 pmIs it possible to have accuracy upgrades for shotgun-type weapons?
Sadly, no -- accuracy is part of the actor code, not the actor properties, so I can't really futz with it at runtime. I have a whole file of "cool upgrade ideas" that I haven't implemented because I can't see any way to do them without actor replacement, which is incompatible with GB's compatibility goals.
Bodhisattva wrote: Tue Jun 27, 2023 2:27 pmI have a little suggestion though. It would be nice to have an option that makes it so that a weapon being upgraded loses all of its previous upgrades and lets you level it up again, but with new random upgrades. Kinda like an automatic respec on each level-up.
Huh, that's an interesting idea. Set max_upgrades_per_level to 1 and it effectively randomizes the weapon every level; >1 gives you a full respec. I think that would probably be not too hard to implement?
Dan_The_Noob wrote: Tue Jun 27, 2023 3:45 pm I would like an option to get 1 level per map cleared.
That too probably wouldn't be too hard -- probably easiest to implement it as "on entering a new level for the first time, the XP for each weapon is set to exactly the amount needed to gain the next level-up" and then you set the XP from damage multiplier to 0.

Now I'm wondering, though, if it would work better as a level floor -- like, on entering a new level, all your weapons instantly level up to (number of cleared levels) if they were at a lower level. So weapons you pick up later in the runthrough would get automatically "caught up" and weapons that are already gaining at least one level/map wouldn't be affected. That would be trickier -- I don't think there's a "how many maps have you cleared" counter, so I'd have to keep track in GB -- but still doable.
IIRC It happened with guns that can be upgraded. Like guns that dont turn into other guns when certain modpacks occur and then I either holster or drop them or hell even at times switch weapons or go to a different level. Like the Master Assemblies are fine, but others...
User avatar
DoomThing445
Posts: 47
Joined: Wed Jun 01, 2022 3:25 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Windows 10
Graphics Processor: ATI/AMD (Modern GZDoom)

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by DoomThing445 »

I was thinking, is it possible to implement a one-time upgrade that doubles a weapons' bullets per shot count? Kinda like Double Tap 2.0
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

DoomThing445 wrote: Sun Jul 16, 2023 3:47 am I was thinking, is it possible to implement a one-time upgrade that doubles a weapons' bullets per shot count? Kinda like Double Tap 2.0
Not really, I'm afraid. Anything that's part of the arguments to A_FireBullets() or similar, rather than (a) a property of the weapon actor, (b) a property of the projectile actor, or (c) something that can be triggered when a shot actually hits a target, is effectively out of reach for GB -- and that includes spread, number of projectiles, and ammo usage.

There is Rapid Fire to fill the "significantly increased DPS at the cost of increased ammo usage" niche, at least.
AliciaPendragon wrote: Sat Jul 15, 2023 9:52 pm IIRC It happened with guns that can be upgraded. Like guns that dont turn into other guns when certain modpacks occur and then I either holster or drop them or hell even at times switch weapons or go to a different level. Like the Master Assemblies are fine, but others...
So wait, does the weapon lose its modpacks when you gain a GB level, or when you switch weapons, or both?
Dudejo
Posts: 23
Joined: Thu Jun 15, 2023 10:01 pm

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by Dudejo »

how difficult would it be to create a new menu that restricts upgrades to specific weapons? The freedom of choice is great, it's just that I think the ability to give more personality to the weapons would be pretty interesting.
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

The code to implement that on the upgrade selector is pretty straightforward, a natural extension of the code that already prunes possible upgrades based on missing prerequisites, wrong weapon type, etc. The problem is that the actual menu would, I think, be pretty nightmarish. The least bad option I can think of is a menu listing all the weapons, where each one opens a submenu listing all the upgrades and lets you toggle them individually -- or vice versa. And then you get hit with problems like:
- There's a lot of weapon classes that are loaded in every game but only a subset of them are available in each game. How do we figure out which ones to list?
- We can't know which upgrades are a valid on a weapon until the player has actually used it for a bit. What happens if a player accidentally turns off all the upgrades that are valid for a given weapon? We won't know they've done that until the first time it levels up.

Thinking about it a bit, I think two possible approaches that might work better are:
- divide the available upgrades into partially or entirely disjoint sets, each one of which is locked behind a "skill tree" pseudo-upgrade; the first time a weapon levels up, it asks you pick a skill tree, and that's locked in for the rest of the weapon's lifetime. Basically an extension of the way picking an elemental upgrade locks you into that tree for a while.
- the first time a weapon levels up, it lists all the upgrades that it could potentially ever get and asks you to choose some number of them (how many?) to unlock; for the rest of the game those are the only ones that can spawn on that weapon.

This is also wildly open to abuse -- "yes, I would like Swiftness, Dark Harvest, Rapid Fire, and the Lightning tree and nothing else on my pistol" -- but if someone wants to do that they can just set "number of upgrades per level" to "all upgrades" and pick and choose whatever they want on each level-up anyways.

I make no promises that this will ever be implemented, but I'll kick the idea around for a bit.
User avatar
stainedofmind
Posts: 173
Joined: Sun Sep 01, 2019 10:59 am

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by stainedofmind »

Dudejo wrote: Sun Jul 16, 2023 8:12 am how difficult would it be to create a new menu that restricts upgrades to specific weapons? The freedom of choice is great, it's just that I think the ability to give more personality to the weapons would be pretty interesting.
ToxicFrog wrote: Sun Jul 16, 2023 1:39 pm The code to implement that on the upgrade selector is pretty straightforward, a natural extension of the code that already prunes possible upgrades based on missing prerequisites, wrong weapon type, etc. The problem is that the actual menu would, I think, be pretty nightmarish. The least bad option I can think of is a menu listing all the weapons, where each one opens a submenu listing all the upgrades and lets you toggle them individually -- or vice versa. And then you get hit with problems like:
- There's a lot of weapon classes that are loaded in every game but only a subset of them are available in each game. How do we figure out which ones to list?
- We can't know which upgrades are a valid on a weapon until the player has actually used it for a bit. What happens if a player accidentally turns off all the upgrades that are valid for a given weapon? We won't know they've done that until the first time it levels up.

Thinking about it a bit, I think two possible approaches that might work better are:
- divide the available upgrades into partially or entirely disjoint sets, each one of which is locked behind a "skill tree" pseudo-upgrade; the first time a weapon levels up, it asks you pick a skill tree, and that's locked in for the rest of the weapon's lifetime. Basically an extension of the way picking an elemental upgrade locks you into that tree for a while.
- the first time a weapon levels up, it lists all the upgrades that it could potentially ever get and asks you to choose some number of them (how many?) to unlock; for the rest of the game those are the only ones that can spawn on that weapon.

This is also wildly open to abuse -- "yes, I would like Swiftness, Dark Harvest, Rapid Fire, and the Lightning tree and nothing else on my pistol" -- but if someone wants to do that they can just set "number of upgrades per level" to "all upgrades" and pick and choose whatever they want on each level-up anyways.

I make no promises that this will ever be implemented, but I'll kick the idea around for a bit.
Stop me if I'm wrong, but can't this also be achieved with the BONSAIRC lump?
User avatar
ToxicFrog
Posts: 229
Joined: Thu Oct 05, 2017 10:09 am
Preferred Pronouns: She/Her
Operating System Version (Optional): NixOS

Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading

Post by ToxicFrog »

Oh, good point; using enable/disable directives in BONSAIRC you can write a one-file pk3 that sets per-weapon upgrade restrictions to whatever you want.

Return to “Gameplay Mods”