mage.abilities.Ability.getRule()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(6.0k)|赞(0)|评价(0)|浏览(80)

本文整理了Java中mage.abilities.Ability.getRule()方法的一些代码示例,展示了Ability.getRule()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ability.getRule()方法的具体详情如下:
包路径:mage.abilities.Ability
类名称:Ability
方法名:getRule

Ability.getRule介绍

[英]Retrieves a human readable string representing what the ability states it accomplishes. This call is equivalent to #getRule(boolean)
[中]检索一个人类可读的字符串,该字符串表示该能力声明它完成了什么。此调用相当于#getRule(布尔值)

代码示例

代码示例来源:origin: magefree/mage

public StackAbility(Ability ability, UUID controllerId) {
  this.ability = ability;
  this.controllerId = controllerId;
  this.name = "stack ability (" + ability.getRule() + ')';
}

代码示例来源:origin: magefree/mage

@Override
public String getRule(boolean all) {
  return ability.getRule(all);
}

代码示例来源:origin: magefree/mage

@Override
public String getRule(String source) {
  return ability.getRule(source);
}

代码示例来源:origin: magefree/mage

@Override
public String getRule() {
  return ability.getRule();
}

代码示例来源:origin: magefree/mage

public static int getAbilityScore(Ability ability) {
    if (!scores.containsKey(ability.getRule())) {
      //System.err.println("Couldn't find ability score: " + ability.getRule());
      //TODO: add handling protection from ..., levelup, kicker, etc. abilities
      return 0;
    }
    return scores.get(ability.getRule());
  }
}

代码示例来源:origin: magefree/mage

@Override
public boolean containsRule(T ability) {
  return stream().anyMatch(rule -> rule.getRule().equals(ability.getRule()));
}

代码示例来源:origin: magefree/mage

protected void logAbilityList(String message, List<Ability> list) {
  StringBuilder sb = new StringBuilder();
  sb.append(message).append(": ");
  for (Ability ability : list) {
    sb.append(ability.getRule()).append(',');
  }
  log.debug(sb.toString());
}

代码示例来源:origin: magefree/mage

private void setText() {
    StringBuilder sb = new StringBuilder();
    sb.append(filter.getMessage());
    sb.append(" lose ");
    sb.append(ability.getRule());
    sb.append(" can't have or gain ");
    sb.append(ability.getRule());
    staticText = sb.toString();
  }
}

代码示例来源:origin: magefree/mage

private void setText() {
  StringBuilder sb = new StringBuilder();
  sb.append(attachmentType.verb());
  sb.append(" creature ");
  if (duration == Duration.WhileOnBattlefield) {
    sb.append("loses ");
  } else {
    sb.append("loses ");
  }
  sb.append(ability.getRule());    
  staticText = sb.toString();
}

代码示例来源:origin: magefree/mage

public LoseAbilitySourceEffect(Ability ability, Duration duration) {
  super(duration, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.LoseAbility);
  this.ability = ability;
  staticText = "{this} loses " + ability.getRule() + ' ' + duration.toString();
}

代码示例来源:origin: magefree/mage

public GainAbilitySpellsEffect(Ability ability, FilterObject filter) {
  super(Duration.Custom, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
  this.ability = ability;
  this.filter = filter;
  staticText = filter.getMessage() + " have " + ability.getRule();
}

代码示例来源:origin: magefree/mage

public GainAbilityControlledSpellsEffect(Ability ability, FilterSpell filter) {
  super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);
  this.ability = ability;
  this.filter = filter;
  staticText = filter.getMessage() + " you cast have " + ability.getRule() + '.';
}

代码示例来源:origin: magefree/mage

public GainAbilitySourceEffect(Ability ability, Duration duration, boolean onCard) {
  this(ability, duration, onCard, false);
  staticText = "{this} gains " + ability.getRule() + ' ' + duration.toString();
}

代码示例来源:origin: magefree/mage

public AbilityPickerView(String objectName, List<? extends Ability> abilities) {
  for (Ability ability : abilities) {
    if (objectName == null) {
      choices.put(ability.getId(), ability.getRule(true));
    } else {
      String rule = ability.getRule(objectName);
      if (rule.isEmpty()) {
        rule = ability.toString();
      }
      choices.put(ability.getId(), rule);
    }
  }
}

代码示例来源:origin: magefree/mage

private void setText() {
  StringBuilder sb = new StringBuilder();
  sb.append(attachmentType.verb());
  sb.append(" creature ");
  if (duration == Duration.WhileOnBattlefield) {
    sb.append("has ");
  } else {
    sb.append("gains ");
  }
  sb.append('"' + ability.getRule("this creature") + '"');
  if (!duration.toString().isEmpty()) {
    sb.append(' ').append(duration.toString());
  }
  staticText = sb.toString();
}

代码示例来源:origin: magefree/mage

/**
 * 
 * @param ability
 * @param duration custom - effect will be discarded as soon there is no sourceId - permanent on the battlefield
 */
public GainAbilityControllerEffect(Ability ability, Duration duration) {
  super(duration, Layer.PlayerEffects, SubLayer.NA, Outcome.AddAbility);
  this.ability = ability;
  staticText = "You have " + ability.getRule();
  if (!duration.toString().isEmpty()) {
    staticText += ' ' + duration.toString();
  }
}

代码示例来源:origin: magefree/mage

@Override
public String getInfoMessage(Ability source, GameEvent event, Game game) {
  if (infoMessage == null) {
    String message;
    MageObject object = game.getObject(source.getSourceId());
    if (object != null) {
      message = source.getRule(messageToUser ? object.getIdName() : object.getLogName());
    } else {
      message = source.getRule();
    }
    return message;
  } else {
    return infoMessage;
  }
}

代码示例来源:origin: magefree/mage

@Override
public boolean apply(MageObject input, Game game) {
  Abilities<Ability> abilities = input.getAbilities();
  for (int i = 0; i < abilities.size(); i++) {
    if (abilities.get(i) instanceof EnchantAbility) {
      String enchantText = abilities.get(i).getRule();
      if (enchantText.contentEquals("Enchant creature")) {
        return true;
      }
    }
  }
  return false;
}

代码示例来源:origin: magefree/mage

@Override
public boolean apply(MageObject input, Game game) {
  Abilities<Ability> abilities = input.getAbilities();
  for (int i = 0; i < abilities.size(); i++) {
    if (abilities.get(i) instanceof EnchantAbility) {
      String enchantText = abilities.get(i).getRule();
      if (enchantText.contentEquals("Enchant creature")) {
        return true;
      }
    }
  }
  return false;
}

代码示例来源:origin: magefree/mage

@Override
public boolean apply(Game game, Ability source) {
  Player controller = game.getPlayer(source.getControllerId());
  if (controller != null) {
    Mana mana = getMana(game, source);
    if (mana != null) {
      checkToFirePossibleEvents(mana, game, source);
      controller.getManaPool().addMana(mana, game, source);
    } else {
      logger.error("There was no mana created: " + source.getSourceObject(game).getName() + " - Ability: " + source.getRule());
    }
    return true;
  }
  return false;
}

相关文章