[ new MagicStatic(MagicLayer.SetPT) { @Override public void modPowerToughness( final MagicPermanent source, final MagicPermanent permanent, final MagicPowerToughness pt) { final int charges = permanent.getCounters(MagicCounterType.Charge); if (charges >= 3) { pt.set(3,3); } else if (charges >= 1) { pt.set(2,2); } } }, new MagicStatic(MagicLayer.Ability) { @Override public void modAbilityFlags( final MagicPermanent source, final MagicPermanent permanent, final Set flags) { final int charges = permanent.getCounters(MagicCounterType.Charge); if (charges >= 3) { flags.add(MagicAbility.Shroud); } if (charges >= 1) { flags.add(MagicAbility.Unblockable); } } } ]