News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

[SM] Linking Doors and Items

Started by personitis, November 22, 2012, 04:50:23 PM

Previous topic - Next topic

personitis

Simple question. I have a grey door cap I'd like to open after grabbing a specific item. So for example, I'll get Spazer and it'll unlock a grey door over by, let's say, Kraid. Is there a way to do this by making bits match between the door and item? I'm starting to guess the low bits are different between door caps and items?

Quietus

I'd imagine you'd need to rework an existing grey door event to react to an item, or add in your own.  All of the events that activate grey doors are enemy related.  You could perhaps have an enemy that was only vulnerable to / accessible with the item you want?

Unless you desperately needed an actual door, you could try and do it with two room states.  The first would have the barrier, whatever it may be, and the second wouldn't.  Of course, I'd imagine doing this would leave no hint for the player, though you could perhaps also use the earthquake trick, like Redesign did.  At least players would know something had happened as soon as they picked up the item.

Failing that, Pester a GuruTM. :^_^:

Mon732

Look for Event Doors under Patches by Jam
This might be what you're looking for. There are also patches to add more events if need be.

personitis

Well I was hoping to be able to do this without any ASM related stuff. So I guess I'll need to find an alternative. Also, JAMs patch, as far as I can read, doesn't work with item collection but is based off of events.

Quietus

Yes, you'd have to do it in two steps.  Create the event, and then create the door's reaction to that event, so it'd be two patches if you were to use JAM's stuff.

Lunaria

Actually, I believe you guys are making this more complicated then it has to be.

It should be a matter of just giving the item an ID that responds to the ID the gray hatch PLM has! This method was used in Ice metal rather then an event, in order to open the door further into the game you don't need to kill Ridley, you just need to grab the energy tank in the room behind him. (In theory)

Quote58

the thing is he wants the door to flash. If you just have them use the same index, it'll just be blue when samus gets to it.

Lunaria

Quote from: Shadow96 on November 22, 2012, 08:54:37 PM
the thing is he wants the door to flash. If you just have them use the same index, it'll just be blue when samus gets to it.
Well I can't say I saw him mention that in this thread. I can't work with what I don't know!  :sun:

begrimed

I believe it's just a matter of adding a value like $200 to the door or item's index? Something like that. I might be wrong on the number, but there was no ASMery involved from what I read. Although I think doing it this way simply turns the door blue without making it flash like a normal event would.

A_red_monk_called_Key

#9
the easiest way is to use a room with 2 events. in the 2nd room event put 0 enemies to open door. if you are not using the speed booster event than paste this code at $7E678 else you need to find free space in bank $8F then change the rooms 2nd event in a hex editor to match to address of the code


modified speed boost event switch to use spazer:   
AD A8 09 29 04 00 F0 07 BD 00 00 AA 4C E6 E5 E8 E8 60


Edit: forgot to mention thanks to JAM for better understanding of the code

Quietus

That'd make sense.  I didn't know about the zero enemy thing, but it seems like a simpler option.

I sense a JAM patch coming... :^_^:

JAM

#11
Quote from: Quietus on November 23, 2012, 04:57:07 AM
That'd make sense.  I didn't know about the zero enemy thing, but it seems like a simpler option.

I sense a JAM patch coming... :^_^:
Yeah... It will be done like... 3 years ago =)
Item Events v2
Special events for every collectable item plus quantity events like "change the state if player have >= 25 Missiles".
The only minus is no SMILE support. Someday JX will have support for this.

Quote from: Grime on November 23, 2012, 01:15:05 AM
I believe it's just a matter of adding a value like $200 to the door or item's index? Something like that. I might be wrong on the number, but there was no ASMery involved from what I read. Although I think doing it this way simply turns the door blue without making it flash like a normal event would.
This is the easiest solution without any patches. You're right. Item $234 = Door $034
But it will remove the grey cap completly instead of making it flashing.

Fortunately, the patches I did at last will be helpful to someone I've already made a patches for this situation. No second state is needed.

Apply SuperMap v1.1 and Extra event doors patches. You'll get a sharing effect. Array of $100 extra events that will use some of Item Bit area. And you can do this:
QuoteCollect item with index 012 (for example) and extra event 12 will be set and vice versa: set extra event 12 and item with index 012 will disappear without actually collecting it. And even more. Grey door with High Byte 38..3F and Low Byte 12 will start flashing after extra event 12 will be set or item with index 012 will be collected.