So I want to include the Amulet in my quest, but I don't want the invisible enemies to have that telltale shimmer revealing their location on the screen.
Therefore I would like to request a custom item that does something similar.
When Link enters the screen, he will press the button, a SFX will play, and the invisble enemies will become visible.
I'm not entirely sure the best way to go about this, but I'm thinking it's probably an Item Script and a FFC Script that work together. Like, if the FFC Script is on that screen, then pressing the item button will play the SFX and increase the all the onscreen enemy IDs by one (but it will only happen once per screen). That way the enemies would change from a version of that enemy which is invisible and invincible (based on its enemy editor settings) to one that is visible and vulnerable (also based on the enemy editor settings).
I did this with my EctoGoggles item. It tints the screen, and reveals invisible enemies while active, draining MP.while it is active.
If you don't care about the blurry outlines, this is relatively easy; but if you want to be rid of those, too, then it's harder.
This would be an item script, coupled with function calls in your active script, as it needs to run perpetually to work in a desirable manner.
//Call in your active script, prior to Waitdraw();
if ( lastscr != Game->GetCurDMap() || lastscr != Game->GetCurScreen() )
lastscr = Game->GetCurDMap(); lastscr = Game->GetCurScreen();
Link->Item[I_AMULET1] = false; //clear tempAmulet on screen change of any kind.
//Place on a custom item class item, assign a magic cost if desired.
//D0: The sound effect to use.
item script TempAmulet
void run(int sfx)
Link->Item[I_AMULET1] = true;
global script AmuletExample
No drain effect here. The item reveals invisible enemes on a screen, once used.
If you want a visual overlay, thyat's easy to do with DrawTile at OP_TRANS using a full tile page.