[FIN] Implement spoilers (#13616)

* [FIN] Implement Commune with Beavers

* [FIN] Implement Adventurer's Inn

* [FIN] Implement Job Select keyword ability

* [FIN] Implement White Mage's Staff

* [FIN] Implement Black Mage's Rod

* [FIN] Implement Ultimecia, Time Sorceress / Ultimecia, Omnipotent
This commit is contained in:
Balázs Kristóf 2025-05-10 21:26:25 +02:00 committed by GitHub
parent 145c88ac90
commit 52bb919cd4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 382 additions and 0 deletions

View file

@ -0,0 +1,30 @@
package mage.abilities.keyword;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.common.CreateTokenAttachSourceEffect;
import mage.game.permanent.token.HeroToken;
/**
* @author balazskristof
*/
public class JobSelectAbility extends EntersBattlefieldTriggeredAbility {
public JobSelectAbility() {
super(new CreateTokenAttachSourceEffect(new HeroToken()));
}
protected JobSelectAbility(final JobSelectAbility ability) {
super(ability);
}
@Override
public String getRule() {
return "Job select <i>(When this Equipment enters, " +
"create a 1/1 colorless Hero creature token, then attach this to it.)</i>";
}
@Override
public JobSelectAbility copy() {
return new JobSelectAbility(this);
}
}

View file

@ -36,6 +36,7 @@ public enum SubType {
MINE("Mine", SubTypeSet.NonBasicLandType),
POWER_PLANT("Power-Plant", SubTypeSet.NonBasicLandType),
TOWER("Tower", SubTypeSet.NonBasicLandType),
TOWN("Town", SubTypeSet.NonBasicLandType),
// 205.3h Enchantments have their own unique set of subtypes; these subtypes are called enchantment types.
AURA("Aura", SubTypeSet.EnchantmentType),
BACKGROUND("Background", SubTypeSet.EnchantmentType),

View file

@ -0,0 +1,23 @@
package mage.game.permanent.token;
import mage.MageInt;
import mage.constants.CardType;
import mage.constants.SubType;
/**
* @author balazskristof
*/
public class HeroToken extends TokenImpl {
public HeroToken() {
super("Hero Token", "1/1 colorless Hero creature token");
this.power = new MageInt(1);
this.toughness = new MageInt(1);
cardType.add(CardType.CREATURE);
subtype.add(SubType.HERO);
}
private HeroToken(final HeroToken token) { super(token); }
public HeroToken copy() { return new HeroToken(this); }
}

View file

@ -2773,6 +2773,7 @@
# FIN
|Generate|TOK:FIN|Food|||FoodToken|
|Generate|TOK:FIN|Hero|||HeroToken|
# JVC
|Generate|TOK:JVC|Elemental Shaman|||ElementalShamanToken|