Each path has a "requires" input field and a "gives" input field.
In these you put in what you want, separated by commas. On post submit, trim these and they turn into dB items and on this form into things you can X out of. You can also still add more.
Items are stored in their own database so they can be categorized and have different flavor when picked up.
Items can be unique or have an amt, and there should be a way of adding amt with that kind of item.
Required Items
Paths you can't enter without a certain item are colored differently.
They either say the item you need or not -- this is both a global and a local setting and can be adjusted however you want.
Obviously you can't enter without the specific item -- you might get a prompt that might tell you that you can't and maybe why (depending on the setting).
Item pickup
If a room has "gives", then paths are constructed that let you pick up the item. These are colored differently and maybe also have material icons. Or font awesome maybe? Idk if that one handles that kind of thing, if so I'll use it. If so you'd be able to change the item icon within the item editor.
Anything in the gives that's named inside the room will appear there as well and can be picked up there accordingly.
Once you pick up an item, the path for it disappears. If it's named inside the path, clicking it will simply fail to work. Making these messages disappear altogether can happen via Subtext.
Item Categories
Items have categories. These can be set individually in the item editor, or you can use a "word trigger".
By default, there will be a word trigger that moves anything with "Key" in the name into a Keys category. Same deal with events. You can however do this with any item, for example move anything with "sword" in the name to a "weapons" category.
Anything without a category will be moved to an "Items" category, or this default category can be changed to something else.
Word triggers can replace part of the word -- this happens naturally with "key" and "event" so the category just shows "keys: 1, 2, etc". However you can also change these or set it on other triggers manually.
Categories can require a "keyring" -- this means that you have to get a special item before you can pick anything else in the category up. You get to dictate what the item is called, for example "Backpack" for "Potions". Any attempt to pick up the item without the keyring will reference that you have to find the keyring item first, and will do so by name.
Item Editor
This specialized panel lists out all items in the game, separated into categories.
It conveniently shows where Items are found within the maze, allowing you to go to those paths in edit mode.
You can adjust their name and category. Nothing here hits triggers, you have to adjust categories manually if you're going that route.
You can adjust the message that appears when you pick up an item. By default it's "You got $!". There should also be a global setting for this.
Obviously they can be deleted. Items that aren't attached to a room appear in a "unattached" category and this is the only place to delete them.
Inventory
The inventory shows at the bottom of the screen. It's just a bunch of categories with the items in them.
Keys should always be up at the top.
Categories can be collapsed, like events for example.
When you get a new item an uncollapsed cat will show, and regardless there will be some kind of animation in your inventory.
This project turns all of my saved mazes into XIFNET mazes.
It needs its own subdomain even though it has a limited runtime (unless the GTT persists for a long time and we import more or something).
I need a zipping protocol that'll work on both my computer and the server. Ideally I can tar.gz stuff on my computer.
Anything saved like this will go into a staging database. From here I can reconfigure the pages so they're sequential and assign the gameid -- I do need to save my queries though (on a google doc makes the most sense), they'll be useful since I have to do this a few times. Then add the index of the last XIFNET page to them, and push into the XIFNET database.
Then obviously I have to go through and actually edit it into a functional maze.
Editors should be able to set up win conditions somewhere.
When you win a maze, you get a hub maze item for that maze (a trophy I think? idk will have to look at it). You can also reset the maze if you want but can't get the same trophy item again. Like any other item it can be traded away or sold.