[LCI] Implement Ojer Axonil, Deepest Might (#11195)

* [LCI] Implement Ojer Axonil, Deepest Might

* add tests

* Alter text generation on ActivateIfConditionActivatedAbility to handle "and as a sorcery"
This commit is contained in:
Susucre 2023-10-08 23:52:36 +02:00 committed by GitHub
parent 287e25b28f
commit 8e1ef15b70
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 521 additions and 13 deletions

View file

@ -6,6 +6,7 @@ import mage.abilities.condition.Condition;
import mage.abilities.condition.InvertCondition;
import mage.abilities.costs.Cost;
import mage.abilities.effects.Effect;
import mage.constants.TimingRule;
import mage.constants.Zone;
import mage.game.Game;
@ -13,10 +14,14 @@ import mage.game.Game;
* @author LevelX2
*/
public class ActivateIfConditionActivatedAbility extends ActivatedAbilityImpl {
public ActivateIfConditionActivatedAbility(Zone zone, Effect effect, Cost cost, Condition condition) {
this(zone, effect, cost, condition, TimingRule.INSTANT);
}
public ActivateIfConditionActivatedAbility(Zone zone, Effect effect, Cost cost, Condition condition, TimingRule timing) {
super(zone, effect, cost);
this.condition = condition;
this.timing = timing;
}
protected ActivateIfConditionActivatedAbility(final ActivateIfConditionActivatedAbility ability) {
@ -41,7 +46,11 @@ public class ActivateIfConditionActivatedAbility extends ActivatedAbilityImpl {
&& !condition.toString().startsWith("if")) {
sb.append("if ");
}
sb.append(condition.toString()).append('.');
sb.append(condition.toString());
if (timing == TimingRule.SORCERY) {
sb.append(" and only as a sorcery");
}
sb.append('.');
return sb.toString();
}