This script tells the enemies to throw a boomerang between each other when they fire, and to make the pair of them halt at the same time to pass and receive the boomerang (i.e. the throwing enemy throws when it halts, and tells the receiving enemy to halt and receive).
You set the enemy's misc attribute to the ID of what enemy it should throw the boomerang to. This needs to be set for both enemies, of course. This means that you can either have one color-differentiated pair like in Oracle of Seasons, or do a Color Dungeon-esque thing where the boomerang is passed between pairs of enemies that are the same color (i.e. two red, two blue, and two green Goriyas, they will throw the boomerang to the one of the same color).
Note that to have multiple pairs of enemies, you would need 2, 4, 6, 8, or 10 individual enemies, creating five individual pairs of enemies who share the boomerang. Do not place multiple of the same enemy onto the screen because that would just confuse who the boomerang should go to and cause errors.
If the enemy is Walking class and set to halt before firing, both pairs will halt and wait before firing. So you can either have them pause like a Moblin before throwing the boomerang, or have it instantly throw like Goriyas do. This changes the difficulty of the enemy.
Like in Oracle of Seasons, if one of the pair dies it auto-kills the other one. This is to prevent situations where there is an odd number of enemies on the screen and one enemy is left without its pair if you exit and reenter the screen.
Note that this idea is meant to work with most enemies' normal firing pattern - whenever the enemy normally fires, it throws the boomerang instead. This means it could work with multiple enemy classes such as Walking and Aquamentus. If firing is ever added to Tektite or flying enemies, this would be a good match for those too. NPC scripts highly complement this multiple enemy and enemy class usability.
This idea would also be complemented by the enemy size editor. BigJoe has already tested it for walking and Tektite enemies and it works great. So small ones can be enemies, and big ones can be bosses.
Extra option ideas:
1. Boomerang is Target - This causes the boomerang to have its own HP value, similar to how you have to kill the Gibo's core in LTTP to kill it. When the boomerang's health is depleted, it kills both of its owners. This can be combined with invincible enemies using vanilla enemy editor defenses. I'm not sure how this should be implemented in the enemy editor to avoid conflicts with other scripts, but I think this is a good idea to create even more versatile enemies with it.