View changes for revision:                                                                                                                                                
Event controller - "If" (uses zones) (168, rev. 35)
By  Hiccup on 10-19-14, 07:01 pm
Category 'Event controllers', known
This Event Controller can activate a Target Event ID, if either a player or an Enemy touches a predefined Location. There are many additional settings for this Controller that can tweak its behaviour, for example requiring Mario to have a specific Power-Up status, or requiring him to be inside a Location instead of just touching it. Setting up the Controller to deactivate the Event ID instead of activating it, will also swap the effect of the Controller, requiring Mario to leave a predefined Location or to clear a predefined Location from all Enemies to trigger the Event.

Note: some sprites are not counted as being outside the zone or not counted as enemies and cannot be detected as such; for example; the Spike Ball, the Chain Chomp.
Data files: none
Sprite fields:
Target Event ID: value at nybble 2-3. This Event ID will be activated when the specified conditions are met.
Mario Zone ID: value at nybble 4-5. Set to 255 to make it watch everywhere for Mario to meet the condition.
Enemy Zone ID: value at nybble 6-7. Set to 255 to make it watch everywhere for enemies to be defeated.
Mario Power-Up: list at nybble 8: 0=Any,1=No Power-Up,2=Red Mushroom,3=Fire Flower,4=Mega Mushroom,5=Mini Mushroom,6=Blue Shell Mario,7=Star. Event will only be triggered if Mario's Power-Up matches the specified, or this is set to 0.
Mario Status: list at nybble 9: 0=Inside the Zone,1=Touching the Ground in the Zone,2=In the Air in the Zone. 0 - Event is only triggered if a Player is inside the Mario Location. 1 - Event is only triggered if a Player is touching the ground while inside the Mario Location. 2 - Event is only triggered if a Player is jumping or otherwise not touching the ground inside the Mario Location. Measurements always correspond to Mario's feet (lowest pixel).
Usage Mode: list at nybble 10: 0=Single Use,1=Multi Use,2=Only while both Mario and Enemy Status are satisfied. 0 - Event is only triggered once, when the Mario Status and Enemy Status are satisfied. 1 - Event is triggered each time the Mario Status and Enemy Status are satisfied, but does not revert to the opposite state unless forced to by another controller. 2 - Event is only triggered while Mario Status and Enemy Status are satisfied.
Switch Mode: list at nybble 11: 0=Activates Target (Switches Event State),1=Deactivates Target (Switches Event State). If this option is set to "Deactivates Target", the activation Modes will be reversed - for example, Activation Mode 2 will deactivate the Event while you're touching the Area, and reactivate it when you leave. Note on Locations for Enemies that have "Deactivates Target" set: The opposite effect of the Controller becomes active, when Mario gets close enough to the Sprite (to load it into memory). The opposite effect of the Controller is always active though. The Event is deactivated while the Enemy touches the Location, and will reactivate when it leaves. As stated before, this special behaviour is only valid for Enemy-'deactivated' Locations.
Event controller - "If" (uses zones) (168, rev. 36)
By  MeroMero on 05-02-15, 07:46 pm
Category 'Event controllers', known
This Event Controller can activate a Target Event ID, if either a player or an Enemy touches a predefined Location. There are many additional settings for this Controller that can tweak its behaviour, for example requiring Mario to have a specific Power-Up status, or requiring him to be inside a Location instead of just touching it. Setting up the Controller to deactivate the Event ID instead of activating it, will also swap the effect of the Controller, requiring Mario to leave a predefined Location or to clear a predefined Location from all Enemies to trigger the Event.

Note: some sprites are not counted as being outside the zone or not counted as enemies and cannot be detected as such; for example; the Spike Ball, the Chain Chomp.
Data files: none
Sprite fields:
Target ID: value at nybble 2-3. This Event ID will be activated when the specified conditions are met.
Player Zone ID: value at nybble 4-5. Set to 255 to make it watch everywhere for Mario to meet the condition.
Enemies Zone ID: value at nybble 6-7. Set to 255 to make it watch everywhere for enemies to be defeated.
Mario Power-Up: list at nybble 8: 0=Any,1=No Power-Up,2=Red Mushroom,3=Fire Flower,4=Mega Mushroom,5=Mini Mushroom,6=Blue Shell Mario,7=Star. Event will only be triggered if Mario's Power-Up matches the specified, or this is set to 0.
Mario Status: list at nybble 9: 0=Inside the Zone,1=Touching the Ground in the Zone,2=In the Air in the Zone. 0 - Event is only triggered if a Player is inside the Mario Location. 1 - Event is only triggered if a Player is touching the ground while inside the Mario Location. 2 - Event is only triggered if a Player is jumping or otherwise not touching the ground inside the Mario Location. Measurements always correspond to Mario's feet (lowest pixel).
Usage Mode: list at nybble 10: 0=Single Use,1=Multi Use,2=Only while both Mario and Enemy Status are satisfied. 0 - Event is only triggered once, when the Mario Status and Enemy Status are satisfied. 1 - Event is triggered each time the Mario Status and Enemy Status are satisfied, but does not revert to the opposite state unless forced to by another controller. 2 - Event is only triggered while Mario Status and Enemy Status are satisfied.
Switch Mode: list at nybble 11: 0=Activates Target (Switches Event State),1=Deactivates Target (Switches Event State). If this option is set to "Deactivates Target", the activation Modes will be reversed - for example, Activation Mode 2 will deactivate the Event while you're touching the Area, and reactivate it when you leave. Note on Locations for Enemies that have "Deactivates Target" set: The opposite effect of the Controller becomes active, when Mario gets close enough to the Sprite (to load it into memory). The opposite effect of the Controller is always active though. The Event is deactivated while the Enemy touches the Location, and will reactivate when it leaves. As stated before, this special behaviour is only valid for Enemy-'deactivated' Locations.