doesn't ghost.zh add new functions though?
doesn't that make it easier?
Several things ghost.zh does, such as movement functions that handle collision for you, are now available in engine. Not EVERY thing that ghost.zh adds is available in engine, but ghost.zh is completely incompatible with npc scripts - again, it was designed a decade ago when there were less features. Also, to set up an NPC script, all you have to do is set the script in the enemy editor, the same way you set up almost any other scripts. Ghost scripts require one of:
- Manually placing FFCs to spawn the enemies
- Setting a specific value in the name of the enemy so that the global script can attach an FFC for you
- Setting a value in one of the misc attributes, which you have to type in manually, so that the global script can attach an FFC for you
Additionally, ghost also requires setting up script constants to the correct values, such as the invisible combo that compile error is pointing at. And, due to using FFCs, there is a much smaller limit on how many ghosted enemies can exist on the screen at a time- used to be 32, though now FFCs go up to 128, so it's not *as* much of an issue.
Compared to npc scripts, which you just assign in the script tab of the enemy editor via dropdown, and they just work.