Primary Zelda Hacking
April 21, 2014, 09:21:48 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: There is now an official Primary Zelda Hacking Press!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: Room Event IDs  (Read 761 times)
ArchProctor
Newcomer
*
Offline Offline

Posts: 23



View Profile
« on: June 17, 2013, 04:49:01 PM »

The IDs and triggers of rooms. Think of triggers as "causes" and IDs as "effects."

Just so you know, when I give a position number, read it as the y-coordinate followed by the x-coordinate. Therefore, "position 32" means y=3 and x=2. You can see the coordinates displayed if you use LALE 1.2 or later.

I did compile several of these on my own, but I looked to Jigglysaint's The First Unofficial Link's Awakening DX ROM Hacking Document included with his bitchin' Link's Awakening hack "Nightmare's Illusion" to help me out with many of these. I tested each one myself, and tried to elaborate on some things.

Doorway tiles F0-F3 shut when the ID calls for it. If you want a room where some doors close, but not all of them, then use one of the tiles F4-F7 to make a doorway that never closes. If you want all shutter doors in the room to be one-way, then set ID to 2 and trigger to 0.

IDs
0: Nothing.
2: Any locked doors open.
4: All enemies die.
6: Chest appears at position 28.
8: Key-drop at position 32.
  • Don't put chests in rooms with this ID.
A: Stairwell appears at position 18.
  • Don't put chests in rooms with this ID.
C: Midway warp appears, doors open (Miniboss flag).
E: Fairy appears at position 28.
  • Don't put chests in rooms with this ID.

Triggers
0: Nothing.
1: Kill all enemies.
2: Push a single block (tile 0xA7).
3: Step on button.
  • If you use this more than once in a dungeon, then after one button is stepped on, all other buttons will be pressed in as well (and their IDs are activated) until you "refresh" the dungeon by entering a staircase or exiting the dungeon, so you may want to only use once per floor/section of the dungeon.
  • You can even take advantage of this by putting this trigger in a room, but putting the switch in a different room. Pressing the switch in the other room and coming back to the first room will activate the ID. Could make for an interesting puzzle.
4: ? (found at the end of the Color Dungeon with the fairy)
5: Light two torches.
6: Kill enemies in order of their sprite/object ID (after killing three enemies, the ID is triggered. This is the Pols Voice/Keese/Stalfos puzzle from Bottle Grotto).
7: Push 2 blocks together. They don't both have to be tile A7 (meaning you don't have to push both), but their final position must be horizontal.
  • If you have one block be pushed up/down and the other left/right, keep in mind the up/down one must be pushed first, or the ID won't trigger.
  • If you have only one pushable block, and it goes up/down, it won't work; it must be left/right.
