Jump to content

* * * * * 1 votes

[Tips &Tricks, 2.50] Gradual life-draining areas without scripting

item editor heart rings

  • Please log in to reply
7 replies to this topic

#1 FnrrfYgmSchnish



  • Members
  • Gender:Male

Posted 20 January 2014 - 01:58 PM

I'm sure other people have thought of this before, since it is pretty simple... but I figured out how to do this the other day and thought it was really neat that I could get this effect to work so well without any scripting at all, so here it is.


Basically, this is a way to make certain DMaps have gradual life drain as long as you're on that map.  For example, you could have underwater areas where you lose life to represent a limited air supply (Mario 64 did this with its underwater areas, for example), or the life-draining DMap could be a dungeon floor that's too hot or too cold for Link to survive for long without some sort of protection.  Or maybe you want your game to work like Gauntlet or Adventure Island where  your life meter is constantly counting down everywhere and you need to grab food/hearts all the time to replenish it.  There's a lot of different uses for something like this.


There is one downside: you can't use Heart Rings in the same quest as this, unless you want either the life-drain effect or the regular Heart Ring effect to override the other.


Anyway... here's how you set it up.  First, open up the item editor and find the Heart Rings.


HeartRing_zpsb17ebc19.png  Drowning_zps1b745780.png


The default settings should look similar to the left screenshot, set up to gradually increase your life (one-quarter heart at a time) every so often.


