[0.10.6] Gun Bonsai -- everything-compatible weapon upgrading
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: 44
- Joined: Mon Aug 01, 2022 11:52 am
Re: [0.10.0] Gun Bonsai -- everything-compatible weapon upgrading
I love this mod!
-
- 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
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
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
-
- 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
What version of Gun Bonsai is this? 0.10.1 should have fixed this crash.
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
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.
And I can investigate both of these.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 make no promises about this, it looks complicated!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)
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?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?
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.
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.Nukedude01 wrote: ↑Fri Jun 09, 2023 3:43 pmIs it possible to have accuracy upgrades for shotgun-type weapons?
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?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.
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.Dan_The_Noob wrote: ↑Tue Jun 27, 2023 3:45 pm I would like an option to get 1 level per map cleared.
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.
-
- 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
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.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.
-
- 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
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.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.
-
- 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
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
-
- 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
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?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
-
- 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
When you have a moment, could you test out the attached compatibility shim? Load it after both GB and HND.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
You do not have the required permissions to view the files attached to this post.
-
- 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
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...ToxicFrog wrote: ↑Sat Jul 15, 2023 1:16 pmWhat version of Gun Bonsai is this? 0.10.1 should have fixed this crash.
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 timesThese 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.And I can investigate both of these.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 make no promises about this, it looks complicated!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)
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?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?
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.
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.Nukedude01 wrote: ↑Fri Jun 09, 2023 3:43 pmIs it possible to have accuracy upgrades for shotgun-type weapons?
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?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.
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.Dan_The_Noob wrote: ↑Tue Jun 27, 2023 3:45 pm I would like an option to get 1 level per map cleared.
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.
-
- 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
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
-
- 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
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.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
There is Rapid Fire to fill the "significantly increased DPS at the cost of increased ammo usage" niche, at least.
So wait, does the weapon lose its modpacks when you gain a GB level, or when you switch weapons, or both?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...
-
- Posts: 23
- Joined: Thu Jun 15, 2023 10:01 pm
Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading
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.
-
- 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
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.
- 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.
-
- Posts: 173
- Joined: Sun Sep 01, 2019 10:59 am
Re: [0.10.2] Gun Bonsai -- everything-compatible weapon upgrading
Stop me if I'm wrong, but can't this also be achieved with the BONSAIRC lump?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.
-
- 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
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.