MantisBT - Zandronum
View Issue Details
0003923Zandronum[All Projects] Suggestionpublic2021-11-10 11:152021-11-10 11:15
Stardust Motion 
 
normalfeatureN/A
newopen 
3.1-beta 
 
0003923: [Coop only] A flag to remove Inventory, ignoring changemaps/death
tl;dr : something like a +INVENTORY.LOSEONDEATH flag, which clears the inventory actor with this flag when the player respawns, EVEN if the corresponding sv_coop_lose<type> SV is false, and a +INVENTORY.LOSEONCHANGEMAP which does the same when changing maps.
> This is a QoL request. There's a workaround even if it's not implemented.

Hi, this is a --COOPERATIVE-- specific suggestion.
Coop game modes by default keeps the inventory between maps.
They also keep it on respawn if sv_coop_loseinventory (or "subsets" server variables : sv_coop_loseweapons, sv_coop_losepowerups, etc) is false.

But Inventory actors are often used as flags ("temporary" inventory).
For example, you could GiveInventory("thrownBoomerang") when the player throws a boomerang, and this thrownBoomerang is kept in your inventory until the boomerang returns, clearing it. This thrownBoomerang actor prevents firing the weapon until the boomerang returns.
But what if the map changes when the boomerang is thrown? You're stuck with the thrownBoomerang flag, soft-locking your boomerang weapon

Adding two flags +INVENTORY.LOSEONDEATH and +INVENTORY.LOSEONCHANGEMAP (placeholder names) to ignore Coop's SVs would be great, but note it's just a QoL dev.
The current workaround is to "purge", using TakeInventory (on ENTER or RESPAWN scripts) each Inventory actor which needed to be removed (in the RESPAWN case, it's also possible to have an external actor (in my example, the thrown boomerang) purge the flags when the player is detected as dead)
Ty for reading me

No tags attached.
Issue History
2021-11-10 11:15Stardust MotionNew Issue

There are no notes attached to this issue.