What I am trying to do is best explained by the picture below. You see 4 Rooms each by a different color. Those 4 Rooms are all the same active object I use with a custom animation (one for each level) with a total of 32 directions (also the maximum number of the rooms per level).



So
Green is room 0
Yellow is room 1
Red is room 2
Blue is room 3

All those rooms also have a 1x1 pixel extended to one of the side where a door is present. All those rooms are aligned on a grid and therefore they only overlap each other by this 1 pixel.

So when the player starts in the green room he is able to access the blue and yellow room. When he is in the Yellow room he can only access the green room. And the Red room can only be entered through the blue room.

The Player itself is a seperate active object and it is centered on the actual room. By default he starts in green.

Also when the player is overlapping one of those rooms the alt value "Visited" for that room is set to 1. And I also have a condition like " if Visited of Room = 1 then make object Invisible"

Note: all those colored rooms are actually Black in my game, they are overlays I use for the room. The real graphics are below loaded into a single active picture object.

What I want to achive is the following:

When the player is in the green room I want yellow and blue (those two are overlapping green) to be transparent by 50%. So the player can actually see a bit of the next rooms that are accessible from the green one.

I already added a alt value to the rooms called "PlayerIsPresent" and that is 1 if the player object is above one of the rooms.

So does anyone have an idea how to make this work? The problem I encountered is that these rooms are all one object and if I check for a collision all those rooms turn out to be 25% transparent because they all overlap in the end.

Any ideas appreciated

Thanks!