- Added Skyfire Kirin and Puppet Master

This commit is contained in:
swordshine
2013-06-30 04:46:35 +00:00
parent d015c35912
commit 5d3db0dbd3
5 changed files with 35 additions and 3 deletions

2
.gitattributes vendored
View File

@@ -8404,6 +8404,7 @@ res/cardsfolder/p/punish_ignorance.txt svneol=native#text/plain
res/cardsfolder/p/punish_the_enemy.txt -text
res/cardsfolder/p/punishing_fire.txt svneol=native#text/plain
res/cardsfolder/p/puppet_conjurer.txt svneol=native#text/plain
res/cardsfolder/p/puppet_master.txt -text
res/cardsfolder/p/puppet_strings.txt svneol=native#text/plain
res/cardsfolder/p/puppeteer.txt svneol=native#text/plain
res/cardsfolder/p/puppeteer_clique.txt svneol=native#text/plain
@@ -10056,6 +10057,7 @@ res/cardsfolder/s/skybreen.txt -text
res/cardsfolder/s/skyclaw_thrash.txt -text
res/cardsfolder/s/skycloud_egg.txt svneol=native#text/plain
res/cardsfolder/s/skycloud_expanse.txt svneol=native#text/plain
res/cardsfolder/s/skyfire_kirin.txt -text
res/cardsfolder/s/skygames.txt -text
res/cardsfolder/s/skyhunter_cub.txt svneol=native#text/plain
res/cardsfolder/s/skyhunter_patrol.txt svneol=native#text/plain

View File

@@ -0,0 +1,10 @@
Name:Puppet Master
ManaCost:U U U
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ U U U | ValidTgts$ Creature | AILogic$ Pump
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Creature.EnchantedBy | Execute$ TrigChange | TriggerDescription$ When enchanted creature dies, return that card to its owner's hand. If that card is returned to its owner's hand this way, you may pay U U U. If you do, return CARDNAME to its owner's hand.
SVar:TrigChange:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand | Defined$ TriggeredCard | RememberChanged$ True | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Hand | ConditionDefined$ Remembered | ConditionPresent$ Card.Creature | ConditionCompare$ GE1 | UnlessCost$ U U U | UnlessPayer$ You | UnlessSwitched$ True
SVar:Picture:http://www.wizards.com/global/images/magic/general/puppet_master.jpg
Oracle:Enchant creature\nWhen enchanted creature dies, return that card to its owner's hand. If that card is returned to its owner's hand this way, you may pay {U}{U}{U}. If you do, return Puppet Master to its owner's hand.

View File

@@ -0,0 +1,11 @@
Name:Skyfire Kirin
ManaCost:2 R R
Types:Legendary Creature Kirin Spirit
PT:3/3
K:Flying
T:Mode$ SpellCast | ValidCard$ Spirit,Arcane | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | OptionalDecider$ You | Execute$ TrigChange | TriggerDescription$ Whenever you cast a Spirit or Arcane spell, you may gain control of target creature with that spell's converted mana cost until end of turn.
SVar:TrigChange:AB$ GainControl | Cost$ 0 | ValidTgts$ Creature.cmcEQX | TgtPrompt$ Select target creature | LoseControl$ EOT | NewController$ You | References$ X
SVar:X:Count$TriggeredCardManaCost
DeckHints:Type$Spirit|Arcane
SVar:Picture:http://www.wizards.com/global/images/magic/general/skyfire_kirin.jpg
Oracle:Flying\nWhenever you cast a Spirit or Arcane spell, you may gain control of target creature with that spell's converted mana cost until end of turn.

View File

@@ -110,7 +110,6 @@ public class Card extends GameEntity implements Comparable<Card> {
private final CardDamageHistory damageHistory = new CardDamageHistory();
private Map<CounterType, Integer> counters = new TreeMap<CounterType, Integer>();
private Map<Card, Map<CounterType, Integer>> countersAddedBy = new TreeMap<Card, Map<CounterType, Integer>>();
private final Map<String, Object> triggeringObjects = new TreeMap<String, Object>();
private ArrayList<String> extrinsicKeyword = new ArrayList<String>();
// Hidden keywords won't be displayed on the card
private final ArrayList<String> hiddenExtrinsicKeyword = new ArrayList<String>();
@@ -821,7 +820,17 @@ public class Card extends GameEntity implements Comparable<Card> {
* @return a {@link java.lang.Object} object.
*/
public final Object getTriggeringObject(final String typeIn) {
return this.triggeringObjects.get(typeIn);
Object triggered = null;
if (!this.getCharacteristics().getTriggers().isEmpty()) {
for (final Trigger t : this.getCharacteristics().getTriggers()) {
final SpellAbility sa = t.getTriggeredSA();
triggered = sa.getTriggeringObject(typeIn);
if (triggered != null) {
break;
}
}
}
return triggered;
}
/**

View File

@@ -1288,7 +1288,7 @@ public class CardFactoryUtil {
if (sq[0].equals("RegeneratedThisTurn")) return doXMath(c.getRegeneratedThisTurn(), m, c);
// TriggeringObjects
if (sq[0].startsWith("Triggered")) return doXMath((Integer) c.getTriggeringObject(sq[0].substring(9)), m, c);
if (sq[0].startsWith("Triggered")) return doXMath(xCount((Card) c.getTriggeringObject("Card"), sq[0].substring(9)), m, c);
if (sq[0].contains("YourStartingLife")) return doXMath(cc.getStartingLife(), m, c);
//if (sq[0].contains("OppStartingLife")) return doXMath(oppController.getStartingLife(), m, c); // found no cards using it