forked from External/mage
* added dungeon and dungeon room class * [AFR] Implemented Tomb of Annihilation * [AFR] Implemented Shortcut Seeker * [AFR] Implemented Gloom Stalker * [AFR] Implemented Nadaar, Selfless Paladin * added room triggers * added more venturing code, currently untested * fixed error * moved venture into dungeon from player class to game class * removed unnecessary sourceobject from dungeon * fixed npe error * added dungeon completion * fixed concurrent modification exception * added logging * added proper copy methods * added views * updated room text generation * added some missing code * finished implementing CompletedDungeonCondition * [AFR] Implemented Ellywick Tumblestrum * [AFR] Implemented Lost Mine of Phandelver * added choice dialog for dungeons * [AFR] Implemented Dungeon of the Mad Mage * small text fix * added initial dungeon test * [AFR] Implemented Cloister Gargoyle * [AFR] Implemented Dungeon Crawler * small text change for dungeon rooms * added more tests * some simplification to dungeon props * updated testing helper functions * added currently failing test for venturing on separate steps and turns * added tests for dungeon completion * fixed missing trigger visual and dungeons not persisting through turns * some text updates * added rollback test * added a test for multiple dungeons at once * added one more condition test
48 lines
1.6 KiB
Java
48 lines
1.6 KiB
Java
package mage.cards.g;
|
|
|
|
import mage.MageInt;
|
|
import mage.abilities.common.SimpleStaticAbility;
|
|
import mage.abilities.condition.common.CompletedDungeonCondition;
|
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
|
import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
|
|
import mage.abilities.keyword.DoubleStrikeAbility;
|
|
import mage.cards.CardImpl;
|
|
import mage.cards.CardSetInfo;
|
|
import mage.constants.CardType;
|
|
import mage.constants.Duration;
|
|
import mage.constants.SubType;
|
|
import mage.watchers.common.CompletedDungeonWatcher;
|
|
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* @author TheElk801
|
|
*/
|
|
public final class GloomStalker extends CardImpl {
|
|
|
|
public GloomStalker(UUID ownerId, CardSetInfo setInfo) {
|
|
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}");
|
|
|
|
this.subtype.add(SubType.DWARF);
|
|
this.subtype.add(SubType.RANGER);
|
|
this.power = new MageInt(2);
|
|
this.toughness = new MageInt(3);
|
|
|
|
// As long as you've completed a dungeon, Gloom Stalker has double strike.
|
|
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
|
|
new GainAbilitySourceEffect(
|
|
DoubleStrikeAbility.getInstance(), Duration.WhileOnBattlefield
|
|
), CompletedDungeonCondition.instance,
|
|
"as long as you've completed a dungeon, {this} has double strike"
|
|
)).addHint(CompletedDungeonCondition.getHint()), new CompletedDungeonWatcher());
|
|
}
|
|
|
|
private GloomStalker(final GloomStalker card) {
|
|
super(card);
|
|
}
|
|
|
|
@Override
|
|
public GloomStalker copy() {
|
|
return new GloomStalker(this);
|
|
}
|
|
}
|