Added early eventType check for ContinuousRuleModifying effects.

This commit is contained in:
LevelX2 2015-01-22 22:41:03 +01:00
parent 8ea8e77b88
commit dbffbad3cb
44 changed files with 343 additions and 188 deletions

View file

@ -646,6 +646,9 @@ public class ContinuousEffects implements Serializable {
*/
public boolean preventedByRuleModification(GameEvent event, Ability targetAbility, Game game, boolean checkPlayableMode) {
for (ContinuousRuleModifiyingEffect effect: continuousRuleModifyingEffects) {
if (!effect.checksEventType(event, game)) {
continue;
}
for (Ability sourceAbility : continuousRuleModifyingEffects.getAbility(effect.getId())) {
if (!(sourceAbility instanceof StaticAbility) || sourceAbility.isInUseableZone(game, null, false)) {
if (effect.getDuration() != Duration.OneUse || !effect.isUsed()) {