mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
- C15: added Herald of the Host (keyword: Myriad)
This commit is contained in:
7
.gitattributes
vendored
7
.gitattributes
vendored
@@ -7289,6 +7289,7 @@ forge-gui/res/cardsfolder/h/herald_of_dromoka.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_kozilek.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_leshrac.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_serra.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/h/herald_of_the_host.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_the_pantheon.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_torment.txt -text
|
||||
forge-gui/res/cardsfolder/h/herald_of_war.txt -text
|
||||
@@ -8112,6 +8113,7 @@ forge-gui/res/cardsfolder/k/kalastria_healer.txt -text
|
||||
forge-gui/res/cardsfolder/k/kalastria_highborn.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kalastria_nightwatch.txt -text
|
||||
forge-gui/res/cardsfolder/k/kaleidostone.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kalemnes_captain.txt -text
|
||||
forge-gui/res/cardsfolder/k/kalitas_bloodchief_of_ghet.txt -text
|
||||
forge-gui/res/cardsfolder/k/kalonian_behemoth.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kalonian_hydra.txt -text
|
||||
@@ -8164,6 +8166,7 @@ forge-gui/res/cardsfolder/k/karplusan_wolverine.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/karplusan_yeti.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/karrthus_tyrant_of_jund.txt -text
|
||||
forge-gui/res/cardsfolder/k/karstoderm.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kaseto_orochi_archmage.txt -text
|
||||
forge-gui/res/cardsfolder/k/kashi_tribe_elite.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kashi_tribe_reaver.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/k/kashi_tribe_warriors.txt svneol=native#text/plain
|
||||
@@ -9293,6 +9296,7 @@ forge-gui/res/cardsfolder/m/maze_of_shadows.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/m/maze_rusher.txt -text
|
||||
forge-gui/res/cardsfolder/m/maze_sentinel.txt -text
|
||||
forge-gui/res/cardsfolder/m/mazes_end.txt -text
|
||||
forge-gui/res/cardsfolder/m/mazirek_kraul_death_priest.txt -text
|
||||
forge-gui/res/cardsfolder/m/meadowboon.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/m/meandering_towershell.txt -text
|
||||
forge-gui/res/cardsfolder/m/measure_of_wickedness.txt -text
|
||||
@@ -10508,6 +10512,7 @@ forge-gui/res/cardsfolder/o/ordered_migration.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/o/ordruun_commando.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/o/ordruun_veteran.txt -text
|
||||
forge-gui/res/cardsfolder/o/ore_gorger.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/o/oreskos_explorer.txt -text
|
||||
forge-gui/res/cardsfolder/o/oreskos_sun_guide.txt -text
|
||||
forge-gui/res/cardsfolder/o/oreskos_swiftclaw.txt -text
|
||||
forge-gui/res/cardsfolder/o/organ_grinder.txt svneol=native#text/plain
|
||||
@@ -12563,6 +12568,7 @@ forge-gui/res/cardsfolder/s/scythe_leopard.txt -text
|
||||
forge-gui/res/cardsfolder/s/scythe_of_the_wretched.txt -text
|
||||
forge-gui/res/cardsfolder/s/scythe_specter.txt -text
|
||||
forge-gui/res/cardsfolder/s/scythe_tiger.txt -text
|
||||
forge-gui/res/cardsfolder/s/scytheclaw.txt -text
|
||||
forge-gui/res/cardsfolder/s/sea_drake.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/s/sea_eagle.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/s/sea_gate_loremaster.txt svneol=native#text/plain
|
||||
@@ -14727,6 +14733,7 @@ forge-gui/res/cardsfolder/t/thought_nibbler.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/t/thought_prison.txt -text svneol=unset#text/plain
|
||||
forge-gui/res/cardsfolder/t/thought_reflection.txt -text
|
||||
forge-gui/res/cardsfolder/t/thought_scour.txt -text
|
||||
forge-gui/res/cardsfolder/t/thought_vessel.txt -text
|
||||
forge-gui/res/cardsfolder/t/thoughtbind.txt svneol=native#text/plain
|
||||
forge-gui/res/cardsfolder/t/thoughtbound_primoc.txt -text
|
||||
forge-gui/res/cardsfolder/t/thoughtcast.txt svneol=native#text/plain
|
||||
|
||||
@@ -1053,6 +1053,10 @@ public class AbilityUtils {
|
||||
else if (defined.equals("DefendingPlayer")) {
|
||||
players.add(game.getCombat().getDefendingPlayerRelatedTo(card));
|
||||
}
|
||||
else if (defined.equals("OpponentsOtherThanDefendingPlayer")) {
|
||||
players.addAll(sa.getActivatingPlayer().getOpponents());
|
||||
players.remove(game.getCombat().getDefendingPlayerRelatedTo(card));
|
||||
}
|
||||
else if (defined.equals("ChosenPlayer")) {
|
||||
final Player p = card.getChosenPlayer();
|
||||
if (p != null && !players.contains(p)) {
|
||||
|
||||
@@ -202,6 +202,10 @@ public class CopyPermanentEffect extends SpellAbilityEffect {
|
||||
defender = c.getController().getController().chooseSingleEntityForEffect(defs, sa, "Choose which defender to attack with " + c, false);
|
||||
} else {
|
||||
defender = AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("CopyAttacking"), sa).get(0);
|
||||
if (sa.hasParam("ChoosePlayerOrPlaneswalker") && defender != null) {
|
||||
FCollectionView<GameEntity> defs = game.getCombat().getDefendersControlledBy((Player) defender);
|
||||
defender = c.getController().getController().chooseSingleEntityForEffect(defs, sa, "Choose which defender to attack with " + c + " {defender: "+ defender + "}", false);
|
||||
}
|
||||
}
|
||||
game.getCombat().addAttacker(copyInPlay, defender);
|
||||
game.fireEvent(new GameEventCombatChanged());
|
||||
@@ -241,6 +245,9 @@ public class CopyPermanentEffect extends SpellAbilityEffect {
|
||||
final String location = sa.getParam("AtEOT");
|
||||
registerDelayedTrigger(sa, location, crds);
|
||||
}
|
||||
if (sa.hasParam("ImprintCopied")) {
|
||||
hostCard.addImprintedCards(crds);
|
||||
}
|
||||
} // end canBeTargetedBy
|
||||
} // end foreach Card
|
||||
} // end resolve
|
||||
|
||||
@@ -2404,6 +2404,32 @@ public class CardFactoryUtil {
|
||||
card.setSVar("ProvokeAbility", abString);
|
||||
card.setSVar("ProvokeUntap", dbString);
|
||||
}
|
||||
else if (keyword.equals("Myriad")) {
|
||||
final String actualTrigger = "Mode$ Attacks | ValidCard$ Card.Self | Execute$ "
|
||||
+ "MyriadAbility | Secondary$ True | TriggerDescription$ Myriad (When this "
|
||||
+ "creature attacks, for each opponent other than defending player, you may"
|
||||
+ " put a token that's a copy of this creature onto the battlefield tapped "
|
||||
+ "and attacking that player or a planeswalker he or she controls. Exile the"
|
||||
+ " tokens at end of combat.)";
|
||||
final String abString = "DB$ RepeatEach | RepeatPlayers$ OpponentsOtherThanDefendingPlayer"
|
||||
+ " | RepeatSubAbility$ MyriadCopy | SubAbility$ MyriadDelTrig";
|
||||
final String dbString1 = "DB$ CopyPermanent | Defined$ Self | Tapped$ True | "
|
||||
+ "Optional$ True | CopyAttacking$ Remembered | ChoosePlayerOrPlaneswalker$"
|
||||
+ " True | ImprintCopied$ True";
|
||||
final String dbString2 = "DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | "
|
||||
+ "Execute$ MyriadExile | RememberObjects$ Imprinted | TriggerDescription$"
|
||||
+ " Exile the tokens at end of combat. | SubAbility$ MyriadCleanup";
|
||||
final String dbString3 = "DB$ ChangeZone | Defined$ DelayTriggerRemembered | Origin$"
|
||||
+ " Battlefield | Destination$ Exile";
|
||||
final String dbString4 = "DB$ Cleanup | ClearImprinted$ True";
|
||||
final Trigger parsedTrigger = TriggerHandler.parseTrigger(actualTrigger, card, true);
|
||||
card.addTrigger(parsedTrigger);
|
||||
card.setSVar("MyriadAbility", abString);
|
||||
card.setSVar("MyriadCopy", dbString1);
|
||||
card.setSVar("MyriadDelTrig", dbString2);
|
||||
card.setSVar("MyriadExile", dbString3);
|
||||
card.setSVar("MyriadCleanup", dbString4);
|
||||
}
|
||||
else if (keyword.equals("Living Weapon")) {
|
||||
card.removeIntrinsicKeyword(keyword);
|
||||
|
||||
|
||||
8
forge-gui/res/cardsfolder/h/herald_of_the_host.txt
Normal file
8
forge-gui/res/cardsfolder/h/herald_of_the_host.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Herald of the Host
|
||||
ManaCost:3 W W
|
||||
Types:Creature Angel
|
||||
PT:4/4
|
||||
K:Flying
|
||||
K:Vigilance
|
||||
K:Myriad
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/herald_of_the_host.jpg
|
||||
10
forge-gui/res/cardsfolder/k/kalemnes_captain.txt
Normal file
10
forge-gui/res/cardsfolder/k/kalemnes_captain.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Kalemne's Captain
|
||||
ManaCost:3 W W
|
||||
Types:Creature Giant Soldier
|
||||
PT:5/5
|
||||
K:Vigilance
|
||||
K:Monstrosity 3:5 W W
|
||||
T:Mode$ BecomeMonstrous | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ ExileAll | TriggerDescription$ When CARDNAME becomes monstrous, exile all artifacts and enchantments.
|
||||
SVar:ExileAll:AB$ ChangeZoneAll | Cost$ 0 | Origin$ Battlefield | Destination$ Exile | ChangeType$ Artifact,Enchantment
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kalemnes_captain.jpg
|
||||
Oracle:Vigilance\n{5}{W}{W}: Monstrosity 3. (If this creature isn't monstrous, put three +1/+1 counters on it and it becomes monstrous.)\nWhen Kalemne's Captain becomes monstrous, exile all artifacts and enchantments.
|
||||
8
forge-gui/res/cardsfolder/k/kaseto_orochi_archmage.txt
Normal file
8
forge-gui/res/cardsfolder/k/kaseto_orochi_archmage.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Name:Kaseto, Orochi Archmage
|
||||
ManaCost:1 G U
|
||||
Types:Legendary Creature Snake Wizard
|
||||
PT:2/2
|
||||
A:AB$ Pump | Cost$ G U | ValidTgts$ Creature | TgtPrompt$ Select target creature | KW$ HIDDEN Unblockable | SubAbility$ DBPump | SpellDescription$ Target creature can't be blocked this turn. If that creature is a Snake, it gets +2/+2 until end of turn.
|
||||
SVar:DBPump:DB$ Pump | ConditionDefined$ Targeted | ConditionPresent$ Creature.Snake | ConditionCompare$ EQ1 | Defined$ Targeted | NumAtt$ +2 | NumDef$ +2
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/kaseto_orochi_archmage.jpg
|
||||
Oracle:{G}{U}: Target creature can't be blocked this turn. If that creature is a Snake, it gets +2/+2 until end of turn.
|
||||
@@ -0,0 +1,9 @@
|
||||
Name:Mazirek, Kraul Death Priest
|
||||
ManaCost:3 B G
|
||||
Types:Legendary Creature Insect Shaman
|
||||
PT:2/2
|
||||
K:Flying
|
||||
T:Mode$ Sacrificed | ValidCard$ Permanent.Other | Execute$ TrigCounters | TriggerZones$ Battlefield | TriggerDescription$ Whenever a player sacrifices another permanent, put a +1/+1 counter on each creature you control.
|
||||
SVar:TrigCounters:AB$ PutCounterAll | Cost$ 0 | ValidCards$ Creature.YouCtrl | CounterType$ P1P1 | CounterNum$ 1
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/mazirek_kraul_death_priest.jpg
|
||||
Oracle:Flying\nWhenever a player sacrifices another permanent, put a +1/+1 counter on each creature you control.
|
||||
10
forge-gui/res/cardsfolder/o/oreskos_explorer.txt
Normal file
10
forge-gui/res/cardsfolder/o/oreskos_explorer.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
Name:Oreskos Explorer
|
||||
ManaCost:1 W
|
||||
Types:Creature Cat Scout
|
||||
PT:2/2
|
||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigSearch | TriggerDescription$ When CARDNAME enters the battlefield, search your library for up to X Plains cards, where X is the number of players who control more lands than you. Reveal those cards, put them into your hand, then shuffle your library.
|
||||
SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Plains | ChangeNum$ X | Shuffle$ True | References$ X
|
||||
SVar:X:PlayerCountPropertywithAtLeast1MoreLandsThanYou$Amount
|
||||
SVar:RemAIDeck:True
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/oreskos_explorer.jpg
|
||||
Oracle:When Oreskos Explorer enters the battlefield, search your library for up to X Plains cards, where X is the number of players who control more lands than you. Reveal those cards, put them into your hand, then shuffle your library.
|
||||
11
forge-gui/res/cardsfolder/s/scytheclaw.txt
Normal file
11
forge-gui/res/cardsfolder/s/scytheclaw.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
Name:Scytheclaw
|
||||
ManaCost:5
|
||||
Types:Artifact Equipment
|
||||
K:Living Weapon
|
||||
S:Mode$ Continuous | Affected$ Creature.EquippedBy | AddPower$ 1 | AddToughness$ 1 | Description$ Equipped creature gets +1/+1.
|
||||
T:Mode$ DamageDone | ValidSource$ Creature.EquippedBy | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigLoseLifeOpp | TriggerDescription$ Whenever equipped creature deals combat damage to a player, that player loses half his or her life, rounded up.
|
||||
SVar:TrigLoseLifeOpp:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredTarget | LifeAmount$ X | References$ X
|
||||
SVar:X:TriggeredTarget$LifeTotal/HalfUp
|
||||
K:Equip 3
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/scytheclaw.jpg
|
||||
Oracle:Living weapon (When this Equipment enters the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)\nEquipped creature gets +1/+1.\nWhenever equipped creature deals combat damage to a player, that player loses half his or her life, rounded up.\nEquip {3}
|
||||
7
forge-gui/res/cardsfolder/t/thought_vessel.txt
Normal file
7
forge-gui/res/cardsfolder/t/thought_vessel.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Name:Thought Vessel
|
||||
ManaCost:2
|
||||
Types:Artifact
|
||||
S:Mode$ Continuous | Affected$ You | SetMaxHandSize$ Unlimited | Description$ You have no maximum hand size.
|
||||
A:AB$ Mana | Cost$ T | Produced$ 1 | SpellDescription$ Add {1} to your mana pool.
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/thought_vessel.jpg
|
||||
Oracle:You have no maximum hand size.\n{T}: Add {1} to your mana pool.
|
||||
Reference in New Issue
Block a user