AscensionGameDev / Intersect-Engine

Intersect provides a complete game development suite for creating 2d mmorpgs with no programming experience required!
https://www.freemmorpgmaker.com/
Other
213 stars 352 forks source link

An event that can check a player's inventory AND bank for some item #994

Closed AlexVild closed 2 years ago

AlexVild commented 2 years ago

Is your feature request related to a problem? Please describe. The engine is not 100% guaranteed to keep players items and stuff - while it is pretty darn good these days, rollbacks can happen, among other strange quirks and glitches, and items can be lost.

Sometimes, a dev may want to add a Quest Item to their game - some item that is "bound", more or less, to a player and is maybe given through some event that the player can only access once.

Another example is a quest reward - maybe by doing some quest, you unlock a bound grappling hook, but through some sort of engine glitch, that grappling hook is lost. The player would have no way of getting it back, unless the dev included some sort of way for the event to give the player the item again - but currently, that event only has the power to look at a player's inventory to check if they don't have the item.

Since these items are BOUND, having a dev replenish them means that, currently, a player could, theoretically, fill up their bank and inventory with bound items that they have no way of destroying.

Describe the solution you'd like A protection against this would be to check to see if a player owns, ANYWHERE, some item. So, just a new condition that can check both a player's inventory and a bank. This does not protect against a player dropping an item and starting the event, then picking up the dropped item - but devs can already control which items can be dropped or not.

Additional context Add any other context or screenshots about the feature request here.

Cheshire92 commented 2 years ago

I'd imagine a toggle to the existing conditional would work for this. Check whether a player has the item in inventory, bank or both.