Gone away are collecting swords, and heart containers, and magic. At least in the traditional sense. The idea here is that there are "take one item" rooms presented throughout the quest. There would be 24 in all (for a total of 8 max for each "stat"). There would be one at the end of each dungeon, and 16 more scattered throughout the world. The items would be either a heart container, a magic container, or a sword upgrade (enemies would need to be adjusted, but this is all conceptual).
This needs no scripting, and can be done with ZC out of the box to create a decently functional choice-based level up system. Scripting would come in when it comes time to limit how far in one direction Link can advance. In Zelda 2, each of Link's stats max out at 8, and then the other ones must be upgraded (or skipped, if you so choose). This is a good idea. Imagine if Link chose to forego everything except sword upgrades. With a Level 24 sword, the game becomes laughably easy, and broken, pretty much (in ZC).
Capping each stat does not get rid of this issue entirely, but it does circumvent is nicely, and creates its own unique strategy. Having 8 attack, and 1, of magic, and life might make enemies very easy to kill as early as half way through the game, but then on the other side of the coin, you can be killed very easily, and have limited use of items (since in my idea here, we are going with a stamina bar that gets bigger vs. real magic). Capping each one out at 8 would still encourage growth, but not make the game as broken.
Now, for the scripting. With the "take one item" rooms, they present a set of challenges for this concept. The rooms only show up ONCE until you pick an item, then are all gone forever. This rules out use of an item pick-up script since the item must be already picked up for the script to run, thus making it useless. When I was thinking this out, my first thought was along the lines of, "Oh, I'll just have an item pick-up script prohibit Link from grabbing this item if he already has 8-- Oh wait, he has to still pick it up, rendering the room gone, and removing the other choices permanently".
To get around this, I was thinking of another scripted method, possibly a global script, but I'm not sure: Basically, there would be a situation where Link passes through a hall way or something before the upgrade room. This room would hide a trigger which checks Link's amount of each upgrade item making sure it is 7, or below. If it is at 8, then the script would change the value of the shop used for the upgrade room to one of three variants which does not have the item Link already has 8 of. Alternately, you could forego the hallway trigger altogether, by using a script that checks the inventory upon entering the room. This script would then change the shop value out as the room loads, not needing a separate trigger room. I'm just not sure which is more feasible. You with me so far? I think this would be a really cool thing to do in a quest.
There are some other things I have not yet experimented with, or that might still make this more complex than what I have in mind. Right now, I am operating under the assumption that a 'counter' can be attached to Link's hearts and magic, and even sword upgrades in a way that can also be used as a variable in a script without scripting initially. Basically, heart containers, and magic containers use a counter like bombs and arrows which can be used as arguments in a script. Making sense still? Furthermore, I don't know if those counters can be placed on the subscreen to show the level number (1-8 ) like in Zelda 2 without scripting. I also am not entirely sure on whether the life upgrades should instead use rings to reduce the damage Link takes by smaller percentages, rather than just giving whole Heart containers. Zelda 2 does both, but it also only has 4 heart containers to find. This is all conceptual, and I'm basically just wondering if this would even work before I even think about drawing a single screen in ZC outside of my current projects.
Thanks for sitting through one more of my posts about stuff I might try to make.