I did some heavy digging in the ph3 structure to grasp the way it all is tied together. Mainly with the spell background and effects, it is required for my tutorial so I was wondering if these are correct.
I've noticed that if the #System header is void then default_system.txt will be called. This file contains the standard effects and drawing for boss lifebar, playerscore, timer, etc etc. First of all, compared to 0.12m, there is no @BackGround routine, however two separate tasks listening to a boolean inside Default_Background_IceMountain.txt.
If no Background header is provided, no spellcard background animation will be used at all. The magic circle shown around the boss is a default effect which can be always called.
let objScene = GetEnemyBossSceneObjectID();
ObjEnemyBossScene_StartSpell(objScene);
is a simple example in Rumia which gets the bossID and then start a scene on that ID. Default_System.txt listens with the Event case(EV_START_BOSS_SPELL) and kicks the Default_System_MagicCircle.txt spell card. It is important to keep the spellcard BG and magic circle strictly separated during our mind breaking process.
First of all, when the background txt is called, two tasks are called: NormalBG and SpellBG who listen to the boolean bSpell. This boolean is set inside the @MainLoop routine which constantly listens whether a spell card is called or not.
if(objScene != ID_INVALID && ObjEnemyBossScene_GetInfo(objScene, INFO_IS_SPELL))
ObjEnemyBossScene_StartSpell(object); & INFO_IS_SPELL are tied together. So the value is true and based on this, the bSpell boolean is set to true or false. The two tasks being called are listening non-stop to this boolean and are looping infinitely until the script is closed. This is why you can for example during plurals have easier background swapping.
I hope I managed to explain it correctly and this will perhaps give insight for people who wish to alter the effects.
You could of course always draw your own background by simply leaving #system header out, providing no #background header and creating a simple 2D sprite on Layer 20. Anything is possible but understanding the game structure is never a bad thing.