Change the "Increase Amount" to a negative number (I picked -4, which causes you to lose life quarter-hearts at a time, because it's the same damage as drowning in deep water) and the "Delay Duration" to a lower number.  I picked 256 (the same as the default "fast" Heart Ring) for mine, as you can see in the screenshot, but you can try out different numbers to see what's fast or slow enough for you.  A superheated dungeon floor that you aren't supposed to stay in for long without a protective item might require a much shorter delay, for example.


You'll also want to change the name to something that better represents the effect this thing now has, like "Drowning" or "Overheating" or just "Life Drain."  It's probably a good idea to change the graphics to a blank tile too, but this will only be necessary if you plan on making an item that cancels out its effect (and appears on your subscreen) later--if you want this life-drain to be a permanent feature of an area of your quest, then there's no need to bother with that.


Next, you'll want to set up which DMaps that the gradual life drain effect will and won't happen on.  Unless you want this to be a feature of your entire quest (like the Gauntlet/Adventure Island examples mentioned above), this is pretty important!  Go to "Quest" and then "DMaps" and select a map that you don't want to have any life-draining (such as your overworld.)




Go over to the tab titled "Disable," and then scroll down to find your Drowning/Overheating/Life Drain item on the list of all items.  Select it and click the left arrow in the middle, and it'll be put into the Disabled Items list.  Now just walking around on your overworld map won't cause any life-drain.  Repeat this step for every DMap that you don't want to gradually drain your life away, leaving the "Drowning" item enabled only on maps that should drain life while you're on them.


And finally... to make Link actually have the item.  Go to "Quest" again and find "Init Data," which will bring you to this screen.




Scroll through the list until you find Heart Rings, and check the box for your Drowning/Overheating/Life Drain item.  Now Link will begin the game with this "item" sitting invisibly in his inventory, just waiting for him to enter a dangerous area and start draining away his health one quarter-heart at a time.


It should also be possible to make another item that counteracts this effect.




Let's say you want Link to find the Magic Scuba Mask (...or something with a less-silly name, if you want) that lets him breathe underwater.  Just edit another one of your Heart Rings so that the "Increase Amount" is zero (which means it will never actually give you any extra life, it will just sit in your inventory doing nothing) then set its Level to a  number higher than what you gave the Drowning item.  Though this item technically does absolutely nothing, it also is a higher-level Heart Ring class item than the Drowning item, so the "no recovery" effect will override the "life drain" effect that you gave that one.


You'll also want to give this one graphics (such as, say, a sprite of a magical scuba mask) and give it a place on your subscreen.  If you want it to appear on your subscreen, you'll also want to assign a blank tile as the graphic for the Drowning item so nothing appears in its spot before you've picked up the Magic Scuba Mask (or whatever you decide to call it.)


If you want, you can also make Heart Rings themselves override the effect, replacing the gradual drain with a (probably even more gradual) regeneration of life.  As long as the Level number of your Heart Ring is higher than the Level you gave to the Drowning item, the Heart Ring effect will take precedence over the life-drain.  You could also make it so that the Drowning effect overrides the Heart Ring item's effect by switching the Levels around so that the Heart Ring's number is lower; this way the Heart Ring will replenish your life on any map where the Drowning item is disabled, but will have no effect on maps where the Drowning life-drain is active.

  • ShadowTiger, Thomas G. House, KingPridenia and 1 other like this

#2 strike


    life is fragile, temporary, and precious

  • Members
  • Real Name:Ol√≥rin
  • Gender:Unspecified

Posted 20 January 2014 - 02:01 PM

I've used this before. It works really well! It's really good for a survival quest where Link has to eat to stay alive.


Edited by strike, 20 January 2014 - 02:19 PM.

#3 Jared


    Wind in my hair

  • Members
  • Real Name:Jared
  • Gender:Male
  • Location:Massachusetts

Posted 20 January 2014 - 02:22 PM

This reminds me of how the Power Suit in Metroid/ Metroid Prime works in heated areas. Great job discovering this strategy!

#4 Nimono


    Ultra Miyoa Extraordinaire!

  • Members
  • Real Name:Matthew
  • Gender:Male
  • Location:Static Void Kingdom

Posted 21 January 2014 - 12:28 PM

Very nice! I didn't even know you could give the Heart Rings a negative value! :)

#5 FnrrfYgmSchnish



  • Members
  • Gender:Male

Posted 21 January 2014 - 06:27 PM

Yeah, not all items will accept negatives.  I know from fiddling around with items yesterday that the Bow definitely doesn't (negatives get turned into 0, which causes the bow to fire an arrow that never actually moves anywhere!  Which is kind of hilarious to watch, but not all that useful.  Unless maybe you turn it into something other than a bow--I guess if you change the "arrow impact" sprite to look like an explosion, you could use a 0-speed bow+arrows for something like touch-activated mines.)


Any item that normally adds/restores something (heart rings, magic rings, wallets, bomb bags, etc.) should work with negative numbers, though.  It should be possible to make magic-draining or even rupee-draining areas the same way, just using different items.

#6 NoeL



  • Members
  • Real Name:Jerram
  • Gender:Male

Posted 21 January 2014 - 08:49 PM

Very cool idea. Good job figuring that one out!

#7 FnrrfYgmSchnish



  • Members
  • Gender:Male

Posted 26 January 2014 - 12:07 AM

...and, an oddity I just noticed.  While a Heart Ring with a negative regeneration value works fine, a Magic Ring with the same setup will eventually hit the negatives.


Apparently ZC doesn't account for the possibility of this happening and do something to prevent the counter from going below 0, so after your magic is drained down to 0 and the item tries to drain it again, you get an effect kind of like going over 128 lives in Mario (except in reverse), and your magic randomly jumps from 0 to full!


I would assume draining rupees wouldn't have this problem (since rupee-eating Like-Likes and door repair charges costing more than what you have won't put you into the negatives), but now I have to wonder if the other counters (arrows, bombs, etc.) are protected from rolling over into the negatives (like life/rupees) or glitch-prone when it comes to being drained (like magic.)

Edited by FnrrfYgmSchnish, 26 January 2014 - 12:32 PM.

#8 Mani Kanina

Mani Kanina


  • Members
  • Gender:Female

Posted 17 January 2015 - 07:55 AM

You say that you can't have heart rings in the same quest, but is that really true? Honestly it seems rather easy to set up, if my logic is right:


Level | Health effect

1 | -5

2 | -1
3 | 0
4 | 0
5 | +2
6 | +6

In a set-up like this, it would work rather simple. The player starts with level 1 through 3, and heart ring 5 and 6 can be found in whatever places the quest creator desires. And rather when you want a health drain effect on an area, you'll disable all the positive ones, and all the rings with 0 (no change in health) beside the one which will take away the damage in that specific area. With this set-up, you could have multiple areas that deal damage to link from the same damage ring, but also provides different skinned items to counter measure it. Obviously, you don't get any heart ring heals in those areas even when you have the counter measure. (Since the healing kind are disabled.) But you're still able to have both mechanics in the same quest.

Edit: I just realised that it's not 2014 anymore, and that I just bumped a year old thread... whoops.

Edited by Lunaria, 17 January 2015 - 08:01 AM.

Also tagged with one or more of these keywords: item editor, heart rings

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users