forked from External/mage
refactor: shared logic for diff implementation of isInUseableZone, improved docs and readability;
This commit is contained in:
parent
57ef74da90
commit
d49ff89a81
76 changed files with 285 additions and 273 deletions
|
|
@ -127,15 +127,15 @@ public class OrTriggeredAbility extends TriggeredAbilityImpl {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean isInUseableZone(Game game, MageObject source, GameEvent event) {
|
||||
public boolean isInUseableZone(Game game, MageObject sourceObject, GameEvent event) {
|
||||
boolean res = false;
|
||||
for (TriggeredAbility ability : triggeredAbilities) {
|
||||
// TODO: call full inner trigger instead like ability.isInUseableZone()?! Need research why it fails
|
||||
if (ability.isLeavesTheBattlefieldTrigger()) {
|
||||
// TODO: leaves battlefield and die are not same! Is it possible make a diff logic?
|
||||
res |= TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, event, game);
|
||||
res |= TriggeredAbilityImpl.isInUseableZoneDiesTrigger(this, sourceObject, event, game);
|
||||
} else {
|
||||
res |= super.isInUseableZone(game, source, event);
|
||||
res |= super.isInUseableZone(game, sourceObject, event);
|
||||
}
|
||||
}
|
||||
return res;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue