AscendEffect: add Effect to add Blessing to Player

This commit is contained in:
Hanmac
2018-01-07 18:56:52 +01:00
parent 2b3733a752
commit c888a09a40
3 changed files with 45 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ public enum SpellApiToAi {
.put(ApiType.Animate, AnimateAi.class)
.put(ApiType.AnimateAll, AnimateAllAi.class)
.put(ApiType.Attach, AttachAi.class)
.put(ApiType.Ascend, AlwaysPlayAi.class)
.put(ApiType.Balance, BalanceAi.class)
.put(ApiType.BecomeMonarch, AlwaysPlayAi.class)
.put(ApiType.BecomesBlocked, BecomesBlockedAi.class)

View File

@@ -20,6 +20,7 @@ public enum ApiType {
Animate (AnimateEffect.class),
AnimateAll (AnimateAllEffect.class),
Attach (AttachEffect.class),
Ascend (AscendEffect.class),
Balance (BalanceEffect.class),
BecomeMonarch (BecomeMonarchEffect.class),
BecomesBlocked (BecomesBlockedEffect.class),

View File

@@ -0,0 +1,43 @@
package forge.game.ability.effects;
import java.util.List;
import forge.game.ability.SpellAbilityEffect;
import forge.game.player.Player;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
import forge.util.Lang;
public class AscendEffect extends SpellAbilityEffect {
/* (non-Javadoc)
* @see forge.game.ability.SpellAbilityEffect#getStackDescription(forge.game.spellability.SpellAbility)
*/
@Override
protected String getStackDescription(SpellAbility sa) {
final StringBuilder sb = new StringBuilder();
List<Player> tgt = getTargetPlayers(sa);
sb.append(Lang.joinHomogenous(tgt));
sb.append(" ");
sb.append(tgt.size() > 1 ? "ascend" : "ascends");
sb.append(". ");
return sb.toString();
}
/*
* (non-Javadoc)
* @see forge.game.ability.SpellAbilityEffect#resolve(forge.game.spellability.SpellAbility)
*/
@Override
public void resolve(SpellAbility sa) {
for (Player p : getTargetPlayers(sa)) {
// Player need 10+ permanents on the battlefield
if (p.getZone(ZoneType.Battlefield).size() >= 10) {
p.setBlessing(true);
}
}
}
}