Osiris overview can tell alot about how it works.
https://docs.larian.game/Your_First_Story_Script
may help as well.

As to performance, don't worry too much about it.
If 1st condition failed, the script will just ignore the rest of the event block.

If same event called multiple times, it will handle them 1 by 1 in the order you mentioned them in script.

And game seems to be doing it smooth.
Failed a few times, and had a status applied in a loop for infinity, without delays. With icon , animation, display massage, etc. But even then editor crashed only after several seconds =)

And as to additional condition..
A good question. That's the main reason i had to add custom weapons to my mod. Not to worry about such a thing.

I wasn't able to find ANY trggers, that could say "character is performing a basic attack". That is ennoing as hell.

Distance+damage type(physical) may be your best choises.
And some others mb, like "IsEnemy" "PartyMember" and so on. Just examine all querys and see what will fit you.

I cheaty solution could be applying some invisible status each time player cast a spel, using timer for 1-2 seconds (timer calculates time in REAL time, not the way "turns" do).
And then add a check for it

HasActiveStatus(_Player,"CASTING_A_SPELL",0)

or smth like that

Last edited by Module 003; 14/01/18 06:09 PM.