Intelligent Supplies 1.6

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: 1275
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.5

Post by Zhs2 »

RedClairefield wrote:Would it be too much to also add behavior that makes the player ignore armor and health bonuses when they're not at max armor/health except when they're at extremely low health/zero armor?
Sorry I didn't get back to this sooner, between work and RAMP and a new puppy I've been a bit behind. Sure, this is much easier than the new system I need to write to deal with a potential freezing issue I've discovered with stacks of backpacks. You can expect it in the next update.
Dr_Cosmobyte wrote:
Zhs2 wrote:[...]Aracnocide is one of those mods set up to drop CustomInventory items that look like the proper ammo for your class and [...]
Yes, unfortunately there isn't too mucn i can do for it. Even though all classes in Aracnocide share the same gun drop systems and spots, in order to make ammunition look different from class to class i need to make an artificial item that spots you and morphs to the ammunition your class use based on inventory tokens.
I imagine that if you designed a second actor to play visual sprite slave to a master ammo item to be picked up you could get away with having items not be custominventory pretty easily. Maybe [wiki]A_JumpIfHealthLower[/wiki] to check for existence? An ACS script that calls [wiki]ClassifyActor[/wiki] on a unique TID set on the actual item and held by the visual item? (Those are possible non-ZScript solutions, of course ZScript makes it easy...)
User avatar
Dr_Cosmobyte
Posts: 2767
Joined: Thu Jun 04, 2015 9:07 pm
Location: Killing spiders.

Re: Intelligent Supplies 1.5

Post by Dr_Cosmobyte »

To be fair, i don't even know if Zand would work that way. As much as i care about Zan players or Low end PC players and to keep my old mods compatible, i still fear to evolve them so much to the point Zan breaks things up.

They may not be too vocal, but they exist, and GZDoom is too performance heavy for being the port to unify everyone.
User avatar
Zhs2
Posts: 1275
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! Sorry it took so long for me to get 1.6 out, I brainstormed solutions to a backpack issue twice before realizing I should just rewrite backpack handling entirely. Fixes include:

- I think I included it in a previous 1.5 ninjafix, but there was a performance killer caused by IS items warping every tic. Whoops. 1.6 ensures that IS items only warp if their parent item changes position, e.g. they're on a scroller, they teleported, ...
- There are two maps in RAMP that blindsided me with more backpacks stacked into the same position than is responsible for a mapper. The first, "e4m20", had 108 backpacks on a single spot, and this lagged the game something fierce when I picked them up and all that ammo spread out across the floor thanks to the sheer amount. The second, "Corrupted tech 2", had 765 backpacks occupying one space. 765. That caused an outright freeze. As of 1.6, any backpacks that don't have any reason to refill any of your ammo reserves (or give you your first backpack item) will not be picked up in any way. Kinda makes me sad not to see random ammo strewn all over the floor any more in some cases but it's for the greater good.
- By request of RedClairefield, I've added clientside slider options that block collection of healthbonuses and armorbonuses if you are above some amount of health or armor, respectively. I've also added similar sliders for regular health or armor pickups, in case you're feeling especially masochistic and because I can.
Plasmazippo
Posts: 115
Joined: Sat Sep 25, 2021 11:55 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Intelligent Supplies 1.6

Post by Plasmazippo »

Reporting a bug:

I've been using this with Ashes Afterglow, and for the most part it recognizes things correctly, except for the pump-action shotgun. Dropped shotguns are picked up even when I have full ammunition.
User avatar
Zhs2
Posts: 1275
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 »

Unfortunately. The shotgun pickups (known in the code as "PumpySpawn") are CustomInventory items, which themselves aren't even coded to check if you're full and disallow pickup.

Code: Select all

Ashes_Afterglow1_05.pk3/Actors/Weapons/Shotgun.txt

ACTOR PumpySpawn : CustomInventory replaces Shotgun
{
    Inventory.Amount 0
    scale 0.6
    Inventory.Icon "GRIGA0"
    Inventory.PickupMessage "Got the Pump-action shotgun."
    Inventory.PickupSound "items/gunspickup"
    States
    {
    Spawn:
        GRZP A 10
        GRZP A 1 bright
        loop
    Pickup:
        TNT1 A 0 A_JumpIfInventory("pumpaction3", 1, 4) //Skips giving you the normal shotgun if you have the upgrade
        TNT1 A 0 A_JumpIfInventory("pumpaction2", 1, 3) //Skips giving you the normal shotgun if you have the upgrade
        TNT1 A 0 A_GiveInventory("pumpaction")
        TNT1 A 0 A_Jump(256, 2)
        TNT1 A 0 A_GiveInventory("shotgunAmmo", 2)
        TNT1 A 0
        Stop
    }
}
You can as a band-aid use the "Block collecting auto-activating CustomInventory" menu option with "Hold use to disable IS behavior" behavior (or bind "toggle Zhs2_IS_refusetopickupaaci" to a key), but otherwise I can't really do much about CustomInventory items universally.
Plasmazippo
Posts: 115
Joined: Sat Sep 25, 2021 11:55 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Intelligent Supplies 1.6

Post by Plasmazippo »

:) No problem, dude, you did way more than I could've asked for. Really appreciate the mod, it's on my standard lineup for almost every wad.
User avatar
Rowsol
Posts: 962
Joined: Wed Mar 06, 2013 5:31 am

Re: Intelligent Supplies 1.6

Post by Rowsol »

This is very cool. You pulled some wizardry on the backpacks.
Ultimate Freedoomer
Posts: 222
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center

Re: Intelligent Supplies 1.6

Post by Ultimate Freedoomer »

Will (custom) inventory items that give multiple things (the combined mana item in Hexen, the ammo soul in Shrine) be affected?
User avatar
Zhs2
Posts: 1275
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 »

No. Any CustomInventory items that aren't placed into inventory are given directly when touched and will do what they normally do.
TonyH123
Posts: 4
Joined: Sat Feb 19, 2022 7:46 pm

Re: Intelligent Supplies 1.6

Post by TonyH123 »

Will this be updated in the future? I want to use it with Brutal Doom. I know it's meant for regular doom but it works quite well surprisingly, with 1 annoying issue. A dropped rifle always gives 30 on pickup. It's suppose to be 10. If it's a simple fix perhaps you could tell me which lines I need to edit so I can fix it myself?
User avatar
Rowsol
Posts: 962
Joined: Wed Mar 06, 2013 5:31 am

Re: Intelligent Supplies 1.6

Post by Rowsol »

that's because the dropped rifle is a custom inventory item that is coded to give 30 rounds. you'd have to edit the drop item in the mod. this can't account for custominventory items.
User avatar
ShockwaveS08
Posts: 193
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Android 10
Location: Manhattan, IL

Re: Intelligent Supplies 1.6

Post by ShockwaveS08 »

I have a small bug to report: When playing with Brutal Doom Platinum, any loose Shotgun lying around will dole out constant +10 Clip2 rounds if the player's own Shell reserves are topped off, unless you have one shell less than maximum, at which point said Shotgun can be picked up normally, with no Clip2 rounds given.
User avatar
Zhs2
Posts: 1275
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 »

Whatever Brutal Doom Platinum is doing, it's a CustomInventory mess. I'm amazed that A_SpawnItem is by default set up to spawn only one item at a time, but what's happening is thus: while ShotgunSpawner exists in its Stay state, it creates a FakeOldSGSprite actor (for appearance's sake, I'm guessing.) FakeOldSGSprite inherits from RifleSpawner (this is the source of Clip2) and is repeatedly spawned one at a time while ShotgunSpawner can't be picked up. All Intelligent Supplies is doing is calling Touch on any pickup the player is touching, which is intended behavior. If BDP were to change the FakeOldSGSprite actor to really be a fake sprite and not inherit from another potential ammo giving source that would solve this problem handily. Now, if it could also do away with those weird pickups it spawns on some weapons that give you 0 health...
Plasmazippo
Posts: 115
Joined: Sat Sep 25, 2021 11:55 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Intelligent Supplies 1.6

Post by Plasmazippo »

To elaborate on the CustomInventory mess:

Taking Ashes for an example as I listed it above, the weapons don't exactly have a spawn state because of the upgrade system — the game uses CustomInventory items on dropped weapons so the player, after upgrading weapon X or Y, isn't given a duplicate of the unupgraded weapon on pickup, just the ammunition. In the old legacy version of Ashes 2063, which had only one custom weapon (the machine pistol), the same thing happened to it and it alone; the other weapons get Intelligently Supplied normally.

CustomInventory is such a big universe with so many possible rules, it falls out of the scope of Zhs2's mod here. A mod can only do so much. My wager is BD uses a few such custom rules to achieve its effects.
User avatar
ShockwaveS08
Posts: 193
Joined: Thu Jul 07, 2016 7:29 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Android 10
Location: Manhattan, IL

Re: Intelligent Supplies 1.6

Post by ShockwaveS08 »

I noticed that certain "small" ammo pickups (their sprites namely) swell to an abnormal size if they're carrying two or more ammo types inside them. Is this normal for Intelligent Supplies? And if so, would it be possible to add a CVAR that disables these enlarged visuals?

Return to “Gameplay Mods”