Daivuk / apdoom

Archipelago Doom is a fork of Crispy Doom to allow multi-world features from Archipelago
GNU General Public License v2.0
9 stars 11 forks source link

Customizable ammo capacity for all AP games #18

Closed KScl closed 3 months ago

KScl commented 5 months ago

Allows for each game's Backpack/Bag of Holding to be split up into multiple items, one for each ammo type; doomednums 65001 through 65006 are currently reserved for this purpose. These capacity increasing items, along with the regular Backpack and Bag of Holding, may also be collected multiple times to grant their capacity increasing capabilities again.

Archipelago is allowed to customize both the starting ammo capacity and the amount that capacity upgrading items increase it by. However, there is a hard cap of 999 ammo capacity for each ammo type, to avoid any anomalous effects. The counterpart to this PR in AP is ArchipelagoMW/Archipelago#3565.

Heretic has had a maximum ammo display added to it as a quality of life convenience. The logical Bag of Holding requirements for Heretic E5M8 and E5M9 have been removed; Archipelago's progression balancing does not like it too much when a significant number of capacity upgrades are marked as progression items, as it turns out.

Supplants #4, as this code is doing a similar thing, just more customizable and supporting Heretic as well.

KScl commented 4 months ago

Worth noting, because I just tested this out myself: This change is backwards compatible with older games; if the slot_data options aren't found, they'll default to the usual max ammo values for their ammo types, which results in the game behaving identically to how it did before.

I didn't touch Chex Quest. It really does not make sense to add split capacity upgrades to it considering how small of a game it is; they would very quickly dominate the item pool.