forked from External/mage
(WIP) Replacing blocking/blocked by predicates (#8729)
* replaced blocking/blocked by predicates * added test for knight of dusk (currently fails) * added source parameter to filters and everything else that needs it * some changes to various predicates * test fix * small changes to filter code * merge fix * fixed a test failure * small change to Karn, Scion of Urza * removed sourceId from filter methods and other similar places * added new getobject method to fix some test failures * a few more fixes * fixed merge conflicts * merge fix
This commit is contained in:
parent
53877424a0
commit
80e11b2052
1719 changed files with 3384 additions and 3325 deletions
|
|
@ -36,7 +36,7 @@ public class CantHaveCountersSourceEffect extends ContinuousRuleModifyingEffectI
|
|||
|
||||
@Override
|
||||
public boolean applies(GameEvent event, Ability source, Game game) {
|
||||
UUID sourceId = source.getSourceId();
|
||||
UUID sourceId = source != null ? source.getSourceId() : null;
|
||||
if (sourceId != null) {
|
||||
return sourceId.equals(event.getTargetId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,6 +77,6 @@ public class PlayLandsFromGraveyardControllerEffect extends AsThoughEffectImpl {
|
|||
}
|
||||
|
||||
// must be correct card
|
||||
return filter.match(cardToCheck, source.getSourceId(), affectedControllerId, game);
|
||||
return filter.match(cardToCheck, affectedControllerId, source, game);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ public class TargetsHaveToTargetPermanentIfAbleEffect extends ContinuousRuleModi
|
|||
|
||||
@Override
|
||||
public String getInfoMessage(Ability source, GameEvent event, Game game) {
|
||||
MageObject mageObject = game.getObject(source.getSourceId());
|
||||
MageObject mageObject = game.getObject(source);
|
||||
if (mageObject != null) {
|
||||
return "You must choose at least " + this.filter.getMessage() + " on the battlefield as target if able (" + mageObject.getIdName() + ").";
|
||||
}
|
||||
|
|
@ -97,7 +97,7 @@ public class TargetsHaveToTargetPermanentIfAbleEffect extends ContinuousRuleModi
|
|||
Ability ability = (Ability) getValue("targetAbility");
|
||||
if (ability != null) {
|
||||
// Get all the allowed permanents on the battlefield in range of the abilities controller
|
||||
List<Permanent> allowedPermanents = game.getBattlefield().getActivePermanents(filter, event.getPlayerId(), event.getSourceId(), game);
|
||||
List<Permanent> allowedPermanents = game.getBattlefield().getActivePermanents(filter, event.getPlayerId(), source, game);
|
||||
if (!allowedPermanents.isEmpty()) {
|
||||
boolean canTargetAllowedPermanent = false;
|
||||
for (UUID modeId : ability.getModes().getSelectedModes()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue