forked from External/mage
GUI: introduced default card hints:
* refactor: added helper emblems instead rad counter's inherent emblems (use initGameDefaultHelperEmblems to define new card hints or other fake objects); * refactor: added card hints support for emblems, planes and other command objects; * GUI: added storm counter as default card hint (use hints tool to see it, closes #12360);
This commit is contained in:
parent
83823acec7
commit
521a0f6e32
36 changed files with 234 additions and 144 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package mage.abilities;
|
||||
|
||||
import mage.MageObject;
|
||||
import mage.abilities.common.ZoneChangeTriggeredAbility;
|
||||
import mage.abilities.costs.Cost;
|
||||
import mage.abilities.keyword.ProtectionAbility;
|
||||
|
|
@ -7,6 +8,7 @@ import mage.abilities.mana.ActivatedManaAbilityImpl;
|
|||
import mage.abilities.mana.ManaAbility;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.Game;
|
||||
import mage.util.CardUtil;
|
||||
import mage.util.ThreadLocalStringBuilder;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
|
@ -44,12 +46,12 @@ public class AbilitiesImpl<T extends Ability> extends ArrayList<T> implements Ab
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRules(String source) {
|
||||
return getRules(source, true);
|
||||
public List<String> getRules() {
|
||||
return getRules(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRules(String source, boolean capitalize) {
|
||||
public List<String> getRules(boolean capitalize) {
|
||||
List<String> rules = new ArrayList<>();
|
||||
|
||||
for (T ability : this) {
|
||||
|
|
@ -102,6 +104,12 @@ public class AbilitiesImpl<T extends Ability> extends ArrayList<T> implements Ab
|
|||
return rules;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getRules(Game game, MageObject object) {
|
||||
Abilities<Ability> sourceAbilities = this.getAllAbilities();
|
||||
return CardUtil.getCardRulesWithAdditionalInfo(game, object, sourceAbilities, sourceAbilities);
|
||||
}
|
||||
|
||||
/**
|
||||
* Activated Ability in the engine are broader than in the rules.
|
||||
* Notably SpellAbility & PlayLandAbility are ActivatedAbility,
|
||||
|
|
@ -193,6 +201,11 @@ public class AbilitiesImpl<T extends Ability> extends ArrayList<T> implements Ab
|
|||
.collect(Collectors.toCollection(AbilitiesImpl::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Abilities<Ability> getAllAbilities() {
|
||||
return stream().collect(Collectors.toCollection(AbilitiesImpl::new));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setControllerId(UUID controllerId) {
|
||||
for (Ability ability : this) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue