Intelligent Supplies 1.7

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
Zhs2
Posts: 1285
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: Intelligent Supplies 1.6

Post by Zhs2 »

Does not sound normal, no. Intelligent Supplies tries not to touch the items the base pickups are representing, only copying information like sprite, scale, and so forth (some amounts get set for weapons (internal ammo held), ammo (ditto), and armor (armor value remaining) in the case IS behavior is turned off during play, for balance purposes.) If you can point me to the mod this happens with I can investigate.
User avatar
ShockwaveS08
Posts: 195
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): SteamOS
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Manhattan, IL

Re: Intelligent Supplies 1.6

Post by ShockwaveS08 »

From what I've played with Intelligent Supplies so far, this happens with...

Wolfenstein: Blade of Agony - https://github.com/Realm667/WolfenDoom (happens with 9mm ammo pickups, possibly others too)
Project Brutality v3.0 - https://github.com/pa1nki113r/Project_B ... ch_Staging (happened when I picked up an SMG for the first time, while topped off on pistol ammo; the filled magazine that got left behind was literally as large as my character!)
User avatar
Zhs2
Posts: 1285
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: Intelligent Supplies 1.6

Post by Zhs2 »

Ah, another artifact of mod design. While testing with Project Brutality I've discovered this happens because the base ammo type that the weapon uses is spawned, compared to the pretty version that is randomized via spawners - you can see this yourself with or without IS loaded by typing "summon PistolBullets" into console to see the underlying ammo type and comparing it to "summon BulletCartridge", which is the ammo you see placed in maps. On the other hand this made me realize that the ammo I want to spawn into maps (i.e. dropped from weapons or backpack) should be allowed to be replaced, instead of spawning a giant ugly basic Cell with a replaced graphic as dropped from the plasma rifles - uploaded it as a ninjafix because it's not a breaking change. (This might have fixed whatever's going on in BoA, didn't see anything weird there)
User avatar
Zhs2
Posts: 1285
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: Intelligent Supplies 1.6

Post by Zhs2 »

Bump to note that I've uploaded another fix in the form of a null check where backpacks caused my session of RAMP2022 to come crashing down. Redownload if you get an attempt to write to address zero (probably to an ammo type that never actually spawned, whoooops.) Also at the same time made any and all ammo spawning code consistent in checking for existence and sprite frame.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: Intelligent Supplies 1.6

Post by Dan_The_Noob »

saw this and was hoping it would compile ammo in an area into 1 stack or something to save on actors.
this is still neat though...
User avatar
Rowsol
Posts: 969
Joined: Wed Mar 06, 2013 5:31 am

Re: Intelligent Supplies 1.6

Post by Rowsol »

scratch that. sorry.
Ultimate Freedoomer
Posts: 224
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center

Re: Intelligent Supplies 1.6

Post by Ultimate Freedoomer »

Anybody else getting an abort error when using this with Hexereetic Fantasy's custom ammo?
User avatar
Zhs2
Posts: 1285
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: Intelligent Supplies 1.6

Post by Zhs2 »

Ultimate Freedoomer wrote: Tue Mar 26, 2024 12:27 am Anybody else getting an abort error when using this with Hexereetic Fantasy's custom ammo?
A screenshot of this abort error is going to be necessary. I am unable to reproduce this by running around in Kinsie's test map collecting ammo items. Any other steps to cause the abort would be helpful to know too.
Starman the Blaziken
Posts: 281
Joined: Thu Mar 07, 2019 9:40 pm
Graphics Processor: ATI/AMD (Modern GZDoom)
Location: United States, MI

Re: Intelligent Supplies 1.6

Post by Starman the Blaziken »

Since I remembered about this. I have been meaning to suggest if you could add health bonuses separately to the intelligent behaviors options.
If maybe also an option where all count items can be checked if they are unable to be picked up but can still be used like vanilla otherwise when able to; still wasting the rest of it if you want it to.
User avatar
Dan_The_Noob
Posts: 878
Joined: Tue May 07, 2019 12:24 pm
Graphics Processor: nVidia with Vulkan support

Re: Intelligent Supplies 1.6

Post by Dan_The_Noob »

a version of this mod that didnt just perfectly cut down an ammo box but cut it down in like 1/4 for big ammo/health and 1/2 for small would be neat.
so instead of a bullet box giving 50 or 49,48,47... it gives 50,40,30,20,10 or something with some wastage if you pick it up while near-full.
Ultimate Freedoomer
Posts: 224
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center

Re: Intelligent Supplies 1.6

Post by Ultimate Freedoomer »

Zhs2 wrote: Tue Mar 26, 2024 8:10 am
Ultimate Freedoomer wrote: Tue Mar 26, 2024 12:27 am Anybody else getting an abort error when using this with Hexereetic Fantasy's custom ammo?
A screenshot of this abort error is going to be necessary. I am unable to reproduce this by running around in Kinsie's test map collecting ammo items. Any other steps to cause the abort would be helpful to know too.
It mostly seems to happen with medium ammo pickups that have animated sprites &/or fancy visual effects. Admittedly, I'm also using a customized copy, but no changes drastic enough that it should make it crash.
User avatar
CandiceJoy
Posts: 95
Joined: Thu Jul 13, 2017 3:04 pm
Preferred Pronouns: She/Her
Operating System Version (Optional): Win11, MacOS Ventura
Graphics Processor: Apple M1

Re: Intelligent Supplies 1.6

Post by CandiceJoy »

This mod ignores sv_ammofactor.

Code: Select all

AmmoFactor = (G_SkillPropertyFloat(SKILLP_AmmoFactor) > 0.0) && !OurItem.bIgnoreSkill
                        ? G_SkillPropertyFloat(SKILLP_AmmoFactor): 1.0;
should be

Code: Select all

AmmoFactor = (G_SkillPropertyFloat(SKILLP_AmmoFactor) > 0.0) && !OurItem.bIgnoreSkill
                        ? G_SkillPropertyFloat(SKILLP_AmmoFactor) * sv_ammofactor : 1.0;
(I've implemented and tested the change and it works)
User avatar
Zhs2
Posts: 1285
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: Intelligent Supplies 1.7

Post by Zhs2 »

Thanks for mentioning. Since whenever I posted version 1.6 I've implemented support for sv_ammofactor, ignoring weapons and items in Deathstrider, and fixed a VM abort that happens when touching a vanilla armor item as a playerclass that has no BasicArmor (also looking at you, Deathstrider.) It's been long enough I've bumped to version 1.7. Enjoy.
Starman the Blaziken wrote: Wed Mar 27, 2024 11:04 am Since I remembered about this. I have been meaning to suggest if you could add health bonuses separately to the intelligent behaviors options.
If maybe also an option where all count items can be checked if they are unable to be picked up but can still be used like vanilla otherwise when able to; still wasting the rest of it if you want it to.
I suggest using the "Hold Use key to disable IS pickups" behavior under IS Clientside Options. Health bonuses in vanilla always pick up whether you're full or not, so ignoring IS behavior temporarily while moving over them will do exactly what you want.
JohnnyTheWolf
Posts: 1162
Joined: Mon Oct 05, 2015 8:37 am

Re: Intelligent Supplies 1.7

Post by JohnnyTheWolf »

As I told you on Discord, your mod is great! However, it appears to be slightly incompatible with the recently-released Legacy of Rust, by which I mean it seems to be working fine as far as the vanilla pickups are concerned, but not with the new Fuel ammo, even though it is just the Plasma ammo reskinned. Since Legacy of Rust is an official mapset, I thought this was an issue worth reporting.

Oh, and while I am at it, I noticed the mod's "smart scavenging" mechanic does not appear to apply to the Megasphere, meaning it gets automatically picked up even when at full health and armour. Is that intentional or an oversight?
User avatar
Zhs2
Posts: 1285
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: Intelligent Supplies 1.7

Post by Zhs2 »

Megaspheres are CustomInventory items internally, unfortunately. See known caveats in the first post.

As for DehackedPickups, I gave it a fair shake when you mentioned it because I finally had a sample to reference and I reminded myself I do not want to support these. DehackedPickups are not real items in the sense of GZDoom Inventory classes; known caveats also makes a mention of this. They call a private method DetermineType() that determines the item type by the sprite table it uses in their TryPickup virtual to immediately create the real item and give it to the toucher, destroying itself in the process. Even if I could call DetermineType() (for reference, a "private" method is a function that can only be called by the class that defines it) Intelligent Supplies' behavior depends on the existence of a real, unowned item to work, so I'd just be throwing out the DehackedPickup and creating a real item instead. And even if I did jump through the hoops of testing sprite names to create a real pickup, it could be far simpler to make a zscript or decorate patch with proper Inventory class data that replaces the Dehacked content. So, no go on that.

And as a final note, I discovered and squashed a very obscure VM abort that happens when an item somehow manages to not exist when touched and upon reaching the pickup message stage in IS_BaseItem code. Uploaded as a ninjafix, so there's that at least.

Return to “Gameplay Mods”