8: Kill all "special" enemies (normally can't be killed).
9: This is the five-tile puzzle from Lv.4/Angler's Tunnel. You must do two things to get this to work:
  • You must place either sprite 8A or 8B somewhere in the room, doesn't matter where. 8A makes the little glow thing you follow visible, whereas 8B makes it invisible.
  • You also must place tile (not sprite) 8D in each of these exact locations: 22, 27, 35, 42 and 47. Otherwise the aforementioned glow thing won't react to you.
  • Something to note: this puzzle triggers the room ID even when the trigger isn't 9. This means you can have two different solutions in one room: this one, and another one, such as stepping on a button by setting trigger to 3. An idea for this might be you make a room where solving this five-tile puzzle would be pretty difficult, but after you get a certain item in the dungeon, you can just either step on a button or light a distant torch to easily solve the room. Just an idea on how to take advantage of this.
A: Kill either Angler Fish (Level 4 boss) or Evil Eagle (Level 7 boss).
  • Kill Angler Fish to trigger ID in any dungeon except 7.
  • Killing Evil Eagle only triggers IDs in level 7.
  • The room which has this trigger doesn't even need to be in the same dungeon as these bosses. So a locked door in Level 1 might remain locked until you kill Angler Fish, who can be all the way in Level 8 if you wish.
    • The same applies to Evil Eagle but is much less flexible; you can keep a Level 7 door locked until you kill EE in Level 8.
B: Throw something at a shut door.
  • Doors on the left or right walls can't be opened by throwing mere pots; you need to throw those heavy statue things from Face Shrine (sprite 0x9D, requires Lv. 2 bracelet). ID must be 2, or else doors won't shut and you have nothing to throw at.
  • Note that throwing something at one shut door opens all doors, not just the one you threw at.
C: Get both horse heads (sprite 0x98) to stand up.
  • As with trigger 9, this solves the room even without setting the room's trigger to C.
D: Throw a pot at a chest in position 23 to open it and obtain the Nightmare Key. If you don't place the chest in that position, one will appear there anyway, so just place the chest there to avoid duplicate chests.
E: Fill in the gaps with that rolling thing from Turtle Rock (sprite 0xB1).
F: Shoot an arrow at the eye of a statue (tile 0xC0). You can have as many statues as you want; shooting any of them will work.
« Last Edit: October 11, 2013, 08:11:06 PM by ArchProctor » Logged
Fatories
LALE Creator
Administrator
Full Member
*****
Offline Offline

Posts: 223



View Profile
« Reply #1 on: June 17, 2013, 07:43:54 PM »

I never did look much into the event IDs, but like you said there is a list of a decent amount (all the main ones anyway). I do know that ID 1, trigger 0 is used in the entrance of the colour dungeon. Never looked into what it actually does though.

Also trigger 4 is used in the colour dungeon at the very end, where you get the tunic (fairy room). Once again I did not look into exactly what it is, but those are where they are used in the game for sure if you want to look into them.
« Last Edit: June 17, 2013, 07:51:49 PM by Fatories » Logged

The force of a true man can penetrate all. Nothing is safe.
ArchProctor
Newcomer
*
Offline Offline

Posts: 23



View Profile
« Reply #2 on: June 17, 2013, 09:04:02 PM »

Ah, thanks. Also I can see IDs 3 and 9 are used in that dungeon, so I'll look into all that.
« Last Edit: June 21, 2013, 10:39:26 AM by ArchProctor » Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #3 on: June 30, 2013, 01:49:12 AM »

For the ID's, every other value is invalid.  There are some, like 1 and 9 that work, but otherwise you should only use 0,2,4,6,8,etc because the game's code, unlike the triggers, does not count by twos.  That mean that 00 will read the first byte, but 10 will read the second byte, not the third which is the second pointer.  My guess is this is just laziness on part of the coders since I don't see why you couldn't have 16 events and 16 triggers.  Don't forget that this game is nothing but a glorified rom hack of the original LA.
Logged
ArchProctor
Newcomer
*
Offline Offline

Posts: 23



View Profile
« Reply #4 on: June 30, 2013, 07:13:41 AM »

Well hello Jigglysaint, thanks for adding to this topic. You obviously know more about...well everything, so hopefully I can ask you some things so I can improve upon this ridiculous list.

For the ID's, every other value is invalid.  There are some, like 1 and 9 that work, but otherwise you should only use 0,2,4,6,8,etc

Yeah the odd values are a little wonky it seems. I just included them since they all appear to work, albeit with the exact same function, assuming trigger is set to 0.

When you say 1 and 9 work, are you talking about how they're present in the Color Dungeon and do appear to have individual functions? I think technically ID 1 (appearing on map F of the Color Dungeon) is simply the chest thing I mentioned so that works alright. ID 3 (map A of CD) seems like it should open a locked door, but I can't get it to work that way in any other environment. ID 9 (map 8 of CD) seems to be a key-drop like ID 8. But again, testing these out in other environments only yields the chest.

Speaking of the Color Dungeon, trigger 4 is used in the end room with the fairy, as you surely know. Did you ever look into this at any point? Being at the low value of 4, I wonder why it isn't  a "normal" trigger. Hell maybe it does nothing.

In one of Nightmare's Illusion's readmes you said trigger 8 was for killing "special enemies." How did you figure this out? Was it by perhaps making unkillable enemies killable via hacking and noticing that it triggered the ID? If so then I guess trigger 8 is useless to users of LALE until we can modify which enemies can and can't be killed.

Finally, I cited your readme for NI as the basis for much of this list, but I'll go ahead and edit that post to credit you by name. Was it just you that compiled the room event data, or did others help with that part?
« Last Edit: June 30, 2013, 07:33:31 AM by ArchProctor » Logged
Jigglysaint
Hacking Guru
Full Member
*****
Offline Offline

Posts: 150


View Profile
« Reply #5 on: July 05, 2013, 03:37:46 AM »

I believe the only thing I got help on when finding data for LA was finding the special object graphics, but most everything else was my doing.  Anyway, what's really happening with all those odd ID values is that the pointer is being read wrong.  Usually pointers are set up in such a way that two values are grouped together.  In this list however, it increments by one byte only, so only every other value is valid.  How the 1, 3 and 9 work is that during the code's excecution, it merely checks to see if those values are set and then excecutes code, rather than reading it straight from the pointer list.  Also, yes I did figure out how "8" works by hacking the enemy values, but I also saw that one map in Eagle Tower had the ID value of 48, which how it works is if you kill all the sparks with the boomerang, all the Gibdos die.  It's only use in this one spot in the entire game.  Actually what kills enemies is the 4, the 8 means the trigger happens when you kill an unkillable enemy.  Look at the two values as just being two different enemy groups.  That's especially true since enemy weaknesses are stored elsewhere.

So basically, the values 3 and 9 are hardcoded to check for the color dungeon and possibly the room value for it to work.  In fact a lot of things are hardcoded into the color dungeon.  This game actually contains tons of room specific data that's hardcoded into the game.  a good example is event 0D where the smashed chest will appear in the same place, and always have a nightmare key in it no matter where the chest is on screen or what the chest Id actually is.  In fact if you look, even 0D doesn't even do anything.  All the code is excecuted from the Power Bracelet ASM.
Logged
Fatories
LALE Creator
Administrator
Full Member
*****
Offline Offline

Posts: 223



View Profile
« Reply #6 on: July 05, 2013, 04:08:26 AM »

In fact a lot of things are hardcoded into the color dungeon.  This game actually contains tons of room specific data that's hardcoded into the game.

The unfortunate truth about LA. There are so many small exceptions with many of the editors because there will constantly be hardcoded checks for a things. If you are actually debugging and hex editing to make a superb hack it isn't the worst thing (certainly not that great by any means), but for making a level editor it is the biggest pain.
Logged

The force of a true man can penetrate all. Nothing is safe.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines Valid XHTML 1.0! Valid CSS!