you are right, i forgot that non-permanent spells can't enter the battlefield
that can combine the first two triggers into one.
i will implement that Triggers into the cards if thats okay.
Edit: i got this answer:
When a permanent leaves the battlefield, it can still be chosen as a damage source as long as something else that currently exists refers to that object (for example, you can prevent the damage from
Mogg Fanatic even after it leaves the battlefield).
means i need to rethink about the third trigger. maybe if something is moved from non-Stack to the battlefield. OR from non-Stack/non-Battlefield to somewhere else.
i think "from other zone than Battlefield to other zone than Battlefield" would be working.
EDIT: some one did say for when it does moves from the Battlefield i need LastKnownInformation ... that makes everything more complicated :/
==
hm yeah a check if two objects are the same, and not a different object would help ... it's also about that whole LKI stuff.
i recently had the problem with the Basilisk Effect with destroy a creature at the end of battle, even if the creature got blinked ... i need to check if it does still happen, or if had fixed that.
===
EDIT: i updated the PreventEffect cards again using ChosenCard directly.
the values are now stored in with EffectEffect. Also the CardView now use Proper Property for ChosenCard (it did use ChosenColors for unknown reason)
i didnt found a best way for adding to add the Trigger yet.
means Counter and casting a spell again does work as it shouldn't.
a possible way would be to use TriggerCountered but thats not the right way imo.