It would be nice if there's a version of ForbiddenTo/RestrictedTo/VisibleToPlayerClass which acts as a black/white list and does not check inheritance. Strictly only those directly listed are affected by the properties.
Right now I'm trying to optimize some of D4D's demon runes while adding a new feature. There is an upgrade that allows picking up the runes of the same class type to extend the duration and heal the morphed player. Runes that are applicable have this ring.
An image to demonstrate. Currently I'm morphed as an arachnotron, so the rune on the left I can pick up. The rune to the right is a mancubus rune - it's not compatible so the ring turns invisible.
But in order to make this multiplayer friendly, I need a non-parent checking version of ForbiddenTo/RestrictedTo. Otherwise I would have to resort to using nasty hacks like the PowerSpeed trail... Not a good thing.
Non-inherent version of Forbidden/Restricted/Visibleto
Moderator: GZDoom Developers
-
Major Cooke
- Posts: 8221
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: GZBoomer Town
Non-inherent version of Forbidden/Restricted/Visibleto
Last edited by Major Cooke on Mon Jul 23, 2018 11:05 am, edited 2 times in total.
-
Gez
-

- Posts: 17946
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Non-inherent version of ForbiddenTo/RestrictedTo
Can't you just override TryPickup?
-
Major Cooke
- Posts: 8221
- Joined: Sun Jan 28, 2007 3:55 pm
- Preferred Pronouns: He/Him
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: GZBoomer Town
Re: Non-inherent version of Forbidden/Restricted/VisibleTo
It's not the pickup itself I need it for. It's the ring, the visual indicator of being compatible.
Not to mention the player can't actually pick up the items to begin with thanks to -PICKUP. I use a different method.
EDIT: Forgot to mention VisibleToPlayerClass too.
Not to mention the player can't actually pick up the items to begin with thanks to -PICKUP. I use a different method.
EDIT: Forgot to mention VisibleToPlayerClass too.