forked from External/mage
* Mana Clash - Fixed use in available mana calculation (related to #6698).
This commit is contained in:
parent
674fd6b1a5
commit
6a65e5bb23
6 changed files with 61 additions and 15 deletions
|
|
@ -90,6 +90,7 @@ public interface Abilities<T extends Ability> extends List<T>, Serializable {
|
|||
*
|
||||
* @param zone The {@link Zone} to search for
|
||||
* {@link ActivatedManaAbilityImpl mana abilities}.
|
||||
* @param playerId The id of the player to check availability for
|
||||
* @return All {@link ActivatedManaAbilityImpl mana abilities} for the given
|
||||
* {@link Zone} that can be used.
|
||||
*
|
||||
|
|
@ -97,7 +98,7 @@ public interface Abilities<T extends Ability> extends List<T>, Serializable {
|
|||
* @see mage.players.PlayerImpl#getManaAvailable(mage.game.Game)
|
||||
* @see mage.players.PlayerImpl#getAvailableManaProducers(mage.game.Game)
|
||||
*/
|
||||
Abilities<ActivatedManaAbilityImpl> getAvailableActivatedManaAbilities(Zone zone, Game game);
|
||||
Abilities<ActivatedManaAbilityImpl> getAvailableActivatedManaAbilities(Zone zone, UUID playerId, Game game);
|
||||
|
||||
/**
|
||||
* Retrieves all {@link StaticAbility static abilities} in the given
|
||||
|
|
|
|||
|
|
@ -131,11 +131,11 @@ public class AbilitiesImpl<T extends Ability> extends ArrayList<T> implements Ab
|
|||
}
|
||||
|
||||
@Override
|
||||
public Abilities<ActivatedManaAbilityImpl> getAvailableActivatedManaAbilities(Zone zone, Game game) {
|
||||
public Abilities<ActivatedManaAbilityImpl> getAvailableActivatedManaAbilities(Zone zone, UUID playerId, Game game) {
|
||||
return stream()
|
||||
.filter(ability -> ability instanceof ActivatedManaAbilityImpl)
|
||||
.filter(ability -> ability.getZone().match(zone))
|
||||
.filter(ability -> (((ActivatedManaAbilityImpl) ability).canActivate(ability.getControllerId(), game).canActivate()))
|
||||
.filter(ability -> (((ActivatedManaAbilityImpl) ability).canActivate(playerId, game).canActivate()))
|
||||
.map(ability -> (ActivatedManaAbilityImpl) ability)
|
||||
.collect(Collectors.toCollection(AbilitiesImpl::new));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue