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.
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...)
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.
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.
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.
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.
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.
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?
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.
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.
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...
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.
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?