After working on a script that simulates shutters opening when there are no more killable enemies on the screen, I realized that testing for the "unkillable" enemies is tedious, specific only to quests that have the same invincible enemies, and will be outdated when more invincible enemies, such as the advanced traps, are implemented. A function that simply checks a single flag would be far more efficient than this:

Code:
if(testEnemy->ID > 9 && testEnemy->ID != NPC_BOULDER && testEnemy->ID != NPC_BUBBLEITEMP && testEnemy->ID != NPC_BUBBLEITEMR && testEnemy->ID != NPC_BUBBLEITEMT && testEnemy->ID != NPC_BUBBLESWORDP && testEnemy->ID != NPC_BUBBLESWORDR && testEnemy->ID != NPC_BUBBLESWORDT && testEnemy->ID != NPC_GHINI2 && testEnemy->ID != NPC_ITEMFAIRY && testEnemy->ID != NPC_ROCK && testEnemy->ID != NPC_SHOOTFBALL && testEnemy->ID != NPC_SHOOTFLAME && testEnemy->ID != NPC_SHOOTFLAME2 && testEnemy->ID != NPC_SHOOTMAGIC && testEnemy->ID != NPC_SHOOTROCK && testEnemy->ID != NPC_SHOOTSPEAR && testEnemy->ID != NPC_SHOOTSWORD && testEnemy->ID != NPC_TRAP && testEnemy->ID != NPC_TRAPHORIZC && testEnemy->ID != NPC_TRAPHORIZLOS && testEnemy->ID != NPC_TRAPVERTC && testEnemy->ID != NPC_TRAPVERTLOS && testEnemy->ID != NPC_TRIGGER && testEnemy->ID != NPC_ZORA)
This would be practical to have, right? Most of the script above could be reduced to "!testEnemy->isInvincible()", and it would be up to date with any changes made in the enemy editor.